merge trunk to cdm-3.3 branch
[cdmlib.git] / cdmlib-services / src / test / java / eu / etaxonomy / cdm / api / facade / DerivedUnitFacadeCacheStrategyTest.java
index 16803e3a4242cd358a91a98b3c17071cf8714cdd..b7d24c741150d806844f9a12ea21b1cdeffa0c3d 100644 (file)
@@ -9,19 +9,17 @@
 */\r
 package eu.etaxonomy.cdm.api.facade;\r
 \r
-import org.junit.Assert;\r
-\r
 import org.apache.log4j.Logger;\r
+import org.junit.Assert;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
 \r
 import eu.etaxonomy.cdm.model.agent.Person;\r
 import eu.etaxonomy.cdm.model.agent.Team;\r
+import eu.etaxonomy.cdm.model.common.DefinedTerm;\r
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.common.LanguageString;\r
 import eu.etaxonomy.cdm.model.common.TimePeriod;\r
-import eu.etaxonomy.cdm.model.description.Sex;\r
-import eu.etaxonomy.cdm.model.description.Stage;\r
 import eu.etaxonomy.cdm.model.location.NamedArea;\r
 import eu.etaxonomy.cdm.model.location.Point;\r
 import eu.etaxonomy.cdm.model.location.ReferenceSystem;\r
@@ -32,10 +30,12 @@ import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
 import eu.etaxonomy.cdm.model.occurrence.Collection;\r
 import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;\r
