diff --git a/distro/changelog.xml b/distro/changelog.xml index 5dc7c3f..fc1e5ea 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,7 @@ + + Added more basis of record + Added field SNAutorship and Dataset to occurrence points diff --git a/pom.xml b/pom.xml index 0c87d2e..3bbcadc 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.gcube.data.spd obis-spd-plugin - 1.8.1-SNAPSHOT + 1.8.2-SNAPSHOT ObisPlugin obis plugin for species manager service @@ -48,6 +48,14 @@ common-utils-encryption [1.0.2-SNAPSHOT,2.0.0-SNAPSHOT) + + + junit + junit + 4.11 + test + + diff --git a/src/main/java/org/gcube/data/spd/obisplugin/ObisClient.java b/src/main/java/org/gcube/data/spd/obisplugin/ObisClient.java index dfbccbf..a849531 100644 --- a/src/main/java/org/gcube/data/spd/obisplugin/ObisClient.java +++ b/src/main/java/org/gcube/data/spd/obisplugin/ObisClient.java @@ -235,19 +235,12 @@ public class ObisClient { public static BasisOfRecord getBasisOfRecord(String basis) { - - if (basis==null) return BasisOfRecord.HumanObservation; - - //"HumanObservation" - if (basis.equals("HumanObservation")) return BasisOfRecord.HumanObservation; - - //"preservedspecimen" - //"Preservedspecimen" - //"PreservedSpecimen" - if (basis.equalsIgnoreCase("PreservedSpecimen")) return BasisOfRecord.PreservedSpecimen; - - //others - return BasisOfRecord.HumanObservation; + if (basis==null) return BasisOfRecord.Unknown; + if (basis.equalsIgnoreCase("HumanObservation") || basis.equalsIgnoreCase("O")) return BasisOfRecord.HumanObservation; + if (basis.equalsIgnoreCase("L")) return BasisOfRecord.LivingSpecimen; + if (basis.equalsIgnoreCase("P")) return BasisOfRecord.Literature; + if (basis.equalsIgnoreCase("PreservedSpecimen") || basis.equalsIgnoreCase("S")) return BasisOfRecord.PreservedSpecimen; + return BasisOfRecord.Unknown; } diff --git a/src/main/java/org/gcube/data/spd/obisplugin/ObisPlugin.java b/src/main/java/org/gcube/data/spd/obisplugin/ObisPlugin.java index 70a2bbc..01537a8 100644 --- a/src/main/java/org/gcube/data/spd/obisplugin/ObisPlugin.java +++ b/src/main/java/org/gcube/data/spd/obisplugin/ObisPlugin.java @@ -87,6 +87,15 @@ public class ObisPlugin extends AbstractPlugin { obisClassification = new ObisClassification(sessionPool); } + public void initialize(DatabaseCredential databaseCredential) throws Exception { + + setUseCache(true); + sessionPool = new PluginSessionPool(databaseCredential); + nameMapping = new ObisNameMapping(sessionPool); + occurrencesInterface = new ObisOccurrencesInterface(sessionPool); + obisClassification = new ObisClassification(sessionPool); + } + /** * {@inheritDoc} */ diff --git a/src/test/java/org/gcube/data/obisplugin/ObisTest.java b/src/test/java/org/gcube/data/obisplugin/ObisTest.java new file mode 100644 index 0000000..a286c87 --- /dev/null +++ b/src/test/java/org/gcube/data/obisplugin/ObisTest.java @@ -0,0 +1,37 @@ +package org.gcube.data.obisplugin; + +import org.gcube.data.spd.model.exceptions.StreamException; +import org.gcube.data.spd.model.products.OccurrencePoint; +import org.gcube.data.spd.obisplugin.ObisPlugin; +import org.gcube.data.spd.obisplugin.pool.DatabaseCredential; +import org.gcube.data.spd.plugin.fwk.writers.ObjectWriter; +import org.junit.Test; + +public class ObisTest { + + @Test + public void search() throws Exception{ + ObisPlugin plugin= new ObisPlugin(); + plugin.initialize(new DatabaseCredential("jdbc:postgresql://geoserver2.i-marine.research-infrastructures.eu/obis", "postgres", "0b1s@d4sc13nc3")); + ObjectWriter writer = new ObjectWriter() { + + @Override + public boolean isAlive() { + return true; + } + + @Override + public boolean write(OccurrencePoint arg0) { + System.out.println(arg0.toString()); + return true; + } + + @Override + public boolean write(StreamException arg0) { + return false; + } + }; + plugin.getOccurrencesInterface().searchByScientificName("Architeuthis dux", writer); + } + +}