diff --git a/deployDesktop.jardesc b/deployDesktop.jardesc new file mode 100644 index 0000000..17c4cf9 --- /dev/null +++ b/deployDesktop.jardesc @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/main/java/org/gcube/dataanalysis/ecoengine/test/checks/TestTransducers.java b/src/main/java/org/gcube/dataanalysis/ecoengine/test/checks/TestTransducers.java index b82e6dd..71c66ce 100644 --- a/src/main/java/org/gcube/dataanalysis/ecoengine/test/checks/TestTransducers.java +++ b/src/main/java/org/gcube/dataanalysis/ecoengine/test/checks/TestTransducers.java @@ -36,21 +36,23 @@ public static void main(String[] args) throws Exception { trans = null; */ + /* trans = TransducerersFactory.getTransducerers(testConfigLocal8()); trans.get(0).init(); Regressor.process(trans.get(0)); trans = null; - /* + trans = TransducerersFactory.getTransducerers(testConfigLocal6()); trans.get(0).init(); Regressor.process(trans.get(0)); trans = null; - + */ + trans = TransducerersFactory.getTransducerers(testConfigLocal7()); trans.get(0).init(); Regressor.process(trans.get(0)); trans = null; - */ + } @@ -148,11 +150,15 @@ public static void main(String[] args) throws Exception { config.setParam("scientificNameColumn", "scientificname"); config.setParam("eventDateColumn", "eventdate"); config.setParam("lastModificationColumn", "modified"); - config.setParam("OccurrencePointsTableName", "occurrencetestduplicates"); + config.setParam("OccurrencePointsTableName", "occurrence_species_id5397d3c4_a7eb_4227_adb4_d9d7d36e8b21"); config.setParam("finalTableName", "occurrencesnoduplicates"); - config.setParam("spatialTolerance", "20"); - config.setParam("confidence", "60"); - + config.setParam("spatialTolerance", "0.5"); + config.setParam("confidence", "80"); + config.setParam("DatabaseUserName","utente"); + config.setParam("DatabasePassword","d4science"); + config.setParam("DatabaseURL","jdbc:postgresql://dbtest.next.research-infrastructures.eu/testdb"); + config.setParam("DatabaseDriver","org.postgresql.Driver"); + return config; } diff --git a/src/main/java/org/gcube/dataanalysis/ecoengine/test/experiments/latimeria/ExperimentsForLatimeria.java b/src/main/java/org/gcube/dataanalysis/ecoengine/test/experiments/latimeria/ExperimentsForLatimeria.java index 1448f40..f95c64d 100644 --- a/src/main/java/org/gcube/dataanalysis/ecoengine/test/experiments/latimeria/ExperimentsForLatimeria.java +++ b/src/main/java/org/gcube/dataanalysis/ecoengine/test/experiments/latimeria/ExperimentsForLatimeria.java @@ -23,6 +23,7 @@ public class ExperimentsForLatimeria { static String absenceRandomTable = "absence_data_latimeria_random"; static String absenceStaticTable = "absence_data_latimeria"; static String presenceTable = "presence_data_latimeria"; + static String presenceTableNoEarth = "presence_data_latimeria_sea"; static String envelopeTable = "hspen_latimeria"; static String aquamapsSuitableTable = "hspec_suitable_latimeria_chalumnae"; @@ -215,7 +216,7 @@ public class ExperimentsForLatimeria { trans = null; } - public static void calcHRS(String hcaf,String absenceTable) throws Exception{ + public static void calcHRS(String hcaf,String absenceTable,String presenceTable) throws Exception{ System.out.println("*****************************HRS: "+absenceTable+","+presenceTable+" vs "+hcaf+"************************************"); List evaluators = null; evaluators = EvaluatorsFactory.getEvaluators(PresetConfigGenerator.configHRSAnalysis(filteredhcaf, absenceTable, presenceTable)); @@ -263,7 +264,7 @@ public class ExperimentsForLatimeria { //filter the hcaf on Indonesia - calcHRS(filteredhcaf,absenceStaticTable); +// calcHRS(filteredhcaf,absenceStaticTable); // calcHRS(filteredhcaf,absenceRandomTable); } @@ -285,6 +286,10 @@ public class ExperimentsForLatimeria { // generateAquamapsNativeSuitableNeuralNetwokrs(); //Analysis + calcdiscrepancy(aquamapsSuitableTable, nnsuitableTable); + calcdiscrepancy(aquamapsNativeTable, nnnativeTable); + + /* calcdiscrepancy(aquamapsSuitableTable, nnsuitableTable); calcdiscrepancy(aquamapsNativeTable, nnnativeTable); @@ -292,12 +297,14 @@ public class ExperimentsForLatimeria { calcquality(aquamapsSuitableTable, presenceTable, absenceStaticTable); calcquality(nnsuitableTable, presenceTable, absenceStaticTable); - calcHRS(filteredhcaf,absenceStaticTable); - calcHRS(filteredhcaf,null); - */ calcquality(aquamapsNativeTable, presenceTable, absenceStaticTable); calcquality(nnnativeTable, presenceTable, absenceStaticTable); + calcHRS(filteredhcaf,absenceStaticTable,presenceTableNoEarth); + calcHRS(filteredhcaf,null,presenceTableNoEarth); + */ + + } } diff --git a/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsDuplicatesDeleter.java b/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsDuplicatesDeleter.java index 194f7f7..cf35f33 100644 --- a/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsDuplicatesDeleter.java +++ b/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsDuplicatesDeleter.java @@ -176,6 +176,7 @@ public class OccurrencePointsDuplicatesDeleter extends OccurrencePointsMerger{ persist(); // close DB connection } catch (Exception e) { + AnalysisLogger.getLogger().trace("An error occurred "+e.getLocalizedMessage()); throw e; } finally { if (dbconnection != null) diff --git a/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsMerger.java b/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsMerger.java index 5177fad..887b52c 100644 --- a/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsMerger.java +++ b/src/main/java/org/gcube/dataanalysis/ecoengine/transducers/OccurrencePointsMerger.java @@ -146,33 +146,44 @@ public class OccurrencePointsMerger implements Transducerer { for (Object name : columnsNames) { String name$ = "" + name; - String value$ = "''"; + String value$ = "NULL"; if (name$.equalsIgnoreCase(lonFld)) { value$ = "'" + record.x + "'"; } else if (name$.equalsIgnoreCase(latFld)) { value$ = "'" + record.y + "'"; } else if (name$.equalsIgnoreCase(recordedByFld)) { if (record.recordedby != null) - value$ = "'" + record.recordedby + "'"; + value$ = "'" + record.recordedby.replace("'", "") + "'"; } else if (name$.equalsIgnoreCase(scientificNameFld)) { if (record.scientificName != null) - value$ = "'" + record.scientificName + "'"; + value$ = "'" + record.scientificName.replace("'", "") + "'"; } else if (name$.equalsIgnoreCase(eventDatFld)) { if (record.eventdate != null) { - value$ = "'" + convert2conventionalFormat(record.eventdate) + "'"; + String dat = convert2conventionalFormat(record.eventdate); + if ((dat!=null)&&(dat.length()>0)) + value$ = "'" + convert2conventionalFormat(record.eventdate) + "'"; + else + value$ = "NULL"; // value$="'"+record.eventdate.getTimeInMillis()+"'"; } } else if (name$.equalsIgnoreCase(modifDatFld)) { if (record.modifdate != null) { - value$ = "'" + convert2conventionalFormat(record.modifdate) + "'"; + String dat = convert2conventionalFormat(record.modifdate) ; + if ((dat!=null)&&(dat.length()>0)) + value$ = "'" + convert2conventionalFormat(record.modifdate) + "'"; + else + value$ = "NULL"; // value$="'"+record.modifdate.getTimeInMillis()+"'"; } } else { if (record.otherValues != null) { - value$ = "'" + record.otherValues.get(k) + "'"; + value$ = "'" + record.otherValues.get(k).replace("'", "") + "'"; k++; } } + if (value$.equals("'null'")) + value$ = "NULL"; + buffer.append(value$); if (index < nNames - 1) { buffer.append(","); @@ -404,7 +415,7 @@ public class OccurrencePointsMerger implements Transducerer { } String updateQ = DatabaseUtils.insertFromBuffer(finalTableName, columns.toString(), buffer); -// System.out.println("Update:\n"+updateQ); + System.out.println("Update:\n"+updateQ); AnalysisLogger.getLogger().debug("Update:\n"+updateQ); DatabaseFactory.executeSQLUpdate(updateQ, dbconnection); AnalysisLogger.getLogger().debug("Objects inserted");