Common names implemented. Saving causes a org.hibernate.NonUniqueObjectException...
authorp.ciardelli <p.ciardelli@localhost>
Fri, 3 Apr 2009 09:52:52 +0000 (09:52 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Fri, 3 Apr 2009 09:52:52 +0000 (09:52 +0000)
18 files changed:
.gitattributes
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/GlobalController.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/FreeTextElementFactory.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/GroupedComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/CommonNameComposite.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/LanguageDialog.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/images/UrlDialog.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/name/NameViewer.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmSessionDataRepository.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/DescriptionUtil.java [moved from eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/DescriptionController.java with 77% similarity]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ICdmSessionDataRepository.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/LanguageUtil.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ReferenceUtil.java [moved from eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ReferenceController.java with 85% similarity]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/operations/description/AddElementOperation.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/operations/images/AddImageOperation.java
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/CommonNamePropertySource.java [new file with mode: 0644]
eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/DescriptionElementPropertySource.java

index 9f88c59d6ca82c91a9163015897857e1fa22a8b7..59891b3877aca890b1290c4cd32aeefc45e8ff63 100644 (file)
@@ -438,12 +438,10 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/Ope
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenNameRelationsListWizardAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenNewTaxonEditorAction.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/actions/ui/OpenTaxonEditorAction.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/DescriptionController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/EditorController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/GlobalController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/PreferencesController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/PropertySheetController.java -text
-eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ReferenceController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/SearchController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/TreeController.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/datasource/CdmDataSourceDialog.java -text
@@ -476,11 +474,13 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/Tempora
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/UndoView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/ViewerConfiguration.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/WarningAnnotation.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/CommonNameComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionElementComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionFeatureGroupComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionGroupComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/DescriptionLabelComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/IDescriptionEditorCompositeRepository.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/LanguageDialog.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/TaxonDescriptionEditor.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/images/ImageComposite.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/images/ImagesController.java -text
@@ -520,9 +520,12 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/io/InputWizard
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/io/InputWizard2.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmSessionDataRepository.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/CdmUtil.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/DescriptionUtil.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ICdmSessionDataRepository.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ICdmTaxonSetListener.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/LanguageUtil.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/NameEditorInput.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ReferenceUtil.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/FavoritesTableViewer.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/FavoritesView.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/navigation/QuickNameTaxon.java -text
@@ -579,6 +582,7 @@ eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/SourceViewerConfig.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/TimePeriodPropertySource.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/YearValidator.java -text
+eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/CommonNamePropertySource.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/DescriptionElementPropertySource.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/TaxonDescriptionPropertySource.java -text
 eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/images/ImagePropertySource.java -text
index f831d2d744de92c29c305893f0326b1818212a2e..6a18543752fc2528b03c164d4f2f5a8fa5667b22 100644 (file)
@@ -212,13 +212,13 @@ public class GlobalController {
                }\r
        }\r
        \r
-       public static URL getUrlFromDialog() {\r
-               UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
-                               "Enter image URL", \r
-                               "Enter the new image's URL:");\r
-               if (dialog.open() == Window.CANCEL) {\r
-                       return null;\r
-               }\r
-               return dialog.getUrl();\r
-       }\r
+//     public static URL getUrlFromDialog() {\r
+//             UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
+//                             "Enter image URL", \r
+//                             "Enter the new image's URL:");\r
+//             if (dialog.open() == Window.CANCEL) {\r
+//                     return null;\r
+//             }\r
+//             return dialog.getUrl();\r
+//     }\r
 }
\ No newline at end of file
index a873d9be1ae295d71b3574b03e7b4c8db91e86bb..a01167b10dc58cee5eff81daf9721f4f500c990c 100644 (file)
@@ -19,6 +19,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;\r
 import org.eclipse.ui.forms.ManagedForm;\r
 \r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
@@ -27,6 +28,7 @@ import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;\r
 import eu.etaxonomy.taxeditor.controller.EditorController;\r
+import eu.etaxonomy.taxeditor.editor.description.CommonNameComposite;\r
 import eu.etaxonomy.taxeditor.editor.description.DescriptionElementComposite;\r
 import eu.etaxonomy.taxeditor.editor.description.DescriptionFeatureGroupComposite;\r
 import eu.etaxonomy.taxeditor.editor.description.DescriptionGroupComposite;\r
@@ -260,9 +262,15 @@ public class FreeTextElementFactory implements IFreeTextElementFactory {
                        groupComposite = createDescriptionFeatureGroup(taxon, description, feature);\r
                }\r
                                \r
