Refactor identifier section classes #5898
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 21 Jun 2016 06:37:32 +0000 (08:37 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 21 Jun 2016 06:37:32 +0000 (08:37 +0200)
 - add abstract identifier section to support IdentifiableEntities and
DerivedUnitFacades

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/AbstractIdentifierSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/DerivedUnitFacadeIdentifierSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/IdentifierElement.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailElement.java with 90% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/IdentifierSection.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailSection.java with 52% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/supplementaldata/SupplementalDataViewer.java

index 8052c82f410c67ed1d40c7a2ca290f10e7e8f5bf..205eca3f20bbac4745277b761b059bd9b04526ed 100644 (file)
@@ -173,8 +173,6 @@ import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailElement;
@@ -299,6 +297,9 @@ import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionElement;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.DerivedUnitFacadeIdentifierSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessageElement;
 import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailElement;
@@ -2343,11 +2344,17 @@ public class CdmFormFactory extends FormToolkit {
         return section;
     }
 
-    public IdentifierDetailSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
-        IdentifierDetailSection section = new IdentifierDetailSection(this, conversation, parentElement, style);
+    public IdentifierSection createIdentifierDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+        IdentifierSection section = new IdentifierSection(this, conversation, parentElement, style);
         addAndAdaptSection(parentElement, section);
         return section;
     }
+    
+    public DerivedUnitFacadeIdentifierSection createDerivedUnitFacadeIdentifierSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+       DerivedUnitFacadeIdentifierSection section = new DerivedUnitFacadeIdentifierSection(this, conversation, parentElement, style);
+       addAndAdaptSection(parentElement, section);
+       return section;
+    }
 
     public CurrentSampleDesignationDetailSection createCurrentSampleDesignationDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
         CurrentSampleDesignationDetailSection section = new CurrentSampleDesignationDetailSection(this, conversation, parentElement, style);
