.
authorp.ciardelli <p.ciardelli@localhost>
Wed, 26 Aug 2009 09:22:27 +0000 (09:22 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Wed, 26 Aug 2009 09:22:27 +0000 (09:22 +0000)
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiontree/DistributionDetailsPage.java

index be3b34e1f97feb17410427c80d6ed074f0a3b68e..99bbe6cc1c91a656aa028b32a876a937442f49c5 100644 (file)
@@ -5,7 +5,9 @@ package eu.etaxonomy.taxeditor.editor.descriptiontree;
 \r
 import java.util.ArrayList;\r
 import java.util.Collections;\r
+import java.util.HashMap;\r
 import java.util.List;\r
+import java.util.Map;\r
 \r
 import org.apache.log4j.Logger;\r
 import org.eclipse.jface.viewers.ISelection;\r
@@ -16,7 +18,6 @@ import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Combo;\r
 import org.eclipse.swt.widgets.Composite;\r
 import org.eclipse.ui.forms.IFormPart;\r
-import org.eclipse.ui.forms.widgets.FormToolkit;\r
 \r
 import eu.etaxonomy.cdm.api.service.ILocationService;\r
 import eu.etaxonomy.cdm.api.service.ILocationService.NamedAreaVocabularyType;\r
@@ -24,6 +25,7 @@ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.description.Distribution;\r
 import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;\r
 import eu.etaxonomy.cdm.model.location.NamedArea;\r
+import eu.etaxonomy.cdm.model.location.TdwgArea;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.taxeditor.editor.reference.ReferenceSelectComposite;\r
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
@@ -34,7 +36,63 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  *\r
  */\r
 public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {\r
-       private static final Logger logger = Logger.getLogger(DistributionDetailsPage.class);\r
+       private static final Logger logger = Logger.getLogger(DescriptionMasterDetailsBlock.class);\r
+\r
+\r
+       /**\r
+        * Location service for retrieving \r
+        */\r
+       private ILocationService locationService;\r
+       /**\r
+        * Number of area menus to show\r
+        */\r
+       private static final int NUM_AREA_MENUS = 4; \r
+       /**\r
+        * UI elements\r
+        */\r
+       private Combo vocabTypeCombo;\r
+       private Combo[] areaCombos = new Combo[NUM_AREA_MENUS];\r
+       private Combo statusCombo;\r
+       private ReferenceSelectComposite referenceComposite;\r
+       /**\r
+        * Distribution fields\r
+        */\r
+       private NamedArea selectedArea;\r
+       private PresenceAbsenceTermBase<?> selectedStatus;\r
+       private NamedAreaVocabularyType selectedVocabType;\r
+       private ReferenceBase<?> selectedReference;\r
+       /**\r
+        * Lists to populate drop downs\r
+        */\r
+       private ArrayList<NamedAreaVocabularyType> vocabularyTypes;  \r
+       private List<PresenceAbsenceTermBase<?>> presenceAbsenceTerms;\r
+       private List<List<NamedArea>> areas = new ArrayList<List<NamedArea>>();\r
+       private NamedArea[] selectedAreas = new NamedArea[NUM_AREA_MENUS];\r
+       /**\r
+        * Static fields to persist default values\r
+        */\r
+       private static ReferenceBase<?> lastReference;\r
+       private static PresenceAbsenceTermBase<?> lastPresenceAbsence;\r
+       private static NamedAreaVocabularyType lastVocabType;\r
+       private static NamedArea lastNamedArea;\r
+       /**\r
+        * Maps for associating top level NamedAreas with their vocabulary types.\r
+        */\r
+       Map<NamedArea, NamedAreaVocabularyType> topLevelAreasByArea = \r
+               new HashMap<NamedArea, NamedAreaVocabularyType>();\r
+       Map<NamedAreaVocabularyType, List<NamedArea>> topLevelAreasByType = \r
+               new HashMap<NamedAreaVocabularyType, List<NamedArea>>();\r
+       /**\r
+        * Used to disable listeners while input values are programmatically set\r
+        */\r
+       private boolean selectionListenersEnabled;\r
+\r
+       public DistributionDetailsPage() {\r
+               \r
+               locationService = CdmStore.getLocationService();\r
+               \r
+               initTopLevelVocabularies();\r
+       }\r
 \r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.taxeditor.editor.descriptionnew.AbstractDescriptionDetailsPage#selectionChanged(org.eclipse.ui.forms.IFormPart, org.eclipse.jface.viewers.ISelection)\r
@@ -42,36 +100,49 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
        @Override\r
        public void selectionChanged(IFormPart part, ISelection selection) {\r
                super.selectionChanged(part, selection);\r
-//             selectedArea = HibernateProxyHelper.deproxy(((Distribution) input).getArea(), NamedArea.class);\r
-//             populateAreas();\r
-//             text.addModifyListener(this);\r
+               \r
+               setSelectionListenersEnabled(false);\r
+               \r
+               selectedArea = HibernateProxyHelper.deproxy(((Distribution) input).getArea(), NamedArea.class);\r
+               populateAreas();\r
+               \r
+               populateVocabTypes();\r
+               \r
+               selectedStatus = HibernateProxyHelper.deproxy(((Distribution) input).getStatus(), PresenceAbsenceTermBase.class);\r
+               populateStatus();\r
+               \r
+               setSelectionListenersEnabled(true);\r
        }\r
        \r
+       /**\r
+        * @param b\r
+        */\r
+       private void setSelectionListenersEnabled(boolean enabled) {\r
+               this.selectionListenersEnabled = enabled;\r
+       }\r
+\r
        /* (non-Javadoc)\r
         * @see eu.etaxonomy.taxeditor.editor.descriptionnew.AbstractDescriptionDetailsPage#createContents(org.eclipse.swt.widgets.Composite)\r
         */\r
        public void createContents(Composite parent) {\r
                super.createContents(parent);\r
 \r
-               FormToolkit toolkit = mform.getToolkit();\r
+//             FormToolkit toolkit = mform.getToolkit();\r
                \r
                section.setText("Distribution Details"); //$NON-NLS-1$\r
                \r
-               \r
-               locationService = CdmStore.getLocationService();\r
-               \r
-        if (message != null) {\r
-            createLabel(message, section, parent);\r
-        }\r
-       createLabel("Select an area vocabulary:", client, parent);\r
         // create vocab type\r
+               createLabel("Select an area vocabulary:", client, parent);\r
         vocabTypeCombo = createCombo(client);\r
         vocabTypeCombo.addSelectionListener(new SelectionAdapter() {\r
                        @Override\r
                        public void widgetSelected(SelectionEvent e) {\r
-                               selectVocabType();\r
+                               if (selectionListenersEnabled) {\r
+                                       selectVocabType();\r
+                               }\r
                        }\r
                });\r
+        \r
         // create areas\r
         createLabel("Select an area:", client, parent);\r
         for (int i = 0; i < NUM_AREA_MENUS; i++) {\r
@@ -79,6 +150,7 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
             areaCombos[i].addSelectionListener(new AreaComboListener(i));\r
             areaCombos[i].setEnabled(false);\r
         }\r
+        \r
         // create presence / absence\r
         createLabel("Select status:", client, parent);\r
                statusCombo =  new Combo(client, SWT.BORDER);\r
@@ -87,79 +159,37 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                statusCombo.addSelectionListener(new SelectionAdapter() {\r
                        @Override\r
                        public void widgetSelected(SelectionEvent e) {\r
-                               selectStatusTerm();\r
+                               if (selectionListenersEnabled) {\r
+                                       selectStatusTerm();\r
+                               }\r
                        }\r
                });\r
                // create reference\r
-               referenceComposite = new ReferenceSelectComposite(client);\r
+//             referenceComposite = new ReferenceSelectComposite(client);\r
 \r
         populateVocabTypes();\r
-               populateAreas();\r
-        \r
-               populatePresenceAbsenceTerms();\r
-               populateReference();\r
-        \r
-//        applyDialogFont(section);\r
-//        \r
-//        return composite;\r
+               populateAreas();        \r
+               populateStatus();\r
+//             populateReference();\r
        }\r
        \r
-       private ILocationService locationService;\r
 \r
-       private String title;\r
-       private String message;\r
        \r
        /**\r
-        * Number of area menus to show\r
-        */\r
-       private static final int NUM_AREA_MENUS = 4; \r
-       /**\r
-        * UI elements\r
-        */\r
-       private Combo vocabTypeCombo;\r
-       private Combo[] areaCombos = new Combo[NUM_AREA_MENUS];\r
-       private Combo statusCombo;\r
-       private ReferenceSelectComposite referenceComposite;\r
-       /**\r
-        * Distribution fields\r
-        */\r
-       private NamedArea selectedArea;\r
-       private PresenceAbsenceTermBase<?> selectedStatus;\r
-       private Distribution distribution;\r
-       private NamedAreaVocabularyType selectedVocabType;\r
-       private ReferenceBase<?> selectedReference;\r
-       /**\r
-        * Lists to populate drop downs\r
-        */\r
-       private ArrayList<NamedAreaVocabularyType> vocabularyTypes;  \r
-       private List<PresenceAbsenceTermBase<?>> presenceAbsenceTerms;\r
-       private List<List<NamedArea>> areas = new ArrayList<List<NamedArea>>();\r
-       private NamedArea[] selectedAreas = new NamedArea[NUM_AREA_MENUS];\r
-       /**\r
-        * Static fields to persist default values\r
-        */\r
-       private static ReferenceBase<?> lastReference;\r
-       private static PresenceAbsenceTermBase<?> lastPresenceAbsence;\r
-       private static NamedAreaVocabularyType lastVocabType;\r
-       private static NamedArea lastNamedArea;\r
-\r
-       /**\r
-        * @param shell\r
-        * @param dialogTitle\r
-        * @param dialogMessage\r
-        */\r
-//     public DistributionDialog(Shell shell, String dialogTitle,\r
-//                     String dialogMessage) {\r
-//             super(shell);\r
-//     \r
-//             title = dialogTitle;\r
-//             message = dialogMessage;\r
-//\r
-//             locationService = CdmStore.getLocationService();\r
-//             \r
-//             recallPreviousSelections();\r
-//     }\r
-\r
+        * There is no mechanism to retrieve a NamedArea's vocabulary type. Therefore, we\r
+        * store all top-level NamedAreas with their vocabulary types. \r
+        */\r
+       private void initTopLevelVocabularies() {\r
+               for (NamedAreaVocabularyType vocabType : getVocabularyTypes()) {\r
+                       List<NamedArea> list = new ArrayList<NamedArea>();\r
+                       for (NamedArea topLevelArea : locationService.getTopLevelNamedAreasByVocabularyType(vocabType)) {\r
+                               topLevelAreasByArea.put(topLevelArea, vocabType);\r
+                               list.add(topLevelArea);\r
+                       }\r
+                       topLevelAreasByType.put(vocabType, list);\r
+               }\r
+       }\r
+       \r
        /**\r
         * Set inputs to selections from last time dialog was used.\r
         */\r
@@ -180,89 +210,6 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                }\r
        }\r
 \r
