// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
package eu.etaxonomy.cdm.api.facade;\r
\r
-import junit.framework.Assert;\r
-\r
import org.apache.log4j.Logger;\r
+import org.junit.Assert;\r
import org.junit.Before;\r
-import org.junit.BeforeClass;\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.DefaultTermInitializer;\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
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
* @author a.mueller\r
* @date 03.06.2010\r
*\r
*/\r
-public class DerivedUnitFacadeCacheStrategyTest {\r
+public class DerivedUnitFacadeCacheStrategyTest extends CdmIntegrationTest {\r
@SuppressWarnings("unused")\r
private static final Logger logger = Logger.getLogger(DerivedUnitFacadeCacheStrategyTest.class);\r
- \r
- Specimen specimen;\r
+\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
+\r
String fieldNumber = "5678";\r
String fieldNotes = "such a beautiful specimen";\r
Person primaryCollector;\r
- \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
+\r
String exsiccatum = "Greuter, Pl. Dahlem. 456";\r
String accessionNumber = "8909756";\r
String catalogNumber = "UU879873590";\r
- TaxonNameBase taxonName = BotanicalName.NewInstance(Rank.GENUS(), "Abies", null, null, null, null, null, null, null);\r
+ TaxonNameBase<?,?> taxonName = BotanicalName.NewInstance(Rank.GENUS(), "Abies", null, null, null, null, null, null, null);\r
String collectorsNumber = "234589913A34";\r
Collection collection = Collection.NewInstance();\r
- \r
+\r
PreservationMethod preservationMethod = PreservationMethod.NewInstance("my prservation", null, null);\r
\r
DerivedUnitFacade specimenFacade;\r
- \r
- Specimen collectionSpecimen;\r
+\r
+ DerivedUnit collectionSpecimen;\r
GatheringEvent existingGatheringEvent;\r
DerivationEvent firstDerivationEvent;\r
- FieldObservation firstFieldObject;\r
+ FieldUnit firstFieldObject;\r
Media media1 = Media.NewInstance();\r
- \r
- \r
+\r
+\r
//****************************** SET UP *****************************************/\r
- \r
- /**\r
- * @throws java.lang.Exception\r
- */\r
- @BeforeClass\r
- public static void setUpBeforeClass() throws Exception {\r
- // FIXME maybe this will cause problems in other tests\r
- new DefaultTermInitializer().initialize();\r
- }\r
+\r
+// /**\r
+// * @throws java.lang.Exception\r
+// */\r
+// @BeforeClass\r
+// public static void setUpBeforeClass() throws Exception {\r
+// // FIXME maybe this will cause problems in other tests\r
+// // INDEED !!!! it causes problems thus this is replaced by making this test a CdmIntegrationTest !!!\r
+// new DefaultTermInitializer().initialize();\r
+// }\r
\r
/**\r
* @throws java.lang.Exception\r
*/\r
@Before\r
public void setUp() throws Exception {\r
- specimen = Specimen.NewInstance();\r
- \r
- derivationEvent = DerivationEvent.NewInstance();\r
+ specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
+\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
gatheringEvent.setDistanceToWaterSurface(distanceToSurface);\r
gatheringEvent.setExactLocation(exactLocation);\r
gatheringEvent.setDescription(gatheringEventDescription);\r
- \r
+\r
gatheringEvent.setTimeperiod(gatheringPeriod);\r
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
+\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
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
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
- \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
+\r
lastDerivationEvent.addOriginal(middleSpecimen);\r
middleSpecimen.setDerivedFrom(firstDerivationEvent);\r
firstDerivationEvent.addOriginal(firstFieldObject);\r