Refactoring of selection elements. Additional minor refactoring. Fixed a bug with...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / GeneralDetailElement.java
index 0e2dcfb63eb1ebaf8689bdaf232edf1c60630ac8..5951b23dbd878800e94853747e7b0ef71896c146 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.occurrence;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
@@ -21,11 +23,8 @@ import eu.etaxonomy.taxeditor.ui.element.PointElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-import eu.etaxonomy.taxeditor.ui.selection.AgentSelectionElement;
-import eu.etaxonomy.taxeditor.ui.selection.CollectionSelectionElement;
-import eu.etaxonomy.taxeditor.ui.selection.NamedAreaSelectionElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * @author n.hoffmann
@@ -37,14 +36,14 @@ public class GeneralDetailElement extends
 
        private ToggleableTextElement toggleableText_titleCache;
 
-       private NamedAreaSelectionElement selection_country;
+       private EntitySelectionElement<NamedArea> selection_country;
        private LanguageStringWithLabelElement languageText_locality;
        private PointElement element_point;
        private NumberWithLabelElement number_elevation;
        private TimePeriodElement element_date;
-       private AgentSelectionElement selection_collector;
+       private EntitySelectionElement<AgentBase> selection_collector;
        private TextWithLabelElement text_collectingNumber;
-       private CollectionSelectionElement selection_collection;
+       private EntitySelectionElement<Collection> selection_collection;
        private TextWithLabelElement text_barcode;
 
        /**
@@ -70,9 +69,9 @@ public class GeneralDetailElement extends
                                formElement, "Title Cache", entity.getTitleCache(),
                                entity.isProtectedTitleCache(), style);
 
-               selection_country = formFactory.createNamedAreaSelectionElement(
-                               formElement, getConversationHolder(), "Country",
-                               entity.getCountry(), style);
+               selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
+                               formElement, "Country",
+                               entity.getCountry(), EntitySelectionElement.NOTHING, style);
                languageText_locality = formFactory
                                .createLanguageStringWithLabelElement(formElement, "Locality",
                                                entity.getLocality(), style);           
@@ -83,18 +82,18 @@ public class GeneralDetailElement extends
                                entity.getAbsoluteElevation(), style);
                element_date = formFactory.createTimePeriodElement(formElement, "Date",
                                entity.getGatheringPeriod(), style);
-               selection_collector = (AgentSelectionElement) formFactory
-                               .createSelectionElement(SelectionType.AGENT,
+               selection_collector = formFactory
+                               .createSelectionElement(AgentBase.class,
                                                getConversationHolder(), formElement, "Collector",
-                                               entity.getCollector(), AgentSelectionElement.DEFAULT,
+                                               entity.getCollector(), EntitySelectionElement.ALL,
                                                style);
                text_collectingNumber = formFactory.createTextWithLabelElement(formElement,
                                "Collecting number", entity.getFieldNumber(), style);
-               selection_collection = (CollectionSelectionElement) formFactory
-                               .createSelectionElement(SelectionType.COLLECTION,
+               selection_collection = formFactory
+                               .createSelectionElement(Collection.class,
                                                getConversationHolder(), formElement, "Collection",
                                                entity.getCollection(),
-                                               CollectionSelectionElement.DEFAULT, style);
+                                               EntitySelectionElement.ALL, style);
                text_barcode = formFactory.createTextWithLabelElement(formElement,
                                "Barcode", entity.getBarcode(), style);
        }