-       /**\r
-        * @param dialogTitle \r
-        * @param dialogMessage \r
-        * @return\r
-        */\r
-//     public static Distribution getDistribution(String dialogTitle,\r
-//                     String dialogMessage) {\r
-//             DistributionDialog dialog = new DistributionDialog(EditorUtil.getShell(), \r
-//                             dialogTitle, \r
-//                             dialogMessage);\r
-//             if (dialog.open() == Window.CANCEL) {\r
-//                     return null;\r
-//             }\r
-//             return dialog.getDistribution();\r
-//     }\r
-\r
-       /**\r
-        * @return\r
-        */\r
-       private Distribution getDistribution() {\r
-               return distribution;\r
-       }\r
-       \r
-    /*\r
-     * (non-Javadoc)\r
-     * \r
-     * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)\r
-     */\r
-//    protected void configureShell(Shell shell) {\r
-//        super.configureShell(shell);\r
-//        if (title != null) {\r
-//                     shell.setText(title);\r
-//             }\r
-//    }\r
-       \r
-//    protected Control createDialogArea(Composite parent) {\r
-//        // create composite\r
-//     Composite composite = (Composite) super.createDialogArea(parent);\r
-//        // create message\r
-//        if (message != null) {\r
-//            createLabel(message, composite, parent);\r
-//        }\r
-//     createLabel("Select an area vocabulary:", composite, parent);\r
-//        // create vocab type\r
-//        vocabTypeCombo = createCombo(composite);\r
-//        vocabTypeCombo.addSelectionListener(new SelectionAdapter() {\r
-//                     @Override\r
-//                     public void widgetSelected(SelectionEvent e) {\r
-//                             selectVocabType();\r
-//                     }\r
-//             });\r
-//        // create areas\r
-//        createLabel("Select an area:", composite, parent);\r
-//        for (int i = 0; i < NUM_AREA_MENUS; i++) {\r
-//             areaCombos[i] = createCombo(composite); \r
-//            areaCombos[i].addSelectionListener(new AreaComboListener(i));\r
-//            areaCombos[i].setEnabled(false);\r
-//        }\r
-//        // create presence / absence\r
-//        createLabel("Select status:", composite, parent);\r
-//             statusCombo =  new Combo(composite, SWT.BORDER);\r
-//             statusCombo.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL\r
-//                | GridData.HORIZONTAL_ALIGN_FILL));\r
-//             statusCombo.addSelectionListener(new SelectionAdapter() {\r
-//                     @Override\r
-//                     public void widgetSelected(SelectionEvent e) {\r
-//                             selectStatusTerm();\r
-//                     }\r
-//             });\r
-//             // create reference\r
-//             referenceComposite = new ReferenceSelectComposite(composite);\r
-//\r
-//        populateVocabTypes();\r
-//             populateAreas();\r
-//        \r
-//             populatePresenceAbsenceTerms();\r
-//             populateReference();\r
-//        \r
-//        applyDialogFont(composite);\r
-//        \r
-//        return composite;\r
-//    }\r
-\r
        class AreaComboListener extends SelectionAdapter {\r
        private int i;\r
                AreaComboListener(int i) {\r
@@ -270,7 +217,9 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
        }\r
                @Override\r
                public void widgetSelected(SelectionEvent e) {\r
-                       selectArea(i);\r
+                       if (selectionListenersEnabled) {\r
+                               selectArea(i);                          \r
+                       }\r
                }\r
     }\r
     \r
