Merge branch 'release/5.31.0' 5.31.0
authorjenkins <jenkins-int@bgbm.org>
Wed, 6 Apr 2022 15:31:22 +0000 (17:31 +0200)
committerjenkins <jenkins-int@bgbm.org>
Wed, 6 Apr 2022 15:31:22 +0000 (17:31 +0200)
70 files changed:
eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.application/pom.xml
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/pom.xml
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/pom.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/e4/AbstractGraphKeyEditorE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/TaxonNameEditorE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/AbstractAddDerivativeHandler.java
eu.etaxonomy.taxeditor.feature.platform/feature.xml
eu.etaxonomy.taxeditor.feature.platform/pom.xml
eu.etaxonomy.taxeditor.feature/feature.xml
eu.etaxonomy.taxeditor.feature/pom.xml
eu.etaxonomy.taxeditor.help/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.help/pom.xml
eu.etaxonomy.taxeditor.local/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.local/pom.xml
eu.etaxonomy.taxeditor.molecular.lib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular.lib/pom.xml
eu.etaxonomy.taxeditor.molecular/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.molecular/pom.xml
eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.navigation/pom.xml
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java
eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.printpublisher/build.properties
eu.etaxonomy.taxeditor.printpublisher/pom.xml
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/pom.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermMenuE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermTreeMenu.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateDefinedTermOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/CreateTermVocabularyOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/AbstractComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/NameRelationshipTypeCombo.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/term/TermComboElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AgentSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NomenclaturalReferenceSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/PersonSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractFormSection.java
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/name/NameDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NomenclaturalStatusElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/SpecimenTypeDesignationElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OccurrenceStatusElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/StatusCollectionDetailSection.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractSourcedEntityElement.java
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.test/pom.xml
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionAwareTest.java
eu.etaxonomy.taxeditor.workbench/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.workbench/pom.xml
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product.with.jre
eu.etaxonomy.taxeditor/pom.xml
pom.xml

index a1299caaedb8cf69cfaa12743fd6926bc9f9f939..173ba8994cb43aa54c7407740b4a98747d104cf2 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Application
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/plugin
index d23344d41d38381fd006e4d92ce8683dfbd0571f..7adadd995187d4af52b495fcc7db97c944f25996 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index c8c8c2de4ef1c9b72bf3d68faa07e25651c65495..c654522f07f7f3e21a03f5dfcf2403a22f470e36 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Bulkeditor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
index 58f6f83d66c2a55d5de6ac5276824b0c54443027..a17d37822963625a6fc059e365e007038c3a4301 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.30.0</version>
+               <version>5.31.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 16f115c5f9a4012b792b1405560a57deb3d335b6..1f84d48b7213bafb6d4d84a5c4a567ebd3805483 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: CDM Library Dependencies Plugin
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Eclipse-BundleShape: dir
 Export-Package: com.sun.istack.internal.tools,
  com.sun.istack.internal.ws,
@@ -560,14 +560,14 @@ Require-Bundle: org.eclipse.osgi,
 Bundle-ClassPath: .,
  lib/apache-log4j-extras-1.2.17.jar,
  lib/aspectjrt-1.9.7.jar,
- lib/cdmlib-commons-5.30.0.jar,
- lib/cdmlib-ext-5.30.0.jar,
- lib/cdmlib-io-5.30.0.jar,
- lib/cdmlib-model-5.30.0.jar,
- lib/cdmlib-api-5.30.0.jar,
- lib/cdmlib-persistence-5.30.0.jar,
- lib/cdmlib-cache-5.30.0.jar,
- lib/cdmlib-services-5.30.0.jar,
+ lib/cdmlib-commons-5.31.0.jar,
+ lib/cdmlib-ext-5.31.0.jar,
+ lib/cdmlib-io-5.31.0.jar,
+ lib/cdmlib-model-5.31.0.jar,
+ lib/cdmlib-api-5.31.0.jar,
+ lib/cdmlib-persistence-5.31.0.jar,
+ lib/cdmlib-cache-5.31.0.jar,
+ lib/cdmlib-services-5.31.0.jar,
  lib/commons-beanutils-1.9.4.jar,
  lib/commons-codec-1.15.jar,
  lib/commons-collections-3.2.2.jar,
index 409a8dad479e217df7adc0683a5563d5a239ffa7..bbcc97cda7a44edb57aa2bb6d4e3acc07b69bb4c 100644 (file)
@@ -3,13 +3,13 @@ bin.includes = META-INF/,\
                lib/apache-log4j-extras-1.2.17.jar,\
                lib/aspectjrt-1.9.7.jar,\
                lib/aspectjweaver-1.9.7.jar,\
-               lib/cdmlib-commons-5.30.0.jar,\
-               lib/cdmlib-ext-5.30.0.jar,\
-               lib/cdmlib-io-5.30.0.jar,\
-               lib/cdmlib-model-5.30.0.jar,\
-               lib/cdmlib-api-5.30.0.jar,\
-               lib/cdmlib-persistence-5.30.0.jar,\
-               lib/cdmlib-services-5.30.0.jar,\
+               lib/cdmlib-commons-5.31.0.jar,\
+               lib/cdmlib-ext-5.31.0.jar,\
+               lib/cdmlib-io-5.31.0.jar,\
+               lib/cdmlib-model-5.31.0.jar,\
+               lib/cdmlib-api-5.31.0.jar,\
+               lib/cdmlib-persistence-5.31.0.jar,\
+               lib/cdmlib-services-5.31.0.jar,\
                lib/commons-beanutils-1.9.4.jar,\
                lib/commons-codec-1.15.jar,\
                lib/commons-collections-3.2.2.jar,\
@@ -88,7 +88,7 @@ bin.includes = META-INF/,\
                lib/lucene-analyzers-common-5.4.1.jar,\
                lib/lucene-sandbox-5.4.1.jar,\
                lib/lucene-suggest-5.4.1.jar,\
-               lib/cdmlib-cache-5.30.0.jar,\
+               lib/cdmlib-cache-5.31.0.jar,\
                lib/org.swtchart_0.10.0.v20160212.jar,\
                lib/commons-collections4-4.4.jar,\
                lib/commons-math3-3.6.1.jar,\
index 0b6995fc50250810925bfccfcc13f106e2f26896..41c7a13ed02c74ce15f12e1512f7c29b0e458080 100644 (file)
@@ -4,7 +4,7 @@
   <parent>\r
     <groupId>eu.etaxonomy</groupId>\r
     <artifactId>taxeditor-parent</artifactId>\r
-    <version>5.30.0</version>\r
+    <version>5.31.0</version>\r
   </parent>\r
   <modelVersion>4.0.0</modelVersion>\r
   <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
