- added functionality to context menu for derivate creation
authorPatric Plitzner <p.plitzner@bgbm.org>
Wed, 27 Nov 2013 08:02:02 +0000 (08:02 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Wed, 27 Nov 2013 08:02:02 +0000 (08:02 +0000)
 - fixed a bug where two FieldUnits were created instead of only on
 - added javadoc

.gitattributes
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchComposite.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchCompositeController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchResultsLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/derivatesearch/DerivateSearchView.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java with 90% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java

index 5085be8e70ea7b693c113e617ce4a55edae16646..1282ee8961d1148ca3497ca2a5d0caee6219296e 100644 (file)
@@ -1488,6 +1488,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DeterminationEventDetailElement.java -text
@@ -1498,12 +1499,12 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailsWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeneralWizardPage.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/IDerivedUnitFacadeDetailSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
index d745f8067c88f22fd81b204ae010d909161764d4..abdf7ce95b7bbeab53e86aa44339dd911bcfb726 100644 (file)
@@ -1,7 +1,5 @@
 package eu.etaxonomy.taxeditor.editor.view.derivate;
 
-import java.util.UUID;
-
 import org.eclipse.jface.action.ContributionItem;
 import org.eclipse.jface.action.IContributionItem;
 import org.eclipse.jface.viewers.ISelection;
@@ -17,17 +15,19 @@ import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.actions.CompoundContributionItem;
 import org.eclipse.ui.handlers.IHandlerService;
 
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
 import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 
+/**
+ * Context menu for the creation of sub-derivates.
+ *
+ */
 public class CreateDerivateContextMenu extends CompoundContributionItem {
 
     private final IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
@@ -49,53 +49,65 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
                             if(selectedElement instanceof FieldUnit){
                                 MenuItem createSpecimen = new MenuItem(menu, SWT.None);
                                 createSpecimen.setText("Specimen");
-                                createSpecimen.addSelectionListener(new SelectionListener() {
-
-                                    @Override
-                                    public void widgetSelected(SelectionEvent e) {
-                                        ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
-//                                        TransactionStatus transaction = currentApplicationConfiguration.startTransaction();
-                                        IOccurrenceService occurrenceService = currentApplicationConfiguration.getOccurrenceService();
-                                        FieldUnit fieldUnit = (FieldUnit)selectedElement;
-                                        UUID uuid = fieldUnit.getUuid();
-                                        fieldUnit = (FieldUnit) occurrenceService.load(uuid);
-//                                        fieldUnit = (FieldUnit)HibernateProxyHelper.deproxy(fieldUnit);
-
-                                        DerivedUnit specimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
-                                        fieldUnit.addDerivationEvent(DerivationEvent.NewSimpleInstance(fieldUnit, specimen, DerivationEventType.GATHERING_IN_SITU()));
-                                        specimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
-                                        specimen.getTitleCache(); //update title cache
-                                        IWorkbenchPart activePart = AbstractUtility.getActivePart();
-//                                        occurrenceService.saveOrUpdate(fieldUnit);
-//                                        occurrenceService.saveOrUpdate(specimen);
-//                                        currentApplicationConfiguration.commitTransaction(transaction);
-                                        if(activePart instanceof DerivateView){
-                                            DerivateView derivateView = (DerivateView)activePart;
-                                            derivateView.viewer.refresh();
-                                        }
-                                    }
-
-                                    @Override
-                                    public void widgetDefaultSelected(SelectionEvent e) {
-                                        // TODO Auto-generated method stub
-
-                                    }
-                                });
+                                FieldUnit fieldUnit = (FieldUnit) selectedElement;
+                                createSpecimen.addSelectionListener(new WidgetSelectionListener(fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen)));
+
+//                                    @Override
+//                                    public void widgetSelected(SelectionEvent e) {
+//                                        ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
+////                                        TransactionStatus transaction = currentApplicationConfiguration.startTransaction();
+//                                        IOccurrenceService occurrenceService = currentApplicationConfiguration.getOccurrenceService();
+//                                        FieldUnit fieldUnit = (FieldUnit)selectedElement;
+//                                        UUID uuid = fieldUnit.getUuid();
+//                                        fieldUnit = (FieldUnit) occurrenceService.load(uuid);
+////                                        fieldUnit = (FieldUnit)HibernateProxyHelper.deproxy(fieldUnit);
+//
+//                                        DerivedUnit specimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+//                                        fieldUnit.addDerivationEvent(DerivationEvent.NewSimpleInstance(fieldUnit, specimen, DerivationEventType.GATHERING_IN_SITU()));
+//                                        specimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
+//                                        specimen.getTitleCache(); //update title cache
+//                                        IWorkbenchPart activePart = AbstractUtility.getActivePart();
+////                                        occurrenceService.saveOrUpdate(fieldUnit);
+////                                        occurrenceService.saveOrUpdate(specimen);
+////                                        currentApplicationConfiguration.commitTransaction(transaction);
+//                                        if(activePart instanceof DerivateView){
+//                                            DerivateView derivateView = (DerivateView)activePart;
+//                                            derivateView.viewer.refresh();
+//                                        }
+//                                    }
+//
+//                                    @Override
+//                                    public void widgetDefaultSelected(SelectionEvent e) {
+//                                        // TODO Auto-generated method stub
+//
+//                                    }
+//                                });
                                 MenuItem createLivingPlantPhoto = new MenuItem(menu, SWT.None);
                                 createLivingPlantPhoto.setText("Living Plant Photo");
+                                createLivingPlantPhoto.addSelectionListener(new WidgetSelectionListener(fieldUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)));
                             }
                             //context menu for Specimen
                             else if(selectedElement instanceof DerivedUnit && ((DerivedUnit)selectedElement).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen){
+                                DerivedUnit derivedUnit = (DerivedUnit) selectedElement;
                                 MenuItem createTissueSample = new MenuItem(menu, SWT.None);
                                 createTissueSample.setText("Tissue Sample");
+                                createTissueSample.addSelectionListener(new WidgetSelectionListener(derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.TissueSample)));
+
                                 MenuItem createDNASample = new MenuItem(menu, SWT.None);
                                 createDNASample.setText("DNA Sample");
