add media bulk editor see #4730
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / input / BulkEditorInputType.java
index cb7020b31117300c060f6101c4e07fecb1344f01..a509aecbddfa4e436d9563d672c08961f26275f0 100644 (file)
@@ -1,7 +1,6 @@
 package eu.etaxonomy.taxeditor.bulkeditor.input;
 
 import java.util.HashMap;
-import java.util.Locale;
 import java.util.Map;
 import java.util.ResourceBundle;
 
@@ -14,6 +13,7 @@ import org.eclipse.ui.menus.CommandContributionItemParameter;
 
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.api.service.IGroupService;
+import eu.etaxonomy.cdm.api.service.IMediaService;
 import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
@@ -22,38 +22,38 @@ import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.name.NameRelationship;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 
 public enum BulkEditorInputType {
-       AGENT(Messages.BulkEditorInputType_0, AgentEditorInput.ID), 
-       REFERENCE(Messages.BulkEditorInputType_1, ReferenceEditorInput.ID), 
-       NAME(Messages.BulkEditorInputType_2, NameEditorInput.ID), 
-       NAME_RELATIONSHIP(Messages.BulkEditorInputType_3, NameRelationshipEditorInput.ID), 
-       OCCURRENCE(Messages.BulkEditorInputType_4, OccurrenceEditorInput.ID), 
-       USER(Messages.BulkEditorInputType_5, UserEditorInput.ID), 
+       AGENT(Messages.BulkEditorInputType_0, AgentEditorInput.ID),
+       REFERENCE(Messages.BulkEditorInputType_1, ReferenceEditorInput.ID),
+       NAME(Messages.BulkEditorInputType_2, NameEditorInput.ID),
+       NAME_RELATIONSHIP(Messages.BulkEditorInputType_3, NameRelationshipEditorInput.ID),
+       OCCURRENCE(Messages.BulkEditorInputType_4, OccurrenceEditorInput.ID),
+       USER(Messages.BulkEditorInputType_5, UserEditorInput.ID),
        GROUP(Messages.BulkEditorInputType_6, GroupEditorInput.ID),
-       TAXON(Messages.BulkEditorInputType_7, TaxonEditorInput.ID);
+       TAXON(Messages.BulkEditorInputType_7, TaxonEditorInput.ID),
+       MEDIA(Messages.BulkEditorInputType_8, MediaEditorInput.ID);
 
        public String id;
        public String label;
-       public ResourceBundle resourceBundle; 
+       public ResourceBundle resourceBundle;
 
        BulkEditorInputType(String label, String id) {
                this.id = id;
                this.label = label;
        }
 
-       public IContributionItem createContributionItem(){ 
+       public IContributionItem createContributionItem(){
                return createContributionItem(label, id);
        }
-       
+
        /**
         * @param key
         * @param object
@@ -73,7 +73,7 @@ public enum BulkEditorInputType {
 
                return new CommandContributionItem(parameter);
        }
-       
+
        public static BulkEditorInputType getById(String id) {
 
                for (BulkEditorInputType type : values()) {
@@ -102,7 +102,9 @@ public enum BulkEditorInputType {
                        return USER;
                } else if (Taxon.class.isAssignableFrom(clazz)){
                        return TAXON;
-               }
+               } else if (Media.class.isAssignableFrom(clazz)){
+            return MEDIA;
+        }
                return null;
        }
 
@@ -123,7 +125,9 @@ public enum BulkEditorInputType {
                        return GROUP;
                } else if (input instanceof TaxonEditorInput){
                        return TAXON;
-               }
+               }else if (input instanceof MediaEditorInput){
+            return MEDIA;
+        }
                return null;
        }
 
@@ -146,12 +150,14 @@ public enum BulkEditorInputType {
                        return new GroupEditorInput();
                case TAXON:
                        return new TaxonEditorInput();
+               case MEDIA:
+            return new MediaEditorInput();
                default:
                        throw new IllegalStateException(
                                        "No input class for the given input type defined."); //$NON-NLS-1$
                }
        }
-       
+
        public static Class getServiceClass(
                        BulkEditorInputType inputType) {
                switch (inputType) {
@@ -171,6 +177,8 @@ public enum BulkEditorInputType {
                        return IGroupService.class;
                case TAXON:
                        return ITaxonService.class;
+               case MEDIA:
+            return IMediaService.class;
                default:
                        throw new IllegalStateException(
                                        "No input class for the given input type defined."); //$NON-NLS-1$