current state specimen quick sprint
authorn.hoffmann <n.hoffmann@localhost>
Thu, 14 Oct 2010 12:58:47 +0000 (12:58 +0000)
committern.hoffmann <n.hoffmann@localhost>
Thu, 14 Oct 2010 12:58:47 +0000 (12:58 +0000)
64 files changed:
.gitattributes
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java [new file with mode: 0644]
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/TaxonomicEditorPlugin.java
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorUtil.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredCollectionSelectionDialog.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredFieldObservationSelectionDialog.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInput.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/TaxonEditorInputFactory.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenParentHandler.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeAcceptedTaxonToSynonymHandler.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/ChangeSynonymToAcceptedTaxonHandler.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewCollectionWizard.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/translation/TranslationWizard.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/translation/TranslationWizardPage.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/AbstractFormSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/CdmFormFactory.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/CheckboxElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/IEntityElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/LanguageStringWithLabelElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/MultilanguageTextElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/TextWithLabelElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/TimePeriodElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/AbstractSelectionElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/CollectionSelectionElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/EditFromSelectionWizard.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AnnotationTypeComboElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/DeterminationModifierComboElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/AbstractCdmDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/AbstractCdmDetailSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/AbstractEntityCollectionElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/AbstractEntityCollectionSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/BulkEditorOpeningSelectionListener.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/EmptyElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/agent/TeamDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/agent/TeamMemberSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/description/GeoScopeElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/description/detail/TextDataDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/ProtologueElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/ProtologueSection.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/SpecimenTypeDesignationElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/AbstractEventDetailElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailSection.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionDetailElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionWizardPage.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitBaseDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailSection.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/GatheringEventDetailElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailElement.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java [new file with mode: 0644]
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/ExtensionElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/MediaElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/supplemental/VersionElement.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/taxon/ParsingMessagesSection.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigatorStateManager.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonLinkHelper.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchBar.java
taxeditor-navigation/src/main/java/eu/etaxonomy/taxeditor/wizard/NewTaxonNodeWizardPage.java
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/datasource/view/CdmMetaDataAwareDataSourceContainer.java

index 881ee7a8c91795a080f986f30604df8096012c9e..05c64e64af7133e8786564d0edf6830720619215 100644 (file)
@@ -222,6 +222,7 @@ taxeditor-application/pom.xml -text
 taxeditor-application/splash.bmp -text
 taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/Application.java -text
 taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java -text
+taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java -text
 taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java -text
 taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java -text
 taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/OpenExternalAboutPlatformHandler.java -text
@@ -318,6 +319,7 @@ taxeditor-editor/pom.xml -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredAgentSelectionDialog.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredClassificationSelectionDialog.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredCollectionSelectionDialog.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredDerivedUnitSelectionDialog.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredFeatureTreeSelectionDialog.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredFieldObservationSelectionDialog.java -text
@@ -404,6 +406,7 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SetBas
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SwapSynonymAndAcceptedHandler.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/AbstractNewEntityWizard.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/ExternalReferenceServiceWizardPage.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewCollectionWizard.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewDerivedUnitBaseWizard.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewFieldObservationWizard.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewNonViralNameWizard.java -text
@@ -468,6 +471,7 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/ToggleableTextElemen
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/AbstractSelectionElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/AgentSelectionElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/ClassificationSelectionElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/CollectionSelectionElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/DerivedUnitBaseSelectionElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/EditFromSelectionWizard.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/FeatureTreeSelectionElement.java -text
@@ -484,6 +488,7 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/TeamSelect
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractEnumComboElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractTermComboElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AnnotationTypeComboElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/DeterminationModifierComboElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/EmptyComboElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/ExtensionTypeComboElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/LanguageComboElement.java -text
@@ -581,16 +586,25 @@ taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/ProtologueEle
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/ProtologueSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/SpecimenTypeDesignationElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/TypeDesignationSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/AbstractEventDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionWizardPage.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitBaseDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitBaseDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeWizardPage.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/FieldObservationDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/FieldObservationDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/GatheringEventDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/GatheringEventDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/IFacadeHolder.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailElement.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailSection.java -text
 taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailElement.java -text
