Fixes #2740
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / vocabulary / AbstractTermBaseDetailElement.java
index 118e915f03e153d3088de3c7f039b94b1a82350d..2f90fbb2fe5a2e0d7aae4da4bd2d357183398c1b 100644 (file)
@@ -9,15 +9,11 @@
 */\r
 package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
 \r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
-import eu.etaxonomy.cdm.model.common.Marker;\r
-import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.Representation;\r
 import eu.etaxonomy.cdm.model.common.TermBase;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.taxeditor.editor.definedterm.TermBasePropertyTester;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;\r
@@ -34,6 +30,7 @@ public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends
        protected TextWithLabelElement text_label;\r
        protected TextWithLabelElement text_description;\r
        protected UriWithLabelElement uri_uri;\r
+       protected TextWithLabelElement text_abbreviatedLabel;\r
        \r
        /**\r
         * @param formFactory\r
@@ -50,9 +47,17 @@ public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends
        @Override\r
        protected void createControls(ICdmFormElement formElement,\r
                        T entity, int style) {\r
-               text_label = formFactory.createTextWithLabelElement(formElement, "Label", getEntity().getLabel(), style);\r
+               Representation representation = getEntity().getRepresentation(CdmStore.getDefaultLanguage());\r
+               \r
+               if(representation == null){\r
+                       formFactory.createLabel(formElement, "No represantation for the current default Language");\r
+                       return;\r
+               }\r
+               \r
+               text_label = formFactory.createTextWithLabelElement(formElement, "Label", representation.getLabel(), style);\r
+               text_abbreviatedLabel = formFactory.createTextWithLabelElement(formElement, "Abbrev. Label", representation.getAbbreviatedLabel(), style);\r
                text_description = formFactory.createMultilineTextWithLabel(formElement, "Description", 100, style);\r
-               text_description.setText(getEntity().getDescription());\r
+               text_description.setText(representation.getDescription());\r
                uri_uri = formFactory.createUriWithLabelElement(formElement, "URI", getEntity().getUri(), style);\r
                \r
        }\r
@@ -62,6 +67,22 @@ public abstract class AbstractTermBaseDetailElement<T extends TermBase> extends
                super.setEntity(entity);\r
                setEnabled(TermBasePropertyTester.isModifiable(entity));\r
        }\r
+       \r
+       protected void handleRepresentation(Object eventSource){\r
+               Representation representation = getEntity().getRepresentation(CdmStore.getDefaultLanguage());\r
+               \r
+               if (representation == null){\r
+                       return;\r
+               }\r
+               \r
+               if (eventSource == text_label){\r
+                       representation.setLabel(text_label.getText());\r
+               }else if (eventSource == text_abbreviatedLabel){\r
+                       representation.setAbbreviatedLabel(text_abbreviatedLabel.getText());\r
+               }else if (eventSource == text_description){\r
+                       representation.setText(text_description.getText());\r
+               }\r
+       }\r
 \r
        public abstract TermVocabulary getVocabulary();\r
                \r