@@ -2565,7 +2572,7 @@ public class CdmFormFactory extends FormToolkit {
                 element = new SampleDesignationTextDetailElement(this, parentElement, (Identifier<DnaSample>) entity, removeListener, backgroundColor, style);
             }
             else{
-                element = new IdentifierDetailElement(this, parentElement, (Identifier) entity, removeListener, style);
+                element = new IdentifierElement(this, parentElement, (Identifier) entity, removeListener, style);
             }
         } else if (entity instanceof TermVocabulary) {
             TermVocabulary<?> termVocabulary = (TermVocabulary<?>)entity;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/AbstractIdentifierSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/AbstractIdentifierSection.java
new file mode 100644 (file)
index 0000000..6ac00ae
--- /dev/null
@@ -0,0 +1,34 @@
+package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.Identifier;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+
+public abstract class AbstractIdentifierSection<T> extends AbstractEntityCollectionSection<T, Identifier> {
+
+       public AbstractIdentifierSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+               super(formFactory, conversation, parentElement, "Identifiers", style);
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public Identifier createNewElement() {
+               return Identifier.NewInstance(null, null);
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public String getEmptyString() {
+               return "No identifiers yet.";
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       protected String getTooltipString() {
+               return "Add an identifier";
+       }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/DerivedUnitFacadeIdentifierSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/identifier/DerivedUnitFacadeIdentifierSection.java
new file mode 100644 (file)
index 0000000..9d58748
--- /dev/null
@@ -0,0 +1,52 @@
+// $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.ui.section.supplemental.identifier;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.common.Identifier;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+
+/**
+ * 
+ * @author pplitzner
+ *
+ */
+public class DerivedUnitFacadeIdentifierSection extends AbstractIdentifierSection<DerivedUnitFacade> {
+
+
+       public DerivedUnitFacadeIdentifierSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement,
+                       int style) {
+               super(formFactory, conversation, parentElement, style);
+       }
+
+       @Override
+       public Collection<Identifier> getCollection(DerivedUnitFacade entity) {
+               return entity.getIdentifiers();
+       }
+
+
+       @Override
+       public void addElement(Identifier element) {
+               getEntity().addIdentifier(element);
+       }
+
+
+       @Override
+       public void removeElement(Identifier element) {
+               getEntity().removeIdentifier(element);
+       }
+
+}
@@ -8,7 +8,7 @@
  * See LICENSE.TXT at the top of this package for the full license terms.
  */
 
-package eu.etaxonomy.taxeditor.ui.section.identifier;
+package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
 
 import org.eclipse.swt.events.SelectionListener;
 
@@ -27,13 +27,13 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
  * @author pplitzner
  *
  */
-public class IdentifierDetailElement extends AbstractEntityCollectionElement<Identifier> {
+public class IdentifierElement extends AbstractEntityCollectionElement<Identifier> {
 
        private TextWithLabelElement textIdentifier;
 
        private TermComboElement<DefinedTerm> comboIdentifierType;
 
-    public IdentifierDetailElement(CdmFormFactory formFactory,
+    public IdentifierElement(CdmFormFactory formFactory,
             AbstractFormSection section, Identifier entity,
             SelectionListener removeListener, int style) {
         super(formFactory, section, entity, removeListener, null, style);
@@ -8,7 +8,7 @@
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
 
-package eu.etaxonomy.taxeditor.ui.section.identifier;
+package eu.etaxonomy.taxeditor.ui.section.supplemental.identifier;
 
 import java.util.Collection;
 
@@ -17,55 +17,33 @@ import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
 import eu.etaxonomy.cdm.model.common.Identifier;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
 
 /**
  * 
  * @author pplitzner
  *
  */
-public class IdentifierDetailSection extends AbstractEntityCollectionSection<IdentifiableEntity, Identifier> {
+public class IdentifierSection extends AbstractIdentifierSection<IdentifiableEntity> {
 
-       public IdentifierDetailSection(CdmFormFactory formFactory,
-                       ConversationHolder conversation, ICdmFormElement parentElement, int style) {
-               super(formFactory, conversation, parentElement, "Identifiers", style);
+       public IdentifierSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement,
+                       int style) {
+               super(formFactory, conversation, parentElement, style);
        }
 
-       /** {@inheritDoc} */
        @Override
        public Collection<Identifier> getCollection(IdentifiableEntity entity) {
                return entity.getIdentifiers();
        }
 
-       /** {@inheritDoc} */
-       @Override
-       public Identifier createNewElement() {
-               return Identifier.NewInstance(null, null);
-       }
-
-       /** {@inheritDoc} */
        @Override
        public void addElement(Identifier element) {
                getEntity().addIdentifier(element);
        }
 
-       /** {@inheritDoc} */
        @Override
        public void removeElement(Identifier element) {
-           getEntity().removeIdentifier(element);
-           getConversationHolder().commit();
-       }
-
-       /** {@inheritDoc} */
-       @Override
-       public String getEmptyString() {
-               return "No identifiers yet.";
-       }
-
-       /** {@inheritDoc} */
-       @Override
-       protected String getTooltipString() {
-               return "Add an identifier";
+               getEntity().removeIdentifier(element);
        }
 
 }
index e26adaafcbc53d6550d2699f04a908c8d8ef5cd2..0b4be864f804dd9ad92dc4bce05a41f77c82da66 100644 (file)
@@ -74,7 +74,6 @@ import eu.etaxonomy.taxeditor.ui.section.feature.FeatureDistributionDetailSectio
 import eu.etaxonomy.taxeditor.ui.section.grantedAuthority.GrantedAuthorityDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.group.GroupDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.group.MemberDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.key.PolytomousKeyNodeDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.name.NameRelationshipDetailSection;
@@ -105,6 +104,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDe
 import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.DerivedUnitFacadeIdentifierSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonBaseDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.taxon.TaxonRelationshipDetailSection;
@@ -591,7 +591,7 @@ public class DetailsViewer extends AbstractCdmDataViewer {
                 addPart(taxonAssociationDetailSection);
             }
             formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-            IdentifierDetailSection identifierDetailSection = formFactory.createIdentifierDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+            DerivedUnitFacadeIdentifierSection identifierDetailSection = formFactory.createDerivedUnitFacadeIdentifierSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
             addPart(identifierDetailSection);
         }
         if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS)){
index b3190cd095fb61f5db44280175cd9dd5d584f1c3..2bf4227ddc3a3c2323e874705359e0486906c069 100644 (file)
@@ -27,7 +27,6 @@ import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.RootElement;
-import eu.etaxonomy.taxeditor.ui.section.identifier.IdentifierDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.media.MediaSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseSection;
@@ -38,6 +37,7 @@ import eu.etaxonomy.taxeditor.ui.section.supplemental.MarkerSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.RightsSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.SourceSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.VersionSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.identifier.IdentifierSection;
 import eu.etaxonomy.taxeditor.view.AbstractCdmDataViewer;
 import eu.etaxonomy.taxeditor.view.AbstractCdmViewPart;
 import eu.etaxonomy.taxeditor.view.detail.DetailsViewer;
@@ -164,10 +164,8 @@ public class SupplementalDataViewer extends AbstractCdmDataViewer implements ISe
 
         formFactory.createHorizontalSeparator(parent, SWT.BORDER);
 
-        IdentifierDetailSection identifierSection = formFactory.createIdentifierDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
+        IdentifierSection identifierSection = formFactory.createIdentifierDetailSection(getConversationHolder(), parent, ExpandableComposite.TWISTIE);
         
-        formFactory.createHorizontalSeparator(parent, SWT.BORDER);
-
         addPart(creditSection);
         addPart(extensionSection);
         addPart(rightsSection);