diff --git a/taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java b/taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java
new file mode 100644 (file)
index 0000000..136bd4e
--- /dev/null
@@ -0,0 +1,26 @@
+// $Id$
+/**
+* Copyright (C) 2007 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;
+
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class ApplicationUtil extends AbstractUtility {
+
+       protected static String getPluginId(){
+               return TaxonomicEditorPlugin.PLUGIN_ID;
+       }
+       
+}
index d18cbb7e86e590a80452330e32928a603d50e226..1cb9c41dbb82d445d6273a410ae97a9166bc2c3d 100644 (file)
@@ -1,6 +1,5 @@
 package eu.etaxonomy.taxeditor;
 
-import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
 import org.eclipse.equinox.p2.core.IProvisioningAgent;
@@ -19,10 +18,8 @@ import org.eclipse.ui.application.WorkbenchWindowAdvisor;
 import eu.etaxonomy.taxeditor.dialogs.LoginDialog;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-       private static final Logger logger = Logger.getLogger(ApplicationWorkbenchWindowAdvisor.class);
 
        public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
                super(configurer);
@@ -65,7 +62,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                final IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(TaxonomicEditorPlugin.bundleContext,
                                IProvisioningAgent.SERVICE_NAME);
                if (agent == null) {
-                       logger.error("No provisioning agent found. This application is not set up for updates.");
+                       ApplicationUtil.error(this.getClass(), "No provisioning agent found. This application is not set up for updates.", null);
                        return;
                }
                
@@ -105,7 +102,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                                        });
                                }
                                if (status.getSeverity() == IStatus.CANCEL){
-                                       logger.info(status);
+                                       ApplicationUtil.info(this.getClass(), status);
 //                                     throw new OperationCanceledException();
                                }
                                
@@ -116,7 +113,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                                        ProvisioningJob job = operation.getProvisioningJob(null);
                                        
                                        if(job == null){
-                                               logger.info(status);
+                                               ApplicationUtil.info(this.getClass(), status);
 //                                             StoreUtil.warningDialog("Updates", status.toString());
                                                return;
 //                                             throw new OperationCanceledException();
@@ -124,7 +121,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
                                        
                                        status = job.runModal(null);//sub.newChild(100));
                                        if (status.getSeverity() == IStatus.CANCEL){
-                                               logger.info(status);
+                                               ApplicationUtil.info(this.getClass(), status);
 //                                             throw new OperationCanceledException();
                                        }
                                }
@@ -134,7 +131,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
 //                             StoreUtil.warningDialog("Updates", status.toString());
                                
                        }catch(Exception e){
-                               logger.error(e);
+                               ApplicationUtil.error(this.getClass(), e);
                        }
                        }
 
index 09a162b29bc876210f375f9301f197fc94e938c9..9a68e39482b2dd85453fda6ffc614148944b0460 100644 (file)
@@ -76,7 +76,7 @@ public class TaxonomicEditorPlugin extends AbstractUIPlugin {
        public void stop(BundleContext context) throws Exception {
                plugin = null;
                super.stop(context);
-               logger.debug("Taxonomic Editor stopped.");
+               ApplicationUtil.info(this.getClass(), "Taxonomic Editor stopped.");
        }
 
        /**
index 0d8eea7b7c84e811e1c35ee644090430b2219728..9324f7fe7a69c44d77eb35a0287dced0158684c9 100644 (file)
@@ -19,6 +19,7 @@ import org.eclipse.ui.PartInitException;
 import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 
 /**
@@ -52,4 +53,8 @@ public class BulkEditorUtil extends AbstractUtility{
                AbstractBulkEditorInput editorInput = AbstractBulkEditorInput.NewInstance(entity);
                open(editorInput, BulkEditor.ID);
        }
+       
+       protected static String getPluginId(){
+               return TaxeditorBulkeditorPlugin.PLUGIN_ID;
+       }
 }
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredCollectionSelectionDialog.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredCollectionSelectionDialog.java
new file mode 100644 (file)
index 0000000..ffe0b2b
--- /dev/null
@@ -0,0 +1,84 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.dialogs.filteredSelection;
+
+import java.util.UUID;
+
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.editor.newWizard.NewCollectionWizard;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class FilteredCollectionSelectionDialog extends
+               AbstractFilteredCdmResourceSelectionDialog<Collection> {
+       
+       public static Collection selectCollection(Shell shell, ConversationHolder conversation, Collection collection){
+               FilteredCollectionSelectionDialog dialog = new FilteredCollectionSelectionDialog(shell, conversation,
+                               "Choose Collection", false, FilteredCollectionSelectionDialog.class.getCanonicalName(), collection);
+               return getSelectionFromDialog(dialog);
+       }
+       
+       /**
+        * @param shell
+        * @param conversation
+        * @param title
+        * @param multi
+        * @param settings
+        * @param cdmObject
+        */
+       protected FilteredCollectionSelectionDialog(Shell shell,
+                       ConversationHolder conversation, String title, boolean multi,
+                       String settings, Collection cdmObject) {
+               super(shell, conversation, title, multi, settings, cdmObject);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getPersistentObject(java.util.UUID)
+        */
+       @Override
+       protected Collection getPersistentObject(UUID uuid) {
+               return CdmStore.getCollectionService().load(uuid);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+        */
+       @Override
+       protected void initModel() {
+               model = CdmStore.getCollectionService().getUuidAndTitleCache();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
+        */
+       @Override
+       protected String getNewWizardLinkText() {
+               return "Click link to create a new <A>Collection</A>.";
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewEntityWizard()
+        */
+       @Override
+       protected AbstractNewEntityWizard getNewEntityWizard() {
+               return new NewCollectionWizard();
+       }
+
+       
+}
index a71be8b477f12cb3b37a8150c2dbbe8fed83a844..b63cb3337e24f4b5f2f45f042776e87e07a34dd8 100644 (file)
@@ -44,7 +44,6 @@ public class FilteredFieldObservationSelectionDialog extends
                        String title, boolean multi, String settings,
                        FieldObservation cdmObject) {
                super(shell, conversation, title, multi, settings, cdmObject);
-               // TODO Auto-generated constructor stub
        }
        
        /* (non-Javadoc)
index c35d33dad62881b8a5025c8a006c7987fc9b5619..4cc069de70771573db9e58371ef99b5bcb65791d 100644 (file)
@@ -26,6 +26,7 @@ import org.eclipse.ui.IEditorReference;
 import org.eclipse.ui.PartInitException;\r
 import org.eclipse.ui.handlers.HandlerUtil;\r
 \r
+import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;\r
 import eu.etaxonomy.taxeditor.editor.view.detail.DetailsViewPart;\r
 import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
 \r
@@ -236,4 +237,8 @@ public class EditorUtil extends AbstractUtility{
                                \r
                return (IStructuredSelection) activeEditor.getSite().getSelectionProvider().getSelection();\r
        }\r
+       \r
+       protected static String getPluginId(){\r
+               return TaxeditorEditorPlugin.PLUGIN_ID;\r
+       }\r
 }\r
index fd3fce79142d792322abe6698e6affad73de15a2..dea1b3037e52da56ce43a21389cf50d8288763d5 100644 (file)
@@ -13,7 +13,6 @@ import java.util.HashSet;
 import java.util.Set;
 import java.util.UUID;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IMemento;
@@ -40,8 +39,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0
  */
 public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPersistableElement {
-       private static final Logger logger = Logger
-                       .getLogger(TaxonEditorInput.class);
 
        private ConversationHolder conversation;
        
@@ -54,7 +51,6 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
        private TaxonEditorInput(TaxonNode taxonNode, ConversationHolder conversation){
                this.conversation = conversation;
                this.taxonNode = taxonNode;
-               logger.trace(TaxonEditorInput.class.getSimpleName() + " created");
        }
        
 
@@ -80,7 +76,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
        TaxonNode taxonNode = CdmStore.getTaxonNodeService().load(taxonNodeUuid, null);
                
                if(taxonNode == null){
-                       EditorUtil.warningDialog("Not yet implemented", "Selected element is not type TaxonBase.");
+                       EditorUtil.warningDialog("Not yet implemented", TaxonEditorInput.class, "Selected element is not type TaxonBase.");
                        return null;
                }       
                
@@ -99,7 +95,7 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
                
                if (taxon.isMisappliedName()){
                        // TODO get accepted taxon
-                       logger.warn("trying to open Mispplied Name ");
+                       EditorUtil.info(TaxonEditorInput.class, "trying to open Mispplied Name ");
                        
                        Set<Taxon> acceptedTaxa = new HashSet<Taxon>();
                        Set<TaxonRelationship> relations = taxon.getRelationsFromThisTaxon();
@@ -134,11 +130,11 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
                return NewInstance(taxonNode.getUuid(), conversation);
        }else if(taxonNodes.size() > 1){
                        // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
-                       EditorUtil.warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+                       EditorUtil.warningDialog("Not implemented yet", TaxonEditorInput.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
                                        " This case is not handled yet by the software.");
                }else if(taxonNodes.size() == 0){
                        // this is an undesired state
-                       EditorUtil.warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+                       EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
                }
        return null;
     }
@@ -150,11 +146,11 @@ public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPe
                return getInputForMultipleNodes(conversation, nodes);
        }else if(taxa.size() > 1){
                        // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
-                       EditorUtil.warningDialog("Not implemented yet", "There are multiple accepted taxa for the current selection. We currently do not know which one you want to open." +
+                       EditorUtil.warningDialog("Not implemented yet", TaxonEditorInput.class, "There are multiple accepted taxa for the current selection. We currently do not know which one you want to open." +
                                        " This case is not handled yet by the software.");
                }else if(taxa.size() == 0){
                        // this is an undesired state
-                       EditorUtil.warningDialog("Incorrect state", "Trying to open accepted taxon for a synonym or misapplication but" +
+                       EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "Trying to open accepted taxon for a synonym or misapplication but" +
                                        " no accepted taxa are present. This should not have happened.");
                }
        return null;
index c9edb548a14ef3129432194744c4e0bb399bf387..76cbbadf11dbd0b5a2161a191c591164542ab896 100644 (file)
@@ -12,7 +12,6 @@ package eu.etaxonomy.taxeditor.editor;
 \r
 import java.util.UUID;\r
 \r
-import org.apache.log4j.Logger;\r
 import org.eclipse.core.runtime.IAdaptable;\r
 import org.eclipse.ui.IElementFactory;\r
 import org.eclipse.ui.IMemento;\r
@@ -26,8 +25,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0\r
  */\r
 public class TaxonEditorInputFactory implements IElementFactory {\r
-       private static final Logger logger = Logger\r
-                       .getLogger(TaxonEditorInputFactory.class);\r
 \r
     /**\r
      * Factory id. The workbench plug-in registers a factory by this name\r
@@ -50,14 +47,13 @@ public class TaxonEditorInputFactory implements IElementFactory {
                return null;\r
         }\r
         if (taxonNodeUuid == null || CdmStore.getTaxonTreeService().getTaxonNodeByUuid(UUID.fromString(taxonNodeUuid)) == null) {\r
-               logger.warn("Couldn't find taxon node with UUID " + taxonNodeUuid);\r
+               EditorUtil.warn(this.getClass(), "Couldn't find taxon node with UUID " + taxonNodeUuid);\r
                return null;\r
         }\r
-        logger.info("Creating taxon node from memento w UUID " + taxonNodeUuid);\r
         try {\r
                        return TaxonEditorInput.NewInstance(UUID.fromString(taxonNodeUuid));\r
                } catch (Exception e) {\r
-                       EditorUtil.warningDialog("Could not create element", e.getMessage());\r
+                       EditorUtil.warningDialog("Could not create element", TaxonEditorInputFactory.class, e.getMessage());\r
                }\r
                return null;\r
        }       \r
index 18abc31426a9241a5a73830dc2f933e5fdd7293a..3e3f1437be2470ffe846d0d9727b8bcfb4cba493 100644 (file)
@@ -14,7 +14,6 @@ import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.IHandler;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.PartInitException;
 
 import eu.etaxonomy.cdm.model.taxon.Taxon;
@@ -39,7 +38,7 @@ public class OpenParentHandler extends AbstractHandler implements IHandler {
                        } catch (PartInitException e) {
                                throw new RuntimeException("Error opening parent taxon", e);
                        } catch (Exception e) {
-                               EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+                               EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());
                        }
                }
                
index 957cd705afe7d70e44b4407c60f9176aeeaaf589..7bf897679adb18c69912bbc2c1d1a486cae22f24 100644 (file)
@@ -92,10 +92,10 @@ public class ChangeAcceptedTaxonToSynonymHandler extends AbstractHandler
                                        }\r
                                        EditorUtil.openTaxonNode(newAcceptedTaxonNodeUuid);\r
                                } catch (PartInitException e) {\r
-                                       logger.error(e);\r
+                                       EditorUtil.error(this.getClass(), e);\r
                                        throw new RuntimeException(e);\r
                                } catch (Exception e) {\r
-                                       EditorUtil.warningDialog("Could not create Taxon", e.getMessage());\r
+                                       EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());\r
                                }\r
                        }\r
                        \r
index 3eaeccd718049299e6bfa288eb861ede55a00c3b..1ca4c744f96b4b7f96eb2783d15333c5064db229 100644 (file)
@@ -125,7 +125,7 @@ public class ChangeSynonymToAcceptedTaxonHandler extends AbstractHandler impleme
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        } catch (Exception e) {
-                               EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+                               EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());
                        }
                }
                return true;
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewCollectionWizard.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewCollectionWizard.java
new file mode 100644 (file)
index 0000000..e020957
--- /dev/null
@@ -0,0 +1,46 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.editor.newWizard;
+
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectionWizardPage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class NewCollectionWizard extends AbstractNewEntityWizard<Collection> {
+
+       @Override
+       public void addPages() {
+               addPage(new CollectionWizardPage(formFactory, getConversationHolder(), entity));
+       }
+       
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity()
+        */
+       @Override
+       protected void saveEntity() {
+               CdmStore.getCollectionService().saveOrUpdate(entity);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
+        */
+       @Override
+       protected Collection createNewEntity() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+       
+}
index be9f4d2c739219ebaea283068ef5dcd546d2d8f9..1d639810b6554d10091343841d2af0c387c996cf 100644 (file)
 
 package eu.etaxonomy.taxeditor.editor.translation;
 
+import java.util.Map;
+
 import org.apache.log4j.Logger;
 import org.eclipse.jface.wizard.Wizard;
 
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.LanguageString;
 
 /**
  * @author n.hoffmann
@@ -26,12 +29,12 @@ public class TranslationWizard extends Wizard {
 
        private TranslationWizardPage page;
        
-       private MultilanguageText multilanguageText;
+       private Map<Language, LanguageString> multilanguageText;
        
        /**
         * @param multilanguageText2
         */
-       public TranslationWizard(MultilanguageText multilanguageText) {
+       public TranslationWizard(Map<Language, LanguageString> multilanguageText) {
                setWindowTitle("Translation Editor");
                this.multilanguageText = multilanguageText;
        }
index 739b3f43b5bf78d4cd1e30c097b8981569389c3a..0359a1ca4fb9dc737606fda18a3c82d131026e2a 100644 (file)
@@ -11,6 +11,7 @@
 package eu.etaxonomy.taxeditor.editor.translation;
 
 import java.util.ArrayList;
+import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.eclipse.jface.util.IPropertyChangeListener;
@@ -22,7 +23,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 
 import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
@@ -45,7 +46,7 @@ public class TranslationWizardPage extends WizardPage implements IPropertyChange
        
        private static int TEXT_HEIGHT = 400;  
        
-       private MultilanguageText multilanguageText;
+       private Map<Language, LanguageString> multilanguageText;
 
        MultilanguageTextElement source;
        
@@ -62,7 +63,7 @@ public class TranslationWizardPage extends WizardPage implements IPropertyChange
        /**
         * @param pageName
         */
-       protected TranslationWizardPage(MultilanguageText multilanguageText) {
+       protected TranslationWizardPage(Map<Language, LanguageString> multilanguageText) {
                super("TranslationWizardPage");
                setTitle("Add or edit translations.");
                this.multilanguageText = multilanguageText;
index 038a44768631cc55bf5b016b741b1bea1397fa1c..b9d4ad4a347cfd741348baa309710c309c9fbb8f 100644 (file)
@@ -6,7 +6,6 @@ package eu.etaxonomy.taxeditor.forms;
 import java.util.HashSet;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.Assert;
 import org.eclipse.core.runtime.ListenerList;
 import org.eclipse.jface.util.IPropertyChangeListener;
@@ -31,7 +30,6 @@ import org.eclipse.ui.forms.widgets.ToggleHyperlink;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 
 /**
@@ -41,14 +39,11 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
  * @version 1.0
  * @param <T>
  */
-public abstract class AbstractFormSection<T extends IVersionableEntity> extends Section implements ISelectionChangedListener, IEntityElement<T>, IConversationEnabled{
-       
-       private static final Logger logger = Logger
-       .getLogger(AbstractFormSection.class);
-               
+public abstract class AbstractFormSection<ENTITY> extends Section implements ISelectionChangedListener, IEntityElement<ENTITY>, IConversationEnabled{
+                       
        private ISelectionProvider selectionProvider;
        
-       private T entity; 
+       private ENTITY entity; 
        
        private Set<ICdmFormElement> elements = new HashSet<ICdmFormElement>();
        
@@ -106,7 +101,7 @@ public abstract class AbstractFormSection<T extends IVersionableEntity> extends
         * 
         * @param entity
         */
-       public void setEntity(T entity){
+       public void setEntity(ENTITY entity){
                this.entity = entity;
        }
 
@@ -114,7 +109,7 @@ public abstract class AbstractFormSection<T extends IVersionableEntity> extends
         * (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity()
         */
-       public T getEntity() {
+       public ENTITY getEntity() {
                return entity;
        }
                
@@ -122,7 +117,7 @@ public abstract class AbstractFormSection<T extends IVersionableEntity> extends
                return this.toggle;
        }
 
-       public AbstractFormSection<T> getSection(){
+       public AbstractFormSection getSection(){
                return this;
        }       
        
index ad0b3d345b37d3468585cf18edeb508b16e01afc..d53d64bb5240c08fed1726284562d62a6a23ecf4 100644 (file)
@@ -6,7 +6,6 @@ package eu.etaxonomy.taxeditor.forms;
 import java.net.URI;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.ListenerList;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.viewers.ISelection;
@@ -57,7 +56,6 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.common.Marker;
 import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
 import eu.etaxonomy.cdm.model.description.CategoricalData;
@@ -97,10 +95,14 @@ import eu.etaxonomy.cdm.model.name.Rank;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
 import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -110,6 +112,7 @@ import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.forms.selection.AbstractSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.AgentSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.ClassificationSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.CollectionSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.FeatureTreeSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.FieldObservationSelectionElement;
@@ -125,6 +128,7 @@ import eu.etaxonomy.taxeditor.forms.selection.TeamSelectionElement;
 import eu.etaxonomy.taxeditor.forms.term.AbstractEnumComboElement;
 import eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement;
 import eu.etaxonomy.taxeditor.forms.term.AnnotationTypeComboElement;
+import eu.etaxonomy.taxeditor.forms.term.DeterminationModifierComboElement;
 import eu.etaxonomy.taxeditor.forms.term.EmptyComboElement;
 import eu.etaxonomy.taxeditor.forms.term.ExtensionTypeComboElement;
 import eu.etaxonomy.taxeditor.forms.term.LanguageComboElement;
@@ -207,14 +211,21 @@ import eu.etaxonomy.taxeditor.section.name.ProtologueElement;
 import eu.etaxonomy.taxeditor.section.name.ProtologueSection;
 import eu.etaxonomy.taxeditor.section.name.SpecimenTypeDesignationElement;
 import eu.etaxonomy.taxeditor.section.name.TypeDesignationSection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectingAreasDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectingAreasDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectionDetailElement;
 import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitBaseDetailElement;
 import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitBaseDetailSection;
 import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitFacadeDetailElement;
 import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitFacadeDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.DeterminationEventDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.DeterminationEventDetailSection;
 import eu.etaxonomy.taxeditor.section.occurrence.FieldObservationDetailElement;
 import eu.etaxonomy.taxeditor.section.occurrence.FieldObservationDetailSection;
 import eu.etaxonomy.taxeditor.section.occurrence.GatheringEventDetailElement;
 import eu.etaxonomy.taxeditor.section.occurrence.GatheringEventDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailSection;
 import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailElement;
 import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailSection;
 import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailElement;
@@ -252,9 +263,6 @@ import eu.etaxonomy.taxeditor.section.taxon.TaxonBaseDetailSection;
  * @version 1.0
  */
 public class CdmFormFactory extends FormToolkit{
-
-       private static final Logger logger = Logger
-                       .getLogger(CdmFormFactory.class);
        
        private BoldFontHolder2 boldFontHolder2;
        private MouseListener selectionMouseHandler;
@@ -417,7 +425,7 @@ public class CdmFormFactory extends FormToolkit{
                if(selectionProvider != null){
                        selectionProvider.removeSelectionChangedListener(selectionArbitrator);
                }else{
-                       logger.error("Tried to destroy a selection listener from this factories listeners but was null");
+                       EditorUtil.error(this.getClass(), "Tried to destroy a selection listener from this factories listeners but was null", null);
                }
        }
 
@@ -499,7 +507,7 @@ public class CdmFormFactory extends FormToolkit{
         * @return
         */
        public MultilanguageTextElement createMultiLanguageTextElement(
-                       ICdmFormElement parentElement, String labelString, MultilanguageText multilanguageText, int textHeight,
+                       ICdmFormElement parentElement, String labelString, Map<Language, LanguageString> multilanguageText, int textHeight,
                        int style) {
                MultilanguageTextElement element = new MultilanguageTextElement(this, parentElement, labelString, multilanguageText, textHeight, style);
                adapt(element);
@@ -598,7 +606,8 @@ public class CdmFormFactory extends FormToolkit{
                MODIFIER, 
                STATISTICAL_MEASURE, 
                SCOPE,
-               EMPTY
+               EMPTY, 
+               DETERMINATION_MODIFIER
        }
        
        public AbstractTermComboElement createTermComboElement(TermComboType termComboType, ICdmFormElement parentElement, String labelString, DefinedTermBase selection, int style){
@@ -668,6 +677,9 @@ public class CdmFormFactory extends FormToolkit{
                case STATISTICAL_MEASURE:
                        element = new StatisticalMeasureComboElement(this, parentElement, labelString, (StatisticalMeasure) selection, style);
                        break;
+               case DETERMINATION_MODIFIER:
+                       element = new DeterminationModifierComboElement(this, parentElement, labelString, (DeterminationModifier) selection, style);
+                       break;
                }
                
                adapt(element);
@@ -751,7 +763,8 @@ public class CdmFormFactory extends FormToolkit{
                FIELD_OBSERVATION, 
                FEATURE_TREE,
                CLASSIFICATION,
-               TAXON_NODE
+               TAXON_NODE,
+               COLLECTION
        }       
                
        /**
@@ -878,7 +891,7 @@ public class CdmFormFactory extends FormToolkit{
        
        public void removeSelectionListener(SelectionListener listener){
                if(listener == null){
-                       logger.error("Tried to remove a selection listener from this factories listeners but was null");
+                       EditorUtil.error(this.getClass(), "Tried to remove a selection listener from this factories listeners but was null", null);
                }else{
                        selectionListenerList.remove(listener);
                }
@@ -965,7 +978,8 @@ public class CdmFormFactory extends FormToolkit{
                DERIVED_UNIT, NATURAL_LANGUAGE, 
                FEATURE_DISTRIBUTION,
                CLASSIFICATION,
-               TAXON_NODE
+               TAXON_NODE, 
+               COLLECTION
        }
        
        /**
@@ -1114,10 +1128,13 @@ public class CdmFormFactory extends FormToolkit{
                case TAXON_NODE:
                        element = new TaxonNodeDetailElement(this, parentElement);
                        break;
+               case COLLECTION:
+                       element = new CollectionDetailElement(this, parentElement);
+                       break;
                }
                
                if(element == null){
-                       logger.error("Detail element was not created. Seems like the case was not implemented for the requested detail type: " + detailType);
+                       EditorUtil.error(this.getClass(), "Detail element was not created. Seems like the case was not implemented for the requested detail type: " + detailType, null);
                }
                
                adapt(element);
@@ -1155,6 +1172,9 @@ public class CdmFormFactory extends FormToolkit{
                STATE_DATA, 
                STATISTICAL_MEASUREMENT_VALUE, 
                DESCRIBED_SPECIMEN, 
+               COLLECTING_AREA, 
+               DETERMINATION_EVENT, 
+               SPECIMEN_COLLECTION, 
        }
        
        /**
@@ -1237,6 +1257,15 @@ public class CdmFormFactory extends FormToolkit{
                case DESCRIBED_SPECIMEN:
                        section = new DescribedSpecimenSection(this, conversation, parentElement, style);
                        break;
+               case COLLECTING_AREA:
+                       section = new CollectingAreasDetailSection(this, conversation, parentElement, style);
+                       break;
+               case DETERMINATION_EVENT:
+                       section = new DeterminationEventDetailSection(this, conversation, parentElement, style);
+                       break;
+               case SPECIMEN_COLLECTION:
+                       section = new SpecimenCollectionDetailSection(this, conversation, parentElement, style);
+                       break;
                }
                parentElement.addElement(section);
                adapt(section);
@@ -1319,6 +1348,15 @@ public class CdmFormFactory extends FormToolkit{
                else if(entity instanceof DerivedUnit){
                        element = new DerivedUnitElement(this, parentElement, (DerivedUnit) entity, removeListener,  style);
                }
+               else if(entity instanceof NamedArea){
+                       element = new CollectingAreasDetailElement(this, parentElement, (NamedArea) entity, removeListener, style);
+               }
+               else if(entity instanceof DeterminationEvent){
+                       element = new DeterminationEventDetailElement(this, parentElement, (DeterminationEvent) entity, removeListener, style);
+               }
+               else if(entity instanceof Specimen){
+                       element = new SpecimenCollectionDetailElement(this, parentElement, (Specimen) entity, removeListener, style);
+               }
                
                else if(entity instanceof DescriptionElementBase){
                        // this is the special case for protologs, maybe we can do this differently when API improves
@@ -1329,9 +1367,8 @@ public class CdmFormFactory extends FormToolkit{
                }
                
                if(element == null){
-                       String message = "Could not generate element for entity. Looks like the case is not handled already. Check implementation. Entity: " + entity;
-                       EditorUtil.errorDialog("No element for entity", message);
-                       logger.error(message);
+                       EditorUtil.errorDialog("No element for entity", this, "Could not generate element for entity. " +
+                                       "Looks like the case is not handled already. Check implementation. Entity: " + entity, null);
                }
                
                if(backgroundColor != null && !backgroundColor.isDisposed()){
@@ -1397,6 +1434,9 @@ public class CdmFormFactory extends FormToolkit{
                case TAXON_NODE:
                        element = new TaxonNodeSelectionElement(this, conversation, parentElement, labelString, (TaxonNode) entity, style);
                        break;
+               case COLLECTION:
+                       element = new CollectionSelectionElement(this, conversation, parentElement, labelString, (Collection) entity, style);
+                       break;
                default:
                        new RuntimeException("There is no selection composite for the desired selection type.");
                        break;
index 3ceb110cff16c66dc537d97be63d32bd39db788b..bbc65b99038e17b5afd631d790144d66b35b2f80 100644 (file)
 
 package eu.etaxonomy.taxeditor.forms;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Label;
 
@@ -28,9 +26,6 @@ import eu.etaxonomy.taxeditor.preference.Resources;
  * @version 1.0
  */
 public class CheckboxElement extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement {
-
-       private static final Logger logger = Logger
-                       .getLogger(CheckboxElement.class);
        
        private Button checkbox;
 
@@ -95,4 +90,13 @@ public class CheckboxElement extends AbstractCdmFormElement implements Selection
                Color color = EditorUtil.getColor(colorId);
                checkbox.setBackground(color);
        }
+       
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#setBackground(org.eclipse.swt.graphics.Color)
+        */
+       @Override
+       public void setBackground(Color color) {
+               checkbox.setBackground(color);
+               if (label != null) label.setBackground(color);
+       }
 }
index 520a4744ed8ac27e8904ffad8b31ce03182895bc..be2529871572f30d293e934c17fe5b95410b2445 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.forms;
 
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
 
 /**
  * Any composite that represent a cdm entity should implement 
@@ -21,12 +20,12 @@ import eu.etaxonomy.cdm.model.common.IVersionableEntity;
  * @created Feb 16, 2010
  * @version 1.0
  */
-public interface IEntityElement<T extends IVersionableEntity> extends ICdmFormElement, ISelectable {
+public interface IEntityElement<ENTITY> extends ICdmFormElement, ISelectable {
 
        /**
         * Returns the entity of this composite.
         * 
         * @return
         */
-       public T getEntity();
+       public ENTITY getEntity();
 }
index 97680dad7b6035f787f41078ee540aaab28522de..0e162efb3bcf1f35fbf7929c540ade5d054b2d08 100644 (file)
@@ -25,9 +25,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class LanguageStringWithLabelElement extends TextWithLabelElement {
 
-
-       private static final Logger logger = Logger
-                       .getLogger(LanguageStringWithLabelElement.class);
        private LanguageString languageString;
        
        protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
@@ -43,11 +40,7 @@ public class LanguageStringWithLabelElement extends TextWithLabelElement {
                super(formFactory, parentElement, labelString, null, height, style);
                this.languageString = languageString;
        }
-       
-       public void setLanguageString(LanguageString languageString, Language language) {
-               setLanguageString(languageString != null ? languageString : LanguageString.NewInstance("", language));
-       }
-       
+               
        public LanguageString getLanguageString() {
                return languageString;
        }
@@ -60,10 +53,9 @@ public class LanguageStringWithLabelElement extends TextWithLabelElement {
        
        @Override
        public void setText(String text) {
-               if(languageString == null){
-                       languageString = LanguageString.NewInstance("", CdmStore.getDefaultLanguage());
+               if(text != null){
+                       languageString.setText(text);
                }
-               languageString.setText(text);
        }
 
        /**
index 4cb1acded7529e1efa9c74fab7e525e0512fb094..dfa0f67a608dfe5db50357571b990710285c662f 100644 (file)
@@ -13,8 +13,9 @@ package eu.etaxonomy.taxeditor.forms;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
@@ -24,7 +25,7 @@ import org.eclipse.swt.widgets.Button;
 
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.translation.TranslationWizard;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
@@ -38,13 +39,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class MultilanguageTextElement extends AbstractCdmFormElement implements SelectionListener{
 
-       private static final Logger logger = Logger
-                       .getLogger(MultilanguageTextElement.class);
-
        private class OpenTranslationWizard extends SelectionAdapter {
-               private MultilanguageText multilanguageText;
+               private Map<Language, LanguageString> multilanguageText;
 
-               public OpenTranslationWizard(MultilanguageText multilanguageText){
+               public OpenTranslationWizard(Map<Language, LanguageString> multilanguageText){
                        super();
                        this.multilanguageText = multilanguageText;
                }
@@ -61,30 +59,30 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                }
        }
        
+       
        private EmptyComboElement<Language> combo_language;
        
-       private LanguageStringWithLabelElement languageString;
+       private LanguageStringWithLabelElement element_languageString;
 
        private Button button;
 
 
 
-       private MultilanguageText multilanguageText;
+       private Map<Language, LanguageString> multilanguageText;
        
        /**
         * @param formFactory
         * @param formElement
         */
        public MultilanguageTextElement(CdmFormFactory formFactory,
-                       ICdmFormElement formElement, String labelString, MultilanguageText multilanguageText, Integer textHeight, int style) {
+                       ICdmFormElement formElement, String labelString, Map<Language, LanguageString> multilanguageText, Integer textHeight, int style) {
                super(formFactory, formElement);
+                               
+               formFactory.addPropertyChangeListener(this);
                
-               this.multilanguageText = multilanguageText;
-               
-               languageString = formFactory.createLanguageStringWithLabelElement(formElement, "", null, textHeight, style);
+               element_languageString = formFactory.createLanguageStringWithLabelElement(formElement, "", null, textHeight, style);
                                
                combo_language = (EmptyComboElement<Language>) formFactory.createTermComboElement(TermComboType.EMPTY, formElement, "", null, style);
-               combo_language.setTerms(getLanguages());
                combo_language.addSelectionListener(this);
                combo_language.setEnabled(false);
                
@@ -95,7 +93,8 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                button.setLayoutData(CdmFormFactory.RIGHT());
                button.addSelectionListener(new OpenTranslationWizard(multilanguageText));
                button.setEnabled(false);
-               updateControls();
+               
+               setMultilanguageText(multilanguageText);
        }
        
        /* (non-Javadoc)
@@ -125,7 +124,7 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
                if(selectedLanguage != null){
                        LanguageString selectedLanguageString = getMultilanguageText().get(selectedLanguage);
        
-                       languageString.setLanguageString(selectedLanguageString);
+                       element_languageString.setLanguageString(selectedLanguageString);
                }
        }
 
@@ -138,8 +137,14 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
        /**
         * @param multilanguageText the multilanguageText to set
         */
-       public void setMultilanguageText(MultilanguageText multilanguageText) {
+       public void setMultilanguageText(Map<Language, LanguageString> multilanguageText) {
                this.multilanguageText = multilanguageText;
+               
+               if(multilanguageText.isEmpty()){
+                       multilanguageText.put(CdmStore.getDefaultLanguage(), LanguageString.NewInstance("", CdmStore.getDefaultLanguage()));
+               }
+               combo_language.setTerms(getLanguages());
+               
                updateControls();
        }
 
@@ -147,16 +152,31 @@ public class MultilanguageTextElement extends AbstractCdmFormElement implements
         * 
         */
        private void updateControls() {
-               LanguageString preferredLanguageString = multilanguageText.getPreferredLanguageString(Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()}));
-               
-               languageString.setLanguageString(preferredLanguageString);
+               LanguageString preferredLanguageString = MultilanguageTextHelper.getPreferredLanguageString(getMultilanguageText(), Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()}));
+                       
+               element_languageString.setLanguageString(preferredLanguageString);
                combo_language.setSelection(preferredLanguageString.getLanguage());
        }
 
        /**
         * @return the multilanguageText
         */
-       public MultilanguageText getMultilanguageText() {
-               return multilanguageText != null ? multilanguageText : MultilanguageText.NewInstance();
+       public Map<Language, LanguageString> getMultilanguageText() {
+               return multilanguageText;
+       }
+       
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+        */
+       @Override
+       public void propertyChange(PropertyChangeEvent event) {
+               if(event == null){
+                       return;
+               }
+               Object eventSource = event.getSource();
+               if(eventSource == element_languageString){
+                       LanguageString languageString = ((LanguageStringWithLabelElement) eventSource).getLanguageString();
+                       multilanguageText.put(languageString.getLanguage(), languageString);
+               }
        }
 }
index f8567cf653b8761575edae3548b98ef4817e3438..2088b0ef484b078691b73dfe405f73a8f8cc1f68 100644 (file)
@@ -3,7 +3,6 @@
  */
 package eu.etaxonomy.taxeditor.forms;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyAdapter;
 import org.eclipse.swt.events.KeyEvent;
@@ -11,7 +10,6 @@ import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Text;
@@ -26,9 +24,7 @@ import eu.etaxonomy.taxeditor.preference.Resources;
  *
  */
 public class TextWithLabelElement extends AbstractCdmFormElement implements ModifyListener, IEnableableFormElement{
-       
-       private static final Logger logger = Logger.getLogger(TextWithLabelElement.class);
-       
+               
        protected Text text;
        private Label label;
        
index d20d7a7d43cc21ab947e78d74a3b6d78492d0f92..bae8c78da40b00c5a1b6fe38cad85d952dca256a 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.forms;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Label;
@@ -25,9 +24,6 @@ import eu.etaxonomy.cdm.model.common.TimePeriod;
  */
 public class TimePeriodElement extends AbstractCdmFormElement{
 
-
-       private static final Logger logger = Logger
-                       .getLogger(TimePeriodElement.class);
        private Label label;
        
        private TextWithLabelElement text_freeText;
@@ -102,6 +98,6 @@ public class TimePeriodElement extends AbstractCdmFormElement{
        
        @Override
        public void setBackground(Color color) {
-               label.setBackground(color);
+               if(label != null) label.setBackground(color);
        }
 }
index 1e2915a3f479c05a47d8dd71d6c594a7200f8c80..b09a5fce6fa440af29664a55abddcac2628d1da6 100644 (file)
@@ -3,7 +3,6 @@
  */
 package eu.etaxonomy.taxeditor.forms.selection;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -39,11 +38,8 @@ import eu.etaxonomy.taxeditor.preference.Resources;
  * @version 1.0
  * @param <T>
  */
-public abstract class AbstractSelectionElement<T extends IAnnotatableEntity> extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement<T>, IConversationEnabled{
+public abstract class AbstractSelectionElement<T extends IAnnotatableEntity> extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement, IConversationEnabled{
 
-       private static final Logger logger = Logger
-                               .getLogger(AbstractSelectionElement.class);
-       
        protected T entity;
        
        protected Label label;
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/CollectionSelectionElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/CollectionSelectionElement.java
new file mode 100644 (file)
index 0000000..57838c2
--- /dev/null
@@ -0,0 +1,55 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.forms.selection;
+
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredCollectionSelectionDialog;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionSelectionElement extends AbstractSelectionElement<Collection> {
+
+       /**
+        * @param formFactory
+        * @param conversation
+        * @param parentElement
+        * @param labelString
+        * @param entity
+        * @param isEditable
+        * @param isSelectable
+        * @param isDeletable
+        * @param style
+        */
+       public CollectionSelectionElement(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement,
+                       String labelString, Collection entity, int style) {
+               super(formFactory, conversation, parentElement, labelString, entity,
+                               true, true, true, style);
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+        */
+       @Override
+       public void widgetSelected(SelectionEvent e) {
+               Collection newSelection = FilteredCollectionSelectionDialog.selectCollection(getShell(), getConversationHolder(), getEntity());
+               setSelectionInternal(newSelection);
+       }
+       
+}
index f0f257f8d3df17a6c94b74aa575102510fba7e14..1f90651d4af430c7a6e526019f36962cd35812a6 100644 (file)
@@ -24,6 +24,7 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.cdm.model.reference.ReferenceBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.section.agent.PersonWizardPage;
@@ -38,8 +39,6 @@ import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseWizardPage;
  * @version 1.0
  */
 public class EditFromSelectionWizard extends Wizard implements SelectionListener {
-       private static final Logger logger = Logger
-                       .getLogger(EditFromSelectionWizard.class);
        
        private AbstractSelectionElement selectionElement;
 
@@ -73,8 +72,7 @@ public class EditFromSelectionWizard extends Wizard implements SelectionListener
                        page = new DerivedUnitFacadeWizardPage(formFactory, selectionElement.getConversationHolder(), (DerivedUnitBase) entity);
                }
                else{
-                       logger.warn("No detail element for current selection");
-                       throw new RuntimeException("Could not open wizard for selected entity");
+                       EditorUtil.warningDialog("Missing interface", this, "No detail element for current selection");
                }
                
                addPage(page);
index 4101a7c83bfab644cc3537e66d5d7a4e4f1e9e4d..62362a8a49ce0935d56b1a77da56bb168c9a6703 100644 (file)
@@ -12,8 +12,6 @@ package eu.etaxonomy.taxeditor.forms.term;
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
-
 import eu.etaxonomy.cdm.model.common.AnnotationType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
@@ -26,9 +24,6 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
  */
 public class AnnotationTypeComboElement extends AbstractTermComboElement<AnnotationType> {
 
-       private static final Logger logger = Logger
-                       .getLogger(AnnotationTypeComboElement.class);
-
        private static final int VISIBLE_ITEMS = 10;
        
        public AnnotationTypeComboElement(CdmFormFactory formFactory,
@@ -41,7 +36,7 @@ public class AnnotationTypeComboElement extends AbstractTermComboElement<Annotat
         * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms()
         */
        @Override
-       protected List preferredTerms() {
+       protected List<AnnotationType> preferredTerms() {
                return PreferencesUtil.getPreferredAnnotationTypes();
        }
 }
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/DeterminationModifierComboElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/DeterminationModifierComboElement.java
new file mode 100644 (file)
index 0000000..67911f2
--- /dev/null
@@ -0,0 +1,51 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.forms.term;
+
+import java.util.List;
+
+import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class DeterminationModifierComboElement extends AbstractTermComboElement<DeterminationModifier> {
+
+       private static final int VISIBLE_ITEMS = 10;
+       
+       /**
+        * @param formFactory
+        * @param parentElement
+        * @param labelString
+        * @param selection
+        * @param visibleItems
+        * @param style
+        */
+       public DeterminationModifierComboElement(CdmFormFactory formFactory,
+                       ICdmFormElement parentElement, String labelString,
+                       DeterminationModifier selection, int style) {
+               super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms()
+        */
+       @Override
+       protected List<DeterminationModifier> preferredTerms() {
+               return PreferencesUtil.getPreferredDeterminationModifiers();
+       }
+
+}
index 58a71248ed17e9df8f4a467937702ab81edf38a5..d3569e80a37ad2e9d43f3a50fc4258ab761b0b6e 100644 (file)
@@ -12,15 +12,12 @@ package eu.etaxonomy.taxeditor.section;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Composite;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
 import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
@@ -36,10 +33,7 @@ import eu.etaxonomy.taxeditor.forms.ISelectable;
  * @version 1.0
  */
 public abstract class AbstractCdmDetailElement<T extends IAnnotatableEntity> extends
-               AbstractCdmFormElement implements IEntityElement<T>, ISelectable, IEnableableFormElement, IConversationEnabled{
-
-       private static final Logger logger = Logger
-       .getLogger(AbstractCdmDetailElement.class);
+               AbstractCdmFormElement implements IEntityElement, ISelectable, IEnableableFormElement, IConversationEnabled{
        
        private T entity;
                
index 3cab9794748ebe020c3cb077f7ce82a5e27db958..d5d1a937e8d9e3116e974952dadf07c8be936fd1 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
@@ -35,13 +34,9 @@ import eu.etaxonomy.taxeditor.forms.SelectionArbitrator;
  * @created Feb 26, 2010
  * @version 1.0
  */
-public abstract class AbstractCdmDetailSection<T extends IAnnotatableEntity> extends AbstractFormSection<T> implements IEnableableFormElement, IExpansionListener{
-
-
-       private static final Logger logger = Logger
-                       .getLogger(AbstractCdmDetailSection.class);
+public abstract class AbstractCdmDetailSection<ENTITY extends IAnnotatableEntity> extends AbstractFormSection<ENTITY> implements IEnableableFormElement, IExpansionListener{
        
-       protected AbstractCdmDetailElement<T> detailElement;
+       protected AbstractCdmDetailElement<ENTITY> detailElement;
        
        protected SelectionArbitrator selectionArbitrator;
        
@@ -56,7 +51,7 @@ public abstract class AbstractCdmDetailSection<T extends IAnnotatableEntity> ext
        }
        
        
-       protected void createControls(AbstractCdmDetailSection<T> formElement, int style) {
+       protected void createControls(AbstractCdmDetailSection<ENTITY> formElement, int style) {
                TableWrapLayout layout = (TableWrapLayout) getLayoutComposite().getLayout();
                layout.topMargin = 10;
                layout.numColumns = 2;
@@ -91,7 +86,7 @@ public abstract class AbstractCdmDetailSection<T extends IAnnotatableEntity> ext
                super.setBackground(color);
        }
        
-       public void setEntity(T entity) {
+       public void setEntity(ENTITY entity) {
                if(detailElement != null){
                        detailElement.setEntity(entity);
                }
index 2b95b854061cc68402c5eba83ca4865425ea4ea3..abe6a9ebbed463ad6cc0e09d8547ede60a5b7ce5 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
@@ -18,13 +17,11 @@ import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Layout;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
 import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
@@ -39,10 +36,7 @@ import eu.etaxonomy.taxeditor.model.ImageResources;
  * @created Nov 16, 2009
  * @version 1.0
  */
-public abstract class AbstractEntityCollectionElement<ENTITY extends IVersionableEntity> extends AbstractCdmFormElement implements IEntityElement<ENTITY>, SelectionListener, IConversationEnabled{
-
-       private static final Logger logger = Logger
-                       .getLogger(AbstractEntityCollectionElement.class);
+public abstract class AbstractEntityCollectionElement<ENTITY> extends AbstractCdmFormElement implements IEntityElement<ENTITY>, SelectionListener, IConversationEnabled{
        
        protected ENTITY entity;
        
index 7dfa977afad03d7c248b3b2f27dc8109da961261..fb885ac6dac0f343db34e7474c027eb78146d315 100644 (file)
@@ -6,7 +6,6 @@ package eu.etaxonomy.taxeditor.section;
 import java.util.Collection;
 
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.log4j.Logger;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.ToolBarManager;
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -40,11 +39,8 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
  * @author n.hoffmann
  *
  */
-public abstract class AbstractEntityCollectionSection<ENTITY extends IVersionableEntity, ELEMENT extends IVersionableEntity> extends AbstractFormSection<ENTITY> implements IExpansionListener{
-       
-       private static final Logger logger = Logger
-                               .getLogger(AbstractEntityCollectionSection.class);
-       
+public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT extends IVersionableEntity> extends AbstractFormSection<ENTITY> implements IExpansionListener{
+               
        protected Composite container;
        
        private Label label_empty;
index c9ed660ff517a42a71d8556c933a6dd89f89b1dd..b8a1b68f4ffa9849d542d1b8b73c9830d196ad12 100644 (file)
@@ -42,7 +42,7 @@ public class BulkEditorOpeningSelectionListener extends SelectionAdapter{
                                logger.error("Trying to open bulk editor for null entity");                             
                        }
                        if(entity.getId() == 0){
-                               EditorUtil.warningDialog(entity.getClass().getSimpleName() + " not persisted yet", 
+                               EditorUtil.warningDialog(entity.getClass().getSimpleName() + " not persisted yet", this,
                                                "Please save the currently open editor to edit details of the selected entity.");
                                logger.warn("Object not persisted yet");
                        }else{
index 96becf41efc606e8137cd5f5b83c256ad6eeb6c9..27b2cd8826ef8d8dc8a265968903b87b3be4d790 100644 (file)
@@ -13,12 +13,8 @@ package eu.etaxonomy.taxeditor.section;
 import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
-import org.joda.time.DateTime;
 
-import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.common.VersionableEntity;
 import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
@@ -30,7 +26,7 @@ import eu.etaxonomy.taxeditor.forms.IEntityElement;
  * @created Nov 5, 2009
  * @version 1.0
  */
-public class EmptyElement extends AbstractCdmFormElement implements IEntityElement<VersionableEntity> {
+public class EmptyElement extends AbstractCdmFormElement implements IEntityElement {
 
        private static final Logger logger = Logger.getLogger(EmptyElement.class);
        private VersionableEntity entity;
index f2d8fa23b26fa95c060f5c746223f3eda68e2909..8d02531aa5463643760d626fbd26182bd48547f9 100644 (file)
@@ -12,14 +12,13 @@ package eu.etaxonomy.taxeditor.section.agent;
 
 import java.util.Arrays;
 
-import org.apache.log4j.Logger;
 import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.ToggleableTextElement;
-import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
 
 /**
@@ -29,9 +28,6 @@ import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
  */
 public class TeamDetailElement extends AbstractCdmDetailElement<Team> {
 
-       private static final Logger logger = Logger
-                       .getLogger(TeamDetailElement.class);
-
        private ToggleableTextElement toggleable_cache;
 
        private ToggleableTextElement toggleable_nomenclaturalTitleCache;
index 4ed1a5c54976e805cf2bd8ceb633efd6451fd7a5..99b752728a51409f5717421e61fee06a5e21958e 100644 (file)
@@ -12,8 +12,6 @@ package eu.etaxonomy.taxeditor.section.agent;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
-
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.model.agent.Person;
 import eu.etaxonomy.cdm.model.agent.Team;
@@ -28,9 +26,6 @@ import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
  */
 public class TeamMemberSection extends AbstractEntityCollectionSection<Team, Person> {
 
-       private static final Logger logger = Logger
-                       .getLogger(TeamMemberSection.class);
-
        public TeamMemberSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
                super(cdmFormFactory, conversation, parentElement, null, style);
        }
index 798599114212fc9f08783c039465827323c3ed28..7b0bdeffd6fa149c50c28dda661e5c7744f6793b 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section.description;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.location.NamedArea;
@@ -25,10 +24,6 @@ import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
  * @version 1.0
  */
 public class GeoScopeElement extends AbstractEntityCollectionElement<NamedArea> {
-       
-
-       private static final Logger logger = Logger
-                       .getLogger(GeoScopeElement.class);
 
        public GeoScopeElement(CdmFormFactory formFactory,
                        AbstractFormSection section, NamedArea entity,
index eaddeb38757c8537baa6d530d950bfb8f283194f..d39f46634595b9dd8055ff882a0bfe9eeb487ff5 100644 (file)
 
 package eu.etaxonomy.taxeditor.section.description.detail;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
 import eu.etaxonomy.cdm.model.description.TextData;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.MultilanguageTextElement;
-import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
  * @author n.hoffmann
@@ -28,9 +24,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class TextDataDetailElement extends AbstractDetailedDescriptionDetailElement<TextData> {
        
-       private static final Logger logger = Logger
-                       .getLogger(TextDataDetailElement.class);
-       private TextWithLabelElement multilineTextWithLabel;
        private MultilanguageTextElement multilanguageTextElement;
        
        public TextDataDetailElement(CdmFormFactory formFactory,
@@ -41,18 +34,13 @@ public class TextDataDetailElement extends AbstractDetailedDescriptionDetailElem
        @Override
        protected void createControls(ICdmFormElement formElement, TextData entity,
                        int style) {
-               multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, (MultilanguageText) MultilanguageText.NewInstance(entity.getLanguageText(CdmStore.getDefaultLanguage())), 400, SWT.WRAP);
-               
-               
-//             multilineTextWithLabel = formFactory.createMultilineTextWithLabel(this, null, 400, SWT.WRAP); // TODO: MultilineTextWithLabel.MAX_HEIGHT once layout is correct
-//
-//             multilineTextWithLabel.setText(entity.getText(CdmStore.getDefaultLanguage()));
+               multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getMultilanguageText(), 400, SWT.WRAP);
        }
 
        @Override
        public void handleEvent(Object eventSource) {
-               if(eventSource == multilineTextWithLabel){
-                       getEntity().putText(multilineTextWithLabel.getText(), CdmStore.getDefaultLanguage());
+               if(eventSource == multilanguageTextElement){
+                       getEntity().setMultilanguageText(multilanguageTextElement.getMultilanguageText());
                }
        }
 }
index da66b12687077928bccc0e082858f9270b5cd698..502191eea37f854886a71277afc909541cc7edc3 100644 (file)
@@ -10,8 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section.name;
 
-import org.apache.log4j.Logger;
-import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
@@ -21,7 +19,6 @@ import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
 import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.forms.IEntityElement;
 import eu.etaxonomy.taxeditor.forms.ISelectableElement;
 import eu.etaxonomy.taxeditor.forms.SelectionArbitrator;
 import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
@@ -32,10 +29,14 @@ import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
  * @created Nov 5, 2009
  * @version 1.0
  */
-public class ProtologueElement extends AbstractEntityCollectionElement<DescriptionElementBase> implements IEntityElement<DescriptionElementBase>, ISelectableElement{
+public class ProtologueElement extends AbstractEntityCollectionElement<DescriptionElementBase> implements ISelectableElement{
 
        private SelectionArbitrator selectionArbitrator;
 
+       private TextWithLabelElement protologueUriText;
+       private MediaRepresentationPart mediaRepresentationPart;
+       private Media media;
+       private MediaRepresentation mediaRepresentation;
 
        /**
         * @param parent
@@ -50,14 +51,6 @@ public class ProtologueElement extends AbstractEntityCollectionElement<Descripti
                selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
        }
 
-       private static final Logger logger = Logger
-                       .getLogger(ProtologueElement.class);
-
-       private TextWithLabelElement protologueUriText;
-       private MediaRepresentationPart mediaRepresentationPart;
-       private Media media;
-       private MediaRepresentation mediaRepresentation;
-
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
         */
index 1c319baac07976fd4bf7439ed0d8640f0ae10ffd..6594862842f77eeda1e2687316f78323fa83d498 100644 (file)
@@ -12,8 +12,6 @@ package eu.etaxonomy.taxeditor.section.name;
 
 import java.util.Collection;
 
-import org.apache.log4j.Logger;
-
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
@@ -35,9 +33,6 @@ import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
  */
 public class ProtologueSection extends AbstractEntityCollectionSection<TaxonNameBase, DescriptionElementBase> implements ITaxonDetailSection{
        
-       private static final Logger logger = Logger
-       .getLogger(ProtologueSection.class);
-
        /**
         * 
         * @param cdmFormFactory
index 6c48e2e181b255f1cf20c5e830a85846cd1aef81..4d6375535ac61b9039cc203d7605d7c1f025bdd5 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section.name;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
@@ -19,6 +18,7 @@ import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.occurrence.Specimen;
 import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
@@ -33,9 +33,6 @@ import eu.etaxonomy.taxeditor.forms.term.SpecimenTypeDesignationStatusComboEleme
 public class SpecimenTypeDesignationElement extends
                AbstractTypeDesignationElement<SpecimenTypeDesignation> {
 
-
-       private static final Logger logger = Logger
-                       .getLogger(SpecimenTypeDesignationElement.class);
        private SpecimenTypeDesignationStatusComboElement combo_typeStatus;
        private DerivedUnitBaseSelectionElement selection_typeSpecimen;
        private TextWithLabelElement text_specimenTypeText;
@@ -51,9 +48,9 @@ public class SpecimenTypeDesignationElement extends
                // TODO until we do not have a specimen editor we will provide a simple text interface to enter specimen 
                // information
                
-               text_specimenTypeText = formFactory.createTextWithLabelElement(formElement, "Unit", null, style);
+//             text_specimenTypeText = formFactory.createTextWithLabelElement(formElement, "Unit", null, style);
                // TODO testing the specimen selection dialog
-//             selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, formElement, "Unit", null, style);
+               selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), formElement, "Unit", null, style);
                combo_typeStatus = (SpecimenTypeDesignationStatusComboElement) formFactory.createTermComboElement(TermComboType.SPECIMENTYPEDESIGNATIONSTATUS, formElement, "Designation Status", null, style);
                
                super.createControls(formElement, style);
@@ -77,6 +74,7 @@ public class SpecimenTypeDesignationElement extends
                if(eventSource == combo_typeStatus){
                        getEntity().setTypeStatus(combo_typeStatus.getSelection());
                }
+               // TODO remove this once specimens are correctly implemented
                else if(eventSource == text_specimenTypeText){
                        // TODO this is a simple workaround to enter type specimen as text strings
                        if(getEntity().getTypeSpecimen() == null){
@@ -84,7 +82,10 @@ public class SpecimenTypeDesignationElement extends
                                getEntity().setTypeSpecimen(typeSpecimen);
                        }
                        getEntity().getTypeSpecimen().setTitleCache(text_specimenTypeText.getText());
-               }               
+               }       
+               else if(eventSource == selection_typeSpecimen){
+                       getEntity().setTypeSpecimen(selection_typeSpecimen.getSelection());
+               }
                else if(eventSource == checkbox_notDesignated){
                        getEntity().setNotDesignated(checkbox_notDesignated.getSelection());
                }
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/AbstractEventDetailElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/AbstractEventDetailElement.java
new file mode 100644 (file)
index 0000000..36c0e20
--- /dev/null
@@ -0,0 +1,70 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.common.EventBase;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.forms.TimePeriodElement;
+import eu.etaxonomy.taxeditor.forms.selection.AgentSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public abstract class AbstractEventDetailElement<T extends EventBase> extends AbstractEntityCollectionElement<T> {
+
+       protected AgentSelectionElement selection_agent;
+       protected TextWithLabelElement text_description;
+       protected TimePeriodElement element_timePeriod;
+       
+       /**
+        * @param formFactory
+        * @param section
+        * @param entity
+        * @param removeListener
+        * @param backgroundColor
+        * @param style
+        */
+       public AbstractEventDetailElement(CdmFormFactory formFactory,
+                       AbstractFormSection section, T entity,
+                       SelectionListener removeListener, int style) {
+               super(formFactory, section, entity, removeListener, null, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+        */
+       @Override
+       public void setEntity(T entity) {
+               selection_agent.setEntity(entity.getActor());
+               text_description.setText(entity.getDescription());
+               element_timePeriod.setEntity(entity.getTimeperiod());
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+        */
+       @Override
+       public void createControls(ICdmFormElement element, int style) {
+               selection_agent = (AgentSelectionElement) formFactory.createSelectionElement(SelectionType.AGENT, getConversationHolder(), element, "Actor", null, style);
+               text_description = formFactory.createTextWithLabelElement(element, "Description", null, style);
+               element_timePeriod = formFactory.createTimePeriodElement(element, "Time Period", null, style);
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailElement.java
new file mode 100644 (file)
index 0000000..c44d21e
--- /dev/null
@@ -0,0 +1,72 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.NamedAreaSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class CollectingAreasDetailElement extends
+               AbstractEntityCollectionElement<NamedArea> {
+
+       private NamedAreaSelectionElement selection_namedArea;
+       
+       /**
+        * @param formFactory
+        * @param section
+        * @param entity
+        * @param removeListener
+        * @param backgroundColor
+        * @param style
+        */
+       public CollectingAreasDetailElement(CdmFormFactory formFactory,
+                       AbstractFormSection section, NamedArea entity,
+                       SelectionListener removeListener, int style) {
+               super(formFactory, section, entity, removeListener, null, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+        */
+       @Override
+       public void setEntity(NamedArea entity) {
+               selection_namedArea.setEntity(entity);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+        */
+       @Override
+       public void createControls(ICdmFormElement element, int style) {
+               selection_namedArea = formFactory.createNamedAreaSelectionElement(element, getConversationHolder(), "Area", null, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+        */
+       @Override
+       public void handleEvent(Object eventSource) {
+               if(eventSource == selection_namedArea){
+                       setEntity(selection_namedArea.getSelection());
+               }
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailSection.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailSection.java
new file mode 100644 (file)
index 0000000..ea4aa99
--- /dev/null
@@ -0,0 +1,90 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class CollectingAreasDetailSection extends
+               AbstractEntityCollectionSection<DerivedUnitFacade, NamedArea> {
+
+       /**
+        * @param formFactory
+        * @param conversation
+        * @param parentElement
+        * @param title
+        * @param style
+        */
+       public CollectingAreasDetailSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+               super(formFactory, conversation, parentElement, "Collecting Areas", style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+        */
+       @Override
+       public Collection<NamedArea> getCollection(DerivedUnitFacade entity) {
+               return entity.getCollectingAreas();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+        */
+       @Override
+       public NamedArea createNewElement() {
+               return NamedArea.NewInstance();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void addElement(NamedArea element) {
+               getEntity().addCollectingArea(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void removeElement(NamedArea element) {
+               getEntity().removeCollectingArea(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+        */
+       @Override
+       public String getEmptyString() {
+               return "No collecting areas yet.";
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+        */
+       @Override
+       protected String getTooltipString() {
+               return "Add a collecting area";
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionDetailElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionDetailElement.java
new file mode 100644 (file)
index 0000000..7ab8e62
--- /dev/null
@@ -0,0 +1,53 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionDetailElement extends AbstractCdmDetailElement<Collection> {
+
+       /**
+        * @param formFactory
+        * @param formElement
+        */
+       public CollectionDetailElement(CdmFormFactory formFactory,
+                       ICdmFormElement formElement) {
+               super(formFactory, formElement);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, eu.etaxonomy.cdm.model.common.IAnnotatableEntity, int)
+        */
+       @Override
+       protected void createControls(ICdmFormElement formElement,
+                       Collection entity, int style) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+        */
+       @Override
+       public void handleEvent(Object eventSource) {
+               // TODO Auto-generated method stub
+               
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionWizardPage.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionWizardPage.java
new file mode 100644 (file)
index 0000000..f4205a4
--- /dev/null
@@ -0,0 +1,50 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import org.eclipse.swt.SWT;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionWizardPage extends AbstractCdmEntityWizardPage<Collection> {
+
+       /**
+        * @param formFactory
+        * @param conversation
+        * @param entity
+        */
+       public CollectionWizardPage(CdmFormFactory formFactory,
+                       ConversationHolder conversation, Collection entity) {
+               super(formFactory, conversation, entity);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+        */
+       @Override
+       public AbstractCdmDetailElement createElement(ICdmFormElement rootElement) {
+               CollectionDetailElement collectionDetailElement = (CollectionDetailElement) formFactory.createCdmDetailElement(DetailType.COLLECTION, rootElement, SWT.NULL);
+               collectionDetailElement.setEntity(entity);
+               return collectionDetailElement;
+       }
+
+}
index dd7ee654ed6d399d4944fc2b2317b11b5cfe8761..39ff4299b31b2efb4f287b768b7a8d9a2a157c5d 100644 (file)
 
 package eu.etaxonomy.taxeditor.section.occurrence;
 
-import org.apache.log4j.Logger;
+import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.forms.selection.CollectionSelectionElement;
 import eu.etaxonomy.taxeditor.forms.selection.NameSelectionElement;
 import eu.etaxonomy.taxeditor.forms.term.PreservationMethodComboElement;
 import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
@@ -31,11 +34,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @version 1.0
  */
 public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<DerivedUnitBase> implements IFacadeHolder{
-       
-
-       private static final Logger logger = Logger
-                       .getLogger(DerivedUnitBaseDetailElement.class);
-
        private DerivedUnitFacade facade;
 
        private TextWithLabelElement text_derivedUnitDefinitions;
@@ -52,10 +50,17 @@ public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<Deriv
 
        private PreservationMethodComboElement combo_preservationMethod;
        
+       private TextWithLabelElement text_barcode;
+
+       private CollectionSelectionElement selection_collection;
+
+       private DeterminationEventDetailSection section_determinations;
+       
+       private SpecimenCollectionDetailSection section_duplicates;
+       
        public DerivedUnitBaseDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
                super(formFactory, formElement);
-               // TODO Auto-generated constructor stub
        }
        
        @Override
@@ -68,13 +73,24 @@ public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<Deriv
                        combo_preservationMethod = (PreservationMethodComboElement) formFactory.createTermComboElement(TermComboType.PRESERVATION_METHOD, formElement, "Preservation Method", facade.getPreservationMethod(), style);
                } catch (MethodNotSupportedByDerivedUnitTypeException e) {
                        // we ignore this
-                       logger.debug(e.getMessage());
+                       EditorUtil.info(this.getClass(), e.getMessage());
                }
                selection_storedUnder = (NameSelectionElement) formFactory.createSelectionElement(SelectionType.NAME, getConversationHolder(), formElement, "Stored Under", facade.getStoredUnder(), style);
                text_collectorsNumber = formFactory.createTextWithLabelElement(formElement, "Collectors Number", facade.getCollectorsNumber(), style);
+               
+               text_barcode = formFactory.createTextWithLabelElement(formElement, "Barcode", facade.getBarcode(), style);
+               
                text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", facade.getExsiccatum(), style);              
                // source
-//             selection_collection = formFactory.createSelectionElement(SelectionType.COLLECTION, getConversationHolder(), formElement, "Collection", facade.getCollection(), style);
+               selection_collection = (CollectionSelectionElement) formFactory.createSelectionElement(SelectionType.COLLECTION, getConversationHolder(), formElement, "Collection", facade.getCollection(), style);
+               
+               section_determinations = (DeterminationEventDetailSection) formFactory.createEntityDetailSection(EntityDetailType.DETERMINATION_EVENT, getConversationHolder(), formElement, Section.TWISTIE);
+               section_determinations.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+               section_determinations.setEntity(facade);
+               
+               section_duplicates = (SpecimenCollectionDetailSection) formFactory.createEntityDetailSection(EntityDetailType.SPECIMEN_COLLECTION, getConversationHolder(), formElement, Section.TWISTIE);
+               section_duplicates.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+               section_duplicates.setEntity(facade);
        }
 
        @Override
@@ -95,8 +111,7 @@ public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<Deriv
                        try {
                                facade.setPreservationMethod(combo_preservationMethod.getSelection());
                        } catch (MethodNotSupportedByDerivedUnitTypeException e) {
-                               logger.error("MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
-                               throw new RuntimeException("MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit");
+                               EditorUtil.errorDialog("MethodNotSupportedByDerivedUnitTypeException", this, "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
                        }
                }
                else if(eventSource == selection_storedUnder){
@@ -105,15 +120,19 @@ public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<Deriv
                else if(eventSource == text_collectorsNumber){
                        facade.setCollectorsNumber(text_collectorsNumber.getText());
                }
-//             else if(eventSource == text_exsicatum){
-//                     facade.setExsiccatum();
-//             }
-//             else if(source){
-//                     
-//             }
-//             else if(eventSource == selection_collection){
-//                     facade.setCollection(selection_collection.getSelection());
-//             }
+               else if(eventSource == text_exsicatum){
+                       try {
+                               facade.setExsiccatum();
+                       } catch (Exception e) {
+                               EditorUtil.error(this.getClass(), e);
+                       }
+               }
+               else if(eventSource == text_barcode){
+                       facade.setBarcode(text_barcode.getText());
+               }
+               else if(eventSource == selection_collection){
+                       facade.setCollection(selection_collection.getSelection());
+               }
        }
 
        public DerivedUnitFacade getFacade() {
index 2c74978b099fedde78a09152adbdba453f8a7eef..31bd71590c3eb00ab4999a925e9a88fad51ff1b5 100644 (file)
@@ -19,8 +19,8 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
 
@@ -62,8 +62,7 @@ public class DerivedUnitFacadeDetailElement extends AbstractCdmDetailElement<Der
                        section_fieldObservation.setFacade(facade);
                        
                } catch (DerivedUnitFacadeNotSupportedException e) {
-                       EditorUtil.errorDialog("Error", "SpecimenFacadeNotSupportedException while inititating SpecimenFacade");
-                       logger.error("SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
+                       EditorUtil.errorDialog("Error", this, "SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
                }
        }
        
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailElement.java
new file mode 100644 (file)
index 0000000..244aa65
--- /dev/null
@@ -0,0 +1,109 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.forms.CheckboxElement;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.term.DeterminationModifierComboElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class DeterminationEventDetailElement extends
+                               AbstractEventDetailElement<DeterminationEvent> {
+
+       private DerivedUnitBaseSelectionElement selection_derivedUnit;
+       private DeterminationModifierComboElement combo_determinationModifier;
+       private CheckboxElement checkbox_preferredFlag;
+       private TaxonBaseSelectionElement selection_taxon;
+//      private TODO a set of references
+       
+       /**
+        * @param formFactory
+        * @param section
+        * @param entity
+        * @param removeListener
+        * @param backgroundColor
+        * @param style
+        */
+       public DeterminationEventDetailElement(CdmFormFactory formFactory,
+                       AbstractFormSection section, DeterminationEvent entity,
+                       SelectionListener removeListener, int style) {
+               super(formFactory, section, entity, removeListener, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void setEntity(DeterminationEvent entity) {
+               this.entity = entity;
+               super.setEntity(entity);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+        */
+       @Override
+       public void createControls(ICdmFormElement element, int style) {
+               selection_derivedUnit = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT,
+                               getConversationHolder(), element, "Identified Unit", null, style);
+               combo_determinationModifier = (DeterminationModifierComboElement) formFactory.createTermComboElement(TermComboType.DETERMINATION_MODIFIER, element, "Determination Modifier", null, style);
+               checkbox_preferredFlag = formFactory.createCheckbox(element, "Preferred", false, style);
+               selection_taxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), element, "Taxon", null, style);
+               // TODO set of references
+               
+               super.createControls(element, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+        */
+       @Override
+       public void handleEvent(Object eventSource) {
+               if(eventSource == selection_derivedUnit){
+                       getEntity().setIdentifiedUnit(selection_derivedUnit.getEntity());
+               }
+               else if(eventSource == combo_determinationModifier){
+                       getEntity().setModifier(combo_determinationModifier.getSelection());
+               }
+               else if(eventSource == checkbox_preferredFlag){
+                       getEntity().setPreferredFlag(checkbox_preferredFlag.getSelection());
+               }
+               else if(eventSource == selection_taxon){
+                       getEntity().setTaxon(selection_taxon.getSelection());
+               }
+//             else if(eventSource == TODO set of references){
+//                     
+//             }
+               else if(eventSource == selection_agent){
+                       getEntity().setDeterminer(selection_agent.getSelection());
+               }
+               else if(eventSource ==  text_description){
+                       getEntity().setDescription(text_description.getText());
+               }
+               else if(eventSource == element_timePeriod){
+                       getEntity().setTimeperiod(element_timePeriod.getTimePeriod());
+               }
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailSection.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailSection.java
new file mode 100644 (file)
index 0000000..7f25b73
--- /dev/null
@@ -0,0 +1,91 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class DeterminationEventDetailSection extends
+               AbstractEntityCollectionSection<DerivedUnitFacade, DeterminationEvent> {
+
+       /**
+        * @param formFactory
+        * @param conversation
+        * @param parentElement
+        * @param title
+        * @param style
+        */
+       public DeterminationEventDetailSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement,
+                       int style) {
+               super(formFactory, conversation, parentElement, "Determination Events", style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+        */
+       @Override
+       public Collection<DeterminationEvent> getCollection(DerivedUnitFacade entity) {
+               return entity.getDeterminations();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+        */
+       @Override
+       public DeterminationEvent createNewElement() {
+               return DeterminationEvent.NewInstance();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void addElement(DeterminationEvent determination) {
+               getEntity().addDetermination(determination);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void removeElement(DeterminationEvent determination) {
+               getEntity().removeDetermination(determination);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+        */
+       @Override
+       public String getEmptyString() {
+               return "No determinations yet.";
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+        */
+       @Override
+       protected String getTooltipString() {
+               return "Add a determination event";
+       }
+
+}
index fdac39de029f582d8fcf053659b9b89058600499..8863c84b8ea7efc5fe7ad04caa73ccb7683e40de 100644 (file)
 package eu.etaxonomy.taxeditor.section.occurrence;
 
 import org.apache.log4j.Logger;
+import org.eclipse.ui.forms.widgets.Section;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
@@ -65,6 +67,8 @@ public class GatheringEventDetailElement extends AbstractCdmDetailElement<Gather
        private LanguageComboElement combo_localityLanguage;
        
        private NamedAreaSelectionElement selection_namedArea;
+       
+       private CollectingAreasDetailSection section_collectingAreas;
 
        public GatheringEventDetailElement(CdmFormFactory formFactory,
                        ICdmFormElement formElement) {
@@ -89,7 +93,11 @@ public class GatheringEventDetailElement extends AbstractCdmDetailElement<Gather
                text_gatheringEventDescription = formFactory.createTextWithLabelElement(formElement, "Gathering Event Description", facade.getGatheringEventDescription(), style);
                composite_gatheringPeriod = formFactory.createTimePeriodElement(formElement, "Gathering Period", facade.getGatheringPeriod(), style);
                
-//             selection_namedArea = formFactory.createSelectionElement(SelectionType., conversation, parentElement, labelString, selection, style)
+               selection_namedArea = formFactory.createNamedAreaSelectionElement(formElement, getConversationHolder(), "Country", facade.getCountry(), style);
+               
+               section_collectingAreas = (CollectingAreasDetailSection) formFactory.createEntityDetailSection(EntityDetailType.COLLECTING_AREA, getConversationHolder(), formElement, Section.TWISTIE);
+               section_collectingAreas.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+               section_collectingAreas.setEntity(facade);
                
                text_localityText = formFactory.createTextWithLabelElement(formElement, "Locality", facade.getLocalityText(), style);
                combo_localityLanguage = (LanguageComboElement) formFactory.createTermComboElement(TermComboType.LANGUAGE, formElement, "Language", facade.getLocalityLanguage(), style);
@@ -138,6 +146,9 @@ public class GatheringEventDetailElement extends AbstractCdmDetailElement<Gather
                else if(eventSource == text_localityText || eventSource == combo_localityLanguage){
                        facade.setLocality(LanguageString.NewInstance(text_localityText.getText(), combo_localityLanguage.getSelection()));             
                }       
+               else if(eventSource == selection_namedArea){
+                       facade.setCountry(selection_namedArea.getSelection());
+               }
        }
 
        public DerivedUnitFacade getFacade() {
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailElement.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailElement.java
new file mode 100644 (file)
index 0000000..51182f4
--- /dev/null
@@ -0,0 +1,74 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class SpecimenCollectionDetailElement extends
+               AbstractEntityCollectionElement<Specimen> {
+
+       private DerivedUnitBaseSelectionElement selection_derivedUnit;
+       
+       /**
+        * @param formFactory
+        * @param section
+        * @param entity
+        * @param removeListener
+        * @param backgroundColor
+        * @param style
+        */
+       public SpecimenCollectionDetailElement(CdmFormFactory formFactory,
+                       AbstractFormSection section, Specimen entity,
+                       SelectionListener removeListener, int style) {
+               super(formFactory, section, entity, removeListener, null, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+        */
+       @Override
+       public void setEntity(Specimen entity) {
+               this.entity = entity;
+               selection_derivedUnit.setEntity(entity);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+        */
+       @Override
+       public void createControls(ICdmFormElement element, int style) {
+               selection_derivedUnit = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), element, "Derived Unit", null, style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+        */
+       @Override
+       public void handleEvent(Object eventSource) {
+               if(eventSource == selection_derivedUnit){
+                       this.setEntity((Specimen) selection_derivedUnit.getSelection());
+               }
+       }
+
+}
diff --git a/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java b/taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java
new file mode 100644 (file)
index 0000000..0dcb8e0
--- /dev/null
@@ -0,0 +1,90 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class SpecimenCollectionDetailSection extends
+               AbstractEntityCollectionSection<DerivedUnitFacade, Specimen> {
+
+       /**
+        * @param formFactory
+        * @param conversation
+        * @param parentElement
+        * @param title
+        * @param style
+        */
+       public SpecimenCollectionDetailSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+               super(formFactory, conversation, parentElement, "Duplicates", style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+        */
+       @Override
+       public Collection<Specimen> getCollection(DerivedUnitFacade entity) {
+               return entity.getDuplicates();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+        */
+       @Override
+       public Specimen createNewElement() {
+               return Specimen.NewInstance();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void addElement(Specimen element) {
+               getEntity().addDuplicate(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       @Override
+       public void removeElement(Specimen element) {
+               getEntity().removeDuplicate(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+        */
+       @Override
+       public String getEmptyString() {
+               return "No duplicates yet.";
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+        */
+       @Override
+       protected String getTooltipString() {
+               return "Add a duplicate";
+       }
+
+}
index c6004de90da77ab3b5be1f77cea8bcbbacf25a49..7c68628afaa1dc66bedfa12ee640befdcd0e4d8c 100644 (file)
@@ -13,7 +13,7 @@ import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
 import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement;
+import eu.etaxonomy.taxeditor.forms.term.ExtensionTypeComboElement;
 import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
 
 /**
@@ -24,6 +24,9 @@ import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
  */
 public class ExtensionElement extends AbstractEntityCollectionElement<Extension> {
 
+       private ExtensionTypeComboElement combo_extensionType;
+       private TextWithLabelElement text_extensionValue;
+       
        /**
         * @param formElement
         * @param element
@@ -36,16 +39,12 @@ public class ExtensionElement extends AbstractEntityCollectionElement<Extension>
                super(cdmFormFactory, formElement, element, removeListener, null, style);
        }
 
-       private AbstractTermComboElement<ExtensionType> combo_extensionType;
-       private TextWithLabelElement text_extensionValue;
-       
-
        /* (non-Javadoc)
         * @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
         */
        @Override
        public void createControls(ICdmFormElement element, int style) {
-               combo_extensionType = formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style);
+               combo_extensionType = (ExtensionTypeComboElement) formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style);
                text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
                text_extensionValue.getLayoutComposite().setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
        }
index 44d4b797bddf6d0e90c312c35d16e1c95236ffae..424dc257c1908bc28ad2e37a8051f8a3818dda9e 100644 (file)
@@ -65,10 +65,10 @@ public class MediaElement extends AbstractEntityCollectionElement<Media> {
                section_mediaRepresentation.setEntity(element);
                selection_artist.setEntity((TeamOrPersonBase)HibernateProxyHelper.deproxy(element.getArtist()));
                
-               text_description.setLanguageString(element.getDescription(CdmStore.getDefaultLanguage()), CdmStore.getDefaultLanguage());
+               text_description.setLanguageString(element.getDescription(CdmStore.getDefaultLanguage()));
                
                LanguageString title = element.getTitle(CdmStore.getDefaultLanguage());
-               text_title.setLanguageString(title, CdmStore.getDefaultLanguage());
+               text_title.setLanguageString(title);
        }
        
        /*
index 6630b8eb9a8168515deeff1e0f7af3d5bb146065..f987ae8e6237c36a0dac0087b5247cf7bb43a196 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section.supplemental;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.widgets.Label;
 import org.joda.time.DateTime;
 
@@ -30,7 +29,6 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
  */
 public class VersionElement extends AbstractCdmFormElement implements IEntityElement<VersionableEntity> {
 
-       private static final Logger logger = Logger.getLogger(VersionElement.class);
        private Label label_created;
        private Label label_updated;
        
index 9e1bc797a45dabdece1d6c30eb4cf61c09c42f67..fd7bff4def635c13d09ce24d722bea432dd68fda 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.section.taxon;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Control;
@@ -21,8 +20,8 @@ import eu.etaxonomy.cdm.model.name.NonViralName;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
 import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
 import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
 
@@ -36,9 +35,6 @@ public class ParsingMessagesSection extends AbstractCdmDetailSection<NonViralNam
        public static final String HEADING_SUCCESS = "";
        public static final String HEADING_PROBLEM = "The name has problems.";
        
-       private static final Logger logger = Logger
-                       .getLogger(ParsingMessagesSection.class);
-
        public ParsingMessagesSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
                        ISelectionProvider selectionProvider, int style) {
                super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
index fe1c7627ccd180d300915881e694720a7707ab2b..d982f6c59fc9ab28a0278005e05924f180024115 100644 (file)
@@ -12,7 +12,6 @@ package eu.etaxonomy.taxeditor.navigation;
 import java.util.Set;
 import java.util.UUID;
 
-import org.apache.log4j.Logger;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.NotEnabledException;
 import org.eclipse.core.commands.NotHandledException;
@@ -42,7 +41,6 @@ import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
 import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
-import eu.etaxonomy.taxeditor.section.BulkEditorOpeningSelectionListener;
 
 /**
  * @author n.hoffmann
@@ -50,7 +48,6 @@ import eu.etaxonomy.taxeditor.section.BulkEditorOpeningSelectionListener;
  * @version 1.0
  */
 public class NavigationUtil extends AbstractUtility{
-       private static final Logger logger = Logger.getLogger(NavigationUtil.class);
        private static IUndoContext defaultUndoContext;
                
        public static void executeEditHandler(){
@@ -61,13 +58,13 @@ public class NavigationUtil extends AbstractUtility{
                try {
                        handlerService.executeCommand(commandId, null);
                } catch (ExecutionException e) {
-                       logger.error("ExecutionException when trying to execute EditHandler.", e);
+                       NavigationUtil.error(NavigationUtil.class, "ExecutionException when trying to execute EditHandler.", e);
                } catch (NotDefinedException e) {
-                       logger.error("NotDefinedException when trying to execute EditHandler.", e);
+                       NavigationUtil.error(NavigationUtil.class, "NotDefinedException when trying to execute EditHandler.", e);
                } catch (NotEnabledException e) {
-                       logger.error("NotEnabledException when trying to execute EditHandler.", e);
+                       NavigationUtil.error(NavigationUtil.class, "NotEnabledException when trying to execute EditHandler.", e);
                } catch (NotHandledException e) {
-                       logger.error("NotHandledException when trying to execute EditHandler.", e);
+                       NavigationUtil.error(NavigationUtil.class, "NotHandledException when trying to execute EditHandler.", e);
                }
        }
        
@@ -80,14 +77,14 @@ public class NavigationUtil extends AbstractUtility{
                                EditorUtil.openTaxonBase(entityUuid);
                        }else if(selectedObject instanceof TaxonNameBase){
                                // TODO open bulk editor
-                               warningDialog("Not implemented yet", "You tried to open a name. This is not hanlded by the software yet.");
+                               warningDialog("Not implemented yet", NavigationUtil.class, "You tried to open a name. This is not hanlded by the software yet.");
                        }else{
-                               warningDialog("Unsupported Type", "No editor exists for the current selection: " + selectedObject);
+                               warningDialog("Unsupported Type", NavigationUtil.class, "No editor exists for the current selection: " + selectedObject);
                        }
                } catch (PartInitException e) {
-                       logger.error("Error opening the editor", e);
+                       NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e);
                } catch (Exception e) {
-                       EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+                       EditorUtil.warningDialog("Could not create Taxon", NavigationUtil.class, e.getMessage());
                }
        }
        
@@ -95,7 +92,7 @@ public class NavigationUtil extends AbstractUtility{
                try {
                        EditorUtil.openEmpty(parentNodeUuid);
                } catch (PartInitException e) {
-                       logger.error("Error opening the editor", e);
+                       NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e);
                }
        }
        
@@ -152,7 +149,7 @@ public class NavigationUtil extends AbstractUtility{
                                        }
                                }
                        } catch (PartInitException e) {
-                               logger.error(e);
+                               NavigationUtil.error(NavigationUtil.class, e.getMessage(), e);
                                throw new RuntimeException(e);
                        }
                        
@@ -200,8 +197,7 @@ public class NavigationUtil extends AbstractUtility{
                        handleOpeningOfMultipleTaxa(synonym.getAcceptedTaxa());
                        
                }else{
-                       warningDialog("Not implemented yet", "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment.");
-                       logger.warn("Could not open editor for selection. Selection was of type: " + selection.getClass().getSimpleName());
+                       warningDialog("Not implemented yet", NavigationUtil.class, "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment.");
                }
                
        }
@@ -211,11 +207,11 @@ public class NavigationUtil extends AbstractUtility{
                        openEditor(acceptedTaxa.iterator().next());
                }else if(acceptedTaxa.size() > 1){
                        // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
-                       warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+                       warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
                                        " This case is not handled yet by the software.");
                }else if(acceptedTaxa.size() == 0){
                        // this is an undesired state
-                       warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+                       warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
                }
        }
 
@@ -229,11 +225,11 @@ public class NavigationUtil extends AbstractUtility{
                        openEditor(taxonNodes.iterator().next());
                }else if(taxonNodes.size() > 1){
                        // FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
-                       warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+                       warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
                                        " This case is not handled yet by the software.");
                }else if(taxonNodes.size() == 0){
                        // this is an undesired state
-                       warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+                       warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
                }
        }
 
@@ -252,5 +248,8 @@ public class NavigationUtil extends AbstractUtility{
                return EditorUtil.getOpenEditors();
        }
 
+       protected static String getPluginId(){
+               return TaxeditorNavigationPlugin.PLUGIN_ID;
+       }
 
 }
\ No newline at end of file
index c5c2e3f2336cb72ee9510566d235ae37367e69b1..8bc37874f96f3ea85c6596eca8eca5ba02db2a17 100644 (file)
@@ -1,7 +1,6 @@
 
 package eu.etaxonomy.taxeditor.navigation;
 
-import org.apache.log4j.Logger;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.ui.IMemento;
 
@@ -15,7 +14,6 @@ import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
  * @version 1.0
  */
 public class NavigatorStateManager extends ContextListenerAdapter {
-       private static final Logger logger = Logger.getLogger(NavigatorStateManager.class);
        
        /**
         * Tries to restore the state of the taxon editor and the navigator when a context starts.
index bd5eab4956602f6a32fb0fc638a2b2756dd22034..5dabe370797e773e41087d5c4dafa2a751cf4fd4 100644 (file)
@@ -10,7 +10,6 @@
 \r
 package eu.etaxonomy.taxeditor.navigation.navigator;\r
 \r
-import org.apache.log4j.Logger;\r
 import org.eclipse.jface.viewers.IStructuredSelection;\r
 import org.eclipse.jface.viewers.StructuredSelection;\r
 import org.eclipse.ui.IEditorInput;\r
@@ -31,8 +30,6 @@ import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
  * @version 1.0\r
  */\r
 public class TaxonLinkHelper implements ILinkHelper {\r
-       private static final Logger logger = Logger\r
-                       .getLogger(TaxonLinkHelper.class);\r
 \r
        public static final String ID = "eu.etaxonomy.taxeditor.navigation.taxonlinkhelper"; //$NON-NLS-1$\r
        \r
@@ -57,7 +54,7 @@ public class TaxonLinkHelper implements ILinkHelper {
                                }\r
                        }\r
                } catch (Exception e) {\r
-                       EditorUtil.warningDialog("Could not create Taxon", e.getMessage());\r
+                       EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());\r
                }\r
        }\r
 \r
index 82ae9c801a6b404cdea9e32a1907366533371f93..82a1395c1566b2215f265482594bec2b84c5e342 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.navigation.search;
 
-import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.FocusEvent;
 import org.eclipse.swt.events.FocusListener;
@@ -48,7 +47,6 @@ import eu.etaxonomy.taxeditor.preference.Resources;
  * @version 1.0
  */
 public class SearchBar extends WorkbenchWindowControlContribution{
-       private static final Logger logger = Logger.getLogger(SearchBar.class);
        private Text text_search;
        private String srv;
 
@@ -174,7 +172,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{
                        return;
                }
                if("*".equals(searchString.trim())){
-                       NavigationUtil.warningDialog("Could not execute search", "Please type at least one character when using the \"*\" wildcard.");
+                       NavigationUtil.warningDialog("Could not execute search", this, "Please type at least one character when using the \"*\" wildcard.");
                        return;
                }
                
@@ -199,7 +197,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{
        private void openSearchResultsView(ITaxonServiceConfigurator configurator) {
                // This variable is needed to address new instances of the view.
                srv += "1";
-               logger.info("Opening search results window " + srv);
+               NavigationUtil.info(this.getClass(), "Opening search results window " + srv);
                try {
                        IViewPart resultsView = TaxeditorNavigationPlugin.getDefault()
                                        .getWorkbench().getActiveWorkbenchWindow()
@@ -207,8 +205,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{
                                                        IWorkbenchPage.VIEW_ACTIVATE);
                        ((SearchResultView) resultsView).performSearch(configurator);
                } catch (PartInitException e) {
-                       logger.error("Error opening search result.", e);
-                       throw new RuntimeException(e);
+                       NavigationUtil.error(this.getClass(), "Error opening search result.", e);
                }
        }
 
@@ -267,7 +264,7 @@ public class SearchBar extends WorkbenchWindowControlContribution{
                 * .swt.events.SelectionEvent)
                 */
                public void widgetSelected(SelectionEvent e) {
-                       logger.warn("configuration menu clicked");
+                       NavigationUtil.info(this.getClass(), "configuration menu clicked");
                        SearchOption option = (SearchOption) e.widget.getData();
 
                        switch (option){
index d0c576362748ee6f477dd16eaa86a381e136c763..1e3294c82a72cf6efce9752216a56c8a027c601e 100644 (file)
@@ -10,7 +10,6 @@
 
 package eu.etaxonomy.taxeditor.wizard;
 
-import org.apache.log4j.Logger;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.wizard.WizardPage;
@@ -46,11 +45,7 @@ import eu.etaxonomy.taxeditor.parser.ParseHandler;
  * @created Sep 29, 2010
  * @version 1.0
  */
-public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChangeListener, IConversationEnabled{
-       
-       private static final Logger logger = Logger
-                               .getLogger(NewTaxonNodeWizardPage.class);
-       
+public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChangeListener, IConversationEnabled{       
        private ClassificationSelectionElement selection_classification;
        private TaxonNodeSelectionElement selection_parentTaxonNode;
        private TaxonBaseSelectionElement selection_reuseExistingTaxon;
@@ -102,8 +97,7 @@ public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChang
                        TaxonBase taxonBase = selection_reuseExistingTaxon.getEntity();
                        
                        if(taxonBase instanceof Synonym){
-                               NavigationUtil.warningDialog("Selected Taxon is a Synonym", "This case is not handled yet.");
-                               logger.error("Selected Taxon is a Synonym. This case is not handled yet.");
+                               NavigationUtil.warningDialog("Selected Taxon is a Synonym", this, "This case is not handled yet.");
                        }
                        
                        setTaxon((Taxon) taxonBase);
index 75c3816d0a59fd87379e76c749e32297fdd55a99..1d2d54a632b9b2223d3729295465a8d3c1b96016 100644 (file)
@@ -117,7 +117,7 @@ public class CdmMetaDataAwareDataSourceContainer {
                                        }               
                                        dataSource.closeOpenConnections();
                                } catch (SQLException e) {
-                                       StoreUtil.error(this.getClass(), "SQLException when trying to access: " + dataSource.getName() + ". ", e);
+                                       StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + dataSource.getName() + ". " + e.getMessage());
                                } 
                        }
                } catch (Exception e) {