fixes #727
authorn.hoffmann <n.hoffmann@localhost>
Fri, 12 Jun 2009 12:25:38 +0000 (12:25 +0000)
committern.hoffmann <n.hoffmann@localhost>
Fri, 12 Jun 2009 12:25:38 +0000 (12:25 +0000)
taxeditor-navigation/plugin.xml
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/operations/CreateChildTaxonOperation.java
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/operations/SwapSynonymAndAcceptedOperation.java
taxeditor-store/src/test/java/eu/etaxonomy/taxeditor/store/operations/SwapSynonymAndAcceptedOperationTest.java

index 6d2a40bcfdadecc4295461d86f93782107b780d3..22cc0e528f6fb84e91da7cd3a1b1fc9f3cabce89 100644 (file)
@@ -27,9 +27,9 @@
       </view>
       <view
             allowMultiple="false"
-            class="eu.etaxonomy.taxeditor.navigation.taxonomictree.TaxonomicTreeView"
+            class="eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator"
             icon="icons/edit_16x16.gif"
-            id="eu.etaxonomy.taxeditor.navigation.taxonomictree.treeView"
+            id="eu.etaxonomy.taxeditor.navigation.navigator"
             name="Taxonomic Tree"
             restorable="true">
       </view>
index 072f8d936ef99aaf19ac90b076d049a69152af1d..21b99e8c628cf829326677ebebac6d58df3b1296 100644 (file)
@@ -30,8 +30,7 @@ import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
  */
 public class CreateChildTaxonOperation extends AbstractPostOperation {
        
-       private static final Logger logger = Logger
-       .getLogger(CreateChildTaxonOperation.class);
+       private static final Logger logger = Logger.getLogger(CreateChildTaxonOperation.class);
        
        private TaxonNameBase<?, ?> newTaxonName;
 
index f963aa615c4c7c8c7d3464acd2e53a88718c882a..5d87fa04092c5755b096e84282f4e31fcac1b64b 100644 (file)
@@ -16,12 +16,11 @@ import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
 
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
+import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.taxeditor.model.SynonymUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
  * @author n.hoffmann
@@ -33,8 +32,8 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation {
                                .getLogger(SwapSynonymAndAcceptedOperation.class);
        
        private Synonym synonym;
-       private Taxon newTaxon;
-       private TaxonNameBase<?, ?> oldTaxonName;
+       // TODO store the old relationship for undo reasons
+       private SynonymRelationshipType synonymRelationshipType;
        
        /**
         * @param label
@@ -47,7 +46,6 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation {
                super("test swap", undoContext, taxon, postOperationEnabled);
                
                this.synonym = synonym;
-               
        }
 
        /* (non-Javadoc)
@@ -56,16 +54,10 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation {
        @Override
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
-
-//             Taxon parentTaxon = taxon.getTaxonomicParent();
                
-               oldTaxonName = taxon.getName();
-               newTaxon = SynonymUtil.swapSynonymAndAccepted(synonym, taxon);
-               
-//             newTaxon.setTaxonomicParent(parentTaxon, null, null);
-                               
-               // do not perform postExecution
-               return Status.OK_STATUS;
+               CdmStore.getTaxonService().makeSynonymAcceptedTaxon(synonym, taxon, null);
+
+               return postExecute(taxon);
        }
 
        /* (non-Javadoc)
@@ -87,11 +79,4 @@ public class SwapSynonymAndAcceptedOperation extends AbstractPostOperation {
                logger.error("Not yet implemented");
                return null;
        }
-
-       /**
-        * @return the newTaxon
-        */
-       public Taxon getNewTaxon() {
-               return newTaxon;
-       }
 }
\ No newline at end of file
index 0e141c687d5d3d8e006988fa2cb289f355fe239c..f12beae03265186f0acd975ef028cb67c9c97837 100644 (file)
@@ -40,7 +40,7 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat
        
        private static AbstractPostOperation operation;
 
-       private static Taxon oldTaxon;
+       private static Taxon taxon;
 
        private static Taxon parentTaxon;
 
@@ -75,18 +75,18 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat
                
                // Create the original accepted taxon
                oldTaxonName = NonViralName.NewInstance(null);
-               oldTaxon = Taxon.NewInstance(oldTaxonName, null);
+               taxon = Taxon.NewInstance(oldTaxonName, null);
                
                // Create its parent taxon
                parentTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
-               parentTaxon.addTaxonomicChild(oldTaxon, null, null);
+               parentTaxon.addTaxonomicChild(taxon, null, null);
 
                // Give it a child taxon
                childTaxon = Taxon.NewInstance(NonViralName.NewInstance(null), null);
-               childTaxon.setTaxonomicParent(oldTaxon, null, null);
+               childTaxon.setTaxonomicParent(taxon, null, null);
                
                // Create a homotypic synonym for the accepted taxon
-               oldTaxon.addHomotypicSynonymName(NonViralName.NewInstance(null), null, null);
+               taxon.addHomotypicSynonymName(NonViralName.NewInstance(null), null, null);
 //             homotypicSynonym = Synonym.NewInstance(NonViralName.NewInstance(null), null);
 //             HomotypicalGroup acceptedHomotypicalGroup = HomotypicalGroup.NewInstance();
 //             acceptedHomotypicalGroup.addTypifiedName(oldTaxon.getName());
@@ -98,27 +98,25 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat
 //             oldTaxon.addS .addHeterotypicSynonym(oldHeterotypicSynonym, null, null);
                heteroypicalGroup = HomotypicalGroup.NewInstance();
                heteroypicalGroup.addTypifiedName(oldHeterotypicSynonym.getName());
-               oldTaxon.addSynonym(oldHeterotypicSynonym, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());
+               taxon.addSynonym(oldHeterotypicSynonym, SynonymRelationshipType.HETEROTYPIC_SYNONYM_OF());
                
                // Create a misapplication
                misapplication = Taxon.NewInstance(NonViralName.NewInstance(null), null);
-               oldTaxon.addMisappliedName(misapplication, null, null); 
+               taxon.addMisappliedName(misapplication, null, null);    
                
                // Create a concept relation
                concept = Taxon.NewInstance(NonViralName.NewInstance(null), null);
                conceptRelationshipType = new TaxonRelationshipType();
-               concept.addTaxonRelation(oldTaxon, conceptRelationshipType, null, null);        
+               concept.addTaxonRelation(taxon, conceptRelationshipType, null, null);   
                
                // Create a description
                description = TaxonDescription.NewInstance();
-               oldTaxon.addDescription(description);
+               taxon.addDescription(description);
                
                operation = new SwapSynonymAndAcceptedOperation
-                               (null, undoContext, oldTaxon, oldHeterotypicSynonym, postOperation);
+                               (null, undoContext, taxon, oldHeterotypicSynonym, postOperation);
        }
 
