use of ch.ehi.ili2db.gui.Config in project gretl by sogis.
the class Ili2pgDelete method replaceData.
@TaskAction
public void replaceData() {
Config settings = createConfig();
int function = Config.FC_DELETE;
if (dataset == null) {
return;
}
java.util.List<String> datasetNames = null;
if (dataset != null) {
if (dataset instanceof String) {
datasetNames = new ArrayList<String>();
datasetNames.add((String) dataset);
} else {
datasetNames = (java.util.List) dataset;
}
}
settings.setBasketHandling(settings.BASKET_HANDLING_READWRITE);
try {
for (String datasetName : datasetNames) {
settings.setDatasetName(datasetName);
run(function, settings);
}
} catch (GradleException ge) {
String msg = ge.getMessage();
// If dataset does not exist, it will NOT throw an error.
if (msg.contains("dataset") && msg.contains("doesn") && msg.contains("exist")) {
return;
} else {
throw ge;
}
}
}
use of ch.ehi.ili2db.gui.Config in project gretl by sogis.
the class Ili2pgImport method importData.
@TaskAction
public void importData() {
Config settings = createConfig();
int function = Config.FC_IMPORT;
if (dataFile == null) {
return;
}
FileCollection dataFilesCollection = null;
if (dataFile instanceof FileCollection) {
dataFilesCollection = (FileCollection) dataFile;
} else {
dataFilesCollection = getProject().files(dataFile);
}
if (dataFilesCollection == null || dataFilesCollection.isEmpty()) {
return;
}
List<String> files = new ArrayList<String>();
for (java.io.File fileObj : dataFilesCollection) {
String fileName = fileObj.getPath();
files.add(fileName);
}
java.util.List<String> datasetNames = null;
if (dataset != null) {
if (dataset instanceof String) {
datasetNames = new ArrayList<String>();
datasetNames.add((String) dataset);
} else if (dataset instanceof FileCollection) {
Set<File> datasetFiles = ((FileTree) dataset).getFiles();
datasetNames = new ArrayList<String>();
for (File datasetFile : datasetFiles) {
if (datasetSubstring != null) {
if (datasetSubstring.size() > 1) {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", "").substring(datasetSubstring.getFrom(), datasetSubstring.getTo()));
} else {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", "").substring(datasetSubstring.getFrom()));
}
} else {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", ""));
}
}
} else {
datasetNames = new ArrayList<String>();
if (datasetSubstring != null) {
List<String> fileNames = (java.util.List) dataset;
for (String fileName : fileNames) {
if (datasetSubstring.size() > 1) {
datasetNames.add(fileName.substring(datasetSubstring.getFrom(), datasetSubstring.getTo()));
} else {
datasetNames.add(fileName.substring(datasetSubstring.getFrom()));
}
}
} else {
datasetNames = (java.util.List) dataset;
}
}
if (files.size() != datasetNames.size()) {
throw new GradleException("number of dataset names (" + datasetNames.size() + ") doesn't match number of files (" + files.size() + ")");
}
}
ch.ehi.basics.logging.FileListener fileLogger = null;
if (logFile != null) {
// setup logger here, so that multiple file imports result in one logfile
java.io.File logFilepath = this.getProject().file(logFile);
fileLogger = new FileLogger(logFilepath);
EhiLogger.getInstance().addListener(fileLogger);
}
try {
int i = 0;
for (String xtfFilename : files) {
if (Ili2db.isItfFilename(xtfFilename)) {
settings.setItfTransferfile(true);
} else {
settings.setItfTransferfile(false);
}
if (datasetNames != null) {
settings.setDatasetName(datasetNames.get(i));
}
settings.setXtffile(xtfFilename);
run(function, settings);
i++;
}
} finally {
if (fileLogger != null) {
EhiLogger.getInstance().removeListener(fileLogger);
fileLogger.close();
fileLogger = null;
}
}
}
use of ch.ehi.ili2db.gui.Config in project gretl by sogis.
the class Ili2pgImportSchema method importSchema.
@TaskAction
public void importSchema() {
Config settings = createConfig();
int function = Config.FC_SCHEMAIMPORT;
String iliFilename = null;
if (iliFile == null) {
} else {
if (iliFile instanceof String && ch.ehi.basics.view.GenericFileFilter.getFileExtension((String) iliFile) == null) {
iliFilename = (String) iliFile;
} else {
iliFilename = this.getProject().file(iliFile).getPath();
}
}
settings.setXtffile(iliFilename);
init(settings);
run(function, settings);
}
use of ch.ehi.ili2db.gui.Config in project gretl by sogis.
the class Ili2pgReplace method replaceData.
@TaskAction
public void replaceData() {
Config settings = createConfig();
int function = Config.FC_REPLACE;
if (dataFile == null) {
return;
}
FileCollection dataFilesCollection = null;
if (dataFile instanceof FileCollection) {
dataFilesCollection = (FileCollection) dataFile;
} else {
dataFilesCollection = getProject().files(dataFile);
}
if (dataFilesCollection == null || dataFilesCollection.isEmpty()) {
return;
}
List<String> files = new ArrayList<String>();
for (java.io.File fileObj : dataFilesCollection) {
String fileName = fileObj.getPath();
files.add(fileName);
}
java.util.List<String> datasetNames = null;
if (dataset != null) {
if (dataset instanceof String) {
datasetNames = new ArrayList<String>();
datasetNames.add((String) dataset);
} else if (dataset instanceof FileCollection) {
Set<File> datasetFiles = ((FileTree) dataset).getFiles();
datasetNames = new ArrayList<String>();
for (File datasetFile : datasetFiles) {
if (datasetSubstring != null) {
if (datasetSubstring.size() > 1) {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", "").substring(datasetSubstring.getFrom(), datasetSubstring.getTo()));
} else {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", "").substring(datasetSubstring.getFrom()));
}
} else {
datasetNames.add(datasetFile.getName().replaceFirst("[.][^.]+$", ""));
}
}
} else {
datasetNames = new ArrayList<String>();
if (datasetSubstring != null) {
List<String> fileNames = (java.util.List) dataset;
for (String fileName : fileNames) {
if (datasetSubstring.size() > 1) {
datasetNames.add(fileName.substring(datasetSubstring.getFrom(), datasetSubstring.getTo()));
} else {
datasetNames.add(fileName.substring(datasetSubstring.getFrom()));
}
}
} else {
datasetNames = (java.util.List) dataset;
}
}
if (files.size() != datasetNames.size()) {
throw new GradleException("number of dataset names (" + datasetNames.size() + ") doesn't match number of files (" + files.size() + ")");
}
}
ch.ehi.basics.logging.FileListener fileLogger = null;
if (logFile != null) {
// setup logger here, so that multiple file imports result in one logfile
java.io.File logFilepath = this.getProject().file(logFile);
fileLogger = new FileLogger(logFilepath);
EhiLogger.getInstance().addListener(fileLogger);
}
try {
int i = 0;
for (String xtfFilename : files) {
if (Ili2db.isItfFilename(xtfFilename)) {
settings.setItfTransferfile(true);
} else {
settings.setItfTransferfile(false);
}
if (datasetNames != null) {
settings.setDatasetName(datasetNames.get(i));
}
settings.setXtffile(xtfFilename);
settings.setBasketHandling(Config.BASKET_HANDLING_READWRITE);
run(function, settings);
i++;
}
} finally {
if (fileLogger != null) {
EhiLogger.getInstance().removeListener(fileLogger);
fileLogger.close();
fileLogger = null;
}
}
}
use of ch.ehi.ili2db.gui.Config in project gretl by sogis.
the class Ili2gpkgAbstractTask method createConfig.
protected Config createConfig() {
Config settings = new Config();
new ch.ehi.ili2gpkg.GpkgMain().initConfig(settings);
return settings;
}
Aggregations