tabbed_properties branch merged into trunk completely
[taxeditor.git] / taxeditor-bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / ReferenceEditorInput.java
index 9ce4b68d20a8f31c0f5932147dc2c89d74d0ba1c..8ee2eb8a71f92406124e68f902da622992f4cc67 100644 (file)
@@ -9,13 +9,27 @@
 */\r
 package eu.etaxonomy.taxeditor.bulkeditor.input;\r
 \r
+import java.util.Arrays;\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
+import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;\r
+import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+\r
 \r
 /**\r
  * @author p.ciardelli\r
  * @created 25.06.2009\r
  * @version 1.0\r
  */\r
-public class ReferenceEditorInput extends BulkEditorInput {\r
+public class ReferenceEditorInput extends AbstractBulkEditorInput<ReferenceBase> {\r
+\r
+       /**\r
+        * \r
+        */\r
+       private static final long serialVersionUID = 3806243517765126749L;\r
 \r
        public static final String ID = "bulkeditor.input.reference";\r
        \r
@@ -39,7 +53,7 @@ public class ReferenceEditorInput extends BulkEditorInput {
         * @see org.eclipse.ui.IEditorInput#getName()\r
         */\r
        public String getName() {\r
-               return "Bulk Editor - References";\r
+               return "References";\r
        }\r
 \r
        /* (non-Javadoc)\r
@@ -52,10 +66,50 @@ public class ReferenceEditorInput extends BulkEditorInput {
        /**\r
         * @return\r
         */\r
-       public static BulkEditorInput getInstance() {\r
+       public static AbstractBulkEditorInput getInstance() {\r
                if (instance == null) {\r
                        instance = new ReferenceEditorInput();\r
                }\r
                return instance;\r
        }\r
+\r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()\r
+        */\r
+       @Override\r
+       public boolean isMergingEnabled() {\r
+               return true;\r
+       }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMarkerTypeEditingEnabled(eu.etaxonomy.cdm.model.common.MarkerType)\r
+        */\r
+       @Override\r
+       public boolean isMarkerTypeEditingEnabled(MarkerType markerType) {\r
+               if (MarkerType.PUBLISH().equals(markerType)) {\r
+                       return true;\r
+               }\r
+               return super.isMarkerTypeEditingEnabled(markerType);\r
+       }\r
+\r
+       // Entity persistence\r
+       \r
+       @Override\r
+       public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {\r
+               return CdmStore.findReferences(configurator);\r
+       }\r
+\r
+       @Override\r
+       public ReferenceBase loadEntity(UUID entityUuid) {\r
+               List<String> propertyPaths = Arrays.asList(new String[]{"*", "inReference.*", "authorTeam.*"}); \r
+               return CdmStore.getReferenceService().load(entityUuid, propertyPaths);\r
+       }\r
+\r
+       public boolean delete(Object entity) {\r
+               return CdmStore.getReferenceService().delete((ReferenceBase) entity) != null;\r
+       }\r
+\r
+       public boolean save(Object entity) {\r
+               return CdmStore.getReferenceService().saveOrUpdate((ReferenceBase) entity) != null;\r
+       }\r
 }
\ No newline at end of file