+                                createDNASample.addSelectionListener(new WidgetSelectionListener(derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.DnaSample)));
+
                                 MenuItem createSpecimenScan = new MenuItem(menu, SWT.None);
                                 createSpecimenScan.setText("Specimen Scan");
+                                createSpecimenScan.addSelectionListener(new WidgetSelectionListener(derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)));
+
                                 MenuItem createArtwork = new MenuItem(menu, SWT.None);
                                 createArtwork.setText("Artwork");
+                                createArtwork.addSelectionListener(new WidgetSelectionListener(derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)));
+
                                 MenuItem createLivingPlantPhoto = new MenuItem(menu, SWT.None);
                                 createLivingPlantPhoto.setText("Living Plant Photo");
+                                createLivingPlantPhoto.addSelectionListener(new WidgetSelectionListener(derivedUnit, DerivedUnit.NewInstance(SpecimenOrObservationType.StillImage)));
                             }
                             else{
                                 MenuItem menuItem = new MenuItem(menu, SWT.None);
@@ -109,4 +121,48 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
         return contributionItems;
     }
 
+    private class WidgetSelectionListener implements SelectionListener{
+
+        private final SpecimenOrObservationBase parent;
+        private final DerivedUnit derivate;
+
+        /**
+         * @param parent
+         */
+        public WidgetSelectionListener(SpecimenOrObservationBase parent, DerivedUnit derivate) {
+            this.parent = parent;
+            this.derivate = derivate;
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+         */
+        @Override
+        public void widgetSelected(SelectionEvent e) {
+//            ICdmApplicationConfiguration currentApplicationConfiguration = CdmStore.getCurrentApplicationConfiguration();
+//            IOccurrenceService occurrenceService = currentApplicationConfiguration.getOccurrenceService();
+//            UUID uuid = parent.getUuid();
+//            fieldUnit = (FieldUnit) occurrenceService.load(uuid);
+
+            parent.addDerivationEvent(DerivationEvent.NewSimpleInstance(parent, derivate, DerivationEventType.GATHERING_IN_SITU()));
+            derivate.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
+            derivate.getTitleCache(); //update title cache
+            IWorkbenchPart activePart = AbstractUtility.getActivePart();
+            if(activePart instanceof DerivateView){
+                DerivateView derivateView = (DerivateView)activePart;
+                derivateView.viewer.refresh();
+            }
+        }
+
+        /* (non-Javadoc)
+         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
+         */
+        @Override
+        public void widgetDefaultSelected(SelectionEvent e) {
+            // TODO Auto-generated method stub
+
+        }
+
+    }
+
 }
