test for #4200
authorAndreas Müller <a.mueller@bgbm.org>
Wed, 2 Jul 2014 13:19:14 +0000 (13:19 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Wed, 2 Jul 2014 13:19:14 +0000 (13:19 +0000)
.gitattributes
cdmlib-persistence/src/test/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.java
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist-result.xml [new file with mode: 0644]
cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist.xml [new file with mode: 0644]

index 8d075c2a054734a8c8ce9c0233c1dc5ddfc96d03..bb604ea8a7a034024c42b9e0c171704788cfd271 100644 (file)
@@ -1644,6 +1644,8 @@ cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImplTest.testFindDeleted.xml -text
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImplTest.testGetTaxaByNameAndArea.xml -text
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImplTest.xml -text
+cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist-result.xml -text
+cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist.xml -text
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.xml -text
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/view/AuditEventDaoTest.xml -text
 cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/hibernate/CacheStrategyGeneratorTest.testOnSaveOrUpdateAgents-result.xml -text
index e7446bc6ff1e3fbc2fd0c6b0009439111a200ffa..15ff9a7aac459187a5a92be907aa9dfb06c31c0e 100644 (file)
@@ -20,6 +20,7 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.unitils.dbunit.annotation.DataSet;
+import org.unitils.dbunit.annotation.ExpectedDataSet;
 import org.unitils.spring.annotation.SpringBeanByType;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
@@ -37,7 +38,9 @@ import eu.etaxonomy.cdm.test.integration.CdmTransactionalIntegrationTest;
 
 public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTest {
 
-    @SpringBeanByType
+    private static final UUID ClassificationUuid = UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9");
+
+       @SpringBeanByType
     private ITaxonNodeDao taxonNodeDao;
 
     @SpringBeanByType
@@ -94,7 +97,7 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
     @DataSet
     public void testClassification() {
 
-        Classification classification =  classificationDao.load(UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9"), CLASSIFICATION_INIT_STRATEGY);
+        Classification classification =  classificationDao.load(ClassificationUuid, CLASSIFICATION_INIT_STRATEGY);
 
         assertNotNull("findByUuid should return a taxon tree", classification);
         assertNotNull("classification should have a name",classification.getName());
@@ -114,7 +117,7 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
         TaxonNode rootNode = HibernateProxyHelper.deproxy(classification.getRootNode(), TaxonNode.class);
         rootNode.addChildTaxon(Taxon.NewInstance(BotanicalName.NewInstance(Rank.GENUS()), null), null, null);
         taxonNodeDao.delete(taxNode3, true);
-        classification = classificationDao.findByUuid(UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9"));
+        classification = classificationDao.findByUuid(ClassificationUuid);
 
         taxa = taxonDao.getAllTaxonBases(10, 0);
         assertEquals("there should be 7 taxa left", 7, taxa.size());
@@ -123,7 +126,7 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
         classification = null;
 
         classificationDao.flush();
-        classification = classificationDao.findByUuid(UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9"));
+        classification = classificationDao.findByUuid(ClassificationUuid);
         assertEquals("The tree should be null", null, classification);
 
     }
@@ -133,7 +136,7 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
     public void testlistChildren(){
         Taxon t_acherontia = (Taxon) taxonDao.load(ACHERONTIA_UUID);
 
-        Classification classification =  classificationDao.load(UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9"));
+        Classification classification =  classificationDao.load(ClassificationUuid);
         List<TaxonNode> children = classificationDao.listChildrenOf(t_acherontia, classification, null, null, null);
         assertNotNull(children);
         assertEquals(2, children.size());
@@ -146,7 +149,7 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
     @Test
     @DataSet
     public void testGetAllTaxaByClassification(){
-        Classification classification =  classificationDao.load(UUID.fromString("aeee7448-5298-4991-b724-8d5b75a0a7a9"), CLASSIFICATION_INIT_STRATEGY);
+        Classification classification =  classificationDao.load(ClassificationUuid, CLASSIFICATION_INIT_STRATEGY);
 
         assertNotNull("findByUuid should return a taxon tree", classification);
         assertNotNull("classification should have a name",classification.getName());
@@ -173,7 +176,17 @@ public class TaxonNodeDaoHibernateImplTest extends CdmTransactionalIntegrationTe
         int countTaxa = taxonNodeDao.countTaxonOfAcceptedTaxaByClassification(classification);
         logger.info(countTaxa);
         assertEquals("there should be 7 taxa left", 7, countTaxa);
-
-
+    }
+    
+    @Test
+    @DataSet(value="TaxonNodeDaoHibernateImplTest.testSortindexForJavassist.xml")
+    @ExpectedDataSet("TaxonNodeDaoHibernateImplTest.testSortindexForJavassist-result.xml")
+    public void testSortindexForJavassist(){
+       Taxon newParentTaxon = (Taxon)taxonDao.findByUuid(UUID.fromString("bc09aca6-06fd-4905-b1e7-cbf7cc65d783"));
+       Taxon firstTopLevelChildTaxon = (Taxon)taxonDao.findByUuid(UUID.fromString("7b8b5cb3-37ba-4dba-91ac-4c6ffd6ac331"));
+       Classification classification = classificationDao.findByUuid(ClassificationUuid);
+       classification.addParentChild(newParentTaxon, firstTopLevelChildTaxon, null, null);
+       commitAndStartNewTransaction( new String[]{"TaxonNode"});
+       
     }
 }
diff --git a/cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist-result.xml b/cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist-result.xml
new file mode 100644 (file)
index 0000000..450087b
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<dataset>\r
+  <TAXONNODE ID="1" CREATED="2009-06-18 13:47:59.0" UUID="cf0316c9-1963-4268-8c2e-8d833c460ac3" SORTINDEX="-1" TREEINDEX="#t1#1#" COUNTCHILDREN="2" CLASSIFICATION_ID="1"/>\r
+  <TAXONNODE ID="2" CREATED="2009-06-18 13:47:59.0" UUID="770239f6-4fa8-496b-8738-fe8f7b2ad519" SORTINDEX="0" TREEINDEX="#t1#1#3#4#2#" COUNTCHILDREN="0" CLASSIFICATION_ID="1" PARENT_ID="4" TAXON_ID="37"/>\r
+  <TAXONNODE ID="3" CREATED="2009-06-18 13:47:59.0" UUID="20c8f083-5870-4cbd-bf56-c5b2b98ab6a7" SORTINDEX="0" TREEINDEX="#t1#1#3#" COUNTCHILDREN="1" CLASSIFICATION_ID="1" PARENT_ID="1" TAXON_ID="36"/>\r
+  <TAXONNODE ID="4" CREATED="2009-06-18 13:47:59.0" UUID="0b5846e5-b8d2-4ca9-ac51-099286ea4adc" SORTINDEX="0" TREEINDEX="#t1#1#3#4#" COUNTCHILDREN="1" CLASSIFICATION_ID="1" PARENT_ID="3" TAXON_ID="38"/>\r
+  <TAXONNODE ID="5" CREATED="2009-06-18 13:47:59.0" UUID="4f73adcc-a535-4fbe-a97a-c05ee8b12191" SORTINDEX="1" TREEINDEX="#t1#1#5#" COUNTCHILDREN="0" CLASSIFICATION_ID="1" PARENT_ID="1" TAXON_ID="42"/>\r
+</dataset>
\ No newline at end of file
diff --git a/cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist.xml b/cdmlib-persistence/src/test/resources/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonNodeDaoHibernateImplTest.testSortindexForJavassist.xml
new file mode 100644 (file)
index 0000000..c175bd8
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../dataset.xsd">
+  <LANGUAGESTRING ID="1" CREATED="2009-06-18 13:47:59.0" UUID="2b5846e5-b8d2-4ca9-ac51-099286ea4adc" TEXT="Name" LANGUAGE_ID="1"/>
+
+  <REFERENCE  ID="1" CREATED="2008-12-10 09:56:07.0" UUID="596b1325-be50-4b0a-9aa2-3ecd610215f2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Lorem ipsum" PROTECTEDTITLECACHE="true" PROTECTEDABBREVTITLECACHE="false" ABBREVTITLECACHE="Sp. Pl." ABBREVTITLE="Sp. Pl." NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
+  <REFERENCE  ID="2" CREATED="2008-12-10 09:56:07.0" UUID="ad4322b7-4b05-48af-be70-f113e46c545e" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="cate-sphingidae.org" PROTECTEDTITLECACHE="true" PROTECTEDABBREVTITLECACHE="false" ABBREVTITLECACHE="Sp. Pl." ABBREVTITLE="Sp. Pl." NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
+  <REFERENCE  ID="3" CREATED="2008-12-10 09:56:07.0" UUID="3eea6f96-0682-4025-8cdd-aaaf7c915ae2" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="cate-araceae.org" PROTECTEDTITLECACHE="true" PROTECTEDABBREVTITLECACHE="false" ABBREVTITLECACHE="Sp. Pl." ABBREVTITLE="Sp. Pl." NOMENCLATURALLYRELEVANT="false" PARSINGPROBLEM="0" PROBLEMENDS="-1" PROBLEMSTARTS="-1"/>
+
+  <TAXONBASE DTYPE="Taxon" ID="37" SEC_ID="2" CREATED="2003-08-10 09:56:07.0" UUID="7b8b5cb3-37ba-4dba-91ac-4c6ffd6ac331" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Acherontia styx Westwood, 1847 sec. cate-sphingidae.org" PROTECTEDTITLECACHE="true" TAXONSTATUSUNKNOWN="false"  UNPLACED="false" EXCLUDED="false" DOUBTFUL="false" PUBLISH="true" USENAMECACHE="false" TAXONOMICCHILDRENCOUNT="1" NAME_ID="37"/>
+  <TAXONBASE DTYPE="Taxon" ID="36" SEC_ID="2" CREATED="2008-12-10 09:56:07.0" UUID="3b2b3e17-5c4a-4d1b-aa39-349f63100d6b" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Acherontia(Fabricius, 1798)"                                                PROTECTEDTITLECACHE="true" TAXONSTATUSUNKNOWN="false"  UNPLACED="false" EXCLUDED="false" DOUBTFUL="false" PUBLISH="true" USENAMECACHE="false" TAXONOMICCHILDRENCOUNT="2" NAME_ID="36"/>
+  <TAXONBASE DTYPE="Taxon" ID="38" SEC_ID="2" CREATED="2008-12-10 09:56:07.0" UUID="bc09aca6-06fd-4905-b1e7-cbf7cc65d783" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Acherontia lachesis (Fabricius, 1798)"                                          PROTECTEDTITLECACHE="true" TAXONSTATUSUNKNOWN="false"  UNPLACED="false" EXCLUDED="false" DOUBTFUL="false" PUBLISH="true" USENAMECACHE="false" TAXONOMICCHILDRENCOUNT="0" NAME_ID="38"/>
+  <TAXONBASE DTYPE="Taxon" ID="15" SEC_ID="2" CREATED="2008-12-10 09:56:07.0" UUID="d30de962-3da6-42d7-9797-8584b63bbec7" UPDATED="2008-12-10 09:56:07.253" TITLECACHE="Genus"                                                                                          PROTECTEDTITLECACHE="true" TAXONSTATUSUNKNOWN="false"  UNPLACED="false" EXCLUDED="false" DOUBTFUL="false" PUBLISH="true" USENAMECACHE="false" TAXONOMICCHILDRENCOUNT="0" NAME_ID="40"/>
+  <TAXONBASE DTYPE="Taxon" ID="42" SEC_ID="2" CREATED="2014-03-20 09:56:07.0" UUID="4c9af5ff-a834-4886-9871-f4fd4bb7beb3" UPDATED="2014-03-20 09:56:07.253" TITLECACHE="Acherontia kohlbeckeri"                                           PROTECTEDTITLECACHE="true" TAXONSTATUSUNKNOWN="false"  UNPLACED="false" EXCLUDED="false" DOUBTFUL="false" PUBLISH="true" USENAMECACHE="false" TAXONOMICCHILDRENCOUNT="0" NAME_ID="41"/>
+
+  <HOMOTYPICALGROUP ID="35" CREATED="2008-12-10 09:56:07.0" UUID="baf4e929-4291-4635-aa35-1255069eefe6" UPDATED="2008-12-10 09:56:07.253"/>
+  <HOMOTYPICALGROUP ID="36" CREATED="2008-12-10 09:56:07.0" UUID="b2b007a4-9c8c-43a1-8da4-20ed85464cf2" UPDATED="2008-12-10 09:56:07.253"/>
+
+  <TAXONNAMEBASE DTYPE="ZoologicalName" ID="36" CREATED="2008-12-10 09:56:07.0" UUID="6d1d279a-d245-4b16-9049-44a2b028c303" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="Acherontia styx Westwood, 1847" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="Westwood, 1847" NAMECACHE="Acherontia styx" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" RANK_ID="774" GENUSORUNINOMIAL="Acherontia" NOMENCLATURALREFERENCE_ID="1"/>
+  <TAXONNAMEBASE DTYPE="ZoologicalName" ID="38" CREATED="2008-12-10 09:56:07.0" UUID="7969821b-a2cf-4d01-95ec-6a5ed0ca3f69" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="Acherontia lachesis (Fabricius, 1798)" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="(Fabricius, 1798)" NAMECACHE="Acherontia lachesis" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="35" RANK_ID="765" GENUSORUNINOMIAL="Acherontia" SPECIFICEPITHET="lachesis" NOMENCLATURALREFERENCE_ID="1"/>
+  <TAXONNAMEBASE DTYPE="ZoologicalName" ID="37" CREATED="2008-12-10 09:56:07.0" UUID="61b1dcae-8aa6-478a-bcd6-080cf0eb6ad7" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="Acherontia styx Westwood, 1847" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="Westwood, 1847" NAMECACHE="Acherontia styx" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="36" RANK_ID="765" GENUSORUNINOMIAL="Acherontia" SPECIFICEPITHET="styx" NOMENCLATURALREFERENCE_ID="1"/>
+  <TAXONNAMEBASE DTYPE="ZoologicalName" ID="40" CREATED="2008-12-10 09:56:07.0" UUID="57d756e1-9381-43f1-8705-d29e7046483a" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="SynGenus" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="(Fabricius, 1797)" NAMECACHE="SynGenus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="35" RANK_ID="774" GENUSORUNINOMIAL="SynGenus" NOMENCLATURALREFERENCE_ID="1"/>
+  <TAXONNAMEBASE DTYPE="BotanicalName" ID="41" CREATED="2008-12-10 09:56:07.0" UUID="507b60dd-113d-4ab7-9665-25d0374bd6d1" UPDATED="2008-12-10 09:56:07.238" TITLECACHE="test" PROTECTEDTITLECACHE="true" PARSINGPROBLEM="0" FULLTITLECACHE="" PROBLEMENDS="-1" PROBLEMSTARTS="-1" PROTECTEDFULLTITLECACHE="true" AUTHORSHIPCACHE="(Fabricius, 1797)" NAMECACHE="Acherontia ciprosus" PROTECTEDAUTHORSHIPCACHE="true" PROTECTEDNAMECACHE="true" ANAMORPHIC="false"  BINOMHYBRID="false" HYBRIDFORMULA="false" MONOMHYBRID="false" TRINOMHYBRID="false" HOMOTYPICALGROUP_ID="35" RANK_ID="765" GENUSORUNINOMIAL="Acherontia" SPECIFICEPITHET="ciprosus" NOMENCLATURALREFERENCE_ID="1"/>
+
+  <TAXONNODE ID="1" CREATED="2009-06-18 13:47:59.0" UUID="cf0316c9-1963-4268-8c2e-8d833c460ac3" COUNTCHILDREN="3" TAXON_ID="[null]" PARENT_ID="[null]" TREEINDEX="#t1#1#" SORTINDEX="-1" CLASSIFICATION_ID="1"/>
+  <TAXONNODE ID="2" CREATED="2009-06-18 13:47:59.0" UUID="770239f6-4fa8-496b-8738-fe8f7b2ad519" COUNTCHILDREN="0" TAXON_ID="37" PARENT_ID="1" TREEINDEX="#t1#1#2#" SORTINDEX="0" CLASSIFICATION_ID="1"/>
+  <TAXONNODE ID="3" CREATED="2009-06-18 13:47:59.0" UUID="20c8f083-5870-4cbd-bf56-c5b2b98ab6a7" COUNTCHILDREN="1" TAXON_ID="36" PARENT_ID="1" TREEINDEX="#t1#1#3#" SORTINDEX="1" CLASSIFICATION_ID="1"/>
+  <TAXONNODE ID="4" CREATED="2009-06-18 13:47:59.0" UUID="0b5846e5-b8d2-4ca9-ac51-099286ea4adc" COUNTCHILDREN="0" TAXON_ID="38" PARENT_ID="3" TREEINDEX="#t1#1#3#4#" SORTINDEX="0" CLASSIFICATION_ID="1"/>
+  <TAXONNODE ID="5" CREATED="2009-06-18 13:47:59.0" UUID="4f73adcc-a535-4fbe-a97a-c05ee8b12191" COUNTCHILDREN="0" TAXON_ID="42" PARENT_ID="1" TREEINDEX="#t1#1#5#" SORTINDEX="2" CLASSIFICATION_ID="1"/>
+
+  <CLASSIFICATION ID="1" CREATED="2009-06-18 13:47:59.0" UUID="aeee7448-5298-4991-b724-8d5b75a0a7a9" PROTECTEDTITLECACHE="false" TITLECACHE="TestBaum" NAME_ID="1" ROOTNODE_ID="1"/>
+
+</dataset>
\ No newline at end of file