-import eu.etaxonomy.cdm.model.occurrence.FieldObservation;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;\r
 import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;\r
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;\r
-import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
+import eu.etaxonomy.cdm.strategy.parser.TimePeriodParser;\r
 import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;\r
 \r
 /**\r
@@ -47,20 +47,20 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
        @SuppressWarnings("unused")\r
        private static final Logger logger = Logger.getLogger(DerivedUnitFacadeCacheStrategyTest.class);\r
 \r
-       Specimen specimen;\r
+       DerivedUnit specimen;\r
        DerivationEvent derivationEvent;\r
-       FieldObservation fieldObservation;\r
+       FieldUnit fieldUnit;\r
        GatheringEvent gatheringEvent;\r
        Integer absoluteElevation = 40;\r
        Integer absoluteElevationError = 2;\r
        Team collector = Team.NewInstance();\r
        String collectingMethod = "Collection Method";\r
-       Integer distanceToGround = 22;\r
-       Integer distanceToSurface = 50;\r
+       Double distanceToGround = 22.0;\r
+       Double distanceToSurface = 50.0;\r
        ReferenceSystem referenceSystem = ReferenceSystem.WGS84();\r
        Point exactLocation = Point.NewInstance(12.3, 10.567, referenceSystem, 22);\r
        String gatheringEventDescription = "A nice gathering description";\r
-       TimePeriod gatheringPeriod = TimePeriod.parseString("03.05.2005");\r
+       TimePeriod gatheringPeriod = TimePeriodParser.parseString("03.05.2005");\r
        String ecology = "sand dunes";\r
        String plantDescription = "flowers blue";\r
 \r
@@ -69,8 +69,8 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
        Person primaryCollector;\r
 \r
        Integer individualCount = 1;\r
-       Stage lifeStage = Stage.NewInstance("A wonderful stage", "stage", "st");\r
-       Sex sex = Sex.NewInstance("FemaleMale", "FM", "FM");\r
+       DefinedTerm lifeStage = DefinedTerm.NewStageInstance("A wonderful stage", "stage", "st");\r
+       DefinedTerm sex = DefinedTerm.NewSexInstance("FemaleMale", "FM", "FM");\r
        LanguageString locality = LanguageString.NewInstance("Berlin-Dahlem, E side of Englerallee", Language.DEFAULT());\r
        NamedArea country = WaterbodyOrCountry.GERMANY();\r
 \r
@@ -85,10 +85,10 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
 \r
        DerivedUnitFacade specimenFacade;\r
 \r
-       Specimen collectionSpecimen;\r
+       DerivedUnit collectionSpecimen;\r
        GatheringEvent existingGatheringEvent;\r
        DerivationEvent firstDerivationEvent;\r
-       FieldObservation firstFieldObject;\r
+       FieldUnit firstFieldObject;\r
        Media media1 = Media.NewInstance();\r
 \r
 \r
@@ -109,16 +109,16 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
         */\r
        @Before\r
        public void setUp() throws Exception {\r
-               specimen = Specimen.NewInstance();\r
+               specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
 \r
-               derivationEvent = DerivationEvent.NewInstance();\r
+               derivationEvent = DerivationEvent.NewInstance(DerivationEventType.ACCESSIONING());\r
                specimen.setDerivedFrom(derivationEvent);\r
-               fieldObservation = FieldObservation.NewInstance();\r
-               fieldObservation.addDerivationEvent(derivationEvent);\r
+               fieldUnit = FieldUnit.NewInstance();\r
+               fieldUnit.addDerivationEvent(derivationEvent);\r
                gatheringEvent = GatheringEvent.NewInstance();\r
-               fieldObservation.setGatheringEvent(gatheringEvent);\r
+               fieldUnit.setGatheringEvent(gatheringEvent);\r
                gatheringEvent.setAbsoluteElevation(absoluteElevation);\r
-               gatheringEvent.setAbsoluteElevationError(absoluteElevationError);\r
+//             gatheringEvent.setAbsoluteElevationError(absoluteElevationError);\r
                gatheringEvent.setActor(collector);\r
                gatheringEvent.setCollectingMethod(collectingMethod);\r
                gatheringEvent.setDistanceToGround(distanceToGround);\r
@@ -130,11 +130,11 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
                gatheringEvent.setLocality(locality);\r
                gatheringEvent.setCountry(country);\r
 \r
-               fieldObservation.setFieldNumber(fieldNumber);\r
-               fieldObservation.setFieldNotes(fieldNotes);\r
-               fieldObservation.setIndividualCount(individualCount);\r
-               fieldObservation.setSex(sex);\r
-               fieldObservation.setLifeStage(lifeStage);\r
+               fieldUnit.setFieldNumber(fieldNumber);\r
+               fieldUnit.setFieldNotes(fieldNotes);\r
+               fieldUnit.setIndividualCount(individualCount);\r
+               fieldUnit.setSex(sex);\r
+               fieldUnit.setLifeStage(lifeStage);\r
                primaryCollector = Person.NewTitledInstance("Kilian");\r
                collector.addTeamMember(primaryCollector);\r
                Person secondCollector = Person.NewInstance();\r
@@ -143,7 +143,7 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
                collector.addTeamMember(secondCollector);\r
                Person thirdCollector = Person.NewTitledInstance("Kohlbecker");\r
                collector.addTeamMember(thirdCollector);\r
-               fieldObservation.setPrimaryCollector(primaryCollector);\r
+               fieldUnit.setPrimaryCollector(primaryCollector);\r
 \r
                specimen.setAccessionNumber(accessionNumber);\r
                specimen.setCatalogNumber(catalogNumber);\r
@@ -155,13 +155,14 @@ public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {
                specimenFacade = DerivedUnitFacade.NewInstance(specimen);\r
 \r
                //existing specimen with 2 derivation events in line\r
-               collectionSpecimen = Specimen.NewInstance();\r
-               Specimen middleSpecimen = Specimen.NewInstance();\r
-               firstFieldObject = FieldObservation.NewInstance();\r
-\r
-               DerivationEvent lastDerivationEvent = DerivationEvent.NewInstance();\r
-               DerivationEvent middleDerivationEvent = DerivationEvent.NewInstance();\r
-               firstDerivationEvent = DerivationEvent.NewInstance();\r
+               collectionSpecimen = DerivedUnit.NewPreservedSpecimenInstance();\r
+               DerivedUnit middleSpecimen = DerivedUnit.NewPreservedSpecimenInstance();\r
+               firstFieldObject = FieldUnit.NewInstance();\r
+\r
+               //TODO maybe we should define concrete event types here\r
+               DerivationEvent lastDerivationEvent = DerivationEvent.NewInstance(null);\r
+               DerivationEvent middleDerivationEvent = DerivationEvent.NewInstance(null);\r
+               firstDerivationEvent = DerivationEvent.NewInstance(null);\r
 \r
                collectionSpecimen.setDerivedFrom(lastDerivationEvent);\r
 \r