#4073 Initial implementation of local cdm-server
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / TaxonEditorInput.java
index 8540c7d34bf30503d1b03d66f4196acadb7c96f8..cbfe3cb7cc0e5a8eb9e9b8711262c7b592cdc279 100644 (file)
@@ -10,6 +10,7 @@
 package eu.etaxonomy.taxeditor.editor;
 
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -27,6 +28,7 @@ import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
@@ -102,7 +104,7 @@ public class TaxonEditorInput  extends CdmEntitySessionInput implements IEditorI
                 "taxon.rights",
                 "taxon.sources",
                 "taxon.descriptions",
-                "taxon.synonymRelations",
+                "taxon.synonymRelations.relatedFrom.name.homotypicalGroup.typifiedNames",
                 "taxon.relationsToThisTaxon",
                 "taxon.relationsFromThisTaxon",
                 "taxon.taxonNodes",
@@ -126,7 +128,29 @@ public class TaxonEditorInput  extends CdmEntitySessionInput implements IEditorI
 
     private void initForTaxonBase(UUID taxonBaseUuid) {
 
-        TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(taxonBaseUuid);
+
+        List<String> taxonBasePropertyPaths = Arrays.asList(new String[] {
+                "annotations",
+                "markers",
+                "credits",
+                "extensions",
+                "rights",
+                "sources",
+                "descriptions",
+                "relationsToThisTaxon",
+                "relationsFromThisTaxon",
+                "taxonNodes",
+                "name.status",
+                "name.nomenclaturalReference",
+                "synonymRelations.relatedFrom.name.status.type",
+                "synonymRelations.relatedFrom.name.nomenclaturalReference.inReference",
+                "name.taxonBases",
+                "name.descriptions.descriptionElements",
+                "name.descriptions.markers"
+
+
+        });
+        TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(taxonBaseUuid, taxonBasePropertyPaths);
         if (taxonBase != null){
             if(taxonBase.isInstanceOf(Taxon.class)){
                 Taxon taxon = CdmBase.deproxy(taxonBase, Taxon.class);
@@ -476,7 +500,7 @@ public class TaxonEditorInput  extends CdmEntitySessionInput implements IEditorI
 
     @Override
     public Map<Object, List<String>> getPropertyPathsMap() {
-//        Map<Object, List<String>> propertyPathsMap = new HashMap<Object, List<String>>();
+        Map<Object, List<String>> propertyPathsMap = new HashMap<Object, List<String>>();
 //        List<String> taxonNameBasePropertyPaths = Arrays.asList(new String[] {
 //                "status",
 //                "taxonBases.taxonNodes",
@@ -497,8 +521,13 @@ public class TaxonEditorInput  extends CdmEntitySessionInput implements IEditorI
 //                 "taxon.descriptions"
 //         });
 //        propertyPathsMap.put(TaxonNode.class, taxonBasePropertyPaths);
-//        return propertyPathsMap;
-        return null;
+       List<String> homotypicalGroupPropertyPaths = Arrays.asList(new String[] {
+                "typifiedNames.taxonBases.synonymRelations.relatedFrom.name",
+                "typifiedNames.taxonBases.synonymRelations.relatedFrom.name.status"
+        });
+       propertyPathsMap.put(HomotypicalGroup.class, homotypicalGroupPropertyPaths);
+       return propertyPathsMap;
+//        return null;
     }
 
 }