package edu.isi.karma.rdf; import java.io.File; import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; import java.util.List; import edu.isi.karma.kr2rml.planning.RootStrategy; import edu.isi.karma.kr2rml.writer.KR2RMLRDFWriter; import edu.isi.karma.rdf.GenericRDFGenerator.InputType; import edu.isi.karma.rdf.InputProperties.InputProperty; import edu.isi.karma.webserver.ServletContextParameterMap; public class RDFGeneratorRequest { private RootStrategy strategy; private File inputFile; private String inputData; protected InputProperties inputProperties ; private InputStream inputStream; private InputType dataType; private boolean addProvenance; private List<KR2RMLRDFWriter> writers = new LinkedList<>(); private String modelName; private String sourceName; private String contextName; private List<String> tripleMapToKill; private List<String> tripleMapToStop; private List<String> POMToKill; private ServletContextParameterMap contextParameters; public RDFGeneratorRequest(String modelName, String sourceName) { this.modelName = modelName; this.sourceName = sourceName; this.addProvenance = false; this.inputProperties = new InputProperties(); this.strategy = null; this.inputFile = null; this.inputStream = null; this.contextName = null; tripleMapToKill = new ArrayList<>(); tripleMapToStop = new ArrayList<>(); POMToKill = new ArrayList<>(); contextParameters = null; } public void setTripleMapToKill(List<String> tripleMapToKill) { if (tripleMapToKill != null) { this.tripleMapToKill = tripleMapToKill; } } public List<String> getTripleMapToKill() { return tripleMapToKill; } public void setTripleMapToStop(List<String> tripleMapToStop) { if (tripleMapToStop != null) { this.tripleMapToStop = tripleMapToStop; } } public List<String> getTripleMapToStop() { return tripleMapToStop; } public void setPOMToKill(List<String> POMToKill) { if (POMToKill != null) { this.POMToKill = POMToKill; } } public List<String> getPOMToKill() { return POMToKill; } public boolean isValidRequest() { return inputFile != null || inputData != null || inputStream != null; } public RootStrategy getStrategy() { return strategy; } public void setStrategy(RootStrategy strategy) { this.strategy = strategy; } public String getContextName() { return contextName; } public void setContextName(String contextName) { this.contextName = contextName; } public void setMaxNumLines(int maxNumLines) { this.inputProperties.set(InputProperty.MAX_NUM_LINES, maxNumLines); } public void setDelimiter(String delim) { if(delim == null) delim = ","; this.inputProperties.set(InputProperty.DELIMITER, delim); } public void setDataStartIndex(int idx) { this.inputProperties.set(InputProperty.DATA_START_INDEX, idx); } public void setHeaderStartIndex(int idx) { this.inputProperties.set(InputProperty.HEADER_START_INDEX, idx); } public void setTextQualifier(String qualifier) { if(qualifier == null) qualifier = "\""; this.inputProperties.set(InputProperty.TEXT_QUALIFIER, qualifier); } public void setEncoding(String encoding) { this.inputProperties.set(InputProperty.ENCODING, encoding); } public void setWorksheetIndex(int index) { this.inputProperties.set(InputProperty.WORKSHEET_INDEX, index); } public InputProperties getInputTypeProperties() { return this.inputProperties; } public File getInputFile() { return inputFile; } public void setInputFile(File inputFile) { this.inputFile = inputFile; } public String getInputData() { return inputData; } public void setInputData(String inputData) { this.inputData = inputData; } public InputStream getInputStream() { return inputStream; } public void setInputStream(InputStream inputStream) { this.inputStream = inputStream; } public InputType getDataType() { return dataType; } public void setDataType(InputType dataType) { this.dataType = dataType; } public boolean isAddProvenance() { return addProvenance; } public void setAddProvenance(boolean addProvenance) { this.addProvenance = addProvenance; } public List<KR2RMLRDFWriter> getWriters() { return writers; } public void addWriter(KR2RMLRDFWriter writer) { this.writers.add(writer); } public void addWriters(Collection<KR2RMLRDFWriter> writers) { this.writers.addAll(writers); } public String getModelName() { return modelName; } public String getSourceName() { return sourceName; } public void setContextParameters(ServletContextParameterMap contextParameters) { this.contextParameters = contextParameters; } public ServletContextParameterMap getContextParameters() { return this.contextParameters; } }