-               // Create an element composite in the feature group\r
-               Composite elementComposite = \r
-                               new DescriptionElementComposite(groupComposite, form, element);\r
+               // Create an element composite in the feature group according to its type\r
+               Composite elementComposite = null;\r
+               if (element.isInstanceOf(CommonTaxonName.class)) {\r
+                       elementComposite =\r
+                                       new CommonNameComposite(groupComposite, form, (CommonTaxonName) element);\r
+               } else {\r
+                       elementComposite = \r
+                                       new DescriptionElementComposite(groupComposite, form, element);\r
+               }\r
                                \r
                return elementComposite;\r
        }\r
index 9714e655f5231a018b34847328361c4089494036..270e9533d9fb4cba9ed2a992ee4347759a0b4676 100644 (file)
@@ -404,7 +404,15 @@ abstract public class GroupedComposite extends Composite implements IHasProperty
                        nonEditableHoverText = info;\r
                        \r
                        nonEditableInfoLabel = new Label(this, SWT.NONE);\r
-                       nonEditableInfoLabel.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP));\r
+                       TableWrapData layoutData = new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP);\r
+                       // Set indent to viewer ruler's width \r
+                       if (textViewer != null && textViewer.getRulerControl() != null) {\r
+                               // TODO right justify\r
+                               layoutData.indent = NameViewer.RULER_WIDTH;\r
+                       }\r
+                       nonEditableInfoLabel.setLayoutData(layoutData);\r
+                       \r
+\r
                        \r
                        nonEditableLabelEllipsisListener = new LabelEllipsisListener(nonEditableInfoLabel) {\r
                                @Override\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/CommonNameComposite.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/CommonNameComposite.java
new file mode 100644 (file)
index 0000000..4985fb7
--- /dev/null
@@ -0,0 +1,60 @@
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.editor.description;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.forms.IManagedForm;\r
+import org.eclipse.ui.views.properties.IPropertySource;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+import eu.etaxonomy.taxeditor.propertysheet.description.CommonNamePropertySource;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class CommonNameComposite extends DescriptionElementComposite {\r
+       private static final Logger logger = Logger\r
+                       .getLogger(CommonNameComposite.class);\r
+       \r
+       /**\r
+        * @param groupComposite\r
+        * @param form\r
+        * @param element\r
+        */\r
+       public CommonNameComposite(Composite parent, IManagedForm form,\r
+                       CommonTaxonName element) {\r
+               super(parent, form, element);\r
+               \r
+               setLanguageInfo();\r
+       }\r
+       \r
+       /**\r
+        * \r
+        */\r
+       private void setLanguageInfo() {\r
+               \r
+               Language language = ((CommonTaxonName) element).getLanguage();\r
+               if (language != null) {\r
+                       setNonEditableInfo(LanguageUtil.getDescription(language));\r
+               } else {\r
+                       setNonEditableInfo("No language");\r
+               }               \r
+       }\r
+\r
+       public IPropertySource getPropertySource() {\r
+               return new CommonNamePropertySource((CommonTaxonName) getElement());\r
+       }\r
+}
\ No newline at end of file
index 16dbae017fcf3f3ec0cc5eea486ed22d5332f5e3..c3cc284bb6796757d64d5bbf82b8a2eefa681139 100644 (file)
@@ -20,16 +20,14 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.forms.IManagedForm;\r
 import org.eclipse.ui.views.properties.IPropertySource;\r
 \r
-import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
 import eu.etaxonomy.taxeditor.TaxEditorPlugin;\r
-import eu.etaxonomy.taxeditor.controller.DescriptionController;\r
 import eu.etaxonomy.taxeditor.controller.EditorController;\r
 import eu.etaxonomy.taxeditor.controller.GlobalController;\r
 import eu.etaxonomy.taxeditor.editor.ContextMenu;\r
 import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
+import eu.etaxonomy.taxeditor.model.DescriptionUtil;\r
 import eu.etaxonomy.taxeditor.operations.description.RemoveElementOperation;\r
 import eu.etaxonomy.taxeditor.propertysheet.description.DescriptionElementPropertySource;\r
 \r
@@ -60,7 +58,7 @@ public class DescriptionElementComposite extends GroupedComposite {
        public static final Image BLACK_SQUARE_ICON = TaxEditorPlugin.getDefault()\r
                        .getImage(ITaxEditorConstants.BLACK_SQUARE_ICON);\r
 \r
-       private DescriptionElementBase element;\r
+       protected DescriptionElementBase element;\r
 \r
        private IUndoContext undoContext;\r
 \r
@@ -84,6 +82,7 @@ public class DescriptionElementComposite extends GroupedComposite {
                setIsDraggable(false);\r
                setIcon(BLACK_SQUARE_ICON);\r
                setFont(getViewerFont());\r
+//             setIndent(indent)\r
                \r
                createMenu();\r
                \r
@@ -93,13 +92,8 @@ public class DescriptionElementComposite extends GroupedComposite {
        private void initTextViewer() {\r
                \r
                String text = null;\r
-//             if (element instanceof TextData) {\r
-//                     text = ((TextData) element).getText(Language.DEFAULT());\r
-//             }\r
-//             if (text == null) {\r
-//                     text = "";\r
-//             }\r
-               text = DescriptionController.getCache(element);\r
+\r
+               text = DescriptionUtil.getCache(element);\r
                \r
                if (text.length() == 0) {\r
                        initEmptyText();\r
@@ -118,11 +112,7 @@ public class DescriptionElementComposite extends GroupedComposite {
        \r
        protected void parse(String text) {\r
                \r
-//             if (getElement() instanceof TextData) {\r
-//                     ((TextData) getElement()).putText(text, Language.DEFAULT());\r
-//                     \r
-//             }\r
-               DescriptionController.setCache(getElement(), text);\r
+               DescriptionUtil.setCache(getElement(), text);\r
                \r
                // Manually refresh the property sheet to reflect changes\r
                setSelection();\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/LanguageDialog.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/editor/description/LanguageDialog.java
new file mode 100644 (file)
index 0000000..1596764
--- /dev/null
@@ -0,0 +1,195 @@
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.editor.description;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.jface.dialogs.Dialog;\r
+import org.eclipse.jface.dialogs.IDialogConstants;\r
+import org.eclipse.jface.dialogs.InputDialog;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.custom.CCombo;\r
+import org.eclipse.swt.events.SelectionAdapter;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Control;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.swt.widgets.Shell;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class LanguageDialog extends InputDialog {\r
+       private static final Logger logger = Logger.getLogger(LanguageDialog.class);\r
+       \r
+       private String message;\r
+       \r
+       private Language language;\r
+       private static Language lastLanguage;\r
+       protected Language languageTemp;\r
+\r
+       private CCombo combo;\r
+\r
+       private List<Language> languages;\r
+\r
+\r
+       /**\r
+        * @param shell\r
+        * @param dialogTitle\r
+        * @param dialogMessage\r
+        */\r
+       public LanguageDialog(Shell shell, String dialogTitle, String dialogMessage) {\r
+               super(shell, dialogTitle, \r
+                               dialogMessage, null, null);\r
+               \r
+               message = dialogMessage;\r
+               \r
+               // Set selection menu to language chosen last time Dialog was opened \r
+               if (lastLanguage != null)  {\r
+                       language = lastLanguage;\r
+               }\r
+       }\r
+       \r
+       /**\r
+        * Lifted from Dialog.\r
+        * \r
+        * @param parent\r
+        * @return\r
+        * @see Dialog\r
+        */\r
+       protected Control createDialogComposite(Composite parent) {\r
+               // create a composite with standard margins and spacing\r
+               Composite composite = new Composite(parent, SWT.NONE);\r
+               GridLayout layout = new GridLayout();\r
+               layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);\r
+               layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);\r
+               layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);\r
+               layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);\r
+               composite.setLayout(layout);\r
+               composite.setLayoutData(new GridData(GridData.FILL_BOTH));\r
+               applyDialogFont(composite);\r
+               return composite;\r
+       }\r
+       \r
+    /*\r
+     * (non-Javadoc) Method declared on Dialog.\r
+     */\r
+    protected Control createDialogArea(Composite parent) {\r
+        // create composite\r
+        Composite composite = (Composite) createDialogComposite(parent);\r
+        // create message\r
+        if (message != null) {\r
+            Label label = new Label(composite, SWT.WRAP);\r
+            label.setText(message);\r
+            GridData data = new GridData(GridData.GRAB_HORIZONTAL\r
+                    | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL\r
+                    | GridData.VERTICAL_ALIGN_CENTER);\r
+            data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);\r
+            label.setLayoutData(data);\r
+            label.setFont(parent.getFont());\r
+        }\r
+        // create combo\r
+        combo = new CCombo(composite, SWT.BORDER);\r
+        combo.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL\r
+                | GridData.HORIZONTAL_ALIGN_FILL));\r
+        combo.addSelectionListener(new SelectionAdapter() {\r
+                       @Override\r
+                       public void widgetSelected(SelectionEvent e) {\r
+                               int i = combo.getSelectionIndex();\r
+                               languageTemp = languages.get(i);\r
+                       }\r
+               });\r
+        \r
+        populateLanguages();\r
+\r
+        applyDialogFont(composite);\r
+        return composite;\r
+    }\r
+\r
+       /**\r
+        * \r
+        */\r
+       private void populateLanguages() {\r
+               languages = new ArrayList<Language>();\r
+               int i = 0;              \r
+               int index = 0;\r
+               for (Language language : CdmSessionDataRepository.getDefault().getLanguages()) {\r
+                                               \r
+                       combo.add(LanguageUtil.getDescription(language));\r
+                       languages.add(language);\r
+                       \r
+                       if (this.language != null && this.language.equals(language)) {\r
+                               index = i;  \r
+                       }\r
+                       i++;\r
+               }\r
+               \r
+               combo.select(index);\r
+       }\r
+\r
+       /**\r
+        * @return\r
+        */\r
+       private Language getLanguage() {\r
+               return language;\r
+       }\r
+    \r
+       /**\r
+        * @param dialogTitle \r
+        * @param dialogMessage \r
+        * @return\r
+        */\r
+       public static Language getLanguage(String dialogTitle,\r
+                       String dialogMessage) {\r
+               LanguageDialog dialog = new LanguageDialog(GlobalController.getShell(), \r
+                               dialogTitle, \r
+                               dialogMessage);\r
+               if (dialog.open() == Window.CANCEL) {\r
+                       return null;\r
+               }\r
+               return dialog.getLanguage();\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
+       \r
+       protected void buttonPressed(int buttonId) {\r
+               if (IDialogConstants.OK_ID == buttonId) {\r
+                       language = getLanguageSelection();\r
+                       lastLanguage = language;\r
+                       okPressed();\r
+               } else if (IDialogConstants.CANCEL_ID == buttonId) {\r
+                       language = null; \r
+                       cancelPressed();\r
+               }\r
+       }\r
+       \r
+       private Language getLanguageSelection() {\r
+               int i = combo.getSelectionIndex();\r
+               return languages.get(i);\r
+       }\r
+}\r
index 65219a1cdd13b2022723b5175d4556493ee30052..fd06b5deadd51f915587877998bc9152a44e7163 100644 (file)
@@ -16,8 +16,11 @@ import java.net.URL;
 import org.apache.log4j.Logger;\r
 import org.eclipse.jface.dialogs.IInputValidator;\r
 import org.eclipse.jface.dialogs.InputDialog;\r
+import org.eclipse.jface.window.Window;\r
 import org.eclipse.swt.widgets.Shell;\r
 \r
+import eu.etaxonomy.taxeditor.controller.GlobalController;\r
+\r
 /**\r
  * @author p.ciardelli\r
  * @created 31.03.2009\r
@@ -34,10 +37,10 @@ public class UrlDialog extends InputDialog {
         * @param initialValue\r
         * @param validator\r
         */\r
-       public UrlDialog(Shell parentShell, String dialogTitle,\r
+       private UrlDialog(Shell parentShell, String dialogTitle,\r
                        String dialogMessage) {\r
-               super(parentShell, "Enter image URL"\r
-                               "Enter the new image's URL:", "http://", new IInputValidator() {\r
+               super(parentShell, dialogTitle\r
+                               dialogMessage, "http://", new IInputValidator() {\r
 \r
                                        @Override\r
                                        public String isValid(String text) {\r
@@ -51,14 +54,13 @@ public class UrlDialog extends InputDialog {
                                                if (text.length() <= "http://".length()) {\r
                                                        return "";\r
                                                }\r
-                                               \r
                                                return null;\r
                                        }\r
                        \r
                });\r
        }\r
 \r
-       public URL getUrl() {\r
+       private URL getUrl() {\r
                URL url = null;\r
                try {\r
                        url = new URL(getValue());\r
@@ -68,4 +70,15 @@ public class UrlDialog extends InputDialog {
                }\r
                return url;\r
        }\r
+       \r
+       public static URL getUrl(String dialogTitle,\r
+                       String dialogMessage) {\r
+               UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
+                               dialogTitle, \r
+                               dialogMessage);\r
+               if (dialog.open() == Window.CANCEL) {\r
+                       return null;\r
+               }\r
+               return dialog.getUrl();\r
+       }\r
 }\r
index 1bfb7c00d5a7bc4959a5a0d9622e711926006bc5..221112433027f41c2ca338d7f1f98f1d39efda91 100644 (file)
@@ -69,11 +69,13 @@ public class NameViewer extends SourceViewer {
        private static final Logger logger = Logger\r
                        .getLogger(NameViewer.class);\r
                \r
+       public static final int RULER_WIDTH = 16;\r
+       \r
        private IVerticalRuler ruler;\r
        private AnnotationModel annotationModel;\r
 \r
        public NameViewer(Composite parent) {\r
-               super(parent, new RulerWithIcon(16), SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
+               super(parent, new RulerWithIcon(RULER_WIDTH), SWT.WRAP | SWT.MULTI | SWT.RESIZE);\r
                                                                                        \r
                this.ruler = getVerticalRuler();\r
                                \r
index f33674f49b31762fe5fd7244717723ff3c2dcb53..426acfb1aff288f1cf1100e03e48dbf81b1c9d04 100644 (file)
@@ -42,7 +42,6 @@ import eu.etaxonomy.cdm.model.name.TypeDesignationStatus;
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;\r
-import eu.etaxonomy.taxeditor.controller.GlobalController;\r
 import eu.etaxonomy.taxeditor.controller.TreeController;\r
 import eu.etaxonomy.taxeditor.datasource.CdmTransactionController;\r
 import eu.etaxonomy.taxeditor.editor.name.CdmParserController;\r
@@ -89,6 +88,8 @@ public class CdmSessionDataRepository implements ICdmSessionDataRepository {
 \r
        private TermVocabulary<TypeDesignationStatus> typeStatus;\r
 \r
+       private ArrayList<Language> languages;\r
+\r
        public static ICdmSessionDataRepository getDefault() {\r
                \r
                if (repository == null) {\r
@@ -125,6 +126,7 @@ public class CdmSessionDataRepository implements ICdmSessionDataRepository {
                taxonRelationshipTypes = null;\r
                nameRelationshipTypes = null;\r
                conceptRelationshipTypes = null;\r
+               languages = null;\r
                \r
                // Parser is also transaction-, and therefore session-, dependent\r
                CdmParserController.clearNonViralNameParser();\r
@@ -491,8 +493,29 @@ public class CdmSessionDataRepository implements ICdmSessionDataRepository {
        public TermVocabulary<TypeDesignationStatus> getTypeDesignationStatus() {\r
                if (typeStatus == null) {\r
                        typeStatus = getApplicationController().getNameService().getTypeDesignationVocabulary();\r
-//                                                     getTypeDesignationStatusVocabulary();\r
                }\r
                return typeStatus;\r
        }\r
+\r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.taxeditor.model.ICdmSessionDataRepository#getLanguages()\r
+        */\r
+       @Override\r
+       public List<Language> getLanguages() {\r
+               if (languages == null) {\r
+                       \r
+//                     UUID uuid = UUID.fromString("45ac7043-7f5e-4f37-92f2-3874aaaef2de");\r
+//                     TermVocabulary langs = getApplicationController().getTermService().getVocabulary(uuid);\r
+\r
+                       languages = new ArrayList<Language>();\r
+//                     for (Object language : langs) {\r
+//                             if (language instanceof Language) {\r
+//                                     languages.add((Language) language);\r
+//                             }\r
+//                     }\r
+                       languages.add(Language.ENGLISH());\r
+                       languages.add(Language.GERMAN());\r
+               }\r
+               return languages;\r
+       }\r
 }\r
similarity index 77%
rename from eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/DescriptionController.java
rename to eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/DescriptionUtil.java
index 39c48df674375207e62433d3a0a15e72c47dfdba..9ee77b3a4f1550484c7e7c3084923609bf513308 100644 (file)
@@ -8,11 +8,12 @@
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 \r
-package eu.etaxonomy.taxeditor.controller;\r
+package eu.etaxonomy.taxeditor.model;\r
 \r
 import org.apache.log4j.Logger;\r
 \r
 import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.TextData;\r
 \r
@@ -21,9 +22,9 @@ import eu.etaxonomy.cdm.model.description.TextData;
  * @created 02.04.2009\r
  * @version 1.0\r
  */\r
-public class DescriptionController {\r
+public class DescriptionUtil {\r
        private static final Logger logger = Logger\r
-                       .getLogger(DescriptionController.class);\r
+                       .getLogger(DescriptionUtil.class);\r
 \r
        /**\r
         * Returns whatever the element's title cache equivalent is,\r
@@ -39,6 +40,9 @@ public class DescriptionController {
                if (element instanceof TextData) {\r
                        cache = ((TextData) element).getText(language);\r
                }\r
+               if (element instanceof CommonTaxonName) {\r
+                       cache = ((CommonTaxonName) element).getName();\r
+               }\r
                return cache == null ? "" : cache;\r
        }\r
 \r
@@ -65,7 +69,13 @@ public class DescriptionController {
                        String value, Language language) {\r
                if (element instanceof TextData) {\r
                        ((TextData) element).putText(value, language);\r
+                       return;\r
+               }\r
+               if (element instanceof CommonTaxonName) {\r
+                       ((CommonTaxonName) element).setName(value);\r
+                       return;\r
                }\r
+               logger.warn("No matching subclass found for DescriptionElementBase object, 'cache' not set.");\r
        }\r
        \r
        /**\r
index 37d0df6b7256b55060b52ef46a25f6602fefbfeb..97a934d39603b9e369e127d7c8c64ea72e812189 100644 (file)
@@ -17,6 +17,7 @@ import java.util.SortedSet;
 import org.eclipse.core.databinding.observable.set.IObservableSet;\r
 \r
 import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.common.OrderedTermVocabulary;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
@@ -143,4 +144,9 @@ public interface ICdmSessionDataRepository {
        public Set<TaxonRelationshipType> getConceptRelationshipTypes();\r
 \r
        public TermVocabulary<TypeDesignationStatus> getTypeDesignationStatus();\r
+\r
+       /**\r
+        * \r
+        */\r
+       public List<Language> getLanguages();\r
 }\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/LanguageUtil.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/LanguageUtil.java
new file mode 100644 (file)
index 0000000..bf6e1bb
--- /dev/null
@@ -0,0 +1,34 @@
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.model;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 03.04.2009\r
+ * @version 1.0\r
+ */\r
+public class LanguageUtil {\r
+       private static final Logger logger = Logger.getLogger(LanguageUtil.class);\r
+\r
+       /**\r
+        * @param language\r
+        * @return\r
+        */\r
+       public static String getDescription(Language language) {\r
+               return language.getDescription();\r
+       }\r
+       \r
+       \r
+}\r
similarity index 85%
rename from eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/controller/ReferenceController.java
rename to eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/model/ReferenceUtil.java
index 542a546c441ea7fd15c78da1c6abfbea6ec9eba0..448985dc537057fe167377579124418c496e9beb 100644 (file)
@@ -8,7 +8,7 @@
 * See LICENSE.TXT at the top of this package for the full license terms.\r
 */\r
 \r
-package eu.etaxonomy.taxeditor.controller;\r
+package eu.etaxonomy.taxeditor.model;\r
 \r
 import org.apache.log4j.Logger;\r
 \r
@@ -21,9 +21,9 @@ import eu.etaxonomy.cdm.model.reference.ReferenceBase;
  * @created 02.04.2009\r
  * @version 1.0\r
  */\r
-public class ReferenceController {\r
+public class ReferenceUtil {\r
        private static final Logger logger = Logger\r
-                       .getLogger(ReferenceController.class);\r
+                       .getLogger(ReferenceUtil.class);\r
 \r
        /**\r
         * Returns the entity's citation. If none exists, gives the\r
index 79084c5989525246ccfeb0cdf1c86c0b374b645a..46aff0c48a86c02883a6a1aab062a9b9970f1f48 100644 (file)
@@ -15,11 +15,16 @@ import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.runtime.IAdaptable;\r
 import org.eclipse.core.runtime.IProgressMonitor;\r
 import org.eclipse.core.runtime.IStatus;\r
+import org.eclipse.core.runtime.Status;\r
 \r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
 import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
 import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.editor.description.LanguageDialog;\r
 import eu.etaxonomy.taxeditor.operations.AbstractEditorOperation;\r
 \r
 /**\r
@@ -33,7 +38,7 @@ public class AddElementOperation extends AbstractEditorOperation {
        \r
        private TaxonDescription description;\r
        private Feature feature;\r
-       private TextData element;\r
+       private DescriptionElementBase element;\r
 \r
        public AddElementOperation(String label, IUndoContext undoContext,\r
                        Taxon taxon, TaxonDescription description, Feature feature) {\r
@@ -50,7 +55,19 @@ public class AddElementOperation extends AbstractEditorOperation {
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
                        throws ExecutionException {\r
                \r
-               element = TextData.NewInstance(feature);\r
+               if (feature.isSupportsCommonTaxonName()) {\r
+                       \r
+                       // Get language for the common name\r
+                       Language language = LanguageDialog.getLanguage\r
+                                       ("Select language", "Select the common name's language:");\r
+                       if (language == null) {\r
+                               return Status.CANCEL_STATUS;\r
+                       }\r
+                       \r
+                       element = CommonTaxonName.NewInstance("", language);\r
+               } else {\r
+                       element = TextData.NewInstance(feature);\r
+               }\r
                description.addElement(element);\r
                \r
                // Redraw editor if exists\r
index a24859947f76a66b4bd8ada7790e1a74359ebebd..ac7a8d3c704d5c9f6ccd9b81bf7e2d0a27688ff7 100644 (file)
@@ -55,16 +55,8 @@ public class AddImageOperation extends AbstractEditorOperation {
        @Override\r
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
                        throws ExecutionException {\r
-               \r
-//             UrlDialog dialog = new UrlDialog(GlobalController.getShell(), \r
-//                             "Enter image URL", \r
-//                             "Enter the new image's URL:");\r
-//             if (dialog.open() == Window.CANCEL) {\r
-//                     return Status.CANCEL_STATUS;\r
-//             }\r
-//             url = dialog.getUrl();\r
-               \r
-               url = GlobalController.getUrlFromDialog();\r
+                               \r
+               url = UrlDialog.getUrl("Enter image URL", "Enter the new image's URL:");\r
                if (url == null) {\r
                        return Status.CANCEL_STATUS;\r
                }\r
diff --git a/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/CommonNamePropertySource.java b/eclipseprojects/eu.etaxonomy.taxeditor/src/eu/etaxonomy/taxeditor/propertysheet/description/CommonNamePropertySource.java
new file mode 100644 (file)
index 0000000..93a3fed
--- /dev/null
@@ -0,0 +1,97 @@
+// $Id$\r
+/**\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
+package eu.etaxonomy.taxeditor.propertysheet.description;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+import org.eclipse.ui.views.properties.ComboBoxPropertyDescriptor;\r
+\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
+import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;\r
+import eu.etaxonomy.taxeditor.model.LanguageUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 02.04.2009\r
+ * @version 1.0\r
+ */\r
+public class CommonNamePropertySource extends DescriptionElementPropertySource {\r
+       private static final Logger logger = Logger\r
+                       .getLogger(CommonNamePropertySource.class);\r
+\r
+       public static final String P_ID_LANGUAGE = "language";\r
+       public static final String P_LANGUAGE = "011:Language";\r
+\r
+       private CommonTaxonName commonName;\r
+\r
+       private List<Language> languages;\r
+       private String[] languageStrings;\r
+       private int selectedLanguageIndex;\r
+       \r
+       /**\r
+        * @param element\r
+        */\r
+       public CommonNamePropertySource(CommonTaxonName commonName) {\r
+               super(commonName);\r
+               \r
+               this.commonName = commonName;\r
+               addDescriptor(P_ID_LANGUAGE);\r
+       }\r
+       \r
+       protected void addDescriptor(String id) {\r
+               super.addDescriptor(id);\r
+               \r
+               if (id.equals(P_ID_LANGUAGE)) {\r
+                       descriptors.addElement(\r
+                                       new ComboBoxPropertyDescriptor(P_ID_LANGUAGE, P_LANGUAGE, \r
+                                                       getLanguageStringArray()));\r
+               }\r
+       }\r
+       \r
+       /**\r
+        * @return\r
+        */\r
+       private String[] getLanguageStringArray() {\r
+               if (languages == null) {\r
+                       languages = CdmSessionDataRepository.getDefault().getLanguages();\r
+                       \r
+                       int i = 0;\r
+                       languageStrings = new String[languages.size()];\r
+                       for (Language language : languages) {\r
+                               languageStrings[i] = LanguageUtil.getDescription(language);\r
+                               if (language.equals(commonName.getLanguage())) {\r
+                                       selectedLanguageIndex = i;\r
+                               }       \r
+                               i++;\r
+                       }\r
+               }\r
+               return languageStrings;\r
+       }\r
+\r
+       public Object getPropertyValue(Object id) {\r
+               \r
+               if (id.equals(P_ID_LANGUAGE)) {\r
+                       return selectedLanguageIndex;\r
+               }\r
+               \r
+               return super.getPropertyValue(id);\r
+       }\r
+       \r
+       public void setPropertyValue(Object id, Object value) {\r
+               if (id.equals(P_ID_LANGUAGE)) {\r
+                       selectedLanguageIndex = ((Integer) value).intValue();\r
+                       commonName.setLanguage(languages.get(selectedLanguageIndex));\r
+               }\r
+       }\r
+}
\ No newline at end of file
index 63bc8c6bebdf93e379318f409b4a9072e67cbc27..93ca0ed8cb44f49e508a286a6453bf335ee1f363 100644 (file)
@@ -23,6 +23,7 @@ import org.eclipse.ui.views.properties.PropertyDescriptor;
 import org.eclipse.ui.views.properties.TextPropertyDescriptor;\r
 \r
 import eu.etaxonomy.cdm.common.CdmUtils;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.Distribution;\r
@@ -33,8 +34,8 @@ import eu.etaxonomy.cdm.model.description.TaxonInteraction;
 import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;\r
 import eu.etaxonomy.taxeditor.ITaxEditorConstants;\r
-import eu.etaxonomy.taxeditor.controller.DescriptionController;\r
-import eu.etaxonomy.taxeditor.controller.ReferenceController;\r
+import eu.etaxonomy.taxeditor.model.DescriptionUtil;\r
+import eu.etaxonomy.taxeditor.model.ReferenceUtil;\r
 import eu.etaxonomy.taxeditor.propertysheet.reference.IReferenceSearch;\r
 import eu.etaxonomy.taxeditor.propertysheet.reference.ReferencePropertySource;\r
 import eu.etaxonomy.taxeditor.propertysheet.reference.ReferenceSearchDescriptor;\r
@@ -66,7 +67,7 @@ public class DescriptionElementPropertySource implements IPropertySource {
        public static final String P_ID_FEATURE = "feature";\r
        public static final String P_ID_BIBREF = "bibref";\r
        public static final String P_ID_MICROREF = "microref";\r
-\r
+       \r
        /**\r
         * Property display keys\r
         *  Note: for an explanation of the sorting prefixes ("04:"),\r
@@ -158,14 +159,10 @@ public class DescriptionElementPropertySource implements IPropertySource {
                        descriptors.addElement(new PropertyDescriptor(P_ID_FEATURE, P_FEATURE));\r
                }\r
                \r
-               if (id.equals(P_ID_BIBREF)) {\r
-//                     descriptors.addElement(new ReferenceSearchDescriptor(P_ID_BIBREF, P_BIBREF, IReferenceSearch.BIBREF) {\r
-//                             protected void saveReference(ReferenceBase reference) {\r
-//                                     setPropertyValue(P_ID_BIBREF, reference);\r
-//                             }\r
-//                     });                     \r
+               if (id.equals(P_ID_BIBREF)) {                   \r
                        descriptors.addElement(new PropertyDescriptor(P_ID_BIBREF, P_BIBREF));\r
                }\r
+               \r
                if (id.equals(P_ID_ELEMENT_TEXT)) {\r
                        descriptors.addElement(new TextPropertyDescriptor(P_ID_ELEMENT_TEXT, P_ELEMENT_TEXT));\r
                }\r
@@ -227,7 +224,7 @@ public class DescriptionElementPropertySource implements IPropertySource {
                }\r
                \r
                if (id.equals(P_ID_ELEMENT_TEXT)) {\r
-                       return DescriptionController.getCache(descriptionElement);      \r
+                       return DescriptionUtil.getCache(descriptionElement);    \r
                }\r
 \r
                if (id.equals(P_ID_MICROREF)) {\r
@@ -264,7 +261,7 @@ public class DescriptionElementPropertySource implements IPropertySource {
                        }\r
                        \r
                        ReferenceBase bibRef = \r
-                                       ReferenceController.getOrCreateCitation(descriptionElement);\r
+                                       ReferenceUtil.getOrCreateCitation(descriptionElement);\r
                        \r
                        // "value" is the ReferencePropertySource, so we get the TitleCache from its\r
                        // toString() method\r
@@ -272,7 +269,7 @@ public class DescriptionElementPropertySource implements IPropertySource {
                }\r
                \r
                if (id.equals(P_ID_ELEMENT_TEXT)) {\r
-                       DescriptionController.setCache(descriptionElement, (String) value);\r
+                       DescriptionUtil.setCache(descriptionElement, (String) value);\r
                }\r
                \r
                if (id.equals(P_ID_MICROREF)) {\r