<mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>
<mapping class="eu.etaxonomy.cdm.model.description.Feature"/>
<mapping class="eu.etaxonomy.cdm.model.description.Character"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureNode"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureTree"/>
<mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>
<mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>
<mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>
import eu.etaxonomy.cdm.io.common.CdmExportBase;
import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
* @author pplitzner
import eu.etaxonomy.cdm.database.ICdmDataSource;
import eu.etaxonomy.cdm.io.common.XmlExportConfiguratorBase;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
import eu.etaxonomy.cdm.io.common.CdmExportBase;
import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
*
import eu.etaxonomy.cdm.database.ICdmDataSource;
import eu.etaxonomy.cdm.io.common.XmlExportConfiguratorBase;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
import eu.etaxonomy.cdm.model.agent.INomenclaturalAuthor;\r
import eu.etaxonomy.cdm.model.common.User;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
import eu.etaxonomy.cdm.model.name.TaxonName;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
\r
public class CdmIDResolver extends IDResolver {\r
import eu.etaxonomy.cdm.model.common.MarkerType;\r
import eu.etaxonomy.cdm.model.common.User;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.description.MeasurementUnit;\r
import eu.etaxonomy.cdm.model.description.MediaKey;\r
import eu.etaxonomy.cdm.model.description.PolytomousKey;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
import eu.etaxonomy.cdm.model.term.DefinedTerm;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
\r
import eu.etaxonomy.cdm.io.common.mapping.out.IExportTransformer;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.User;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
* @author a.babadshanjan
import eu.etaxonomy.cdm.model.common.LanguageStringBase;\r
import eu.etaxonomy.cdm.model.common.User;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;\r
import eu.etaxonomy.cdm.model.name.TaxonName;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
\r
/**\r
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;\r
import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
import eu.etaxonomy.cdm.model.description.PolytomousKey;\r
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;\r
import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.occurrence.Collection;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
\r
/**\r
* @author a.mueller\r
import eu.etaxonomy.cdm.model.description.CategoricalData;\r
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.description.MeasurementUnit;\r
import eu.etaxonomy.cdm.model.description.QuantitativeData;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.cdm.model.term.DefinedTerm;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.Representation;\r
import eu.etaxonomy.cdm.model.term.TermBase;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.model.common.SourcedEntityBase;\r
import eu.etaxonomy.cdm.model.common.VersionableEntity;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.description.MeasurementUnit;\r
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
import eu.etaxonomy.cdm.model.term.DefinedTerm;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.Representation;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
\r
import eu.etaxonomy.cdm.model.description.CategoricalData;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.description.QuantitativeData;\r
import eu.etaxonomy.cdm.model.description.State;\r
import eu.etaxonomy.cdm.model.description.StateData;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.cdm.model.term.DefinedTerm;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.Representation;\r
import eu.etaxonomy.cdm.model.term.TermBase;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
import eu.etaxonomy.cdm.model.common.LSID;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.cdm.persistence.query.MatchMode;
import eu.etaxonomy.cdm.strategy.exceptions.UnknownCdmTypeException;
import org.junit.Test;\r
\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
\r
public class FeatureTest {\r
\r
import eu.etaxonomy.cdm.io.descriptive.owl.out.OwlExportConfigurator;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
import eu.etaxonomy.cdm.test.unitils.CleanSweepInsertLoadStrategy;
import java.util.Map;
import java.util.regex.Pattern;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
/**
* A class to handle tree indexes as used in {@link TaxonNode}, {@link FeatureNode}
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.MediaKey;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.OrderedTerm;
import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
import eu.etaxonomy.cdm.model.term.TermType;
/**
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.name.Rank;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.cdm.strategy.cache.description.DescriptiveDataSetDefaultCacheStrategy;
import javax.xml.bind.annotation.XmlEnumValue;\r
\r
import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
\r
/**\r
* The role of the descriptive system of type {@link FeatureTree}.<BR>\r
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.cdm.model.description;
+package eu.etaxonomy.cdm.model.term;
import java.util.ArrayList;
import java.util.HashSet;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;
-import eu.etaxonomy.cdm.model.term.IHasTermType;
-import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.description.CategoricalData;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.State;
/**
* The class for tree nodes within a {@link FeatureTree feature tree} structure.
* See LICENSE.TXT at the top of this package for the full license terms.
*/
-package eu.etaxonomy.cdm.model.description;
+package eu.etaxonomy.cdm.model.term;
import java.rmi.UnexpectedException;
import java.util.ArrayList;
import org.hibernate.envers.Audited;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;
-import eu.etaxonomy.cdm.model.term.IHasTermType;
-import eu.etaxonomy.cdm.model.term.Representation;
-import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.MediaKey;
import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
/**
@XmlRootElement(name = "FeatureTree")
@Entity
//@Indexed disabled to reduce clutter in indexes, since this type is not used by any search
-//@Indexed(index = "eu.etaxonomy.cdm.model.description.FeatureTree")
+//@Indexed(index = "eu.etaxonomy.cdm.model.term.FeatureTree")
@Audited
public class FeatureTree <T extends DefinedTermBase>
extends IdentifiableEntity<IIdentifiableEntityCacheStrategy>
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.KeyStatement;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.description.StatisticalMeasure;
import eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
* @author m.venin
-package eu.etaxonomy.cdm.model.description;\r
-\r
-\r
-\r
-import static org.junit.Assert.assertEquals;\r
-import static org.junit.Assert.assertNotSame;\r
-\r
-import java.util.List;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.junit.Before;\r
-import org.junit.BeforeClass;\r
-import org.junit.Test;\r
-\r
-import eu.etaxonomy.cdm.model.term.DefaultTermInitializer;\r
-\r
-public class FeatureTreeTest {\r
- @SuppressWarnings("unused")\r
- private static final Logger logger = Logger.getLogger(FeatureTreeTest.class);\r
-\r
- private FeatureTree testTree;\r
- private FeatureNode node1;\r
- private FeatureNode node2;\r
- private FeatureNode node3;\r
- private FeatureNode node4;\r
-\r
- @BeforeClass\r
- public static void setUpBeforeClass() {\r
- DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();\r
- vocabularyStore.initialize();\r
- }\r
-\r
- /**\r
- * @throws java.lang.Exception\r
- */\r
- @Before\r
- public void setUp() throws Exception {\r
- testTree = FeatureTree.NewInstance();\r
-\r
- node1 = FeatureNode.NewInstance(Feature.ANATOMY());\r
- node2 = FeatureNode.NewInstance(Feature.BIOLOGY_ECOLOGY());\r
- node3 = FeatureNode.NewInstance(Feature.DESCRIPTION());\r
- node4 = FeatureNode.NewInstance(Feature.DISCUSSION());\r
-\r
- testTree.getRoot().addChild(node1);\r
- node1.addChild(node2);\r
- node2.addChild(node3);\r
- node3.addChild(node4);\r
-\r
-\r
-\r
- }\r
-// @Test\r
-// public void testSetRoot(){\r
-// testTree.setRoot(node2);\r
-// assertNotNull(testTree.getRoot());\r
-// assertEquals(testTree.getRoot(), node2);\r
-// }\r
- @Test\r
- public void testAddChild(){\r
- FeatureNode node21 = FeatureNode.NewInstance();\r
- node21.setTerm(Feature.ANATOMY());\r
- node1.addChild(node21, 1);\r
-\r
- assertEquals(node1.getChildNodes().size(), 2);\r
- assertEquals(node1.getChildNodes().get(1), node21);\r
-\r
-\r
- assertEquals(node21.getParent(), node1);\r
-\r
-\r
- }\r
- @Test\r
- public void testClone(){\r
- FeatureNode node21 = FeatureNode.NewInstance();\r
- node21.setTerm(Feature.ADDITIONAL_PUBLICATION());\r
- node1.addChild(node21, 1);\r
- FeatureTree clone = (FeatureTree) testTree.clone();\r
- assertEquals (clone.getRoot().getTerm(), testTree.getRoot().getTerm());\r
- assertNotSame(clone.getRoot(), testTree.getRoot());\r
- List<FeatureNode> children = clone.getRootChildren();\r
-\r
-\r
- assertEquals(children.get(0).getTerm(), node1.getTerm());\r
- assertNotSame(children.get(0), node1);\r
- children = children.get(0).getChildNodes();\r
-\r
- assertEquals(children.get(0).getTerm(), node2.getTerm());\r
- assertNotSame(children.get(0), node2);\r
- assertEquals(children.get(1).getTerm(), node21.getTerm());\r
- assertNotSame(children.get(1), node21);\r
- assertEquals(children.get(0).getChildAt(0).getTerm(), node3.getTerm());\r
- assertNotSame(children.get(0).getChildAt(0), node3);\r
- }\r
-\r
-\r
-}\r
+package eu.etaxonomy.cdm.model.term;
+
+
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+
+import java.util.List;
+
+import org.apache.log4j.Logger;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.term.DefaultTermInitializer;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
+
+public class FeatureTreeTest {
+ @SuppressWarnings("unused")
+ private static final Logger logger = Logger.getLogger(FeatureTreeTest.class);
+
+ private FeatureTree testTree;
+ private FeatureNode node1;
+ private FeatureNode node2;
+ private FeatureNode node3;
+ private FeatureNode node4;
+
+ @BeforeClass
+ public static void setUpBeforeClass() {
+ DefaultTermInitializer vocabularyStore = new DefaultTermInitializer();
+ vocabularyStore.initialize();
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ testTree = FeatureTree.NewInstance();
+
+ node1 = FeatureNode.NewInstance(Feature.ANATOMY());
+ node2 = FeatureNode.NewInstance(Feature.BIOLOGY_ECOLOGY());
+ node3 = FeatureNode.NewInstance(Feature.DESCRIPTION());
+ node4 = FeatureNode.NewInstance(Feature.DISCUSSION());
+
+ testTree.getRoot().addChild(node1);
+ node1.addChild(node2);
+ node2.addChild(node3);
+ node3.addChild(node4);
+
+
+
+ }
+// @Test
+// public void testSetRoot(){
+// testTree.setRoot(node2);
+// assertNotNull(testTree.getRoot());
+// assertEquals(testTree.getRoot(), node2);
+// }
+ @Test
+ public void testAddChild(){
+ FeatureNode node21 = FeatureNode.NewInstance();
+ node21.setTerm(Feature.ANATOMY());
+ node1.addChild(node21, 1);
+
+ assertEquals(node1.getChildNodes().size(), 2);
+ assertEquals(node1.getChildNodes().get(1), node21);
+
+
+ assertEquals(node21.getParent(), node1);
+
+
+ }
+ @Test
+ public void testClone(){
+ FeatureNode node21 = FeatureNode.NewInstance();
+ node21.setTerm(Feature.ADDITIONAL_PUBLICATION());
+ node1.addChild(node21, 1);
+ FeatureTree clone = (FeatureTree) testTree.clone();
+ assertEquals (clone.getRoot().getTerm(), testTree.getRoot().getTerm());
+ assertNotSame(clone.getRoot(), testTree.getRoot());
+ List<FeatureNode> children = clone.getRootChildren();
+
+
+ assertEquals(children.get(0).getTerm(), node1.getTerm());
+ assertNotSame(children.get(0), node1);
+ children = children.get(0).getChildNodes();
+
+ assertEquals(children.get(0).getTerm(), node2.getTerm());
+ assertNotSame(children.get(0), node2);
+ assertEquals(children.get(1).getTerm(), node21.getTerm());
+ assertNotSame(children.get(1), node21);
+ assertEquals(children.get(0).getChildAt(0).getTerm(), node3.getTerm());
+ assertNotSame(children.get(0).getChildAt(0), node3);
+ }
+
+
+}
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IIdentificationKey;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.MediaKey;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.OrderedTerm;
import eu.etaxonomy.cdm.model.term.OrderedTermBase;
import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;
\r
import java.util.List;\r
\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
import eu.etaxonomy.cdm.persistence.dao.common.IVersionableDao;\r
\r
/**\r
import java.util.List;\r
import java.util.UUID;\r
\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.persistence.dao.common.IIdentifiableDao;\r
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
import org.hibernate.Criteria;\r
import org.springframework.stereotype.Repository;\r
\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
import eu.etaxonomy.cdm.persistence.dao.description.IFeatureNodeDao;\r
import eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase;\r
\r
import org.springframework.stereotype.Repository;\r
\r
import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
import eu.etaxonomy.cdm.model.term.VocabularyEnum;\r
import org.hibernate.event.spi.MergeEventListener;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
* @author cmathew
<mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>
<mapping class="eu.etaxonomy.cdm.model.description.Feature"/>
<mapping class="eu.etaxonomy.cdm.model.description.Character"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureNode"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureTree"/>
<mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>
<mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>
<mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.IndividualsAssociation;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.MediaKey;
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.OrderedTermBase;
import eu.etaxonomy.cdm.model.term.OrderedTermVocabulary;
import eu.etaxonomy.cdm.model.term.Representation;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.remote.editor.DefinedTermBaseList;
import eu.etaxonomy.cdm.remote.editor.NamedAreaLevelPropertyEditor;
import eu.etaxonomy.cdm.remote.editor.TermBaseListPropertyEditor;
import org.springframework.web.bind.annotation.RequestMapping;
import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
/**
* @author n.hoffmann
import org.springframework.web.bind.annotation.RequestMapping;
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import io.swagger.annotations.Api;
/**
import org.springframework.web.bind.annotation.RequestMapping;
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
* @author n.hoffmann
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import io.swagger.annotations.Api;
/**
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.persistence.dao.description.IDescriptionDao;
import eu.etaxonomy.cdm.persistence.dao.description.IDescriptionElementDao;
return new DefaultPagerImpl<T>(pageNumber, count, pageSize, descriptionElements);
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IDescriptionService#generateNaturalLanguageDescription(eu.etaxonomy.cdm.model.description.FeatureTree, eu.etaxonomy.cdm.model.description.TaxonDescription, eu.etaxonomy.cdm.model.common.Language, java.util.List)
- */
@Override
public String generateNaturalLanguageDescription(FeatureTree featureTree,
TaxonDescription description, List<Language> preferredLanguages, String separator) {
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.persistence.dao.description.IFeatureNodeDao;
/**
import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;\r
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;\r
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.persistence.dao.description.IFeatureNodeDao;\r
import eu.etaxonomy.cdm.persistence.dao.description.IFeatureTreeDao;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
import java.util.UUID;\r
\r
import eu.etaxonomy.cdm.api.service.config.FeatureNodeDeletionConfigurator;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
\r
/**\r
* @author n.hoffmann\r
import java.util.Map;\r
import java.util.UUID;\r
\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermType;\r
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;\r
\r
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TextData;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.cdm.model.description.TextFormat;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
/**
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.PolytomousKey;
import eu.etaxonomy.cdm.model.media.IdentifiableMediaEntity;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.TermBase;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.description.DescriptionBase;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.media.Media;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.name.TaxonName;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.TermVocabulary;
import eu.etaxonomy.cdm.strategy.cache.taxon.TaxonBaseShortSecCacheStrategy;
import eu.etaxonomy.cdm.model.common.ICdmBase;\r
import eu.etaxonomy.cdm.model.common.User;\r
import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
import eu.etaxonomy.cdm.model.description.PolytomousKey;\r
import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;\r
import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.term.FeatureNode;\r
+import eu.etaxonomy.cdm.model.term.FeatureTree;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
\r
/**\r
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
/**
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.MeasurementUnit;
import eu.etaxonomy.cdm.model.description.QuantitativeData;
import eu.etaxonomy.cdm.model.description.State;
import eu.etaxonomy.cdm.model.name.INonViralName;
import eu.etaxonomy.cdm.model.name.TaxonNameFactory;
import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest;
@Ignore //FIXME Remove @Ignore once maximes code is completely comitted
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.description.Distribution;
import eu.etaxonomy.cdm.model.description.Feature;
-import eu.etaxonomy.cdm.model.description.FeatureNode;
-import eu.etaxonomy.cdm.model.description.FeatureTree;
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.location.NamedArea;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.FeatureNode;
+import eu.etaxonomy.cdm.model.term.FeatureTree;
import eu.etaxonomy.cdm.model.term.init.TermNotFoundException;
public class Datasource {
<mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>
<mapping class="eu.etaxonomy.cdm.model.description.Feature"/>
<mapping class="eu.etaxonomy.cdm.model.description.Character"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>
- <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureNode"/>
+ <mapping class="eu.etaxonomy.cdm.model.term.FeatureTree"/>
<mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>
<mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>
<mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>