-       private Taxon newTaxon;
-
 
        /**
         * Test method for {@link eu.etaxonomy.taxeditor.operations.ChangeHomotypicGroupOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)}.
@@ -128,29 +126,27 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat
        public void testExecute() throws ExecutionException {
                operation.execute(null, null);
                
-               newTaxon = ((SwapSynonymAndAcceptedOperation) operation).getNewTaxon();
-               
                // New taxon has correct name?          
-               Assert.assertEquals(newTaxon.getName(), oldSynonymName);
+               Assert.assertEquals(taxon.getName(), oldSynonymName);
                
                // New taxon has correct parent?
-               Assert.assertEquals(newTaxon.getTaxonomicParent(), parentTaxon);
+               Assert.assertEquals(taxon.getTaxonomicParent(), parentTaxon);
                
                // New taxon has correct child?
-               Assert.assertTrue(newTaxon.getTaxonomicChildren().contains(childTaxon));
+               Assert.assertTrue(taxon.getTaxonomicChildren().contains(childTaxon));
                
                // New taxon has 2 synonyms?
-               Assert.assertEquals(newTaxon.getSynonyms().size(), 2);
+               Assert.assertEquals(taxon.getSynonyms().size(), 2);
                
                // New taxon has a synonym with the name of the previous accepted taxon?
-               Assert.assertTrue(newTaxon.getSynonymNames().contains(oldTaxonName));
+               Assert.assertTrue(taxon.getSynonymNames().contains(oldTaxonName));
                
                // New taxon has misapplication?
-               Assert.assertTrue(newTaxon.getMisappliedNames().contains(misapplication));
+               Assert.assertTrue(taxon.getMisappliedNames().contains(misapplication));
                
                // New taxon has 1 concept relation?
                int conceptRelCount = 0;
-               for (TaxonRelationship relation : newTaxon.getTaxonRelations()) {
+               for (TaxonRelationship relation : taxon.getTaxonRelations()) {
                        if (relation.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR()) ||
                                        relation.getType().equals(TaxonRelationshipType.TAXONOMICALLY_INCLUDED_IN())) {
                                continue;
@@ -160,7 +156,7 @@ public class SwapSynonymAndAcceptedOperationTest extends AbstractTaxeditorOperat
                Assert.assertEquals(conceptRelCount, 1);
                
                // New taxon has description?
-               newTaxon.getDescriptions().contains(description);
+               taxon.getDescriptions().contains(description);
        }
 
        /**