![JAR search and dependency download from the Maven repository](/logo.png)
com.sysunite.coinsweb.graphset.ContainerGraphSetImpl Maven / Gradle / Ivy
The newest version!
package com.sysunite.coinsweb.graphset;
import com.sysunite.coinsweb.connector.Connector;
import com.sysunite.coinsweb.connector.ConnectorException;
import com.sysunite.coinsweb.filemanager.ContainerFile;
import com.sysunite.coinsweb.filemanager.ContainerFileImpl;
import com.sysunite.coinsweb.filemanager.DescribeFactoryImpl;
import com.sysunite.coinsweb.parser.config.pojo.GraphVarImpl;
import com.sysunite.coinsweb.parser.config.pojo.Mapping;
import com.sysunite.coinsweb.report.ReportFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
import static com.sysunite.coinsweb.graphset.ContainerGraphSetFactory.fingerPrint;
/**
* @author bastbijl, Sysunite 2017
*/
public class ContainerGraphSetImpl implements ContainerGraphSet {
private static final Logger log = LoggerFactory.getLogger(ContainerGraphSetImpl.class);
private ContainerFileImpl containerToLazyLoad = null;
private Map> inferencePreference;
private boolean disabled;
private boolean loadingFailed = false;
private Connector connector;
private ComposePlan composePlan;
private GraphVarImpl main;
private List mappings;
public ContainerGraphSetImpl(List mappings) {
this.mappings = mappings;
this.disabled = true;
}
public ContainerGraphSetImpl(List mappings, Connector connector) {
this.mappings = mappings;
this.connector = connector;
this.disabled = false;
}
public Object getMain() {
return main;
}
public void setMain(Object main) {
this.main = (GraphVarImpl) main;
}
@Override
public void lazyLoad(ContainerFile container, Map> inferencePreference) {
this.containerToLazyLoad = (ContainerFileImpl)container;
this.inferencePreference = inferencePreference;
}
// Execute postponed lazy load
@Override
public void load() {
if(!requiresLoad()) {
return;
}
// Essential step to get rid of the wildcards in the configFile
log.info("Will now expand any wildcard usage in the config.yml section of this file");
try {
DescribeFactoryImpl.expandGraphConfig(containerToLazyLoad.getConfig(), containerToLazyLoad);
} catch (RuntimeException e) {
log.error(e.getMessage());
setFailed();
return;
}
if(disabled) {
return;
}
log.info("Load stuff to connector");
composePlan = ContainerGraphSetFactory.load(this, connector, containerToLazyLoad, inferencePreference);
log.trace("Will use this compose plan: " + ReportFactory.buildJson(mappings));
containerToLazyLoad.getConfig().setVariables(mappings);
this.containerToLazyLoad = null;
}
public Connector getConnector() {
return connector;
}
public List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy