AT: Committing code review changes
authora.theys <a.theys@localhost>
Tue, 20 Mar 2012 06:39:24 +0000 (06:39 +0000)
committera.theys <a.theys@localhost>
Tue, 20 Mar 2012 06:39:24 +0000 (06:39 +0000)
13 files changed:
.gitattributes
eu.etaxonomy.taxeditor.application/plugin.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PalmUses.java
eu.etaxonomy.taxeditor.editor/plugin.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java [deleted file]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java [deleted file]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java [deleted file]
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractUtility.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java [deleted file]

index b59fca82f7171fbc4f7029613e5be411e7475f51..a8ccce62e8011fccdf9f6f4fcc33e3c6404302cf 100644 (file)
@@ -481,11 +481,8 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/u
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesViewPart.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseHandler.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/CreateUseRecordHandler.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java -text
 eu.etaxonomy.taxeditor.editor/src/main/resources/TaonDescriptionEditor.screen -text
 eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text
 eu.etaxonomy.taxeditor.editor/src/test/java/eu/etaxonomy/taxeditor/editor/Application.java -text
@@ -1499,8 +1496,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/De
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewPart.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java -text
 eu.etaxonomy.taxeditor.store/src/main/resources/eu/etaxonomy/cdm/editorApplicationContext.xml -text
 eu.etaxonomy.taxeditor.store/src/main/resources/log4j.properties -text
 eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/NameProtectTitleCacheTest.java -text
index 1f370efc81d3f52434fd030d9dce81cff91b205d..bd5674e38676607eff295212a1a036b98318a888 100644 (file)
@@ -34,7 +34,7 @@
        <perspective\r
             class="eu.etaxonomy.taxeditor.perspective.PalmUses"\r
             id="eu.etaxonomy.taxeditor.application.perspective.palmuses"\r
-            name="Palm Uses">\r
+            name="Uses">\r
       </perspective>\r
      \r
    </extension>\r
index 9d77f7f40386abf6abdd274d3bbf289f7c794379..489db3f2474959986b03e8dc45a89f156eddfa4e 100644 (file)
@@ -9,7 +9,7 @@ import org.eclipse.ui.IPageLayout;
 \r
 import eu.etaxonomy.taxeditor.editor.view.uses.UsesViewPart;\r
 import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;\r
-import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;\r
+import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;\r
 \r
 /**\r
  * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
@@ -26,7 +26,8 @@ public class PalmUses extends Default {
        @Override\r
        public void createInitialLayout(IPageLayout layout) {\r
                layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());\r
-               layout.addView(UseRecordsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
+               //layout.addView(UseRecordsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
+               layout.addView(DetailsViewPart.ID, IPageLayout.RIGHT, 0.25f, layout.getEditorArea());\r
                layout.addView(UsesViewPart.ID, IPageLayout.BOTTOM, 0.25f, layout.getEditorArea());\r
                \r
                createAdditionalFolder(layout, layout.getEditorArea());\r
index 49bb8bda71f8a90940f9c78608983ce0e2b49420..7c86c5ef4fd309bf5d0991144c9fdf49d75b645e 100644 (file)
          </activeWhen>
       </handler>
       <handler
-            class="eu.etaxonomy.taxeditor.editor.view.uses.handler.DeleteUseHandler"
+            class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
             commandId="org.eclipse.ui.edit.delete">
          <activeWhen>
             <with
index 5f4c39538f4e39d4b9a18dd608baf747933074e0..5232e9380f2a3da1bdaa7c3f8c878ff8cc790e86 100644 (file)
@@ -70,9 +70,9 @@ public class CreateUseRecordHandler extends AbstractHandler {
                                AbstractPostOperation operation = null;
                                try {
                                        //Use Record Feature retrieval below
-                                       Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
+                                       Feature useRecordFeature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("8125a59d-b4d5-4485-89ea-67306297b599"));
                                        //The code below retrieves the feature "Uses" as a work around
-                                       //Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("e5374d39-b210-47c7-bec1-bee05b5f1cb6"));
+                                       Feature feature = (Feature) CdmStore.getService(ITermService.class).find(UUID.fromString("e5374d39-b210-47c7-bec1-bee05b5f1cb6"));
                                        feature.setSupportsCategoricalData(true);
                                        operation = new CreateUseRecordOperation(event
                                                        .getCommand().getName(),
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/handler/DeleteUseHandler.java
deleted file mode 100644 (file)
index 43a39ce..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-package eu.etaxonomy.taxeditor.editor.view.uses.handler;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.eclipse.core.commands.AbstractHandler;\r
-import org.eclipse.core.commands.ExecutionEvent;\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.common.NotDefinedException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.jface.viewers.IStructuredSelection;\r
-import org.eclipse.ui.IWorkbenchPart;\r
-import org.eclipse.ui.handlers.HandlerUtil;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.taxeditor.editor.EditorUtil;\r
-import eu.etaxonomy.taxeditor.editor.view.uses.operation.DeleteTaxonUseOperation;\r
-import eu.etaxonomy.taxeditor.editor.view.uses.operation.DeleteUseRecordOperation;\r
-import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys     \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteUseHandler extends AbstractHandler {\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * \r
-        * @see\r
-        * org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.\r
-        * ExecutionEvent)\r
-        */\r
-       /** {@inheritDoc} */\r
-       public Object execute(ExecutionEvent event) throws ExecutionException {\r
-               IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
-                               .getActiveSite(event).getSelectionProvider().getSelection();\r
-\r
-               IWorkbenchPart part = HandlerUtil.getActivePart(event);\r
-               IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part\r
-                               : null;\r
-\r
-               try {\r
-                       String label = event.getCommand().getName();\r
-\r
-                       IUndoContext undoContext = EditorUtil.getUndoContext();\r
-\r
-                       List<AbstractPostOperation> operations = new ArrayList<AbstractPostOperation>();\r
-\r
-                       for (Object object : selection.toArray()) {\r
-\r
-                               // TaxonDescription\r
-                               if (object instanceof TaxonDescription) {\r
-                                       operations.add(new DeleteTaxonUseOperation(label,\r
-                                                       undoContext, (TaxonDescription) object,\r
-                                                       postOperationEnabled));\r
-                               }\r
-                               // DescriptionElementBase\r
-                               else if (object instanceof DescriptionElementBase) {\r
-                                       operations.add(new DeleteUseRecordOperation(label,\r
-                                                       undoContext, (DescriptionElementBase) object,\r
-                                                       postOperationEnabled));\r
-                               } else if (object instanceof FeatureNodeContainer) {\r
-                                       List<DescriptionElementBase> descriptions = ((FeatureNodeContainer) object)\r
-                                                       .getDescriptionElementsForEntireBranch();\r
-\r
-                                       for (DescriptionElementBase description : descriptions) {\r
-                                               operations.add(new DeleteUseRecordOperation(\r
-                                                               label, undoContext, description,\r
-                                                               postOperationEnabled));\r
-                                       }\r
-                               }\r
-                               else {\r
-                                       EditorUtil.error(getClass(),\r
-                                                       "Selection is not valid for this delete handler",\r
-                                                       null);\r
-                               }\r
-                       }\r
-\r
-                       // execute all cumulated operations\r
-                       for (AbstractPostOperation operation : operations) {\r
-                               EditorUtil.executeOperation(operation);\r
-                       }\r
-\r
-               } catch (NotDefinedException e) {\r
-                       EditorUtil.warn(getClass(), "Command name not set.");\r
-               }\r
-\r
-               return null;\r
-       }\r
-}\r
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteTaxonUseOperation.java
deleted file mode 100644 (file)
index a98b934..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-package eu.etaxonomy.taxeditor.editor.view.uses.operation;\r
-\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.runtime.IAdaptable;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys     \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteTaxonUseOperation extends AbstractPostOperation {\r
-               \r
-               private TaxonDescription description;\r
-\r
-               /**\r
-                * <p>Constructor for DeleteTaxonDescriptionOperation.</p>\r
-                *\r
-                * @param label a {@link java.lang.String} object.\r
-                * @param undoContext a {@link org.eclipse.core.commands.operations.IUndoContext} object.\r
-                * @param description a {@link eu.etaxonomy.cdm.model.description.TaxonDescription} object.\r
-                * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.\r
-                */\r
-               public DeleteTaxonUseOperation(String label, IUndoContext undoContext,\r
-                               TaxonDescription description, IPostOperationEnabled postOperationEnabled) {\r
-                       super(label, undoContext, postOperationEnabled);\r
-                       \r
-                       this.description = description;\r
-                       taxon = description.getTaxon();\r
-               }\r
-\r
-               /* (non-Javadoc)\r
-                * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
-                */\r
-               /** {@inheritDoc} */\r
-               @Override\r
-               public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
-                               throws ExecutionException {\r
-\r
-                       monitor.worked(20);\r
-                       taxon.removeDescription(description);\r
-                       monitor.worked(40);\r
-\r
-                       return postExecute(description);\r
-               }\r
-\r
-               /* (non-Javadoc)\r
-                * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
-                */\r
-               /** {@inheritDoc} */\r
-               @Override\r
-               public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
-                               throws ExecutionException {\r
-                       return execute(monitor, info);\r
-               }\r
-\r
-               /* (non-Javadoc)\r
-                * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
-                */\r
-               /** {@inheritDoc} */\r
-               @Override\r
-               public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
-                               throws ExecutionException {\r
-\r
-                       taxon.addDescription(description);\r
-                       \r
-                       return postExecute(null);\r
-               }\r
-}\r
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/DeleteUseRecordOperation.java
deleted file mode 100644 (file)
index 8b27e6b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-package eu.etaxonomy.taxeditor.editor.view.uses.operation;\r
-\r
-\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.runtime.IAdaptable;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
-import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys     \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class DeleteUseRecordOperation extends AbstractPostOperation {\r
-       private DescriptionElementBase element;\r
-       private DescriptionBase description = null;\r
-       \r
-       \r
-       public DeleteUseRecordOperation(String label, IUndoContext undoContext,\r
-                       DescriptionElementBase element, IPostOperationEnabled postOperationEnabled) {\r
-               super(label, undoContext, postOperationEnabled);\r
-               \r
-               this.element = element;\r
-       }\r
-\r
-\r
-       @Override\r
-       public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
-                       throws ExecutionException {\r
-               description = element.getInDescription();\r
-               \r
-               monitor.worked(20);\r
-               \r
-               // Remove element from description\r
-               if (description == null) {\r
-                       StoreUtil.error(this.getClass(), "Couldn't find element's description!", null);\r
-               } else {\r
-                       description.removeElement(element);\r
-               }\r
-               monitor.worked(40);\r
-\r
-        // Redraw editor if exists\r
-               return postExecute(null);\r
-       }\r
-\r
-\r
-       @Override\r
-       public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
-                       throws ExecutionException {\r
-               return execute(monitor, info);\r
-       }\r
-\r
-\r
-       @Override\r
-       public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
-                       throws ExecutionException {\r
-\r
-               description.addElement(element);\r
-               \r
-               return postExecute(element);\r
-       }\r
-       \r
-}\r
index 0e44bb9544c5600b0a6d971097e18b90f2755ef6..0ef1271166f917d3c5e0334ce919ba244b133531 100644 (file)
@@ -46,8 +46,7 @@ Export-Package: eu.etaxonomy.cdm,
  eu.etaxonomy.taxeditor.view.datasource,
  eu.etaxonomy.taxeditor.view.datasource.handler,
  eu.etaxonomy.taxeditor.view.detail,
- eu.etaxonomy.taxeditor.view.supplementaldata,
- eu.etaxonomy.taxeditor.view.userecords
+ eu.etaxonomy.taxeditor.view.supplementaldata
 Require-Bundle: org.eclipse.osgi,
  org.eclipse.ui,
  org.eclipse.jface.text,
index 7b53cb8364a35792a04dac7f55b2dc9df8330049..3072f460e780d09b9192018d6021e66136bce989 100644 (file)
@@ -56,7 +56,6 @@ import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
 import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
 import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
 import eu.etaxonomy.taxeditor.view.supplementaldata.SupplementalDataViewPart;
-import eu.etaxonomy.taxeditor.view.userecords.UseRecordsViewPart;
 
 /**
  * <p>
@@ -911,29 +910,4 @@ public abstract class AbstractUtility {
                }
        }
        
-       public static UseRecordsViewPart getUseRecordsView() {
-               return (UseRecordsViewPart) getView(UseRecordsViewPart.ID, false);
        }
-
-       /**
-        * <p>
-        * refreshUseRecordsViewer
-        * </p>
-        */
-       public static void refreshUseRecordsViewer() {
-               if (getUseRecordsView() != null) {
-                       ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).refresh();
-               }
-       }
-
-       /**
-        * <p>
-        * reflowUseRecordsViewer
-        * </p>
-        */
-       public static void reflowUseRecordsViewer() {
-               if (getUseRecordsView() != null) {
-                       ((AbstractCdmDataViewer) getUseRecordsView().getViewer()).reflow();
-               }
-       }
-}
index 8580ee0af22bbe3bb281ebc87a87c2ec02f28b25..b65fdbe09187b3762c05943ef86d5a8542b7a703 100644 (file)
@@ -10,6 +10,9 @@
 
 package eu.etaxonomy.taxeditor.view.detail;
 
+import java.util.Set;
+import java.util.UUID;
+
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.swt.SWT;
@@ -18,11 +21,14 @@ import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.Group;
+import eu.etaxonomy.cdm.model.common.Marker;
+import eu.etaxonomy.cdm.model.common.MarkerType;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
@@ -38,6 +44,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonRelationship;
 import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
 import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;
@@ -82,6 +89,7 @@ import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;
 import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
 import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
@@ -186,7 +194,21 @@ public class DetailsViewer extends AbstractCdmDataViewer {
 
                        }
                } else if (getInput() instanceof DescriptionElementBase) {
-                       createDescriptionElementSection(rootElement);
+                       Set<Marker> descriptionMarkers = ((DescriptionElementBase) getInput()).getInDescription().getMarkers();
+                       MarkerType useMarkertype = (MarkerType) CdmStore.getService(ITermService.class).find(UUID.fromString("2e6e42d9-e92a-41f4-899b-03c0ac64f039"));
+                       Boolean isUseDescription = false;
+                       for (Marker marker : descriptionMarkers) {
+                               if (marker.getMarkerType().equals(useMarkertype)) {
+                                       isUseDescription = true;
+                               }
+                       }
+                       
+                       if (isUseDescription == true) {
+                               createUseRecordSection(rootElement);
+                       }
+                       else {
+                               createDescriptionElementSection(rootElement);
+                       }
 
                } else if (getInput() instanceof Media) {
                        createMediaElementSection(rootElement);
@@ -613,6 +635,21 @@ public class DetailsViewer extends AbstractCdmDataViewer {
 
                addPart(polytomousKeyNodeDetailSection);
        }
+       
+       private void createUseRecordSection(RootElement parent) {
+               destroySections();
+
+               UseRecordDetailSection descriptionUseRecordSection = (UseRecordDetailSection) formFactory
+                               .createCdmDetailSection(DetailType.USE_RECORD,
+                                               getConversationHolder(), parent, this, Section.TWISTIE
+                                                               | Section.EXPANDED);
+
+               formFactory.createHorizontalSeparator(parent, SWT.BORDER);
+               
+               addPart(descriptionUseRecordSection);
+               
+               
+       }
 
        private void createUserSection(RootElement parent) {
                destroySections();
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewPart.java
deleted file mode 100644 (file)
index d8f3ca9..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-package eu.etaxonomy.taxeditor.view.userecords;\r
-\r
-import org.eclipse.jface.viewers.ISelection;\r
-import org.eclipse.jface.viewers.IStructuredSelection;\r
-import org.eclipse.jface.viewers.Viewer;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.IEditorPart;\r
-import org.eclipse.ui.IWorkbenchPart;\r
-\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;\r
-import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmEditorViewPart;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys     \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class UseRecordsViewPart extends AbstractCdmEditorViewPart implements IPartContentHasSupplementalData{\r
-               \r
-       public static String ID = "eu.etaxonomy.taxeditor.view.userecords";\r
-       private UseRecordsViewer viewer;\r
-       \r
-       @Override\r
-       public void createViewer(Composite parent) {\r
-               viewer = new UseRecordsViewer(parent, this);\r
-               getSite().setSelectionProvider(viewer);\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void selectionChanged(IWorkbenchPart part, ISelection selection) {\r
-               if(StoreUtil.getActiveEditor() == null){\r
-                       showEmptyPage();\r
-                       return;\r
-               }\r
-               \r
-               if(part == this){\r
-                       return;\r
-               }\r
-               \r
-               if(!(selection instanceof IStructuredSelection)){\r
-                       return;\r
-               }\r
-               \r
-               IStructuredSelection structuredSelection = (IStructuredSelection) selection;\r
-               \r
-               if((part instanceof IEditorPart) || (part instanceof AbstractCdmViewPart)) {\r
-                       if(structuredSelection.size() != 1){\r
-                               showEmptyPage();\r
-                               return;\r
-                       }\r
-                       \r
-                       // do not show details for feature nodes TODO really? \r
-                       if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){\r
-                               // do show the map for distributions\r
-                               Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();\r
-                               if(!feature.equals(Feature.DISTRIBUTION())){\r
-                                       showEmptyPage();\r
-                                       return;\r
-                               }\r
-                       }\r
-                       \r
-                       showViewer(part, structuredSelection);\r
-               }else{\r
-                       showEmptyPage();                \r
-               }       \r
-               \r
-       }\r
-       \r
-       @Override\r
-       public Viewer getViewer() {\r
-               return viewer;\r
-       }\r
-\r
-       /** {@inheritDoc} */\r
-       @Override\r
-       public void dispose() {\r
-               super.dispose();\r
-               selectionService.removePostSelectionListener(this);\r
-       }\r
-\r
-       /**\r
-        * <p>onComplete</p>\r
-        *\r
-        * @return a boolean.\r
-        */\r
-       public boolean onComplete() {\r
-               return true;\r
-       }\r
-\r
-               \r
-\r
-               \r
-\r
-       \r
-}\r
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java
deleted file mode 100644 (file)
index 632cd57..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-package eu.etaxonomy.taxeditor.view.userecords;\r
-\r
-import org.eclipse.jface.viewers.ISelection;\r
-import org.eclipse.jface.viewers.SelectionChangedEvent;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.forms.widgets.Section;\r
-\r
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;\r
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;\r
-import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
-import eu.etaxonomy.taxeditor.store.StoreUtil;\r
-import eu.etaxonomy.taxeditor.ui.element.RootElement;\r
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;\r
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EntityDetailType;\r
-import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.description.DescriptionSourceSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection;\r
-import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection;\r
-import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;\r
-import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;\r
-import eu.etaxonomy.taxeditor.ui.section.vocabulary.TermVocabularyDetailSection;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;\r
-import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-\r
-\r
-\r
-\r
-/**\r
- * The context manager mediates context start/stop and workbench shutdowns to all registered listeners.\r
- *\r
- * @author a.theys     \r
- * @created mar 13, 2012\r
- * @version 1.0\r
- */\r
-public class UseRecordsViewer extends AbstractCdmDataViewer {\r
-\r
-       private ISelection selection;\r
-       \r
-       public UseRecordsViewer(Composite parent, AbstractCdmViewPart viewPart) {\r
-               super(parent, viewPart);\r
-       }\r
-       \r
-       // START HACK TO MAKE THE DERIVED UNIT FACADE WORK\r
-       // since we are getting implementations of DerivedUnitBase from the bulk\r
-       // editor\r
-       // and not derived unit facade objects,\r
-\r
-       /*\r
-        * (non-Javadoc)\r
-        * \r
-        * @see\r
-        * eu.etaxonomy.taxeditor.editor.view.AbstractCdmDataViewer#setInput(java\r
-        * .lang.Object)\r
-        */\r
-       @Override\r
-       public void setInput(Object input) {\r
-               if (input instanceof DerivedUnitBase) {\r
-                       try {\r
-                               input = DerivedUnitFacade.NewInstance((DerivedUnitBase) input,\r
-                                               PreferencesUtil.getDerivedUnitConfigurator());\r
-                       } catch (DerivedUnitFacadeNotSupportedException e) {\r
-                               StoreUtil.error(getClass(), e);\r
-                       }\r
-               }\r
-               super.setInput(input);\r
-       }\r
-\r
-       @Override\r
-       protected void markViewPartDirty() {\r
-               if (getInput() instanceof DerivedUnitFacade) {\r
-                       getViewPart().changed(\r
-                                       ((DerivedUnitFacade) getInput()).innerDerivedUnit());\r
-               }\r
-\r
-               super.markViewPartDirty();\r
-       }\r
-\r
-       // END HACK TO MAKE THE DERIVED UNIT FACADE WORK\r
-       \r
-       \r
-       @Override\r
-       protected void showParts() {\r
-               if (getInput() instanceof TaxonBase) {\r
-                       createTaxonSections(rootElement);\r
-\r
-               } else if (getInput() instanceof DescriptionBase) {\r
-                       if (((DescriptionBase) getInput()).isImageGallery()) {\r
-                               createImageGallerySection(rootElement);\r
-\r
-                       } else {\r
-                               createUseSection(rootElement);\r
-\r
-                       }\r
-               } else if (getInput() instanceof DescriptionElementBase) {\r
-                       createUseRecordSection(rootElement);\r
-                       //TODO Use the code below to move the useRecords view and UseRecordDetailElement into the details view.\r
-                       DescriptionElementBase desc = ((DescriptionElementBase) getInput()).\r
-\r
-               } else if (getInput() instanceof TermVocabulary) {\r
-                       createTermVocabularySection(rootElement);\r
-\r
-               }\r
-               \r
-               /*if (getInput() instanceof TaxonBase) {\r
-                       if (currentViewPart != VIEW_PART.TAXON) {\r
-                               createTaxonSections(rootElement);\r
-                               currentViewPart = VIEW_PART.TAXON;\r
-                       }\r
-               } else if (getInput() instanceof Reference) {\r
-                       if (currentViewPart != VIEW_PART.REFEERENCE) {\r
-                               createReferenceSections(rootElement);\r
-                               currentViewPart = VIEW_PART.REFEERENCE;\r
-                       }\r
-               } else if (getInput() instanceof DescriptionBase) {\r
-                       if (((DescriptionBase) getInput()).isImageGallery()) {\r
-                               if (currentViewPart != VIEW_PART.IMAGE_GALLERY) {\r
-                                       createImageGallerySection(rootElement);\r
-                                       currentViewPart = VIEW_PART.IMAGE_GALLERY;\r
-                               }\r
-                       } else {\r
-                               if (currentViewPart != VIEW_PART.DESCRIPTION) {\r
-                                       createDescriptionSection(rootElement);\r
-                                       currentViewPart = VIEW_PART.DESCRIPTION;\r
-                               }\r
-                       }\r
-               } else if (getInput() instanceof DescriptionElementBase) {\r
-                       if (currentViewPart != VIEW_PART.DESCRIPTION_ELEMENT) {\r
-                               createDescriptionElementSection(rootElement);\r
-                               currentViewPart = VIEW_PART.DESCRIPTION_ELEMENT;\r
-                       }\r
-               } else {\r
-                       destroySections();\r
-                       currentViewPart = VIEW_PART.EMPTY;\r
-               }\r
-               layout();\r
-               */\r
-       }\r
-       private void createTaxonSections(RootElement parent) {\r
-               destroySections();\r
-\r
-               TaxonBaseDetailSection taxonBaseDetailSection = (TaxonBaseDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.TAXONBASE,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               NonViralNameDetailSection nonViralNameSection = (NonViralNameDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.NONVIRALNAME,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               NomenclaturalReferenceDetailSection referenceDetailSection = (NomenclaturalReferenceDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.NOMENCLATURALREFERENCE,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               NomenclaturalStatusSection nomenclaturalStatusSection = (NomenclaturalStatusSection) formFactory\r
-                               .createEntityDetailSection(\r
-                                               EntityDetailType.NOMENCLATURALSTATUS,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               ProtologueSection protologSection = (ProtologueSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.PROTOLOG,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               TypeDesignationSection typeDesignationSection = (TypeDesignationSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.TYPEDESIGNATION,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               NameRelationshipDetailSection nameRelationshipSection = (NameRelationshipDetailSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.NAME_RELATIONSHIP,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               ParsingMessagesSection parsingMessagesSection = (ParsingMessagesSection) formFactory\r
-                               .createCdmDetailSection(DetailType.PARSINGMESSAGE,\r
-                                               getConversationHolder(), parent, this, Section.EXPANDED);\r
-\r
-               addPart(taxonBaseDetailSection);\r
-               addPart(nonViralNameSection);\r
-               addPart(nomenclaturalStatusSection);\r
-               addPart(protologSection);\r
-               addPart(referenceDetailSection);\r
-               addPart(typeDesignationSection);\r
-               addPart(nameRelationshipSection);\r
-               addPart(parsingMessagesSection);\r
-       }\r
-       \r
-       private void createTermVocabularySection(RootElement parent) {\r
-               destroySections();\r
-\r
-               TermVocabularyDetailSection termVocabularyDetailSection = (TermVocabularyDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.TERM_VOCABULARY,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-               addPart(termVocabularyDetailSection);\r
-       }\r
-       \r
-       private void createUseRecordSection(RootElement parent) {\r
-               destroySections();\r
-\r
-               UseRecordDetailSection descriptionUseRecordSection = (UseRecordDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.USE_RECORD,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-               \r
-               addPart(descriptionUseRecordSection);\r
-               \r
-               \r
-       }\r
-       \r
-       private void createUseSection(RootElement parent) {\r
-               destroySections();\r
-               DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.DESCRIPTION,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               /*NaturalLanguageSection naturalLanguageSection = (NaturalLanguageSection) formFactory\r
-                               .createCdmDetailSection(DetailType.NATURAL_LANGUAGE,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               DescribedSpecimenSection describedSpecimenSection = (DescribedSpecimenSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.DESCRIBED_SPECIMEN,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);*/\r
-\r
-               DescriptionSourceSection descriptionSourceSection = (DescriptionSourceSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.DESCRIPTIONSOURCE,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               /*formFactory.createHorizontalSeparator(parent, SWT.BORDER);\r
-\r
-               ScopeSection scopeSection = (ScopeSection) formFactory\r
-                               .createEntityDetailSection(EntityDetailType.SCOPE,\r
-                                               getConversationHolder(), parent, Section.TWISTIE);\r
-\r
-               formFactory.createHorizontalSeparator(parent, SWT.BORDER);*/\r
-\r
-               addPart(descriptionDetailSection);\r
-               addPart(descriptionSourceSection);\r
-               \r
-       }\r
-       \r
-       \r
-       \r
-       private void createImageGallerySection(RootElement parent) {\r
-               destroySections();\r
-               DescriptionDetailSection descriptionDetailSection = (DescriptionDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.DESCRIPTION,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               addPart(descriptionDetailSection);\r
-       }\r
-       \r
-       private void createReferenceSections(RootElement parent) {\r
-               destroySections();\r
-\r
-               ReferenceDetailSection referenceDetailSection = (ReferenceDetailSection) formFactory\r
-                               .createCdmDetailSection(DetailType.REFERENCEBASE,\r
-                                               getConversationHolder(), parent, this, Section.TWISTIE\r
-                                                               | Section.EXPANDED);\r
-\r
-               addPart(referenceDetailSection);\r
-               \r
-       }\r
-       @Override\r
-       public ISelection getSelection() {\r
-               return selection;\r
-       }\r
-       @Override\r
-       public void setSelection(ISelection selection, boolean reveal) {\r
-               this.selection = selection;\r
-               SelectionChangedEvent selectionChangedEvent = new SelectionChangedEvent(\r
-                               this, selection);\r
-               fireSelectionChanged(selectionChangedEvent);\r
-       }\r
-\r
-}\r