index b7eac16b67be281f0af323cee70ec4d769556046..68396f20b61b3f5ffc3ffec5f211ed71d08f977c 100644 (file)
@@ -5,6 +5,13 @@ import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelP
 import org.eclipse.jface.viewers.StyledString;
 import org.eclipse.swt.graphics.Image;
 
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+
+/**
+ *  Label provider for the {@link DerivateView}
+ *
+ */
 public class DerivateLabelProvider extends ColumnLabelProvider implements IStyledLabelProvider {
 
        @Override
@@ -18,6 +25,11 @@ public class DerivateLabelProvider extends ColumnLabelProvider implements IStyle
         */
        @Override
        public String getText(Object element) {
+        if(element instanceof SpecimenOrObservationBase){
+            SpecimenOrObservationBase derivate = (SpecimenOrObservationBase) element;
+            SpecimenOrObservationType type = derivate.getRecordBasis();
+            return derivate.getTitleCache() + (type!=null?"["+type.toString()+"]":"");
+        }
            return super.getText(element);
        }
 
index ea1bf4124dcf3b48f03e15575d63c174be475417..627c140aa66ba82c4ee7a7e43bc10504268833b0 100644 (file)
@@ -14,14 +14,17 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.occurrence.MediaSpecimen;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
 
 /**
  * <p>NewDerivedUnitBaseWizard class.</p>
@@ -30,7 +33,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
  * @created Jun 16, 2010
  * @version 1.0
  */
-public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<DerivedUnit> {
+public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<SpecimenOrObservationBase> {
        private SpecimenOrObservationType specOrObsType = null;
 
        public NewDerivedUnitBaseWizard() {
@@ -44,57 +47,52 @@ public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<DerivedUni
        /** {@inheritDoc} */
        @Override
        public void addPages() {
-           DerivedUnitFacade facade = getFacade();
+           DerivedUnitFacade facade = null;
            try {
-               if(getEntity() != null) {
-                   facade = DerivedUnitFacade.NewInstance(getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+               if(getEntity() instanceof DerivedUnit) {
+                   facade = DerivedUnitFacade.NewInstance((DerivedUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
                    facade.getFieldUnit(true); //TODO: this is a temporary solution for the Campanula project as
                    //this ALWAYS needs a FieldUnit as root of the hierarchy
+
+                   addPage(new DerivedUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
+                   addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
+                   addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
+                   addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
+               }
+               else if(getEntity() instanceof FieldUnit){
+                   facade = DerivedUnitFacade.NewInstance(SpecimenOrObservationType.FieldUnit, (FieldUnit)getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
+                   addPage(new FieldUnitGeneralWizardPage(formFactory, getConversationHolder(), facade));
+                   addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
+                   addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
                }
            } catch (DerivedUnitFacadeNotSupportedException e) {
-               // w should never get here
+               // we should never get here
                throw new IllegalStateException();
            }
-        addPage(new GeneralWizardPage(formFactory, getConversationHolder(), facade));
-               addPage(new GatheringEventWizardPage(formFactory, getConversationHolder(), facade));
-               addPage(new FieldUnitWizardPage(formFactory, getConversationHolder(), facade));
-               addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), facade));
-
-       }
-
-       /**
-        * @return
-        */
-       private DerivedUnitFacade getFacade() {
-               try {
-                       if(getEntity() != null) {
-                               return DerivedUnitFacade.NewInstance(getEntity(), PreferencesUtil.getDerivedUnitConfigurator());
-                       }
-               } catch (DerivedUnitFacadeNotSupportedException e) {
-                       // w should never get here
-                       throw new IllegalStateException();
-               }
-               return null;
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
-        */
-       /** {@inheritDoc} */
-       @Override
-       protected DerivedUnit createNewEntity() {
-               if(specOrObsType == null) {
-                       return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
-               } else {
-                       if(SpecimenOrObservationType.Media.equals(specOrObsType) ||
-                                       ((specOrObsType.getKindOf() != null) &&
-                                       specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
-                               return MediaSpecimen.NewInstance(SpecimenOrObservationType.Media);
-                       } else {
-                               return DerivedUnit.NewInstance(specOrObsType);
-                       }
-               }
-       }
+    /*
+     * (non-Javadoc)
+     *
+     * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#
+     * createNewEntity()
+     */
+    /** {@inheritDoc} */
+    @Override
+    protected SpecimenOrObservationBase createNewEntity() {
+        if (specOrObsType == null) {
+            return DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
+        } else {
+            if (SpecimenOrObservationType.Media.equals(specOrObsType)
+                    || ((specOrObsType.getKindOf() != null) && specOrObsType.getKindOf().equals(SpecimenOrObservationType.Media))) {
+                return MediaSpecimen.NewInstance(SpecimenOrObservationType.Media);
+            } else if (specOrObsType.equals(SpecimenOrObservationType.FieldUnit)) {
+                return FieldUnit.NewInstance();
+            } else {
+                return DerivedUnit.NewInstance(specOrObsType);
+            }
+        }
+    }
 
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity()
index c88610d83222386c1dfed416ce21ac4b933867ba..090a1d0894c309b1982203e7ed8c4e52b8962a74 100644 (file)
@@ -22,16 +22,15 @@ import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 
 /**
- * @author pplitzner
- * @date 25.11.2013
+ * The widgets of the {@link DerivateSearchView}<br>
  *
  */
 public class DerivateSearchComposite extends Composite {
     private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
-    private Text searchField;
-    private Table table;
-    private TableViewer resultViewer;
-    private Combo comboDerivateType;
+    private final Text searchField;
+    private final Table table;
+    private final TableViewer resultViewer;
+    private final Combo comboDerivateType;
 
     /**
      * Create the composite.
@@ -44,15 +43,19 @@ public class DerivateSearchComposite extends Composite {
 
         Label lblDerivateType = new Label(this, SWT.NULL);
         lblDerivateType.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
-        lblDerivateType.setText("Derivate Type");
+        lblDerivateType.setText("Derivate Filter");
 
         comboDerivateType = new Combo(this, SWT.NONE);
         comboDerivateType.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
         formToolkit.paintBordersFor(comboDerivateType);
 
+        Label lblNameFilter = new Label(this, SWT.NULL);
+        lblNameFilter.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+        lblNameFilter.setText("Name Filter");
+
         searchField = formToolkit.createText(this, "New Text", SWT.NONE);
         searchField.setText("");
-        searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
+        searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
 
         resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION);
         table = resultViewer.getTable();
index 14814fdaaff4b37efd85eeccd3d2922b017215c6..32258dfbba7507cf0fb00b6b395bd1158bcc2c8f 100644 (file)
@@ -33,8 +33,9 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
- * @author pplitzner
- * @date 25.11.2013
+ * Controller class for the {@link DerivateSearchComposite}.<br>
+ * This controller contains the logic to search the data base for {@link SpecimenOrObservationBase}s
+ * and handles GUI events.
  *
  */
 public class DerivateSearchCompositeController {
index ae291a735eb0e7672383957174d799c1a092c138..af9cc5ce74fbdae1628ffba8599d1e986e1e53ff 100644 (file)
@@ -13,17 +13,22 @@ import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.swt.graphics.Color;
 
 import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 
 /**
- * @author pplitzner
- * @date 25.11.2013
- *
+ * Label provider for the {@link DerivateSearchView}.
  */
 public class DerivateSearchResultsLabelProvider extends ColumnLabelProvider {
 
     /** {@inheritDoc} */
     @Override
     public String getText(Object element) {
+        if(element instanceof SpecimenOrObservationBase){
+            SpecimenOrObservationBase derivate = (SpecimenOrObservationBase) element;
+            SpecimenOrObservationType type = derivate.getRecordBasis();
+            return derivate.getTitleCache() + (type!=null?"["+type.toString()+"]":"");
+        }
         if(element instanceof UuidAndTitleCache){
             return ((UuidAndTitleCache) element).getTitleCache();
         }
@@ -47,7 +52,7 @@ public class DerivateSearchResultsLabelProvider extends ColumnLabelProvider {
     /** {@inheritDoc} */
     @Override
     public String getToolTipText(Object element) {
-        return "Name: " + element.toString();
+        return element.toString();
     }
 
 }
index 15d2e9008f0947e48f48f2597a1529aec352bae8..d0a185a292bb3fff53281c0eb8dcd160e4aa9bef 100644 (file)
@@ -12,10 +12,11 @@ package eu.etaxonomy.taxeditor.ui.campanula.derivatesearch;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.part.ViewPart;
 
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+
 /**
- * @author pplitzner
- * @date 25.11.2013
- *
+ * This view allows to search for and filter {@link SpecimenOrObservationBase}s and display
+ * the results in a list. The results can be selected and opened in an editor.
  */
 public class DerivateSearchView extends ViewPart {
     public DerivateSearchView() {
@@ -22,14 +22,14 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @created Dec 17, 2010
  * @version 1.0
  */
-public class GeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+public class DerivedUnitGeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
 
        /**
         * @param formFactory
         * @param conversation
         * @param entity
         */
-       public GeneralWizardPage(CdmFormFactory formFactory,
+       public DerivedUnitGeneralWizardPage(CdmFormFactory formFactory,
                        ConversationHolder conversation, DerivedUnitFacade entity) {
                super(formFactory, conversation, entity);
                setTitle("General Specimen Data");
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralWizardPage.java
new file mode 100644 (file)
index 0000000..e0844d0
--- /dev/null
@@ -0,0 +1,54 @@
+// $Id$
+/**
+* Copyright (C) 2013 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.ui.section.occurrence;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ *
+ */
+public class FieldUnitGeneralWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param entity
+     */
+    public FieldUnitGeneralWizardPage(CdmFormFactory formFactory,
+            ConversationHolder conversation, DerivedUnitFacade entity) {
+        super(formFactory, conversation, entity);
+        setTitle("General FieldUnit Data");
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete()
+     */
+    @Override
+    protected void checkComplete() {
+        setPageComplete(true);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+     */
+    @Override
+    public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
+        FieldUnitGeneralDetailElement detailElement = formFactory.createFieldUnitGeneralDetailElement(rootElement);
+        detailElement.setEntity(getEntity());
+        checkComplete();
+        return detailElement;
+    }
+
+}
index b794ee6e3687bd38bf89bf7bea8c10365367993b..a6c48e0b6db56c8a82b9823d7b9cd4256a680401 100644 (file)
@@ -40,7 +40,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.GeneralWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.user.UserDetailWizardPage;
 
@@ -107,7 +107,7 @@ public class EditFromSelectionWizard extends Wizard implements
                                throw new IllegalStateException();
                        }
 
-                       addPage(new GeneralWizardPage(formFactory,
+                       addPage(new DerivedUnitGeneralWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));
                        addPage(new GatheringEventWizardPage(formFactory,
                                        selectionElement.getConversationHolder(), facade));