merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / TaxonEditorInput.java
index 6bfcead6dcd609534c42e178511fc509d0152f4a..b331b88f5d9ffd68c6809371900c98d2d7e1d91b 100644 (file)
@@ -9,9 +9,7 @@
 
 package eu.etaxonomy.taxeditor.editor;
 
-import java.util.Arrays;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
@@ -36,6 +34,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -92,7 +91,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
        TaxonNode taxonNode = CdmStore.getService(ITaxonNodeService.class).load(taxonNodeUuid, null);
 
                if(taxonNode == null){
-                       EditorUtil.warningDialog("Not yet implemented", TaxonEditorInput.class, "Selected element is not type TaxonBase.");
+                       MessagingUtils.warningDialog("Not yet implemented", TaxonEditorInput.class, "Selected element is not type TaxonBase.");
                        return null;
                }
 
@@ -111,36 +110,40 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
        TaxonEditorInput input = null;
 
        TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).find(taxonBaseUuid);
-       if(taxonBase.isOrphaned()) {
-               EditorUtil.warningDialog("Orphaned Taxon", TaxonEditorInput.class, "This is an orphaned taxon i.e. a taxon that is not connected to a classification and not having any taxonomic relationships. Editing of orphaned taxon is currently not supported.");
+       if (taxonBase != null){
+               if(taxonBase.isOrphaned()) {
+                       MessagingUtils.warningDialog("Orphaned Taxon", TaxonEditorInput.class, "This is an orphaned taxon i.e. a taxon that is not connected to a classification and not having any taxonomic relationships. Editing of orphaned taxon is currently not supported.");
+               }
+               else if(taxonBase.isInstanceOf(Taxon.class)){
+                       Taxon taxon = CdmBase.deproxy(taxonBase, Taxon.class);
+       
+                       if (taxon.getTaxonNodes().size() == 0 && taxon.isMisapplication()){
+                               // TODO get accepted taxon
+                               MessagingUtils.info("trying to open Mispplied Name ");
+       
+                               Set<Taxon> acceptedTaxa = new HashSet<Taxon>();
+                               Set<TaxonRelationship> relations = taxon.getRelationsFromThisTaxon();
+                               for(TaxonRelationship relation : relations){
+                                       if(relation.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR())){
+                                               acceptedTaxa.add(relation.getToTaxon());
+                                       }
+                               }
+                               input =  getInputForMultipleTaxa(conversation, acceptedTaxa);
+       
+                       }else{
+                               input = getInputForMultipleNodes(conversation, taxon.getTaxonNodes());
+                       }
+               }else if(taxonBase instanceof Synonym){
+                       Synonym synonym = (Synonym) taxonBase;
+       
+                       Set<Taxon> taxa = synonym.getAcceptedTaxa();
+                       input = getInputForMultipleTaxa(conversation, taxa);
+               }
+               if (input != null){
+                       input.setInitiallySelectedTaxonBase(taxonBase);
+               }
        }
-       else if(taxonBase.isInstanceOf(Taxon.class)){
-               Taxon taxon = CdmBase.deproxy(taxonBase, Taxon.class);
-
-               if (taxon.isMisapplication()){
-                       // TODO get accepted taxon
-                       EditorUtil.info("trying to open Mispplied Name ");
-
-                       Set<Taxon> acceptedTaxa = new HashSet<Taxon>();
-                       Set<TaxonRelationship> relations = taxon.getRelationsFromThisTaxon();
-                       for(TaxonRelationship relation : relations){
-                               if(relation.getType().equals(TaxonRelationshipType.MISAPPLIED_NAME_FOR())){
-                                       acceptedTaxa.add(relation.getToTaxon());
-                               }
-                       }
-                       input =  getInputForMultipleTaxa(conversation, acceptedTaxa);
-
-               }else{
-                       input = getInputForMultipleNodes(conversation, taxon.getTaxonNodes());
-               }
-       }else if(taxonBase instanceof Synonym){
-               Synonym synonym = (Synonym) taxonBase;
-
-               Set<Taxon> taxa = synonym.getAcceptedTaxa();
-               input = getInputForMultipleTaxa(conversation, taxa);
-       }
-
-       input.setInitiallySelectedTaxonBase(taxonBase);
+       
 
        return input;
     }