@@ -314,11 +263,6 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
 //             Set<NamedArea> terms = namedArea.getIncludes();\r
                terms.addAll(namedArea.getIncludes());\r
                \r
-//             // FIXME fixme how?!\r
-//             List<NamedArea> termList = new ArrayList<NamedArea>();\r
-//             for (NamedArea area : terms){\r
-//                     termList.add(area);\r
-//             }\r
                \r
                areas.add(depth, terms);\r
                \r
@@ -329,60 +273,27 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
         * @param selectedVocabType\r
         * @return\r
         */\r
-       private List<NamedArea> getNamedAreas(NamedAreaVocabularyType vocabularyType) {         \r
-               List<NamedArea> topLevelTerms = locationService.getTopLevelNamedAreasByVocabularyType(vocabularyType);\r
-               \r
-//             OrderedTermVocabulary<NamedArea> vocabulary = locationService.getNamedAreaVocabulary(vocabularyType);\r
-//\r
-//             List<NamedArea> topLevelTerms = new ArrayList<NamedArea>();\r
-//             Iterator<NamedArea> it = vocabulary.iterator();\r
-//             while(it.hasNext()){\r
-//                     \r
-//                     NamedArea area =  HibernateProxyHelper.deproxy(it.next(), NamedArea.class);\r
-////                   try{\r
-////                           area3 =\r
-////                   }catch(Exception e){\r
-////                           logger.warn("Nope");\r
-////                   }\r
-////                   NamedArea area2 = area3.getPartOf();\r
-////                   \r
-////                   if(!(area2 instanceof NamedArea)){\r
-////                            area2 = CdmBase.deproxy(area2, NamedArea.class);\r
-////                   }\r
-//                     \r
-//                     if(area.getPartOf() == null){\r
-//                             topLevelTerms.add(area);\r
-//                     }\r
-//\r
-//             }\r
-               // TODO is this the right order?\r
+       private List<NamedArea> getNamedAreas(NamedAreaVocabularyType vocabularyType) {\r
+               List<NamedArea> topLevelTerms = topLevelAreasByType.get(vocabularyType);\r
+       \r
                Collections.reverse(topLevelTerms);\r
                \r
                areas.add(0, topLevelTerms);\r
                return topLevelTerms;\r
        }\r
-//             for(NamedArea area : vocabulary){       \r
-//                     NamedArea area2 = area.getPartOf();\r
-//                     \r
-//                     if(!(area.getPartOf() instanceof NamedArea)){\r
-//                              area2 = CdmBase.deproxy(area.getPartOf(), NamedArea.class);\r
-//                     }\r
-//                     \r
-//                     if(area2 == null){\r
-//                             topLevelTerms.add(area);\r
-//                     }\r
-\r
 \r
        /**\r
         * \r
         */\r
-       private void populatePresenceAbsenceTerms() {\r
+       private void populateStatus() {\r
+//             logger.info("Updating status menu with " + selectedStatus.getDescription());\r
                int selectedIndex = -1;\r
                int i = 0;\r
                for (PresenceAbsenceTermBase<?> term : getPresenceAbsenceTerms()) {\r
                        if (term == null) {\r
                        } else {\r
-                               statusCombo.add(term.getLabel(CdmStore.getDefaultLanguage()));                          \r
+                               statusCombo.add(term.getLabel(CdmStore.getDefaultLanguage()));          \r
+//                             logger.info("Comparing " + term.getDescription() + " with " + selectedStatus.getDescription());\r
                                if (this.selectedStatus != null && this.selectedStatus.equals(term)) {\r
                                        selectedIndex = i;\r
                                }\r
@@ -421,6 +332,18 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                return PreferencesUtil.getPreferredPresenceAbsenceTerms();\r
        }\r
 \r
+       /**\r
+        * \r
+        */\r
+       protected void selectVocabType() {\r
+               int i = vocabTypeCombo.getSelectionIndex();\r
+               selectedVocabType = getVocabularyTypes().get(i);\r
+               \r
+               clearAreas();\r
+               \r
+               populateAreas(0);\r
+       }\r
+       \r
        /**\r
         * @param i\r
         */\r
@@ -434,8 +357,14 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                \r
                clearArea(depth + 1);\r
                populateAreas(depth + 1);\r
-                               \r
-//             updateButtons();\r
+       }\r
+       \r
+       /**\r
+        * \r
+        */\r
+       protected void selectStatusTerm() {\r
+               int i = statusCombo.getSelectionIndex();\r
+               selectedStatus = presenceAbsenceTerms.get(i);\r
        }\r
 \r
        /**\r
@@ -447,17 +376,6 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                return areas.get(depth).get(index);\r
        }\r
 \r
-       /**\r
-        * \r
-        */\r
-       protected void selectVocabType() {\r
-               int i = vocabTypeCombo.getSelectionIndex();\r
-               selectedVocabType = getVocabularyTypes().get(i);\r
-               \r
-               clearAreas();\r
-               \r
-               populateAreas(0);\r
-       }\r
 \r
     /**\r
         * \r
@@ -466,12 +384,16 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                if (selectedArea == null) {\r
                        return;\r
                }\r
+               logger.info("Updating area menu with " + selectedArea.getDescription());\r
                List<NamedArea> areasTmp = new ArrayList<NamedArea>();\r
                NamedArea namedAreaTmp = selectedArea;\r
                NamedArea parentArea = null;\r
                do {\r
                        areasTmp.add(namedAreaTmp);\r
-                       parentArea = HibernateProxyHelper.deproxy(namedAreaTmp.getPartOf(), NamedArea.class);\r
+                       parentArea = getPartOf(namedAreaTmp);  //HibernateProxyHelper.deproxy(namedAreaTmp.getPartOf(), NamedArea.class);\r
+                       if (parentArea == null) {\r
+                               selectedVocabType = getVocabularyTypeForTopLevelArea(namedAreaTmp);                             \r
+                       }\r
                        namedAreaTmp = parentArea;\r
                } while (parentArea != null);\r
                Collections.reverse(areasTmp);\r
@@ -483,6 +405,25 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                }\r
        }\r
        \r
+       /**\r
+        * @param namedAreaTmp\r
+        * @return\r
+        */\r
+       private NamedAreaVocabularyType getVocabularyTypeForTopLevelArea(NamedArea namedAreaTmp) {\r
+               return topLevelAreasByArea.get(namedAreaTmp);\r
+       }\r
+\r
+       /**\r
+        * @param namedArea\r
+        * @return\r
+        */\r
+       private NamedArea getPartOf(NamedArea namedArea) {\r
+               if (namedArea instanceof TdwgArea) {\r
+                       return HibernateProxyHelper.deproxy(((NamedArea) namedArea).getPartOfWorkaround(), TdwgArea.class);\r
+               }\r
+               return null;\r
+       }\r
+\r
        /**\r
         * @param i\r
         */\r
@@ -513,16 +454,7 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                }\r
        }\r
 \r
-       /**\r
-        * \r
-        */\r
-       protected void selectStatusTerm() {\r
-               int i = statusCombo.getSelectionIndex();\r
-               selectedStatus = presenceAbsenceTerms.get(i);\r
-               \r
-//             updateButtons();\r
-       }\r
-\r
+       \r
        /**\r
         * @param i\r
         */\r
@@ -540,30 +472,7 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
        private void clearAreas() {\r
                clearArea(0);\r
        }\r
-       \r
-//     protected void createButtonsForButtonBar(Composite parent) {\r
-//             createButton(parent, IDialogConstants.OK_ID,\r
-//                IDialogConstants.OK_LABEL, true);\r
-//        createButton(parent, IDialogConstants.CANCEL_ID,\r
-//                IDialogConstants.CANCEL_LABEL, false);\r
-//        \r
-//        updateButtons(); \r
-//    }\r
-       \r
-//     protected void buttonPressed(int buttonId) {\r
-//             if (IDialogConstants.OK_ID == buttonId) {\r
-//                     okPressed();\r
-//             } else if (IDialogConstants.CANCEL_ID == buttonId) {\r
-//                     cancelPressed();\r
-//             }\r
-//     }\r
-\r
-//     protected void okPressed() {\r
-//             createDistribution();\r
-//             setStaticFields();\r
-//             super.okPressed();\r
-//     }\r
-       \r
+               \r
        /**\r
         * \r
         */\r
@@ -604,31 +513,4 @@ public class DistributionDetailsPage extends AbstractDescriptionDetailsPage {
                return presenceAbsenceTerms.get(i);\r
        }\r
        \r
-       /**\r
-        * \r
-        */\r
-       private void createDistribution() {\r
-               distribution = Distribution.NewInstance(selectedArea, selectedStatus);\r
-               if (referenceComposite.getReference() != null) {\r
-                       selectedReference = getReference();\r
-                       distribution.setCitation(selectedReference);\r
-               }\r
-               if (referenceComposite.getMicroReference() != "") {\r
-                       distribution.setCitationMicroReference(\r
-                                       getMicroReference());\r
-               }\r
-       }\r
-\r
-//     private void updateButtons() {\r
-//             setOkEnabled(isDialogComplete());\r
-//     }\r
-//             \r
-       private boolean isDialogComplete() {\r
-               return\r
-                       (selectedArea != null && selectedStatus != null);\r
-       }\r
-       \r
-//     private void setOkEnabled(boolean enabled) {\r
-//             getButton(IDialogConstants.OK_ID).setEnabled(enabled);\r
-//     }\r
 }\r