index 2bda6955a5780c71db1fb8d5217b1d7dea82f7d2..82eb831f65850eff52ba74a1dcf55864497dfcac 100644 (file)
@@ -434,7 +434,7 @@ public class CdmServerInfo {
     private static List<CdmServerInfoConfig> createDefaultServerConfigList() {
 
         List<CdmServerInfoConfig> serverInfoList = new ArrayList<>();
-        serverInfoList.add(new CdmServerInfoConfig(NAME_PRODUCTION, SERVER_PRODUCTION, 80, "", false));
+        serverInfoList.add(new CdmServerInfoConfig(NAME_PRODUCTION, SERVER_PRODUCTION, 443, "", false));
         serverInfoList.add(new CdmServerInfoConfig(NAME_DEMO_1, SERVER_DEMO_1, 80, CDMSERVER_PREFIX, false));
         serverInfoList.add(new CdmServerInfoConfig(NAME_LOCALHOST, SERVER_LOCALHOST, 8080, CDMSERVER_PREFIX, true));
         return serverInfoList;
index 3f89d9e825dcd53270739424bb9d3892627fdcd4..1d2808794cbcbfb53731871be38e0a346a422641 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Editor Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: OSGI-INF/l10n/plugin
index 0bd3ab1b4d267b3663af273496fd542f524ea52b..8b5e0135ec3f63e2e78d26d6dd19c4a9c2a8dfb8 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
   
   <modelVersion>4.0.0</modelVersion>
index be834f8839300052dc2026326e4ea8bdcee98ae4..fc4a43cc054c0f732e01a98576a9075422ac24ba 100644 (file)
@@ -69,7 +69,8 @@ implements IConversationEnabled, IE4SavablePart,
     @Inject
     private MPart thisPart;
 
-       @Persist
+       @Override
+    @Persist
        public void save(IProgressMonitor monitor) {
                getConversationHolder().commit(true);
                setDirty(false);
@@ -86,7 +87,8 @@ implements IConversationEnabled, IE4SavablePart,
         }
        }
 
-       public boolean isDirty() {
+       @Override
+    public boolean isDirty() {
                return dirty.isDirty();
        }
 
index 1bd4a02dcf2213dbfaf7855ce698efe633379a2b..26cabe36f32a6e4995ef85e3d17ff54671a49225 100644 (file)
@@ -760,6 +760,9 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
     @Optional
     private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAME_EDITOR) List<CdmBase> cdmBases) {
 
+       if (cdmBases == null){
+               return;
+       }
         for (CdmBase cdmBase: cdmBases){
             if (cdmBase instanceof Taxon || cdmBase instanceof TaxonName){
                 if (this.taxon != null && (this.taxon.equals(cdmBase)
index 3a9369978e5f91b1cf170a948a85d2719d6be4ba..a33ef5b97035f17a33284bcbf6d0d50c31e7a949 100644 (file)
@@ -69,7 +69,7 @@ public abstract class AbstractAddDerivativeHandler {
            DerivedUnit derivedUnit = createDerivative();
            if(derivedUnit!=null){
                specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, derivedUnit, getDerivationeType()));
-               derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
+               derivedUnit.setCacheStrategy(DerivedUnitFacadeCacheStrategy.NewInstance());
                derivedUnit.getTitleCache(); //update title cache
                createdElement = derivedUnit;
                CdmStore.getService(IOccurrenceService.class).merge((SpecimenOrObservationBase<?>) selectedDerivative, true);
index 0c28907a931026df93a97534b4d4d4da31ca4ea1..717dff88dc2e379e97cfcfd02a77b058128d3951 100644 (file)
@@ -2,7 +2,7 @@
 <feature\r
       id="eu.etaxonomy.taxeditor.feature.platform"\r
       label="Taxeditor Dependencies"\r
-      version="5.30.0"\r
+      version="5.31.0"\r
       os="linux,macosx,win32"\r
       ws="cocoa,gtk,win32"\r
       arch="x86,x86_64">\r
index b03a3e1bd3b424225ac4108f0f1c8278131542b8..3975d5d73c7e537646e01c3be9ca4092e7947d36 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.30.0</version>
+               <version>5.31.0</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
index 780d1ccac25d07e0c2f913a1796fd89fbca6d38f..6ca3f21f7c06dc33256852553b24a1e410ec75b8 100644 (file)
@@ -2,7 +2,7 @@
 <feature\r
       id="eu.etaxonomy.taxeditor.feature"\r
       label="Taxonomic Editor"\r
-      version="5.30.0"\r
+      version="5.31.0"\r
       provider-name="EDIT"\r
       plugin="eu.etaxonomy.taxeditor.application"\r
       os="linux,macosx,win32"\r
index 672b19d13e1d124f2e64dc06d76ce67b427cb44e..5b85a963c3fe6a33c485f10fd35967ffabdabfd7 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
index a91bc7acb8f52da136f85479164de48c63e1c862..883a2c6cfc0701244d45d87055521ee880319572 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Help
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.help; singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
 Bundle-Vendor: EDIT
 Require-Bundle: org.eclipse.ui,
index 9965d04b95e0bfa813c36f88df2d4648b0cd641b..7aa060dced22d931cf328408c5fab9b1c3476fd3 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.30.0</version>
+               <version>5.31.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 548f8ff9f41b2e59dd4489dc6f419ca5b6eaa8b8..2688da5a1fbb0bffc942edac1c4905d95c30a41d 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Local
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.local;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.jface,
  org.eclipse.ui.ide,
index dc045ce023cc173601049d513ac343a4639a540d..a1972c67aa35ed0248f613c60509b6f94e9c35ed 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.local</artifactId>
index 7cf0a9f942d50f86c9ed986a9d1932cc83f2a159..c449462b730c7b7563af98efcc22d615543b9ab6 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: eu.etaxonomy.taxeditor.molecular.lib
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular.lib;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-ClassPath: .,
  lib/owlapi-xmlutils-4.1.4.jar,
  lib/commons-collections4-4.1.jar,
index 1909eea2d94259a2c4b283ed5f70ed12dc3392bd..ad8d19cb9428cd3a213203902d88d0fcb60af425 100644 (file)
@@ -7,7 +7,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
   
   <name>Molecular Library Dependencies Bundle</name>
index a917efd2531e3e0b3a9445239c69e0ec03e7c286..d9723d88e2bccfa662152543d1ac73f7eb5a6873 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Molecular Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.molecular;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.molecular.TaxeditorMolecularPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
index 7be62c1f9e448d9fcfe920489529c46ace500bb2..b0afe55e010fddd658a880ede73d0796831a9c83 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index e3f797499b5aa4275d3096ec0e2699d7357dbf94..6d3df398b63126b5e9431d2d9de0c0fa69bbab67 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Navigation Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.navigation;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.navigation,
index abe19599862789df2283012f4044fde7252f140b..c0c4228dbe1d6dd94acd71dae2c56c31f2993987 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.30.0</version>
+               <version>5.31.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 1eff1eefaf384308c4c87197204481f57918715d..a0f8e6d7a684f36d58426e19bd960a657fe40f2d 100644 (file)
@@ -39,7 +39,9 @@ import org.eclipse.e4.ui.services.EMenuService;
 import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.jface.viewers.IElementComparer;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -593,4 +595,6 @@ public class TaxonNavigatorE4 implements
             viewer.setExpandedElements(expandedElements);
         }
     }
+
+       
 }
\ No newline at end of file
index edc47355ef8dedb81474147281c26c430f147481..86864e0199e85e75563c601c6334207d4a45ad90 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Printpublisher Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.printpublisher;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Export-Package: eu.etaxonomy.cdm.print,
  eu.etaxonomy.cdm.print.out,
  eu.etaxonomy.cdm.print.out.odf,
@@ -47,8 +47,8 @@ Require-Bundle: org.eclipse.osgi,
  eu.etaxonomy.taxeditor.editor,
  eu.etaxonomy.taxeditor.store
 Bundle-ClassPath: .,
- lib/cdmlib-print-5.30.0.jar,
- lib/cdmlib-remote-5.30.0.jar
+ lib/cdmlib-print-5.31.0.jar,
+ lib/cdmlib-remote-5.31.0.jar
 Import-Package: org.apache.log4j,
  org.eclipse.core.runtime,
  org.eclipse.core.runtime.jobs,
index 1f97be1ab27c444f26cf38ca666d0915432fa849..f2d0f7cb0cced2bc61cccee9fee4aab59d83184d 100644 (file)
@@ -2,7 +2,7 @@ source.. = src/main/java/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
-               lib/cdmlib-print-5.30.0.jar,\
-               lib/cdmlib-remote-5.30.0.jar,\
+               lib/cdmlib-print-5.31.0.jar,\
+               lib/cdmlib-remote-5.31.0.jar,\
                OSGI-INF/l10n/bundle.properties,\
                OSGI-INF/l10n/bundle_de.properties,\
index e1794698e50923c728593b45387dd5aa1fe69921..6b114b0fc72a7c1065c3fe58a3284d1086985a49 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <artifactId>taxeditor-parent</artifactId>
                <groupId>eu.etaxonomy</groupId>
-               <version>5.30.0</version>
+               <version>5.31.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index aeae386adc3bd46e375260e8f01b622284200da5..d8e94e0cb736cf4ab7e32e4a0d343376017216e8 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: DataStore Bundle
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.store;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/bundle
index b8a2335cfca4aa619bffae6a5e282da4c99f5258..0205588c539897af29b8f0bac33a492e69c0ddc3 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-       <version>5.30.0</version>
+       <version>5.31.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 0ff695bb7ab8db4e9e73cf02ffe29a2fcc413c3b..7b29d6690ffa0b1b820705271a2d0c08a27d76c2 100644 (file)
@@ -83,7 +83,7 @@ public class DefinedTermMenuE4 {
     private void addChildTermsToMenuManager(List<MMenuElement> items, TermType termType, boolean skipChildren) {
 
         //FIXME : need a better way to find out if a term type can be editable (ticket 3853)
-        if(termType.getEmptyDefinedTermBase() != null) {
+        if(termType.getEmptyDefinedTermBase(PreferencesUtil.getGlobalLanguage()) != null) {
             Set<TermType> children = termType.getGeneralizationOf();
             // term type has no children, so create menu item
             if(skipChildren || children.isEmpty()) {
index 71ad3a0833c640405e21a957183e2a04c43234ef..27b645e3c6b863f240a47c4916bcc378cef2ded5 100644 (file)
@@ -82,7 +82,7 @@ public class DefinedTermTreeMenu {
     private void addChildTermsToMenuManager(List<MMenuElement> items, TermType termType, boolean skipChildren) {
 
         //FIXME : need a better way to find out if a term type can be editable (ticket 3853)
-        if(termType.getEmptyDefinedTermBase() != null) {
+        if(termType.getEmptyDefinedTermBase(PreferencesUtil.getGlobalLanguage()) != null) {
             Set<TermType> children = termType.getGeneralizationOf();
             // term type has no children, so create menu item
             if(skipChildren || children.isEmpty()) {
index cc7f7a85f56d0e2b78ee91bd819b2e571f01fc2a..d2df0c47781994f7dd5e3496a2bf1505f97db23a 100644 (file)
@@ -23,6 +23,7 @@ import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
 \r
 /**\r
@@ -52,10 +53,10 @@ public class CreateDefinedTermOperation extends AbstractPostOperation<DefinedTer
                        throws ExecutionException {\r
            TermDto newTerm = null;\r
            if(parent instanceof TermDto){\r
-               newTerm = CdmStore.getService(ITermService.class).addNewTerm(definedTermInput.getTermType(), parent.getUuid(), addTermAsKindOf);\r
+               newTerm = CdmStore.getService(ITermService.class).addNewTerm(definedTermInput.getTermType(), parent.getUuid(), addTermAsKindOf, PreferencesUtil.getGlobalLanguage());\r
            }\r
            else if(parent instanceof TermVocabularyDto){\r
-               newTerm = CdmStore.getService(IVocabularyService.class).addNewTerm(definedTermInput.getTermType(), parent.getUuid());\r
+               newTerm = CdmStore.getService(IVocabularyService.class).addNewTerm(definedTermInput.getTermType(), parent.getUuid(), PreferencesUtil.getGlobalLanguage());\r
            }\r
 //         newTerm.setTitleCache("_" + newTerm.getTitleCache());\r
                return postExecute(newTerm);\r
index a9bbe222c6772541450c00d40ff612e20a22d0f4..b986426fc7a6c2e03e459a854aaf0b5030256f6a 100644 (file)
@@ -24,6 +24,7 @@ import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
 import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;\r
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
 \r
 /**\r
@@ -48,23 +49,20 @@ public class CreateTermVocabularyOperation extends AbstractPostTaxonOperation {
                        throws ExecutionException {\r
 \r
           TermType type= definedEditorInput.getTermType();\r
-          DefinedTermBase test = type.getEmptyDefinedTermBase();\r
+          DefinedTermBase test = type.getEmptyDefinedTermBase(PreferencesUtil.getGlobalLanguage());\r
           TermVocabulary termVocabulary = null;\r
           if (test instanceof OrderedTermBase){\r
-             termVocabulary = OrderedTermVocabulary.NewInstance(definedEditorInput.getTermType(),\r
-                       null,\r
-                       "Untitled",\r
-                       null,\r
-                       null);\r
+             termVocabulary = OrderedTermVocabulary.NewInstance(definedEditorInput.getTermType());\r
+             termVocabulary.setLabel("Untitled", PreferencesUtil.getGlobalLanguage());       \r
           }\r
 \r
           if (termVocabulary == null){\r
            termVocabulary =\r
                 TermVocabulary.NewInstance(definedEditorInput.getTermType(),\r
-                    null,\r
+                    null,null, \r
                     "Untitled",\r
                     null,\r
-                    null);\r
+                    null, PreferencesUtil.getGlobalLanguage());\r
           }\r
 \r
                termVocabulary = CdmStore.getService(IVocabularyService.class).save(termVocabulary);\r
index cda2c3c8a6ab345425d23de8884ee310a1fade78..63b9d84d04d9ae134b600295e939571d60343fa1 100644 (file)
@@ -207,7 +207,7 @@ PreservationMethodMenuPreferences_select=Choose available preservation methods
 
 DeleteConfiguration_media_removeFromGallery=Remove the media from the image gallery but leave it in database
 DeleteConfiguration_media_deleteIfUsedInTaxonDescription=Delete also if media is used in taxon description
-DeleteConfiguration_media_deleteIfUsedSomeWhereElse=Delete the media also if it is used somewhere else        
+DeleteConfiguration_media_deleteIfUsedSomeWhereElse=Delete from taxon and specimen descriptions or if used as protologue for taxon names        
 DeleteConfiguration_media_delete=Remove the media from the image gallery and delete the media completely, if possible
 DeleteResultMessagingUtils_ABORT=Delete was aborted
 DeleteResultMessagingUtils_SUCCES=Delete was successful
index 2bcfa5131d031aa63c82cee5f3a19fc3f75e2641..b4bcf93395e842960c347dfa8e698653f63fa650 100644 (file)
@@ -206,7 +206,7 @@ PreservationMethodMenuPreferences_select=Auswahl der zur Verf\u00FCgung stehende
 
 DeleteConfiguration_media_removeFromGallery=Entferne Mediendaten aus der Gallerie, aber behalte sie in der Datenbank
 DeleteConfiguration_media_deleteIfUsedInTaxonDescription=Lösche die Mediendaten, auch wenn sie Teil einer Taxonbeschreibung ist
-DeleteConfiguration_media_deleteIfUsedSomeWhereElse=Lösche die Mediendaten vollständig, auch wenn sie an anderer Stelle verwendet werden
+DeleteConfiguration_media_deleteIfUsedSomeWhereElse=Lösche die Mediendaten vollständig, auch wenn sie in einer Beschreibung oder als Protolog verwendet werden.
 DeleteConfiguration_media_delete=Entferne die Mediendaten aus der Gallerie und lösche sie aus der Datenbank, wenn sie nicht anderweitig verwendet werden.
 DeleteResultMessagingUtils_ABORT=Löschen wurde abgebrochen
 DeleteResultMessagingUtils_SUCCES=Löschen war erfolgreich
index b7a985aad2ec1fea93c733ea18c0a7f72f18e229..5d57510df83a326e5b26be91397a7d6bd0e9d242 100644 (file)
@@ -227,14 +227,30 @@ public class DescriptionHelper {
                        name = "No name provided";
                }
                Language language = commonName.getLanguage();
-               if (language == null) {
-                       name += " (No language provided)";
-               } else {
-                       
-                       String languageLabel = language.getPreferredRepresentation(CdmStore.getDefaultLanguage()).getLabel();
-                       
-                       name += " (" + languageLabel + ")";
+               NamedArea area = commonName.getArea();
+               String areaLabel = null;
+               String languageLabel = null;
+               if (area != null){
+                       areaLabel = area.getPreferredRepresentation(CdmStore.getDefaultLanguage()).getLabel();                  
+               } 
+               if (language != null){                  
+                       languageLabel = language.getPreferredRepresentation(CdmStore.getDefaultLanguage()).getLabel();
+               }
+               if (areaLabel != null || languageLabel != null){
+                       name += " (" ;
+                       if (languageLabel != null){
+                               name += languageLabel;
+                       }
+                       if (areaLabel != null){
+                               if (languageLabel != null){
+                                       name += ", ";
+                               }
+                               name += areaLabel;
+                       }
+                       name +=  ")";
                }
+               
+               
                return name;
        }
 
index 8378343d1cefe5333b30723c0eeab3152ce32a3b..6370daf97fc4017c0c87c1acfe8f9deea828b4de 100644 (file)
@@ -14,6 +14,8 @@ import org.eclipse.swt.widgets.Control;
 \r
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;\r
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;\r
+import eu.etaxonomy.taxeditor.event.EventUtility;\r
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;\r
 import eu.etaxonomy.taxeditor.l10n.Messages;\r
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;\r
 \r
@@ -160,8 +162,9 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
                    }\r
                    PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);\r
                }\r
-\r
+               EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, true);\r
                    }\r
+                   \r
                        return true;\r
 \r
                }\r
index 2a2412bc40384137376eb6412cff64a319970ecb..0b72eeddf3bc882821651829a0cd77ab2ce2b74e 100644 (file)
@@ -107,7 +107,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     private final static String EDITOR_PREFERENCES_NODE = "eu.etaxonomy.taxeditor";
 
     public static final String PREFERRED_TERMS_CHANGE = "preferred_terms";
-
+    public static final String UPDATE_NAVIGATOR = "update_navigator";
     public static final String P2_REPOSITORIES_DELIM = ",";
     public static final String P2_REPOSITORY_FIELDS_DELIM = ";";
     public static final String SUBJECT_DELIM = "/";
@@ -829,6 +829,11 @@ public class PreferencesUtil implements IPreferenceKeys {
         getPreferenceStore().firePropertyChangeEvent(PREFERRED_TERMS_CHANGE,
                 null, clazz);
     }
+    
+    public static void firePreferencesChangedForNavigator() {
+        getPreferenceStore().firePropertyChangeEvent(UPDATE_NAVIGATOR,
+                null, null);
+    }
 
 
     public static String createPreferenceString(String property){
index 523a59bb38b9585305bea9ea716f04c1b6e0355e..64ca0927bdeed66eb0ab1195ad52904297ff3997 100644 (file)
 package eu.etaxonomy.taxeditor.store;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.UUID;
 
+import org.apache.commons.lang3.StringUtils;
+
+import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.cdm.model.term.TermBase;
 import eu.etaxonomy.cdm.model.term.TermType;
@@ -158,7 +164,7 @@ public class TermManager {
                                        filteredTerms.add(type);
                                }
                        }
-
+                       
                        if(PreferencesUtil.getBooleanValue(getPrefName(term), true)){
                                filteredTerms.add(term);
                        }
@@ -170,7 +176,7 @@ public class TermManager {
                        preferredTerms = cachedTermMap.get(initialTerms.get(0).getVocabulary().getUuid());
                    }
                    if (preferredTerms == null){
-                       preferredTerms = cachedTermMap.get(initialTerms.get(0).getTermType());
+                       preferredTerms = cachedTermMap.get(initialTerms.get(0).getTermType().getUuid());
                    }
                    if (preferredTerms == null){
                        return initialTerms;
@@ -187,7 +193,46 @@ public class TermManager {
 
                return filteredTerms;
        }
+       
+       public <T extends DefinedTermBase>List<T> createTermListFromString(String stringValue, TermType type){
+                List<String> checked = new ArrayList<>();
+       
+               if (stringValue != null){
+                       String[] listChecked = stringValue.split(";"); //$NON-NLS-1$
+                       String[] listCheckedComma = stringValue.split(","); //$NON-NLS-1$
+                       if (listChecked != null ){
+                               checked = Arrays.asList(listChecked);
+                       }
+                       if (listCheckedComma != null && stringValue.contains(",")){ //$NON-NLS-1$
+                               checked = Arrays.asList(listCheckedComma);
+                       }
+               }
+        List<T> termsFromStringValues = getTermsFromStringValues(checked, type);
+        return termsFromStringValues;
+       }
+
+        protected <T extends DefinedTermBase>List<T> getTermsFromStringValues(List<String> listValue, TermType type) {
+               Collection<DefinedTermBase> termlist = new ArrayList<>();
+               ITermService termService = CdmStore.getService(ITermService.class);
+               Set<UUID> uuidList = new HashSet();
+               for (String s : listValue) {
+                   if (!StringUtils.isBlank(s)){
+                       UUID uuid = UUID.fromString(s);
+                       uuidList.add(uuid);
+                   }
+               }
+               if (!uuidList.isEmpty()){
+                   termlist = termService.find(uuidList);
+               }
+
+               if (listValue == null || listValue.isEmpty() ){
+                   termlist = termService.listByTermType(type, null, null, null, null);
 
+               }
+
+               return new ArrayList(termlist);
+           }
+       
        /**
      * Generic method to get term preferences for a term vocabulary
      *
@@ -274,7 +319,7 @@ public class TermManager {
 
         clearTermMapForTermType(type);
         List<TermDto> list = new ArrayList<>(preferredTerms);
-        cachedTermMap.put(type, list);
+        cachedTermMap.put(type.getUuid(), list);
     }
 
     /**
@@ -317,7 +362,7 @@ public class TermManager {
        }
 
        public void clearTermMapForTermType(TermType termType){
-        cachedTermMap.remove(termType);
+        cachedTermMap.remove(termType.getUuid());
     }
 
        /**
index 1c608c094dbc9f1aeccb3f4097e5721bdaedabe7..5ff533fda0a199d8ec24b26f8b0655c7f3aff93e 100644 (file)
@@ -81,7 +81,7 @@ public abstract class AbstractComboElement<T>
 
     @Override
     public void setBackground(Color color) {
-        if (label != null) {
+        if (label != null && !label.isDisposed()) {
             label.setBackground(color);
         }
     }
index 199b03229bb790b3464eeb57a49ecaf860db8ab0..cc84141ef834ef0ec688010f7d6551209afd0fad 100644 (file)
@@ -253,6 +253,7 @@ public class EnumComboElement<T extends IEnumTerm<T>>
             for(Entry<T, String> keyLabelPair : orderedTerms.entrySet()){
                 elementTypeList.add(keyLabelPair.getKey());
                 combo.add(keyLabelPair.getValue(), index);
+                combo.setData(keyLabelPair.getValue(), keyLabelPair.getKey());
                 index++;
             }
         }else if(enumType.equals(NomenclaturalCodeEdition.class)){
@@ -272,6 +273,7 @@ public class EnumComboElement<T extends IEnumTerm<T>>
             for (NomenclaturalCodeEdition codeEdition: elements){
                     elementTypeList.add((T)codeEdition);
                     combo.add(codeEdition.getLabel(), index);
+                    combo.setData(codeEdition.getLabel(), (T)codeEdition);
                     index++;
             }
         }
@@ -281,9 +283,11 @@ public class EnumComboElement<T extends IEnumTerm<T>>
                 elementTypeList.add(enumElement);
                 if (enumElement instanceof IEnumTerm)  {
                     combo.add(((IEnumTerm) enumElement).getLabel(), index);
+                    combo.setData(((IEnumTerm) enumElement).getLabel(), enumElement);
                     index++;
                 }else{
                     combo.add(((Enum) enumElement).name(), index);
+                    combo.setData(((Enum) enumElement).name(), enumElement);
                     index++;
                 }
             }
index 6315858fbecb4513be365085aa26cffadf04eeb6..040690bae6c202c13608b5b7c962a7ea89527709 100755 (executable)
@@ -18,7 +18,10 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 
 import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.NameRelationshipType;
+import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.cdm.model.term.Representation;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -58,7 +61,13 @@ public class NameRelationshipTypeCombo<T extends InverseTermWrapper> extends Abs
             Comparator<T> comparator) {
      super(cdmFormFactory, parentElement);
      // labelString, selection, addEmptyElement, style,  comparator
-     terms = getTermManager().getPreferredTerms(TermType.NameRelationshipType);
+     
+     String availableTypes = PreferencesUtil.getStringValue(PreferencePredicate.AvailableNameRelationshipType.getKey());
+     List<NameRelationshipType> relTypes = CdmStore.getTermManager().createTermListFromString(availableTypes, TermType.NameRelationshipType);
+     
+//     terms = getTermManager().getPreferredTerms(TermType.NameRelationshipType);
+     
+     terms = relTypes;
 //     PreferencesUtil.get
      this.useAbbrevLabel = useAbbrevLabel;
      populateTerms();
index 0ade14c1e6054acebc8abdd38771b2c5b118cfdd..f182217d6c039484e636941984329afa332da554 100755 (executable)
@@ -113,7 +113,7 @@ public class TermComboElement<T extends DefinedTermBase>
                int style, boolean useAbbrevLabel, Comparator<T> comparator) {
         super(formFactory, parentElement);
 
-        this.termType = termType;
+//        this.termType = termType;
         this.termVocabulary = termVocabulary;
         this.termClass = termClass;
         this.addEmptyElement = addEmptyElement;
@@ -137,7 +137,11 @@ public class TermComboElement<T extends DefinedTermBase>
         }else if (terms != null){
             addTerms(terms);
         }
-
+        if (termType == null && terms != null && !terms.isEmpty()){
+               this.termType = terms.get(0).getTermType();
+        }else{
+               this.termType = termType;
+        }
 
         addContentProposalAdapter();
         combo.addSelectionListener(this);
@@ -174,7 +178,7 @@ public class TermComboElement<T extends DefinedTermBase>
             int style, boolean useAbbrevLabel, Comparator<T> comparator) {
         super(formFactory, parentElement);
 
-        this.termType = termType;
+//        this.termType = termType;
         this.termVocabulary = termVocabulary;
         this.termClass = termClass;
         this.addEmptyElement = addEmptyElement;
@@ -194,8 +198,14 @@ public class TermComboElement<T extends DefinedTermBase>
         }
         else if(this.termClass!=null){
             addTerms(getPreferredTerms());
-        }else if (terms != null){
+        }else if (terms != null && !terms.isEmpty()){
             addTerms(terms);
+            
+        }
+        if (termType == null){
+               this.termType = terms.get(0).getTermType();
+        }else{
+               this.termType = termType;
         }
 
 
index 28c2d2b4f071478ee9b5435731a838fcc0f2c6c8..881774d3eaba6aae35e9c3f9e024a84a12dcef97 100644 (file)
@@ -152,7 +152,7 @@ public class AgentSelectionDialog<T extends AgentBase>
             if (element instanceof TeamOrPersonUuidAndTitleCache){
                 collectorTitleCache = ((TeamOrPersonUuidAndTitleCache)element).getCollectorTitleCache();
             }
-            if (!titleCache.equals(abbrevTitleCache)){
+            if (!titleCache.equals(abbrevTitleCache) && abbrevTitleCache != null){
                 titleCache += " - " + abbrevTitleCache;
             }
             if (collectorTitleCache != null && !uuidAndTitleCache.getTitleCache().equals(collectorTitleCache) && !abbrevTitleCache.equals(collectorTitleCache)){
index 9177d25ab2fca7e3f41fa01316752da0b7e224ff..ec4d074be390f9fb6732cf71b1fd214f58e87100 100644 (file)
@@ -48,10 +48,10 @@ public class NomenclaturalReferenceSelectionDialog extends
         Control control =getSearchField();
         lastSelectedReferences = PreferencesUtil.getLastSelectedReferences();
         if (firstCall && author != null){
-            pattern = author.getNomenclaturalTitleCache();
+            int authorID = author.getId();
             if (control!= null){
                 firstCall = false;
-                model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCacheForAuthor(null, pattern, null);
+                model = CdmStore.getService(IReferenceService.class).getUuidAndAbbrevTitleCacheForAuthorID(null, authorID, null);
             }
 
         }else{
index 063be173af82e4a66547a7142de981811191fecd..10584bab3a597aebe15b48911c24eb0d53275661 100644 (file)
@@ -192,7 +192,9 @@ public abstract class AbstractFormSection<ENTITY>
                for (ICdmFormElement element : getElements()) {
                        element.setBackground(color);
                }
-               getLayoutComposite().setBackground(color);
+               if (!getLayoutComposite().isDisposed()){
+                       getLayoutComposite().setBackground(color);
+               }
                super.setBackground(color);
        }
 
index fd07cb29ae8d26b1454b82709319eb4240fedc93..5e3634c5e771ed140e9beb025dba6deec4683dd6 100644 (file)
@@ -114,6 +114,7 @@ import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.TextualTypeDesignation;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.cdm.model.occurrence.OccurrenceStatus;
 import eu.etaxonomy.cdm.model.permission.GrantedAuthorityImpl;
 import eu.etaxonomy.cdm.model.permission.Group;
 import eu.etaxonomy.cdm.model.permission.User;
@@ -290,10 +291,12 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopeDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GeoScopePolyKeyDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.OccurrenceStatusElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.OriginalLabelDataSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.StatusCollectionDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.association.DerivedUnitTypeDesignationElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.association.DerivedUnitTypeDesignationSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailElement;
@@ -2943,6 +2946,12 @@ public class CdmFormFactory extends FormToolkit {
         addAndAdaptSection(parentElement, section);
         return section;
     }
+    
+    public StatusCollectionDetailSection createStatusCollectionDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
+        StatusCollectionDetailSection section = new StatusCollectionDetailSection(this, conversation, parentElement, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
 
     public ScopeRestrictionSection createScopeRestrictionSection(ConversationHolder conversation, ICdmFormElement parentElement, int style){
         ScopeRestrictionSection section = new ScopeRestrictionSection(this, conversation, parentElement, style);
@@ -3184,6 +3193,8 @@ public class CdmFormFactory extends FormToolkit {
                element = new InapplicableIfCollectionElementForDto(this, parentElement, (FeatureStateDto) entity, removeListener, backgroundColor, style);
            } else if (entity instanceof FeatureStateDto && parentElement instanceof OnlyApplicableIfEntityCollectionSection) {
                element = new OnlyApplicableIfCollectionElementForDto(this, parentElement, (FeatureStateDto) entity, removeListener, backgroundColor, style);
+           }else if (entity instanceof OccurrenceStatus) {
+               element = new OccurrenceStatusElement(this, parentElement, (OccurrenceStatus)entity, removeListener, style);
            }
 
         //check for parent section when entity is null
index 989119e6f9dd1fa74d60d654dd8dde983a461cd4..158e563fa05c73cd63dd7c88f1b95fb8f07e7547 100644 (file)
@@ -15,6 +15,7 @@ import java.util.List;
 import org.apache.log4j.Logger;
 import org.eclipse.swt.SWT;
 
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.IBacterialName;
 import eu.etaxonomy.cdm.model.name.ICultivarPlantName;
 import eu.etaxonomy.cdm.model.name.IFungusName;
@@ -91,7 +92,7 @@ public class NameDetailElement
                                    if (o2 == null){
                                        return -1;
                                    }
-                                       return o1.compareTo(o2);
+                                       return -1*o1.compareTo(o2);
                                }
                        };
                }
@@ -252,7 +253,8 @@ public class NameDetailElement
 
     private List<Rank> getRanks(INonViralName name, NomenclaturalCode code) {
         List<Rank> ranks = new ArrayList<>();
-        List<DefinedTermBase> allRanks = CdmStore.getTermManager().getPreferredTerms(TermType.Rank);
+        String availableRanks = PreferencesUtil.getStringValue(PreferencePredicate.AvailableRanks.getKey());
+        List<DefinedTermBase> allRanks = CdmStore.getTermManager().createTermListFromString(availableRanks, TermType.Rank);
         for(DefinedTermBase term: allRanks){
                    Rank rank = (Rank)term;
                    if (rank.isCultivar() == code.equals(NomenclaturalCode.ICNCP)){
index f149afb69a40b4a9d812ccb8cc74a2754d4cb563..fa852eed7b36ae90e94fef94d38f4f437541adc4 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.name;
 
 import java.util.Comparator;
+import java.util.List;
 
 import org.eclipse.swt.events.SelectionListener;
 
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatus;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.preference.NameDetailsConfigurator;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -81,8 +85,11 @@ public class NomenclaturalStatusElement extends AbstractSourcedEntityElement<Nom
             }
         };
 
-               nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(TermType.NomenclaturalStatusType, this, "Status", null,true, style, true);
-               nomenclaturalStatusTypeCombo.setTermComparator(termComparator);
+        String availableStatus = PreferencesUtil.getStringValue(PreferencePredicate.AvailableNomenclaturalStatus.getKey());
+        List<NomenclaturalStatusType> allStatus = CdmStore.getTermManager().createTermListFromString(availableStatus, TermType.NomenclaturalStatusType);
+
+               nomenclaturalStatusTypeCombo = formFactory.createDefinedTermComboElement(allStatus, this, "Status", null,style, termComparator);
+
                if (config == null || config.isNomenclaturalStatusRuleConsideredActivated()){
                    ruleConsidered = formFactory.createRuleConsideredElement(this, "Rule Considered", config == null || config.isNomenclaturalStatusRuleConsideredCodeEditionActivated(), style);
                }
index dc0b93d52a5929713f57f6fad8955c62db4d7012..9159d799de2e94a1655a88ce492f0a29c008b871 100644 (file)
@@ -8,10 +8,14 @@
  */
 package eu.etaxonomy.taxeditor.ui.section.name;
 
+import java.util.List;
+
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.compare.name.TypeDesignationStatusComparator;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.name.NameRelationshipType;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
@@ -20,6 +24,8 @@ import eu.etaxonomy.cdm.model.reference.NamedSource;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -50,9 +56,12 @@ public class SpecimenTypeDesignationElement extends
                                .createSelectionElement(DerivedUnit.class,
                                        formElement, "Specimen", null,
                                                EntitySelectionElement.ALL, style);
-               combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.SpecimenTypeDesignationStatus,
-                                               formElement, "Designation Status", null, style, new TypeDesignationStatusComparator<SpecimenTypeDesignationStatus>());
-
+               String availableTypes = PreferencesUtil.getStringValue(PreferencePredicate.SpecimenTypeDesignationStatus.getKey());
+           List<SpecimenTypeDesignationStatus> relTypes = CdmStore.getTermManager().createTermListFromString(availableTypes, TermType.SpecimenTypeDesignationStatus);
+//             combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.SpecimenTypeDesignationStatus,
+//                                             formElement, "Designation Status", null, style, new TypeDesignationStatusComparator<SpecimenTypeDesignationStatus>());
+           combo_typeStatus = formFactory.createDefinedTermComboElement(relTypes, formElement, "Designation Status", null,style, new TypeDesignationStatusComparator<SpecimenTypeDesignationStatus>());
+           
                super.createControls(formElement, style);
                setEntity(entity);
        }
index 43119397079f591dfb30507fd8b5a175e8bbabfc..7e7133ab32b7f06eda3f5f717c1258bf2d6c15b0 100644 (file)
@@ -61,7 +61,7 @@ public class DerivedUnitBaseDetailElement extends
     private OriginalLabelDataElement textOriginalLabel;
 
     private DerivedUnitMediaSection mediaDetailElement;
-
+    
 
 
        /**
@@ -133,8 +133,9 @@ public class DerivedUnitBaseDetailElement extends
 
 
                super.createControls(formElement, entity, style);
-
-        section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(SourceCollectionDetailSection.class, entity.getClass().getCanonicalName()));
+               
+               
+               section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(SourceCollectionDetailSection.class, entity.getClass().getCanonicalName()));
                section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
                section_source.setEntity(entity);
 
index caec7352978e993caf296cfe98fa957995c56928..08bf5fc6adca2259126b4db8b026fe316e4377e9 100644 (file)
@@ -16,10 +16,14 @@ import eu.etaxonomy.cdm.model.agent.Team;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.cdm.model.occurrence.OccurrenceStatus;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
+import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
 import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
@@ -65,6 +69,7 @@ public class DerivedUnitGeneralDetailElement extends
        private GatheringEventUnitElement element_elevation;
        private UriWithLabelElement uriPreferredStableUri;
        private CheckboxElement checkIsPublish;
+       private StatusCollectionDetailSection section_status;
 
 
        public DerivedUnitGeneralDetailElement(CdmFormFactory formFactory,
@@ -127,7 +132,11 @@ public class DerivedUnitGeneralDetailElement extends
                                formElement, "Accession Number", entity.getAccessionNumber(),
                                style);
                uriPreferredStableUri = formFactory.createUriWithLabelElement(formElement, "Pref. Stable URI", entity.getPreferredStableUri(), style);
-        checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.innerDerivedUnit().isPublish(), style);
+               section_status = formFactory.createStatusCollectionDetailSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(SourceCollectionDetailSection.class, entity.getClass().getCanonicalName()));
+               section_status.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+               section_status.setEntity(entity);
+               
+               checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.innerDerivedUnit().isPublish(), style);
 
        }
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OccurrenceStatusElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OccurrenceStatusElement.java
new file mode 100644 (file)
index 0000000..271eb16
--- /dev/null
@@ -0,0 +1,82 @@
+package eu.etaxonomy.taxeditor.ui.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.common.ExtensionType;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.OccurrenceStatus;
+import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
+import eu.etaxonomy.taxeditor.ui.section.reference.SingleSourceSection;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractOriginalSourceElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSingleSourceElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSourcedEntityBaseElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSourcedEntityElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.IdentifiableSourceElement;
+
+public class OccurrenceStatusElement extends AbstractSourcedEntityElement<OccurrenceStatus>{
+
+       private TermComboElement<DefinedTerm> combo_statusType; 
+       
+//     private IdentifiableSourceElement sourceElement;
+
+       
+       public OccurrenceStatusElement(CdmFormFactory formFactory, AbstractFormSection section, OccurrenceStatus entity, SelectionListener removeListener, int style) {
+               super(formFactory, section, entity, removeListener, "Status", style);
+               
+       }
+
+       @Override
+       public void setEntity(OccurrenceStatus entity) {
+               super.setEntity(entity);
+               if (combo_statusType != null){
+                       DefinedTerm statusType = HibernateProxyHelper.deproxy(entity.getType());
+                       combo_statusType.setSelection(statusType);                      
+               }
+               this.setSourceLabel("Source");
+               
+               
+       }
+
+       @Override
+       public void createControls(ICdmFormElement element, int style) {
+               combo_statusType = formFactory.createDefinedTermComboElement(TermType.OccurrenceStatusType, element, "Type", null, style);
+               if (entity != null){
+                       setEntity(entity);
+               }
+               super.createControls(element, style);
+               this.setSourceLabel("Source");
+               
+       }
+
+       @Override
+       public void handleEvent(Object eventSource) {
+               if(eventSource == combo_statusType){
+                       getEntity().setType(combo_statusType.getSelection());
+               }
+               if (getParentElement() instanceof AbstractCdmDetailSection) {
+            ((AbstractCdmDetailSection<?>) getParentElement()).updateTitle();
+        }
+               
+       }
+
+       @Override
+       public SelectionArbitrator getSelectionArbitrator() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/StatusCollectionDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/StatusCollectionDetailSection.java
new file mode 100644 (file)
index 0000000..b9b8c24
--- /dev/null
@@ -0,0 +1,144 @@
+/**
+* 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.occurrence;
+
+import java.util.Collection;
+import java.util.Comparator;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.OccurrenceStatus;
+import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
+import eu.etaxonomy.taxeditor.ui.section.DefaultCdmBaseComparator;
+
+/**
+ * <p>SourceCollectionDetailSection class.</p>
+ *
+ * @author n.hoffmann
+ * @created Oct 15, 2010
+ * @version 1.0
+ */
+public class StatusCollectionDetailSection extends
+               AbstractEntityCollectionSection<DerivedUnitFacade, OccurrenceStatus> {
+
+       /**
+        * <p>Constructor for SourceCollectionDetailSection.</p>
+        *
+        * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
+        * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+        * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
+        * @param style a int.
+        */
+       public StatusCollectionDetailSection(CdmFormFactory formFactory,
+                       ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+               super(formFactory, conversation, parentElement, "Status", style);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+        */
+       /** {@inheritDoc} */
+       @Override
+       public Collection<OccurrenceStatus> getCollection(DerivedUnitFacade entity) {
+               if (entity.baseUnit() instanceof DerivedUnit){
+                       return ((DerivedUnit)entity.baseUnit()).getStatus();
+               }
+               return null;
+       }
+
+       @Override
+       public Comparator<OccurrenceStatus> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+        */
+       /** {@inheritDoc} */
+       @Override
+       public OccurrenceStatus createNewElement() {
+               return OccurrenceStatus.NewInstance(null);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       /** {@inheritDoc} */
+       @Override
+       public void addElement(OccurrenceStatus element) {
+                ((DerivedUnit)getEntity().baseUnit()).addStatus(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+        */
+       /** {@inheritDoc} */
+       @Override
+       public void removeElement(OccurrenceStatus element) {
+               ((DerivedUnit)getEntity().baseUnit()).removeStatus(element);
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+        */
+       /** {@inheritDoc} */
+       @Override
+       public String getEmptyString() {
+               return "No status yet.";
+       }
+
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+        */
+       /** {@inheritDoc} */
+       @Override
+       protected String getTooltipString() {
+               return "Add status";
+       }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public OccurrenceStatus addExisting() {
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean allowAddExisting() {
+        return false;
+    }
+    
+    @Override
+    protected void setSectionTitle() {
+           DerivedUnitFacade entity = getEntity();
+               Collection<OccurrenceStatus> collection = getCollection(entity);
+               if(collection != null && collection.size() > 0){
+                       String concatenatedLabels = "";
+                       for (OccurrenceStatus status: collection){
+                               concatenatedLabels += ", "+ (status != null && status.getType() != null? status.getType().getPreferredRepresentation(CdmStore.getDefaultLanguage()) : " - ");
+                       }
+                       concatenatedLabels = concatenatedLabels.replaceFirst(", ", ": ");
+                       this.setText(getTitleString() + concatenatedLabels );
+               }else{
+                       this.setText(getTitleString());
+               }
+       }
+
+}
index d681833ca1d64e1d5d5f93c4e901737ecf985d08..0d3cae81bef5e0ef5c1d86f448eb061ffea7860b 100755 (executable)
@@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
@@ -69,7 +70,7 @@ public class OriginalSourceElement<T extends OriginalSourceBase>
         }
         externalLinks = formFactory.createExternalLinksSection(getConversationHolder(), formElement, "Link(s)", StoreUtil.getSectionStyle(ExternalLinksSection.class, DescriptionElementSource.class.getCanonicalName()));
         externalLinks.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 3));
-        externalLinks.setEntity(entity);
+        externalLinks.setEntity(HibernateProxyHelper.deproxy(entity));
         externalLinks.setFont(AbstractUtility.getFont(Resources.COLOR_FONT_DEFAULT));
         externalLinks.setEmptySectionString("No links yet.");
 
index 45ed1ed2aee8179c518af791e103aef3ead94c4e..938db02977d9bde8fe3570b8e0ac74198e9d7f3f 100644 (file)
@@ -44,6 +44,7 @@ public abstract class AbstractSourcedEntityElement<T extends SingleSourcedEntity
                        selectionArbitrator = formFactory.createSelectionArbitrator(this);
                }
                this.isCommonNameReference = isCommonNameReference;
+               
 
 
        }
@@ -68,7 +69,7 @@ public abstract class AbstractSourcedEntityElement<T extends SingleSourcedEntity
             sourceElement.setEntity(entity.getSource());
 
         }
-
+        
        }
 
        @Override
@@ -85,6 +86,7 @@ public abstract class AbstractSourcedEntityElement<T extends SingleSourcedEntity
            this.label = sourceLabel;
            if (sourceElement != null){
                this.sourceElement.getReferenceSelectionElement().setLabel(sourceLabel);
+               this.sourceElement.refresh();
            }
        }
 
index eed4a039345a0378a5a31b231b2468d56573383c..49d991c848e401151d25e8c839558a05e3ade227 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: eu.etaxonomy.taxeditor.test
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.test;singleton:=true
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: EDIT
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
index 0ab58f599e4be85c9a3731bcdb7ec6d19f1e911e..eb28eaaf8f9d87d3650348641941c974741e11bc 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
   <artifactId>eu.etaxonomy.taxeditor.test</artifactId>
   <!-- for packaging=eclipse-test-plugin 
index 01f2a04460c4595bd3ea65056df7d60a8fa80eb9..d0024a4ac1848f26452f4fafe0428c7eb8258319 100644 (file)
@@ -425,7 +425,7 @@ public class CdmEntitySessionAwareTest extends RemotingSessionAwareTest {
     public void saveNewTerm() {
         UUID vocNameFeatureUuid = UUID.fromString("fa7ca3eef-4092-49e1-beec-ed5096193e5e");
         UUID vocFeatureUuid = UUID.fromString("b187d555-f06f-4d65-9e53-da7c93f8eaa8");
-        Feature newTerm = (Feature)TermType.Feature.getEmptyDefinedTermBase();
+        Feature newTerm = (Feature)TermType.Feature.getEmptyDefinedTermBase(null);
         newTerm.setLabel("CreateTest");
 
         try {
index 3cd5d197878af003af4342baeed2fd7ed605f4ba..a941c0d6502b407b31c3989bebfdcb02e92aac79 100644 (file)
@@ -5,7 +5,7 @@ Export-Package: eu.etaxonomy.taxeditor.bulkeditor,
  eu.etaxonomy.taxeditor.workbench.datasource,
  eu.etaxonomy.taxeditor.workbench.part
 Bundle-Name: Workbench Bundle
-Bundle-Version: 5.30.0
+Bundle-Version: 5.31.0
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.e4.ui.workbench,
index e10de57f3de0dd048d64448b8396019321287ae0..e8c3d10c78aba3326ac7c57a582772794132ace5 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 530651db0a680c5ca00e9b3ffa67f8ad5ff37828..cf03f3203db3a4c7bd0ce29a2a6ec0d69e0418ef 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="5.30.0">
+<?pde version="3.5"?><product application="eu.etaxonomy.taxeditor.application.application" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" includeLaunchers="true" name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" useFeatures="true" version="5.31.0">
   <aboutInfo>
     <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
     <text>
index 6f594ae593b25ed82fa95f102e54d488b278dce0..0ae2eae12223573c5b74bfd21bb4f223a6798532 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="5.30.0" useFeatures="true" includeLaunchers="true">
+<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product.jre" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="5.31.0" useFeatures="true" includeLaunchers="true">
 
    <aboutInfo>
       <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
index 94bbf00f13af03441396ce769247ad6e0898304d..3929f599c39adb7631714753784df8dce14118b2 100644 (file)
@@ -2,7 +2,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.30.0</version>
+    <version>5.31.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/pom.xml b/pom.xml
index 3d47f103858763250ad17912944b17413d89323a..069839bcbe30c82cc3672d8aa6fc0c8bf1b92aeb 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
   </prerequisites>
   <groupId>eu.etaxonomy</groupId>
   <artifactId>taxeditor-parent</artifactId>
-  <version>5.30.0</version>
+  <version>5.31.0</version>
   <name>EDIT Taxonomic Editor</name>
   <description>The Taxonomic Editor for EDIT's platform for
     cybertaxonomy
   <properties>
     <java.codelevel>1.8</java.codelevel>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <cdmlib.version>5.30.0</cdmlib.version>
+    <cdmlib.version>5.31.0</cdmlib.version>
     <!-- TODO can we use project.version ????? -->
     <!-- Increasing tycho above 0.22.0 will fail for the macosx build because 
       for higher version numbers tycho needs to be build against Eclipse Mars or 
       higher -->
     <tycho.version>1.7.0</tycho.version>
-    <taxeditor.version>5.30.0</taxeditor.version>
+    <taxeditor.version>5.31.0</taxeditor.version>
     <update.dir>snapshot</update.dir>
     <log4j.version>1.2.17</log4j.version>
     <httpcomponents.version>4.5.13</httpcomponents.version>
     <jetty-version>9.4.26.v20200117</jetty-version>
     <doclint>none</doclint>
   
+  
     <!-- see according comment in cdmlib for possible finetuning -->
   </properties>
   <modules>