@@ -156,7 +159,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
                        }
                }else if(taxonNodes.size() == 0){
                        // this is an undesired state
-                       EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "The accepted taxon is not part of any classification. This should not have happened.");
+                       MessagingUtils.warningDialog("Incorrect state", TaxonEditorInput.class, "The accepted taxon is not part of any classification. This should not have happened.");
                }
        return null;
     }
@@ -174,7 +177,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
                        return getInputForMultipleNodes(conversation, taxonNodes);
                }else if(taxa.size() == 0){
                        // this is an undesired state
-                       EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "Trying to open accepted taxon for a synonym or misapplication but" +
+                       MessagingUtils.warningDialog("Incorrect state", TaxonEditorInput.class, "Trying to open accepted taxon for a synonym or misapplication but" +
                                        " no accepted taxa are present. This should not have happened.");
                }
        return null;
@@ -324,426 +327,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
         * @return the taxon
         */
        public Taxon getTaxon(){
-               
-                       List<String> TAXON_INIT_STRATEGY = Arrays.asList(new String []{
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // IdentifiableEntity           : toMany-> "credits, extensions, rights, sources" 
-                                       //                                                      : toOne-> "lsid"
-                                       // TaxonBase                            : toOne-> "homotypicgroup, name, sec"
-                                       // Taxon                                        : toMany-> "descriptions, heterotypicSynonymyGroups, homotypicSynonymsByHomotypicGroup, homotypicSynonymsByHomotypicRelationship, homotypicSynonymyGroups, misappliedNames, relationsFromThisTaxon, relationsToThisTaxon, synonymNames, synonymRelations, synonyms, synonymsSortedByType, taxonNodes, taxonRelations"
-                                       //                                                      : toOne-> "imageGallery"
-                                       "*",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // LanguageStringBase           : toOne-> "language"
-                                       // Annotation                           : toOne-> "annotatedObj, annotationType, commentator, linkbackUrl
-                                       "annotations.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // Marker                                       : toOne-> "markedObj, markerType"       
-                                       "markers.$",
-                                       "markers.markerType.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // LanguageStringBase           : toOne-> "language"
-                                       // Annotation                           : toOne-> "annotatedObj, annotationType, commentator, linkbackUrl
-                                       // Credit                                       : toOne-> "agent"       
-                                       "credits.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // Extension                            : toOne-> "extendedObj, type"   
-                                       "extensions.$",
-                                       "extensions.type.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // LanguageStringBase           : toOne-> "language"
-                                       // Rights                                       : toOne-> "agent, type, uri"    
-                                       "rights.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // OriginalSourceBase           :       
-                                       // IdentifiableSource           : toOne-> "sourcedObj"  
-                                       "sources.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // HomotypicalGroup                     : toMany-> "" (available: "basionymAndReplacedSynonymRelations, basionyms, basionymsOrReplacedSynonyms, nameTypeDesignations, newCombinations, replacedSynonym, specimenTypeDesignations, synonymsInGroup, typeDesignations, typifiedNames, unrelatedNames" )  
-                                       "homotypicGroup.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // AnnotatableEntity            : toMany-> "" (available: "annotations, markers")
-                                       // TaxonNameBase                        : toMany-> "" (available: "basionyms, descriptions, nameRelations, nameTypeDesignations, relationsFromThisName, relationsToThisName, specimenTypeDesignations, specimenTypeDesignationsOfHomotypicalGroup, status, synonyms, taggedName, taxa, taxonBases, typeDesignations" ) 
-                                       //                                                      : toOne-> "basionym, citation, homotypicalGroup, nomenclaturalCode, nomenclaturalReference, rank"
-                                       // ViralName 
-                                       // NonViralName                         : toMany->"" (available: "childRelationships, hybridChildRelations, hybridParentRelations, orderedChildRelationships, parentRelationships") 
-                                       //                                                      : toOne-> "basionymAuthorTeam, combinationAuthorTeam, exBasionymAuthorTeam, exCombinationAuthorTeam"
-                                       "name.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // IdentifiableEntity           : toMany-> "credits, extensions, rights, sources" 
-                                       //                                                      : toOne-> "lsid"
-                                       // IdentifiableMediaEntity      : toMany->"" (available: "media") 
-                                       // Reference                            : toOne->"authorTeam, datePublished, inBook, inJournal, inProceedings, inReference, inSeries, institution, school, type, uri" 
-                                       "sec.$",
-                                       
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // IdentifiableEntity           : toMany-> "credits, extensions, rights, sources" 
-                                       //                                                      : toOne-> "lsid"
-                                       // DescriptionBase                      : toMany->"" (available: "describedSpecimenOrObservations, descriptiveSystem, elements, workingSets" )
-                                       // TaxonDescription                     : toMany->"" (available: "geoScopes, scopes" )
-                                       //                                                      : toOne-> "taxon"
-                                       "descriptions.$",
-
-                                       
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // RelationshipBase                     : 
-                                       // TaxonRelationship            : toOne->"fromTaxon, relatedFrom, relatedTo, toTaxon, type"
-                                       "relationsFromThisTaxon.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // RelationshipBase                     : 
-                                       // TaxonRelationship            : toOne->"fromTaxon, relatedFrom, relatedTo, toTaxon, type"
-                                       "relationsToThisTaxon.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // RelationshipBase                     : 
-                                       // SynonymRelationship          : toOne->"acceptedTaxon, relatedFrom, relatedTo, synonym, type"
-                                       "synonymRelations.$",
-
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // IdentifiableEntity           : toMany-> "credits, extensions, rights, sources" 
-                                       //                                                      : toOne-> "lsid"
-                                       // TaxonBase                            : toOne-> "homotypicgroup, name, sec"
-                                       // Synonym                                      : toMany-> "" (available: "acceptedTaxa, relationType, synonymRelations" )
-                                       "synonyms.$",
-
-
-                                       "misappliedNames.$",
-                                       "misappliedNames.name.extensions.type.$",
-                                       "misappliedNames.name.status.$",
-                                       "misappliedNames.name.status.type.$",
-                                       "misappliedNames.name.descriptions.elements.$",
-                                       "misappliedNames.name.typeDesignations.$",
-                                       "misappliedNames.name.typeDesignations.typeStatus.$",
-
-//                                     "relationsFromThisTaxon.fromTaxon.$",
-//                                     "relationsFromThisTaxon.fromTaxon.name.status.$",
-//                                     "relationsFromThisTaxon.fromTaxon.name.status.type.$",
-//                                     "relationsFromThisTaxon.fromTaxon.name.descriptions.elements.$",
-//                                     "relationsFromThisTaxon.fromTaxon.name.typeDesignations.typeStatus.$",
-//                                     "relationsFromThisTaxon.toTaxon.$",
-////                                   "relationsFromThisTaxon.toTaxon.name.extensions.type.$",
-//                                     "relationsFromThisTaxon.toTaxon.name.status.$",
-//                                     "relationsFromThisTaxon.toTaxon.name.status.type.$",
-//                                     "relationsFromThisTaxon.toTaxon.name.descriptions.elements.$",
-//                                     "relationsFromThisTaxon.toTaxon.name.typeDesignations.typeStatus.$",
-
-//                                     "relationsToThisTaxon.fromTaxon.$",
-//                                     "relationsToThisTaxon.fromTaxon.name.extensions.type.$",
-//                                     "relationsToThisTaxon.fromTaxon.name.status.type.$",
-//                                     "relationsToThisTaxon.fromTaxon.name.descriptions.elements.$",
-//                                     "relationsToThisTaxon.fromTaxon.name.typeDesignations.typeStatus.$",
-//                                     "relationsToThisTaxon.toTaxon.$",
-//                                     "relationsToThisTaxon.toTaxon.name.status.type.$",
-//                                     "relationsToThisTaxon.toTaxon.name.descriptions.elements.$",
-//                                     "relationsToThisTaxon.toTaxon.name.typeDesignations.typeStatus.$",
-
-                                       // TaxonNameEditor.createOrUpdateNameComposites()
-                                       // ContainerFactory.createOrUpdateAcceptedTaxonsHomotypicGroup()
-                                       "name.homotypicalGroup.typifiedNames.$",
-                                       "name.homotypicalGroup.synonymsInGroup",
-                                       "name.synonymRelations",
-                                       "name.descriptions.elements.$",
-                                       
-//                                     "name.descriptions.scopes.$",
-//                                     "name.descriptions.scopes.terms.$",
-                                       "name.descriptions.geoscopes.$",
-                                       "name.descriptions.geoscopes.vocabulary.$",
-                                       "name.descriptions.geoscopes.vocabulary.terms.$",
-                                       
-                                       // ContainerFactory.createOrUpdateAcceptedTaxonsHomotypicGroup()
-                                       "name.homotypicalGroup.$",
-                                       "name.homotypicalGroup.typifiedNames:$",                                        
-
-                                       "synonymRelations.synonym.name.$",
-                                       "synonymRelations.synonym.name.descriptions.elements.$",
-                                       "synonymRelations.synonym.name.homotypicalGroup.$",
-                                       "synonymRelations.synonym.name.homotypicalGroup.typifiedNames.$",
-                                       "synonymRelations.synonym.name.status.$",
-
-                                       "synonymRelations.synonym.name.typeDesignations.$",
-                                       "synonymRelations.synonym.name.typeDesignations.typifiedNames.$",
-                                       "synonymRelations.synonym.name.typeDesignations.typeStatus.$",
-                                       "synonymRelations.synonym.name.typeDesignations.typeName.$",
-                                       "synonymRelations.synonym.name.typeDesignations.typeSpecimen.$",
-
-                                       
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // DescriptionElementBase       : toMany->"" (available: "media, modifiers, modifyingText, sources" )
-                                       //                                                      : toOne-> "feature, inDescription"
-                                       // CategoricalData                      : toMany->"" (available: "states" )
-                                       // CommonTaxaName                       : toOne->"area, language"
-                                       // Distribution                         : toOne->"area, status"
-                                       // IndividualsAssociation       : toMany->"" (available: "description" )
-                                       //                                                      : toOne-> "associatedSpecimenOrObserviation"
-                                       // QuantitativeData                     : toMany->"" (available: "statisticalValues" )
-                                       //                                                      : toOne-> "unit"
-                                       // TaxonInteraction                     : toMany->"" (available: "descriptions" )
-                                       //                                                      : toOne-> "taxon2"
-                                       // TextData                                     : toMany->"" (available: "multilanguageText" )
-                                       //                                                      : toOne-> "format, languageText, preferredLanguageString"
-                                       "descriptions.elements.$",
-
-                                       "descriptions.elements.annotations.$",
-                                       "descriptions.elements.markers.markerType.$",
-
-                                       "descriptions.elements.modifiers.$",
-                                       "descriptions.elements.modifyingText.$",
-                                       
-                                       "descriptions.elements.description.$",
-
-                                       "descriptions.elements.associatedSpecimenOrObservation.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.annotations.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.annotations.annotationType.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.markers.markerType.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.credits.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.extensions.type.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.rights.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.sources.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.media.$",
-                                       "descriptions.elements.associatedSpecimenOrObservation.media.representations.parts.$",
-                                       
-                                       "descriptions.elements.descriptions.$",
-
-                                       "descriptions.elements.multilanguageText.$",
-                                       
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // IdentifiableEntity           : toMany-> "credits, extensions, rights, sources" 
-                                       //                                                      : toOne-> "lsid"
-                                       // Media                                        : toMany->"allDescriptions, allTitles, representations"
-                                       //                                                      : toOne-> "artist, description, mediaCreated, title"
-                           "descriptions.elements.media.$",
-//                         "descriptions.elements.media.allDescriptions.$",
-                                       // CdmBase                                      : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                           // MediaRepresentation              : toMany-> "parts"
-                                       //                                                      : toOne-> "media"
-                           // MediaRepresentationPart  : toOne-> "mediaRepresentation, size, uri"
-                           "descriptions.elements.media.representations.parts.$",
-
-                           "descriptions.elements.media.annotations.$",
-                           "descriptions.elements.media.annotations.annotationType.$",
-                           "descriptions.elements.media.credits.$",
-                           "descriptions.elements.media.extensions.$",
-                           "descriptions.elements.media.extensions.type.$",
-                           "descriptions.elements.media.markers.$",
-                           "descriptions.elements.media.markers.marker.Type.$",
-                           "descriptions.elements.media.rights.$",
-                           "descriptions.elements.media.sources.$",
-
-                                       "descriptions.elements.states.$",
-                                       "descriptions.elements.statisticalValues.$",
-                           
-                           
-                           // DescriptiveContentProvider.getContainerTreeForDesription()
-                           // FeatureNodeContainerTree.getDescriptionsElementsForFeature()                         
-                           // DescriptionHelper.getElementText()
-
-                           // CdmBase                                  : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // DescriptionElementSource     : toOne-> "nameUsedInSource, sourcedObj"
-                                       "descriptions.elements.sources.$",
-
-                                       // NamedArea.labelWithLevel()
-
-                           // CdmBase                                  : toOne-> "created, createdBy, uuid"
-                                       // VersionableEntity            : toOne-> "updated, updatedBy"
-                                       // AnnotatableEntity            : toMany-> "annotations, markers"
-                                       // ReferencedEntityBase         : toOne-> "citation"    
-                                       // NamedArea                            : toMany->"" (available: "allLevelList, generalizationOf, includes, waterbodiesOrCountries" )
-                                       //                                                      : toOne-> "hierarchieList, kindOf, level, partOf, pointApproximation, shape, type, validPeriod"
-                                       "descriptions.elements.area.$",
-                                       "descriptions.elements.area.allLevelList.$",
-                                       "descriptions.elements.area.allLevelList.vocabulary.$",
-                                       "descriptions.elements.area.allLevelList.vocabulary.terms.$",
-                                       "descriptions.elements.area.vocabulary.$",
-                                       "descriptions.elements.area.vocabulary.terms.$",
-                                       "descriptions.elements.vocabulary.$",
-                                       "descriptions.elements.vocabulary.terms.$",
-                                       
-                                       
-//                                     "descriptions.scopes.$",
-//                                     "descriptions.scopes.terms.$",
-//                                     "descriptions.geoscopes.$",
-//                                     "descriptions.geoscopes.vocabulary.$",
-//                                     "descriptions.geoscopes.vocabulary.terms.$",
-                                       
-                                       // NameRelationshipDetailSection.createElementComposite()
-                                       // NameRelationshipDetailElement.setEntity()
-                                       "name.nameRelations.$",
-
-                                       
-                                       "name.extensions.$",
-                                       "name.extensions.type.$",
-                                       
-                                       "name.basionymAuthorTeam.$",                                    
-                                       "name.basionymAuthorTeam.annotations.$",
-                                       "name.basionymAuthorTeam.annotations.annotationType.$",
-                                       "name.basionymAuthorTeam.markers.markerType.$",
-                                       "name.basionymAuthorTeam.credits.$",
-                                       "name.basionymAuthorTeam.extensions.type.$",
-                                       "name.basionymAuthorTeam.rights.$",
-                                       "name.basionymAuthorTeam.sources.$",
-                                       "name.basionymAuthorTeam.media.$",
-                                       "name.basionymAuthorTeam.media.representations.parts.$",
-                                       "name.basionymAuthorTeam.teamMembers.$",
-                                       "name.basionymAuthorTeam.teamMembers.annotations.$",
-                                       "name.basionymAuthorTeam.teamMembers.annotations.annotationType.$",
-                                       "name.basionymAuthorTeam.teamMembers.markers.markerType.$",
-                                       "name.basionymAuthorTeam.teamMembers.credits.$",
-                                       "name.basionymAuthorTeam.teamMembers.extensions.type.$",
-                                       "name.basionymAuthorTeam.teamMembers.rights.$",
-                                       "name.basionymAuthorTeam.teamMembers.sources.$",
-                                       "name.basionymAuthorTeam.teamMembers.media.$",
-                                       "name.basionymAuthorTeam.teamMembers.media.representations.parts.$",
-
-                                       "name.combinationAuthorTeam.$",                                 
-                                       "name.combinationAuthorTeam.annotations.$",
-                                       "name.combinationAuthorTeam.annotations.annotationType.$",
-                                       "name.combinationAuthorTeam.markers.markerType.$",
-                                       "name.combinationAuthorTeam.credits.$",
-                                       "name.combinationAuthorTeam.extensions.type.$",
-                                       "name.combinationAuthorTeam.rights.$",
-                                       "name.combinationAuthorTeam.sources.$",
-                                       "name.combinationAuthorTeam.media.$",
-                                       "name.combinationAuthorTeam.media.representations.parts.$",
-                                       "name.combinationAuthorTeam.teamMembers.$",
-                                       "name.combinationAuthorTeam.teamMembers.annotations.$",
-                                       "name.combinationAuthorTeam.teamMembers.annotations.annotationType.$",
-                                       "name.combinationAuthorTeam.teamMembers.markers.markerType.$",
-                                       "name.combinationAuthorTeam.teamMembers.credits.$",
-                                       "name.combinationAuthorTeam.teamMembers.extensions.type.$",
-                                       "name.combinationAuthorTeam.teamMembers.rights.$",
-                                       "name.combinationAuthorTeam.teamMembers.sources.$",
-                                       "name.combinationAuthorTeam.teamMembers.media.$",
-                                       "name.combinationAuthorTeam.teamMembers.media.representations.parts.$",
-
-                                       "name.exBasionymAuthorTeam.$",                                  
-                                       "name.exBasionymAuthorTeam.annotations.$",
-                                       "name.exBasionymAuthorTeam.annotations.annotationType.$",
-                                       "name.exBasionymAuthorTeam.markers.markerType.$",
-                                       "name.exBasionymAuthorTeam.credits.$",
-                                       "name.exBasionymAuthorTeam.extensions.type.$",
-                                       "name.exBasionymAuthorTeam.rights.$",
-                                       "name.exBasionymAuthorTeam.sources.$",
-                                       "name.exBasionymAuthorTeam.media.$",
-                                       "name.exBasionymAuthorTeam.media.representations.parts.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.annotations.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.annotations.annotationType.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.markers.markerType.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.credits.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.extensions.type.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.rights.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.sources.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.media.$",
-                                       "name.exBasionymAuthorTeam.teamMembers.media.representations.parts.$",
-
-                                       "name.exCombinationAuthorTeam.$",                                       
-                                       "name.exCombinationAuthorTeam.annotations.$",
-                                       "name.exCombinationAuthorTeam.annotations.annotationType.$",
-                                       "name.exCombinationAuthorTeam.markers.markerType.$",
-                                       "name.exCombinationAuthorTeam.credits.$",
-                                       "name.exCombinationAuthorTeam.extensions.type.$",
-                                       "name.exCombinationAuthorTeam.rights.$",
-                                       "name.exCombinationAuthorTeam.sources.$",
-                                       "name.exCombinationAuthorTeam.media.$",
-                                       "name.exCombinationAuthorTeam.media.representations.parts.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.annotations.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.annotations.annotationType.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.markers.markerType.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.credits.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.extensions.type.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.rights.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.sources.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.media.$",
-                                       "name.exCombinationAuthorTeam.teamMembers.media.representations.parts.$",
-                                       
-                                       "name.nomenclaturalReference.annotations.$",
-                                       "name.nomenclaturalReference.annotations.annotationType.$",
-                                       "name.nomenclaturalReference.authorTeam.$",
-                                       "name.nomenclaturalReference.authorTeam.media.$",
-                                       "name.nomenclaturalReference.authorTeam.media.representations.parts.$",
-                                       "name.nomenclaturalReference.markers.markerType.$",
-                                       "name.nomenclaturalReference.credits.$",
-                                       "name.nomenclaturalReference.extensions.type.$",
-                                       "name.nomenclaturalReference.rights.$",
-                                       "name.nomenclaturalReference.rights.type.$",
-                                       "name.nomenclaturalReference.sources.$",
-                                       "name.nomenclaturalReference.media.$",
-                                       "name.nomenclaturalReference.media.representations.parts.$",
-                                       "name.nomenclaturalReference.inReference.$",
-                                       "name.nomenclaturalReference.inReference.annotations.$",
-                                       "name.nomenclaturalReference.inReference.annotations.annotationType.$",
-                                       "name.nomenclaturalReference.inReference.markers.markerType.$",                                 
-
-                                       "name.nomenclaturalReference.inReference.credits.$",
-                                       "name.nomenclaturalReference.inReference.extensions.type.$",
-                                       "name.nomenclaturalReference.inReference.rights.$",
-                                       "name.nomenclaturalReference.inReference.rights.type.$",
-                                       "name.nomenclaturalReference.inReference.sources.$",
-                                       "name.nomenclaturalReference.inReference.media.$",
-                                       "name.nomenclaturalReference.inReference.media.representations.parts.$",
-
-                                       "name.status.$",
-                                       "name.status.annotations.$",
-                                       "name.status.annotations.annotationType.$",
-                                       "name.status.markers.markerType.$",
-                                       "name.status.type.$",
-
-                                       "name.typeDesignations.$",
-                                       "name.typeDesignations.typifiedNames.$",
-                                       "name.typeDesignations.typeStatus.$",
-                                       "name.typeDesignations.typeName.$",
-                                       "name.typeDesignations.typeSpecimen.$",
-
-                       });
-                       
-                       return (Taxon) CdmStore.getService(ITaxonService.class).load(taxonNode.getTaxon().getUuid(), TAXON_INIT_STRATEGY);
-
+               return taxonNode.getTaxon();
        }
 
        /**