Merge branch 'release/5.17.0' 5.17.0
authorjenkins <jenkins-int@bgbm.org>
Wed, 19 Aug 2020 20:06:28 +0000 (22:06 +0200)
committerjenkins <jenkins-int@bgbm.org>
Wed, 19 Aug 2020 20:06:28 +0000 (22:06 +0200)
144 files changed:
.gitignore
eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.application/pom.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/LifeCycleManager.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/TaxonomicEditorPlugin.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/PolytomousKey.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Taxonomic.java
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/Uses.java
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/pom.xml
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4Composite.java
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/lib/commons-codec-1.10.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/commons-lang3-3.3.2.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/concurrent-1.3.4.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/dozer-5.3.0.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/easymock-2.3.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/easymockclassextension-2.3.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/h2-1.4.190.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/h2mig_pagestore_addon.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-cglib-repack-2.1_3.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-ehcache-5.0.7.Final.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/hsqldb-2.3.3.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/jackson-core-asl-1.8.8.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/jackson-mapper-asl-1.8.8.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/javax.servlet-api-3.1.0.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/junit-benchmarks-0.7.2.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.15.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.20.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.cdmlib/lib/ognl-2.6.9.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/sanselan-0.97-incubator.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/spring-modules-cache-0.7.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-oauth2-2.0.11.RELEASE.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-web-4.0.3.RELEASE.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/spring-webmvc-4.2.4.RELEASE.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger-common-2.3.1.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger2-2.3.1.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/xmlpull-1.1.3.1.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/xom-1.2.5.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/xpp3-1.1.4c.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/xpp3_min-1.1.4c.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/xstream-1.4.8.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/lib/yjp-controller-api-redist-9.0.8.jar [deleted file]
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.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/name/e4/TaxonNameEditorE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/container/AbstractGroupedContainerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/operation/MoveSynonymToAnotherAcceptedTaxonOperationE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeHomotypicGroupOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/DescriptiveContentProvider.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/FactualDataPartE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/DynamicFeatureMenuE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateDescriptionElementOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/e4/MediaViewPartE4.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.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.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/DeleteHandlerE4.java
eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.printpublisher/pom.xml
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.store/fragment.e4xmi
eu.etaxonomy.taxeditor.store/pom.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/input/TermEditorInput.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/defaultHandler/e4/DefaultOpenTaxonNodeWizardHandlerE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/update/P2Util.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/cdmlight/CdmLightExportWizardE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/cdmlight/MetaDataConfigurationWizardPage.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.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/AbstractUtility.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/DescriptionHelper.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/NameFeatureMenuPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.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/dialog/configurator/SetSecundumConfiguratorWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionDialog.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/element/ImageElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OrcidWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/TextWithLabelElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/EditTaxonNodeWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/common/ExternalLinksElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/ImageFileElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaMetaElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/media/MediaRepresentationElement.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/DerivedUnitBaseWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitMediaSection.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/AdvancedSourceElement.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceAdvancedSection.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceElement.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/SingleSourceSection.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/util/TaxonTreeNodeContentProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/CdmDataSourceViewPartE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/ChangeConnectionHandlerE4.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/UpdateDataSourceHandlerE4.java [deleted file]
eu.etaxonomy.taxeditor.store/src/test/java/eu/etaxonomy/taxeditor/store/utility/AbstractUtilityTest.java
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.test/build.properties
eu.etaxonomy.taxeditor.test/lib/h2-1.4.200.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.test/lib/org.springframework.context-3.2.2.RELEASE.jar [deleted file]
eu.etaxonomy.taxeditor.test/pom.xml
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/CdmServerInfoTest.java
eu.etaxonomy.taxeditor.webapp/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.webapp/build.properties
eu.etaxonomy.taxeditor.webapp/pom.xml
eu.etaxonomy.taxeditor.workbench/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.workbench/pom.xml
eu.etaxonomy.taxeditor.workbench/src/main/java/eu/etaxonomy/taxeditor/workbench/WorkbenchUtility.java
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
eu.etaxonomy.taxeditor/pom.xml
pom.xml

index 55b96930b4a365bc9db404690948b3758815f92a..8f24254f2ddae77963bd0e8d6bf6fd6a6a4a7b73 100644 (file)
@@ -15,6 +15,9 @@ eu.etaxonomy.taxeditor.cdmlib/lib/http*
 eu.etaxonomy.taxeditor.cdmlib/lib/JavaAPIforKml*.jar
 eu.etaxonomy.taxeditor.cdmlib/lib/iiif-apis*.jar
 eu.etaxonomy.taxeditor.cdmlib/lib/commons-beanutils*.jar
+eu.etaxonomy.taxeditor.cdmlib/lib/commons-lang3*.jar
+eu.etaxonomy.taxeditor.cdmlib/lib/commons-codec*.jar
+eu.etaxonomy.taxeditor.cdmlib/lib/commons-imaging*.jar
 
 eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.servletbridge.extensionbundle-1.2.0.v20100503.jar
 eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.transforms.hook-1.0.300.v20100719.jar
index a8f3a52a855a37276b68668f1a2fc149b3efb9a5..5d3dcbd9b171f1dcf423512f54dd935371d5b28c 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/plugin
index e2a9a4fec5c170af23bb8f13ba0f5ed1c3b2187b..770ca24929715aa810e906645c60da657cbb96fd 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 53158ef30d832c09216239b57a99250c60ec65e2..6826515b5b2d6c67f35472b137afcf0b6af1db7d 100644 (file)
@@ -47,7 +47,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 /**
  * @author pplitzner
  * @date 05.07.2017
- *
  */
 public class LifeCycleManager implements IContextListener{
 
@@ -74,7 +73,6 @@ public class LifeCycleManager implements IContextListener{
     private void processAdditions(MApplication application) {
         this.application = application;
         hideParts();
-
     }
 
     @ProcessRemovals
@@ -120,24 +118,14 @@ public class LifeCycleManager implements IContextListener{
             }catch(IllegalStateException e){
                 //application does not have an active window
             }
-
         }
-
-
-
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
 
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void contextStop(IMemento memento, IProgressMonitor monitor) {
         hideParts();
@@ -156,9 +144,6 @@ public class LifeCycleManager implements IContextListener{
         }
     }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void contextStart(IMemento memento, IProgressMonitor monitor) {
         PreferencesUtil.setDefaults();
index 0067f170cc85f740d6e19ff43aaeb80b5c369044..8d1bd009edc6b0bb19935866bfa991f2cafcaa3d 100644 (file)
@@ -21,8 +21,8 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
  * @author n.hoffmann
  */
 public class TaxonomicEditorPlugin extends AbstractUIPlugin {
-       private static final Logger logger = Logger
-                       .getLogger(TaxonomicEditorPlugin.class);
+       
+       private static final Logger logger = Logger.getLogger(TaxonomicEditorPlugin.class);
 
        // The plug-in ID
        /** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.application"</code> */
index b39651a9cfed0f3a28637a3e5cd3e2dbb9163558..4a3583c31d06cb4f14d3328be83d9b07ae340f96 100644 (file)
@@ -17,7 +17,6 @@ import eu.etaxonomy.taxeditor.navigation.search.SearchBar;
 /**
  * @author pplitzner
  * @date 10.12.2013
- *
  */
 public class DerivatePerspective extends Default {
 
@@ -33,7 +32,5 @@ public class DerivatePerspective extends Default {
         layout.addView(DETAILS_VIEW, IPageLayout.RIGHT, 0.6f, layout.getEditorArea());
 
         layout.addView(FACTUAL_DATA_VIEW, IPageLayout.BOTTOM, 0.6f, NAVIGATOR);
-
     }
-
-}
+}
\ No newline at end of file
index 5b5bf8ae05b3744548fe545292891677b9ea325f..d8e64e7d8363ba2b8ea7e3e30741909ff506d288 100644 (file)
@@ -9,13 +9,9 @@ import eu.etaxonomy.taxeditor.navigation.AppModelId;
 
 /**
  * @author n.hoffmann
- *
  */
 public class PolytomousKey extends Default {
 
-       /* (non-Javadoc)
-        * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-        */
        @Override
        public void createInitialLayout(IPageLayout layout) {
                layout.addView(AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_NAVIGATION_KEY_POLYTOMOUS_E4_POLYTOMOUSKEYVIEWPARTE4, IPageLayout.LEFT, 0.25f, layout.getEditorArea());
@@ -26,5 +22,4 @@ public class PolytomousKey extends Default {
 
                createAdditionalFolder(layout, layout.getEditorArea());
        }
-
 }
index d46b2bfd62fdcf0bd5034a24390641d9356f1186..76394f9b901213a4e17f3b11c5d334e1f1b4ac9c 100644 (file)
@@ -18,7 +18,6 @@ import eu.etaxonomy.taxeditor.navigation.search.SearchBar;
 /**
  * @author n.hoffmann
  * @created Jan 17, 2011
- * @version 1.0
  */
 public class Taxonomic extends Default {
 
index 911fdf3ee4c7dad1acc5628f4cc0e68324948c34..80a9b27acbde51d431cf19889408122830dbc7f5 100644 (file)
@@ -22,7 +22,4 @@ public class Uses extends Default {
 \r
                createAdditionalFolder(layout, layout.getEditorArea());\r
        }\r
-\r
-\r
-}\r
-\r
+}
\ No newline at end of file
index 976d4b1ea0d3c22f366947cbe5e7dd20e9501f03..140d652adfbe7ce216b1024d4bd39f713548a4a8 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
index e0605e147bb124965a0a460e5f3533adc0d84bfa..73f3f2fff9ae4e372f32cb621283e08aa033df25 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.16.0</version>
+               <version>5.17.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 1fa3f0e0cc38ff74db443bb38caec9f49dc535e3..37d29f2e73fbef54784d04aeca0c1c32494fab51 100644 (file)
@@ -38,14 +38,18 @@ import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
+import eu.etaxonomy.cdm.model.description.SpecimenDescription;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
+import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.permission.Group;
 import eu.etaxonomy.cdm.model.permission.User;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.cdm.model.taxon.TaxonBase;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
@@ -238,7 +242,16 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
             if (element instanceof DescriptionBase){
                 if (element instanceof TaxonNameDescription){
                     TaxonName changedName = ((TaxonNameDescription)element).getTaxonName();
-                    getEditorInput().addSaveCandidate(changedName);
+                    if (getEditorInput() instanceof TaxonEditorInput){
+                        IStructuredSelection sel = getSelection();
+                        Object firstElement = sel.getFirstElement();
+                        if (firstElement instanceof TaxonBase){
+                            getEditorInput().addSaveCandidate((TaxonBase)firstElement);
+                        }
+                    }else{
+                        getEditorInput().addSaveCandidate(changedName);
+                    }
+
                     input.replaceInModel(changedName);
                 }else if (element instanceof TaxonDescription){
                     Taxon changedTaxon = ((TaxonDescription)element).getTaxon();
@@ -248,12 +261,37 @@ public class BulkEditorE4 implements IPartContentHasDetails, IConversationEnable
             }else if (element instanceof DescriptionElementBase){
                 if (((DescriptionElementBase)element).getInDescription() instanceof TaxonNameDescription){
                     TaxonName changedName = ((TaxonNameDescription)((DescriptionElementBase)element).getInDescription()).getTaxonName();
-                    getEditorInput().addSaveCandidate(changedName);
+                    //check whether the bulk editor is taxon or name bulk editor
+                    if (getEditorInput() instanceof TaxonEditorInput){
+                        IStructuredSelection sel = getSelection();
+                        Object firstElement = sel.getFirstElement();
+                        if (firstElement instanceof TaxonBase){
+                            getEditorInput().addSaveCandidate((TaxonBase)firstElement);
+                        }
+                    }else{
+                        getEditorInput().addSaveCandidate(changedName);
+                    }
                     input.replaceInModel(changedName);
                 }else if (((DescriptionElementBase)element).getInDescription() instanceof TaxonDescription){
                     Taxon changedTaxon = ((TaxonDescription)((DescriptionElementBase)element).getInDescription()).getTaxon();
                     getEditorInput().addSaveCandidate(changedTaxon);
                     input.replaceInModel(changedTaxon);
+                }else if (((DescriptionElementBase)element).getInDescription() instanceof SpecimenDescription){
+                    SpecimenOrObservationBase changedSpecimen = ((SpecimenDescription)((DescriptionElementBase)element).getInDescription()).getDescribedSpecimenOrObservation();
+                    getEditorInput().addSaveCandidate(changedSpecimen);
+                    input.replaceInModel(changedSpecimen);
+                }
+            }else if (element instanceof Media){
+                IStructuredSelection sel = getSelection();
+                Object firstElement = sel.getFirstElement();
+                if (firstElement instanceof TaxonBase){
+                    TaxonBase changedTaxon = (TaxonBase)sel.getFirstElement();
+                    getEditorInput().addSaveCandidate(changedTaxon);
+                    input.replaceInModel(changedTaxon);
+                }else if (firstElement instanceof SpecimenOrObservationBase){
+                    SpecimenOrObservationBase changedSpecimen = (SpecimenOrObservationBase)sel.getFirstElement();
+                    getEditorInput().addSaveCandidate(changedSpecimen);
+                    input.replaceInModel(changedSpecimen);
                 }
             }else if(element instanceof Group){
                  Group oldGroup = ((GroupEditorInput)input).getEntityFromModel((Group)element);
index 21df58400a1d57871d4186b14d769796e0fa5db4..4a0bb82ec31da48dc86d1c75ca1f5b2c84fe417d 100644 (file)
@@ -6,7 +6,6 @@
 * 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.bulkeditor.e4;
 
 import java.io.File;
@@ -19,6 +18,7 @@ import java.util.Set;
 
 import javax.inject.Inject;
 
+import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.e4.ui.services.EMenuService;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -82,14 +82,13 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.model.ImageResources;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
- *
  * @author pplitzner
  * @since Sep 8, 2017
- *
  */
 public class BulkEditorE4Composite extends Composite {
 
@@ -122,7 +121,10 @@ public class BulkEditorE4Composite extends Composite {
     private BulkEditorE4 bulkEditor;
     private BulkEditorSearchE4 bulkEditorSearch;
 
+    @Inject
+    private IEventBroker eventBroker;
 
+    
     public BulkEditorE4Composite(BulkEditorE4 bulkEditor, Composite parent, int style) {
         super(parent, style);
         parent.setLayout(new GridLayout());
@@ -141,7 +143,6 @@ public class BulkEditorE4Composite extends Composite {
         bottomComposite.setLayout(new GridLayout());
        }
 
-       @SuppressWarnings("unused")
     public void init(AbstractBulkEditorInput<?> input){
 
         input.getPropertyKeys().forEach(key->columnList.add(key));
@@ -169,7 +170,6 @@ public class BulkEditorE4Composite extends Composite {
         selectionListener.setFullySelectedRowsOnly(false);
 
         bottomComposite.layout();
-
        }
 
        private void createTable(){
@@ -294,10 +294,10 @@ public class BulkEditorE4Composite extends Composite {
             public void configureUiBindings(
                     UiBindingRegistry uiBindingRegistry) {
                 // add e4 menu to NatTable
-                        new PopupMenuBuilder(natTable, e4Menu)
-                        .withHideColumnMenuItem()
-                        .withShowAllColumnsMenuItem()
-                        .build();
+                new PopupMenuBuilder(natTable, e4Menu)
+                       .withHideColumnMenuItem()
+                       .withShowAllColumnsMenuItem()
+                       .build();
 
                 // register the UI binding for header, corner and body region
                 uiBindingRegistry.registerMouseDownBinding(
@@ -309,7 +309,6 @@ public class BulkEditorE4Composite extends Composite {
             }
         });
 
-
         //enable sorting
         natTable.addConfiguration(new SingleClickSortConfiguration());
 
@@ -359,11 +358,11 @@ public class BulkEditorE4Composite extends Composite {
        }
 
        public void performSearch(BulkEditorQuery query) {
+           eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, null);
            performSearch(query, null);
+
        }
 
-       /** {@inheritDoc}
-        * @param selection */
     public void performSearch(BulkEditorQuery query, IStructuredSelection selection) {
         if (query != null) {
             if(StoreUtil.promptCheckIsDirty(bulkEditor)){
@@ -425,24 +424,23 @@ public class BulkEditorE4Composite extends Composite {
         }
     }
 
-    ListDataProvider<CdmBase> getBodyDataProvider() {
+    protected ListDataProvider<CdmBase> getBodyDataProvider() {
         return bodyDataProvider;
     }
 
-    ESelectionService getSelService() {
+    protected ESelectionService getSelService() {
         return selService;
     }
 
-    NatTable getNatTable() {
+    protected NatTable getNatTable() {
         return natTable;
     }
 
-    public Properties getNatTableState() {
+    protected Properties getNatTableState() {
         return bulkEditorSearch.getNatTableState();
     }
 
-    File getStatePropertiesFile() {
+    protected File getStatePropertiesFile() {
         return bulkEditorSearch.getStatePropertiesFile();
     }
-
 }
index 29307fcb383f75e390e1adea60e745b7ad477377..0d1af79de09bb823db8957b7bcb043dcbd2b9af8 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.16.0
+Bundle-Version: 5.17.0
 Eclipse-BundleShape: dir
 Export-Package: com.google.api,
  com.google.api.detect,
@@ -59,8 +59,8 @@ Export-Package: com.google.api,
  eu.etaxonomy.cdm.filter,
  eu.etaxonomy.cdm.format,
  eu.etaxonomy.cdm.format.common,
- eu.etaxonomy.cdm.format.taxon,
  eu.etaxonomy.cdm.format.description,
+ eu.etaxonomy.cdm.format.taxon,
  eu.etaxonomy.cdm.hibernate,
  eu.etaxonomy.cdm.hibernate.search,
  eu.etaxonomy.cdm.io.api.application,
@@ -147,10 +147,10 @@ Export-Package: com.google.api,
  eu.etaxonomy.cdm.persistence.dto,
  eu.etaxonomy.cdm.persistence.fetch,
  eu.etaxonomy.cdm.persistence.hibernate,
- eu.etaxonomy.cdm.persistence.permission,
- eu.etaxonomy.cdm.persistence.permission.voter,
  eu.etaxonomy.cdm.persistence.hibernate.replace,
  eu.etaxonomy.cdm.persistence.hibernate.replace.impl,
+ eu.etaxonomy.cdm.persistence.permission,
+ eu.etaxonomy.cdm.persistence.permission.voter,
  eu.etaxonomy.cdm.persistence.query,
  eu.etaxonomy.cdm.persistence.view,
  eu.etaxonomy.cdm.print,
@@ -233,6 +233,7 @@ Export-Package: com.google.api,
  org.apache.commons.collections;uses:="org.apache.commons.collections.keyvalue,new org.apache.commons.collections",
  org.apache.commons.collections.buffer,
  org.apache.commons.dbcp,
+ org.apache.commons.imaging,
  org.apache.commons.io;uses:="org.apache.commons.io.filefilter",
  org.apache.commons.lang;uses:="org.apache.commons.lang.exception",
  org.apache.commons.lang.exception,
@@ -419,9 +420,7 @@ Export-Package: com.google.api,
  org.apache.lucene.util.fst,
  org.apache.lucene.util.mutable,
  org.apache.lucene.util.packed,
- org.apache.sanselan;uses:="org.apache.sanselan.common,org.apache.sanselan.common.byteSources",
  org.apache.xerces.dom,
- org.h2.jdbc,
  org.hamcrest,
  org.hibernate,
  org.hibernate.annotations.common.reflection,
@@ -560,46 +559,6 @@ Export-Package: com.google.api,
  org.springframework.security.core,
  org.springframework.security.core.context,
  org.springframework.security.core.userdetails,
- org.springframework.security.oauth2.client,
- org.springframework.security.oauth2.client.filter,
- org.springframework.security.oauth2.client.filter.state,
- org.springframework.security.oauth2.client.http,
- org.springframework.security.oauth2.client.resource,
- org.springframework.security.oauth2.client.test,
- org.springframework.security.oauth2.client.token,
- org.springframework.security.oauth2.client.token.auth,
- org.springframework.security.oauth2.client.token.grant.client,
- org.springframework.security.oauth2.client.token.grant.code,
- org.springframework.security.oauth2.client.token.grant.implicit,
- org.springframework.security.oauth2.client.token.grant.password,
- org.springframework.security.oauth2.client.token.grant.redirect,
- org.springframework.security.oauth2.common,
- org.springframework.security.oauth2.common.exceptions,
- org.springframework.security.oauth2.common.util,
- org.springframework.security.oauth2.config.annotation.builders,
- org.springframework.security.oauth2.config.annotation.configuration,
- org.springframework.security.oauth2.config.annotation.configurers,
- org.springframework.security.oauth2.config.annotation.web.configuration,
- org.springframework.security.oauth2.config.annotation.web.configurers,
- org.springframework.security.oauth2.config.xml,
- org.springframework.security.oauth2.http.converter,
- org.springframework.security.oauth2.http.converter.jaxb,
- org.springframework.security.oauth2.provider,
- org.springframework.security.oauth2.provider.approval,
- org.springframework.security.oauth2.provider.authentication,
- org.springframework.security.oauth2.provider.client,
- org.springframework.security.oauth2.provider.code,
- org.springframework.security.oauth2.provider.endpoint,
- org.springframework.security.oauth2.provider.error,
- org.springframework.security.oauth2.provider.expression,
- org.springframework.security.oauth2.provider.implicit,
- org.springframework.security.oauth2.provider.password,
- org.springframework.security.oauth2.provider.refresh,
- org.springframework.security.oauth2.provider.request,
- org.springframework.security.oauth2.provider.token,
- org.springframework.security.oauth2.provider.token.store,
- org.springframework.security.oauth2.provider.token.store.redis,
- org.springframework.security.oauth2.provider.vote,
  org.springframework.security.provisioning,
  org.springframework.stereotype,
  org.springframework.transaction;uses:="org.springframework.core",
@@ -633,19 +592,6 @@ Export-Package: com.google.api,
    org.apache.commons.logging,
    org.springframework.beans.factory",
  org.springframework.util,
- org.springframework.web.servlet;
-  uses:="org.springframework.web.multipart,
-   org.apache.commons.logging,
-   org.springframework.context.i18n,
-   org.springframework.ui.context,
-   org.springframework.util,
-   org.springframework.beans,
-   org.springframework.context,
-   org.springframework.web.context,
-   org.springframework.context.event,
-   javax.servlet,
-   org.springframework.ui,
-   javax.servlet.http",
  org.swtchart
 Bundle-Vendor: EDIT
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
@@ -661,42 +607,39 @@ Bundle-ClassPath: .,
  lib/aspectjrt-1.8.8.jar,
  lib/aspectjweaver-1.8.8.jar,
  lib/batik-xml-1.7.jar,
- lib/cdmlib-commons-5.16.0.jar,
- lib/cdmlib-ext-5.16.0.jar,
- lib/cdmlib-io-5.16.0.jar,
- lib/cdmlib-model-5.16.0.jar,
- lib/cdmlib-persistence-5.16.0.jar,
- lib/cdmlib-print-5.16.0.jar,
- lib/cdmlib-remote-5.16.0.jar,
- lib/cdmlib-cache-5.16.0.jar,
- lib/cdmlib-services-5.16.0.jar,
+ lib/cdmlib-commons-5.17.0.jar,
+ lib/cdmlib-ext-5.17.0.jar,
+ lib/cdmlib-io-5.17.0.jar,
+ lib/cdmlib-model-5.17.0.jar,
+ lib/cdmlib-persistence-5.17.0.jar,
+ lib/cdmlib-print-5.17.0.jar,
+ lib/cdmlib-remote-5.17.0.jar,
+ lib/cdmlib-cache-5.17.0.jar,
+ lib/cdmlib-services-5.17.0.jar,
  lib/com.springsource.org.aopalliance-1.0.0.jar,
  lib/com.springsource.org.apache.commons.logging-1.1.1.jar,
  lib/commons-beanutils-1.9.4.jar,
- lib/commons-codec-1.10.jar,
+ lib/commons-codec-1.14.jar,
  lib/commons-collections-3.2.2.jar,
  lib/commons-csv-1.0.jar,
  lib/commons-dbcp-1.4.jar,
+ lib/commons-imaging-1.0-alpha2.jar,
  lib/commons-io-2.4.jar,
  lib/commons-lang-2.6.jar,
- lib/commons-lang3-3.3.2.jar,
+ lib/commons-lang3-3.10.jar,
  lib/commons-logging-1.2.jar,
  lib/commons-pool-1.5.4.jar,
  lib/dbunit-2.4.9.jar,
  lib/dom4j-1.6.1.jar,
- lib/dozer-5.3.0.jar,
  lib/dtd-parser-1.1.jar,
  lib/ehcache-core-2.6.11.jar,
  lib/ezmorph-1.0.6.jar,
  lib/google-api-translate-java-0.92.jar,
  lib/h2-1.4.190.jar,
- lib/h2mig_pagestore_addon.jar,
  lib/hamcrest-core-1.3.jar,
  lib/hibernate-c3p0-5.0.7.Final.jar,
- lib/hibernate-cglib-repack-2.1_3.jar,
  lib/hibernate-commons-annotations-5.0.1.Final.jar,
  lib/hibernate-core-5.0.7.Final.jar,
- lib/hibernate-ehcache-5.0.7.Final.jar,
  lib/hibernate-entitymanager-5.0.7.Final.jar,
  lib/hibernate-envers-5.0.7.Final.jar,
  lib/hibernate-jpa-2.1-api-1.0.0.Final.jar,
@@ -706,7 +649,6 @@ Bundle-ClassPath: .,
  lib/hibernate-search-orm-5.5.2.Final.jar,
  lib/hibernate-validator-5.2.2.Final.jar,
  lib/hibernate-validator-cdi-5.2.2.Final.jar,
- lib/hsqldb-2.3.3.jar,
  lib/icu4j-2.6.1.jar,
  lib/identificationKeyAPI-1.0.jar,
  lib/itextpdf-5.5.8.jar,
@@ -718,7 +660,6 @@ Bundle-ClassPath: .,
  lib/joda-time-2.9.1.jar,
  lib/log4j-1.2.17.jar,
  lib/lsid-client-1.1.2.jar,
- lib/sanselan-0.97-incubator.jar,
  lib/spring-aop-4.2.4.RELEASE.jar,
  lib/spring-aspects-4.2.4.RELEASE.jar,
  lib/spring-beans-4.2.4.RELEASE.jar,
@@ -727,24 +668,19 @@ Bundle-ClassPath: .,
  lib/spring-core-4.2.4.RELEASE.jar,
  lib/spring-expression-4.2.4.RELEASE.jar,
  lib/spring-jdbc-4.2.4.RELEASE.jar,
- lib/spring-modules-cache-0.7.jar,
  lib/spring-orm-4.2.4.RELEASE.jar,
  lib/spring-oxm-4.2.4.RELEASE.jar,
  lib/spring-plugin-core-1.2.0.RELEASE.jar,
  lib/spring-plugin-metadata-1.2.0.RELEASE.jar,
  lib/spring-security-config-4.0.3.RELEASE.jar,
  lib/spring-security-core-4.0.3.RELEASE.jar,
- lib/spring-security-web-4.0.3.RELEASE.jar,
  lib/spring-test-4.2.4.RELEASE.jar,
  lib/spring-tx-4.2.4.RELEASE.jar,
  lib/spring-web-4.2.4.RELEASE.jar,
- lib/spring-webmvc-4.2.4.RELEASE.jar,
  lib/springfox-core-2.3.1.jar,
  lib/springfox-schema-2.3.1.jar,
  lib/springfox-spi-2.3.1.jar,
  lib/springfox-spring-web-2.3.1.jar,
- lib/springfox-swagger-common-2.3.1.jar,
- lib/springfox-swagger2-2.3.1.jar,
  lib/standard-1.1.2.jar,
  lib/tools.jar,
  lib/txw2-2.2.11.jar,
@@ -759,27 +695,17 @@ Bundle-ClassPath: .,
  lib/xml-resolver-1.2.jar,
  lib/xmlbeans-2.6.0.jar,
  lib/xmlgraphics-commons-1.5.jar,
- lib/xmlpull-1.1.3.1.jar,
  lib/xmlunit-1.6.jar,
- lib/xom-1.2.5.jar,
- lib/xpp3_min-1.1.4c.jar,
- lib/xpp3-1.1.4c.jar,
  lib/xsom-20140925.jar,
- lib/xstream-1.4.8.jar,
- lib/yjp-controller-api-redist-9.0.8.jar,
- lib/spring-security-oauth2-2.0.11.RELEASE.jar,
  lib/opencsv-2.3.jar,
  lib/jdbc4-2.0.jar,
  lib/junit-4.12.jar,
  lib/jackson-databind-2.6.5.jar,
- lib/jackson-core-asl-1.8.8.jar,
- lib/jackson-mapper-asl-1.8.8.jar,
  lib/jakarta-regexp-1.4.jar,
  lib/jandex-2.0.0.Final.jar,
  lib/javassist-3.20.0-GA.jar,
  lib/javax.el-2.2.6.jar,
  lib/javax.el-api-2.2.5.jar,
- lib/javax.servlet-api-3.1.0.jar,
  lib/jaxb-api-2.2.12.jar,
  lib/jaxb-core-2.2.11.jar,
  lib/jaxb-jxc-2.2.11.jar,
@@ -800,7 +726,6 @@ Bundle-ClassPath: .,
  lib/jsr250-api-1.0.jar,
  lib/jta-1.1.jar,
  lib/jtds-1.3.1.jar,
- lib/junit-benchmarks-0.7.2.jar,
  lib/batik-dom-1.7.jar,
  lib/batik-anim-1.7.jar,
  lib/batik-awt-util-1.7.jar,
@@ -827,9 +752,6 @@ Bundle-ClassPath: .,
  lib/cglib-nodep-3.2.0.jar,
  lib/classmate-1.3.1.jar,
  lib/codemodel-2.2.11.jar,
- lib/concurrent-1.3.4.jar,
- lib/easymock-2.3.jar,
- lib/easymockclassextension-2.3.jar,
  lib/FastInfoset-1.2.13.jar,
  lib/fop-1.1.jar,
  lib/guava-19.0.jar,
@@ -840,7 +762,6 @@ Bundle-ClassPath: .,
  lib/objenesis-1.2.jar,
  lib/odfdom-0.8.jar,
  lib/odfdom-java-0.8.7.jar,
- lib/ognl-2.6.9.jar,
  lib/paranamer-2.3.jar,
  lib/poi-3.13.jar,
  lib/poi-ooxml-3.13.jar,
@@ -866,11 +787,11 @@ Bundle-ClassPath: .,
  lib/org.swtchart_0.10.0.v20160212.jar,
  lib/commons-math3-3.6.1.jar,
  lib/docx4j-6.0.1.jar,
- lib/mysql-connector-java-8.0.15.jar,
- lib/httpclient-4.5.11.jar,
+ lib/mysql-connector-java-8.0.20.jar,
+ lib/httpclient-4.5.12.jar,
  lib/httpclient-cache-4.2.6.jar,
  lib/httpcore-4.4.13.jar,
- lib/httpmime-4.5.1.jar,
+ lib/httpmime-4.5.12.jar,
  lib/JavaAPIforKml-2.2.1.jar,
  lib/iiif-apis-0.3.7.jar
 Import-Package: eu.etaxonomy.cdm.api.application
index 0b4ecfc6744f6feb4fda8653cf32eae4b88b2ee5..08f558fb68473944d8c5d4ea9ca1207b4ca6bee0 100644 (file)
@@ -5,41 +5,38 @@ bin.includes = META-INF/,\
                lib/aspectjrt-1.8.8.jar,\
                lib/aspectjweaver-1.8.8.jar,\
                lib/batik-xml-1.7.jar,\
-               lib/cdmlib-commons-5.16.0.jar,\
-               lib/cdmlib-ext-5.16.0.jar,\
-               lib/cdmlib-io-5.16.0.jar,\
-               lib/cdmlib-model-5.16.0.jar,\
-               lib/cdmlib-persistence-5.16.0.jar,\
-               lib/cdmlib-print-5.16.0.jar,\
-               lib/cdmlib-remote-5.16.0.jar,\
-               lib/cdmlib-services-5.16.0.jar,\
+               lib/cdmlib-commons-5.17.0.jar,\
+               lib/cdmlib-ext-5.17.0.jar,\
+               lib/cdmlib-io-5.17.0.jar,\
+               lib/cdmlib-model-5.17.0.jar,\
+               lib/cdmlib-persistence-5.17.0.jar,\
+               lib/cdmlib-print-5.17.0.jar,\
+               lib/cdmlib-remote-5.17.0.jar,\
+               lib/cdmlib-services-5.17.0.jar,\
                lib/com.springsource.org.aopalliance-1.0.0.jar,\
                lib/com.springsource.org.apache.commons.logging-1.1.1.jar,\
                lib/commons-beanutils-1.9.4.jar,\
-               lib/commons-codec-1.10.jar,\
+               lib/commons-codec-1.14.jar,\
                lib/commons-collections-3.2.2.jar,\
                lib/commons-csv-1.0.jar,\
                lib/commons-dbcp-1.4.jar,\
+               lib/commons-imaging-1.0-alpha2.jar,\
                lib/commons-io-2.4.jar,\
                lib/commons-lang-2.6.jar,\
-               lib/commons-lang3-3.3.2.jar,\
+               lib/commons-lang3-3.10.jar,\
                lib/commons-logging-1.2.jar,\
                lib/commons-pool-1.5.4.jar,\
                lib/dbunit-2.4.9.jar,\
                lib/dom4j-1.6.1.jar,\
-               lib/dozer-5.3.0.jar,\
                lib/dtd-parser-1.1.jar,\
                lib/ehcache-core-2.6.11.jar,\
                lib/ezmorph-1.0.6.jar,\
                lib/google-api-translate-java-0.92.jar,\
                lib/h2-1.4.190.jar,\
-               lib/h2mig_pagestore_addon.jar,\
                lib/hamcrest-core-1.3.jar,\
                lib/hibernate-c3p0-5.0.7.Final.jar,\
-               lib/hibernate-cglib-repack-2.1_3.jar,\
                lib/hibernate-commons-annotations-5.0.1.Final.jar,\
                lib/hibernate-core-5.0.7.Final.jar,\
-               lib/hibernate-ehcache-5.0.7.Final.jar,\
                lib/hibernate-entitymanager-5.0.7.Final.jar,\
                lib/hibernate-envers-5.0.7.Final.jar,\
                lib/hibernate-jpa-2.1-api-1.0.0.Final.jar,\
@@ -49,11 +46,10 @@ bin.includes = META-INF/,\
                lib/hibernate-search-orm-5.5.2.Final.jar,\
                lib/hibernate-validator-5.2.2.Final.jar,\
                lib/hibernate-validator-cdi-5.2.2.Final.jar,\
-               lib/hsqldb-2.3.3.jar,\
-               lib/httpclient-4.5.11.jar,\
+               lib/httpclient-4.5.12.jar,\
                lib/httpclient-cache-4.2.6.jar,\
                lib/httpcore-4.4.13.jar,\
-               lib/httpmime-4.5.1.jar,\
+               lib/httpmime-4.5.12.jar,\
                lib/icu4j-2.6.1.jar,\
                lib/identificationKeyAPI-1.0.jar,\
                lib/itextpdf-5.5.8.jar,\
@@ -65,7 +61,6 @@ bin.includes = META-INF/,\
                lib/joda-time-2.9.1.jar,\
                lib/log4j-1.2.17.jar,\
                lib/lsid-client-1.1.2.jar,\
-               lib/sanselan-0.97-incubator.jar,\
                lib/spring-aop-4.2.4.RELEASE.jar,\
                lib/spring-aspects-4.2.4.RELEASE.jar,\
                lib/spring-beans-4.2.4.RELEASE.jar,\
@@ -74,24 +69,19 @@ bin.includes = META-INF/,\
                lib/spring-core-4.2.4.RELEASE.jar,\
                lib/spring-expression-4.2.4.RELEASE.jar,\
                lib/spring-jdbc-4.2.4.RELEASE.jar,\
-               lib/spring-modules-cache-0.7.jar,\
                lib/spring-orm-4.2.4.RELEASE.jar,\
                lib/spring-oxm-4.2.4.RELEASE.jar,\
                lib/spring-plugin-core-1.2.0.RELEASE.jar,\
                lib/spring-plugin-metadata-1.2.0.RELEASE.jar,\
                lib/spring-security-config-4.0.3.RELEASE.jar,\
                lib/spring-security-core-4.0.3.RELEASE.jar,\
-               lib/spring-security-web-4.0.3.RELEASE.jar,\
                lib/spring-test-4.2.4.RELEASE.jar,\
                lib/spring-tx-4.2.4.RELEASE.jar,\
                lib/spring-web-4.2.4.RELEASE.jar,\
-               lib/spring-webmvc-4.2.4.RELEASE.jar,\
                lib/springfox-core-2.3.1.jar,\
                lib/springfox-schema-2.3.1.jar,\
                lib/springfox-spi-2.3.1.jar,\
                lib/springfox-spring-web-2.3.1.jar,\
-               lib/springfox-swagger-common-2.3.1.jar,\
-               lib/springfox-swagger2-2.3.1.jar,\
                lib/standard-1.1.2.jar,\
                lib/tools.jar,\
                lib/txw2-2.2.11.jar,\
@@ -106,27 +96,17 @@ bin.includes = META-INF/,\
                lib/xml-resolver-1.2.jar,\
                lib/xmlbeans-2.6.0.jar,\
                lib/xmlgraphics-commons-1.5.jar,\
-               lib/xmlpull-1.1.3.1.jar,\
                lib/xmlunit-1.6.jar,\
-               lib/xom-1.2.5.jar,\
-               lib/xpp3_min-1.1.4c.jar,\
-               lib/xpp3-1.1.4c.jar,\
                lib/xsom-20140925.jar,\
-               lib/xstream-1.4.8.jar,\
-               lib/yjp-controller-api-redist-9.0.8.jar,\
-               lib/spring-security-oauth2-2.0.11.RELEASE.jar,\
                lib/opencsv-2.3.jar,\
                lib/jdbc4-2.0.jar,\
                lib/junit-4.12.jar,\
                lib/jackson-databind-2.6.5.jar,\
-               lib/jackson-core-asl-1.8.8.jar,\
-               lib/jackson-mapper-asl-1.8.8.jar,\
                lib/jakarta-regexp-1.4.jar,\
                lib/jandex-2.0.0.Final.jar,\
                lib/javassist-3.20.0-GA.jar,\
                lib/javax.el-2.2.6.jar,\
                lib/javax.el-api-2.2.5.jar,\
-               lib/javax.servlet-api-3.1.0.jar,\
                lib/jaxb-api-2.2.12.jar,\
                lib/jaxb-core-2.2.11.jar,\
                lib/jaxb-jxc-2.2.11.jar,\
@@ -147,7 +127,6 @@ bin.includes = META-INF/,\
                lib/jsr250-api-1.0.jar,\
                lib/jta-1.1.jar,\
                lib/jtds-1.3.1.jar,\
-               lib/junit-benchmarks-0.7.2.jar,\
                lib/batik-dom-1.7.jar,\
                lib/batik-anim-1.7.jar,\
                lib/batik-awt-util-1.7.jar,\
@@ -174,9 +153,6 @@ bin.includes = META-INF/,\
                lib/cglib-nodep-3.2.0.jar,\
                lib/classmate-1.3.1.jar,\
                lib/codemodel-2.2.11.jar,\
-               lib/concurrent-1.3.4.jar,\
-               lib/easymock-2.3.jar,\
-               lib/easymockclassextension-2.3.jar,\
                lib/FastInfoset-1.2.13.jar,\
                lib/fop-1.1.jar,\
                lib/guava-19.0.jar,\
@@ -187,7 +163,6 @@ bin.includes = META-INF/,\
                lib/objenesis-1.2.jar,\
                lib/odfdom-0.8.jar,\
                lib/odfdom-java-0.8.7.jar,\
-               lib/ognl-2.6.9.jar,\
                lib/paranamer-2.3.jar,\
                lib/poi-3.13.jar,\
                lib/poi-ooxml-3.13.jar,\
@@ -209,12 +184,12 @@ 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.16.0.jar,\
+               lib/cdmlib-cache-5.17.0.jar,\
                lib/redmine-java-api-3.1.0.jar,\
                lib/org.swtchart_0.10.0.v20160212.jar,\
                lib/commons-math3-3.6.1.jar,\
                lib/docx4j-6.0.1.jar,\
-               lib/mysql-connector-java-8.0.15.jar,\
+               lib/mysql-connector-java-8.0.20.jar,\
                lib/JavaAPIforKml-2.2.1.jar,\
                lib/iiif-apis-0.3.7.jar
 
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/commons-codec-1.10.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/commons-codec-1.10.jar
deleted file mode 100644 (file)
index 1d7417c..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/commons-codec-1.10.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/commons-lang3-3.3.2.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/commons-lang3-3.3.2.jar
deleted file mode 100644 (file)
index 2ce08ae..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/commons-lang3-3.3.2.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/concurrent-1.3.4.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/concurrent-1.3.4.jar
deleted file mode 100644 (file)
index 551f347..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/concurrent-1.3.4.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/dozer-5.3.0.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/dozer-5.3.0.jar
deleted file mode 100644 (file)
index adf3728..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/dozer-5.3.0.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/easymock-2.3.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/easymock-2.3.jar
deleted file mode 100644 (file)
index 190213e..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/easymock-2.3.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/easymockclassextension-2.3.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/easymockclassextension-2.3.jar
deleted file mode 100644 (file)
index e1069f3..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/easymockclassextension-2.3.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/h2-1.4.190.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/h2-1.4.190.jar
deleted file mode 100644 (file)
index 8b11e2e..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/h2-1.4.190.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/h2mig_pagestore_addon.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/h2mig_pagestore_addon.jar
deleted file mode 100644 (file)
index 51548b4..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/h2mig_pagestore_addon.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-cglib-repack-2.1_3.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-cglib-repack-2.1_3.jar
deleted file mode 100644 (file)
index 1ba9b5b..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-cglib-repack-2.1_3.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-ehcache-5.0.7.Final.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-ehcache-5.0.7.Final.jar
deleted file mode 100644 (file)
index a248250..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/hibernate-ehcache-5.0.7.Final.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/hsqldb-2.3.3.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/hsqldb-2.3.3.jar
deleted file mode 100644 (file)
index 2f05edf..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/hsqldb-2.3.3.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-core-asl-1.8.8.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-core-asl-1.8.8.jar
deleted file mode 100644 (file)
index 05f3353..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-core-asl-1.8.8.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-mapper-asl-1.8.8.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-mapper-asl-1.8.8.jar
deleted file mode 100644 (file)
index 7c7cd21..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/jackson-mapper-asl-1.8.8.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/javax.servlet-api-3.1.0.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/javax.servlet-api-3.1.0.jar
deleted file mode 100644 (file)
index 6b14c3d..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/javax.servlet-api-3.1.0.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/junit-benchmarks-0.7.2.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/junit-benchmarks-0.7.2.jar
deleted file mode 100644 (file)
index 93aee13..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/junit-benchmarks-0.7.2.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.15.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.15.jar
deleted file mode 100644 (file)
index fa0979f..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.15.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.20.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.20.jar
new file mode 100644 (file)
index 0000000..f4bd739
Binary files /dev/null and b/eu.etaxonomy.taxeditor.cdmlib/lib/mysql-connector-java-8.0.20.jar differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/ognl-2.6.9.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/ognl-2.6.9.jar
deleted file mode 100644 (file)
index 0f1c0fb..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/ognl-2.6.9.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/sanselan-0.97-incubator.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/sanselan-0.97-incubator.jar
deleted file mode 100644 (file)
index fff931f..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/sanselan-0.97-incubator.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-modules-cache-0.7.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/spring-modules-cache-0.7.jar
deleted file mode 100644 (file)
index 072881e..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-modules-cache-0.7.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-oauth2-2.0.11.RELEASE.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-oauth2-2.0.11.RELEASE.jar
deleted file mode 100644 (file)
index a0a9a4e..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-oauth2-2.0.11.RELEASE.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-web-4.0.3.RELEASE.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-web-4.0.3.RELEASE.jar
deleted file mode 100644 (file)
index 018f192..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-security-web-4.0.3.RELEASE.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-webmvc-4.2.4.RELEASE.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/spring-webmvc-4.2.4.RELEASE.jar
deleted file mode 100644 (file)
index ee87814..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/spring-webmvc-4.2.4.RELEASE.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger-common-2.3.1.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger-common-2.3.1.jar
deleted file mode 100644 (file)
index 31302c9..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger-common-2.3.1.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger2-2.3.1.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger2-2.3.1.jar
deleted file mode 100644 (file)
index 31744df..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/springfox-swagger2-2.3.1.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/xmlpull-1.1.3.1.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/xmlpull-1.1.3.1.jar
deleted file mode 100644 (file)
index cbc149d..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/xmlpull-1.1.3.1.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/xom-1.2.5.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/xom-1.2.5.jar
deleted file mode 100644 (file)
index 1f71ab9..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/xom-1.2.5.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3-1.1.4c.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3-1.1.4c.jar
deleted file mode 100644 (file)
index 451ac82..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3-1.1.4c.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3_min-1.1.4c.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3_min-1.1.4c.jar
deleted file mode 100644 (file)
index 813a9a8..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/xpp3_min-1.1.4c.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/xstream-1.4.8.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/xstream-1.4.8.jar
deleted file mode 100644 (file)
index a493c3b..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/xstream-1.4.8.jar and /dev/null differ
diff --git a/eu.etaxonomy.taxeditor.cdmlib/lib/yjp-controller-api-redist-9.0.8.jar b/eu.etaxonomy.taxeditor.cdmlib/lib/yjp-controller-api-redist-9.0.8.jar
deleted file mode 100644 (file)
index 3974277..0000000
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/yjp-controller-api-redist-9.0.8.jar and /dev/null differ
index 58ab8ecbd0fcc7930559d0d85340d6c365da0972..9bc4e214f2df7ef2cdb3c9caf88b2fe1bacc0a2c 100644 (file)
@@ -4,14 +4,13 @@
   <parent>\r
     <groupId>eu.etaxonomy</groupId>\r
     <artifactId>taxeditor-parent</artifactId>\r
-    <version>5.16.0</version>\r
+    <version>5.17.0</version>\r
   </parent>\r
   <modelVersion>4.0.0</modelVersion>\r
   <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
   <packaging>eclipse-plugin</packaging>\r
   <name>CDM Library Dependencies Plugin</name>\r
   <description>CDM Library and dependencies as a plugin</description>\r
-\r
   <build>\r
     <pluginManagement>\r
       <plugins>\r
@@ -39,7 +38,7 @@
                 cdmlib-remote-webapp\r
               </excludeArtifactIds>\r
               <includeArtifactIds>\r
-                cdmlib-services,cdmlib-commons,cdmlib-cache,cdmlib-persistence,cdmlib-ext,cdmlib-model,cdmlib-io,cdmlib-print,cdmlib-remote,cdmlib-test\r
+                cdmlib-commons,cdmlib-model,cdmlib-persistence,cdmlib-services,cdmlib-cache,cdmlib-ext,cdmlib-io,cdmlib-remote,cdmlib-print\r
               </includeArtifactIds>\r
               <outputDirectory>${basedir}/lib</outputDirectory>\r
               <overWriteReleases>true</overWriteReleases>\r
@@ -55,7 +54,7 @@
             </goals>\r
             <configuration>\r
               <includeArtifactIds>\r
-                httpclient,JavaAPIforKml,iiif-apis,commons-beanutils\r
+                httpclient,JavaAPIforKml,iiif-apis,commons-beanutils,commons-lang3,commons-codec,commons-imaging,h2\r
               </includeArtifactIds>\r
               <outputDirectory>\r
                 ${basedir}/lib\r
               <excludeTransitive>false</excludeTransitive>\r
             </configuration>\r
           </execution>\r
-          <execution>\r
-            <id>copy-dependency-war</id>\r
-            <phase>validate</phase>\r
-            <goals>\r
-              <goal>copy-dependencies</goal>\r
-            </goals>\r
-            <configuration>\r
-              <includeArtifactIds>\r
-                cdmlib-remote-webapp\r
-              </includeArtifactIds>\r
-              <outputDirectory>\r
-                ${basedir}/src/main/resources/etc/jetty\r
-              </outputDirectory>\r
-              <overWriteReleases>true</overWriteReleases>\r
-              <overWriteSnapshots>true</overWriteSnapshots>\r
-              <excludeTransitive>true</excludeTransitive>\r
-            </configuration>\r
-          </execution>\r
         </executions>\r
       </plugin>\r
       <plugin>\r
         <groupId>org.apache.maven.plugins</groupId>\r
         <artifactId>maven-antrun-plugin</artifactId>\r
-        <version>1.7</version>\r
         <executions>\r
           <execution>\r
             <id>update-snapshot-jar-names</id>\r
             </goals>\r
             <configuration>\r
               <target>\r
-                <echo>Anonymizing war</echo>\r
-                <move todir="./src/main/resources/etc/jetty">\r
-                  <fileset dir="./src/main/resources/etc/jetty" />\r
-                  <mapper type="regexp"\r
-                    from="(^cdmlib\-remote\-webapp).*(\.war)" to="\1\2" />\r
-                </move>\r
                 <echo>Update cdmlib jars to SNAPSHOT when build with\r
                   timestamp\r
                 </echo>\r
     </repository>\r
   </repositories>\r
   <dependencies>\r
-    <dependency>\r
-      <groupId>eu.etaxonomy</groupId>\r
-      <artifactId>cdmlib-remote-webapp</artifactId>\r
-      <version>${cdmlib.version}</version>\r
-      <type>war</type>\r
-    </dependency>\r
     <dependency>\r
       <groupId>eu.etaxonomy</groupId>\r
       <artifactId>cdmlib-commons</artifactId>\r
         <artifactId>commons-beanutils</artifactId>\r
         <version>1.9.4</version>\r
     </dependency>\r
+    <dependency>\r
+        <groupId>org.apache.commons</groupId>\r
+        <artifactId>commons-imaging</artifactId>\r
+        <version>1.0-alpha2</version>\r
+      </dependency>\r
     <dependency>\r
       <groupId>au.com.bytecode</groupId>\r
       <artifactId>opencsv</artifactId>\r
       <artifactId>httpclient</artifactId>\r
     </dependency>\r
 \r
+    <dependency>\r
+        <groupId>org.apache.commons</groupId>\r
+        <artifactId>commons-lang3</artifactId>\r
+        <version>3.10</version>\r
+    </dependency>\r
+    <dependency>\r
+       <!-- used in AuthenticatingHttpInvokerRequestExecutor -->\r
+        <groupId>commons-codec</groupId>\r
+        <artifactId>commons-codec</artifactId>\r
+        <version>1.14</version>\r
+    </dependency>\r
+\r
+    <!-- only for supporting test button in datasource dialogue, dialogue should be moved to taxeditor.webapp -->\r
+       <dependency>\r
+           <groupId>com.h2database</groupId>\r
+           <artifactId>h2</artifactId>\r
+           <version>1.4.190</version>\r
+       </dependency>\r
+\r
     <!-- For Unit Tests Start -->\r
        <!-- still needed? -->\r
 \r
index 8a4d88e78c6b220639fcf8ccaedb09b747522abb..8dcb934156ea4c1d83d4446ce1a3bcbaa7d85d94 100644 (file)
@@ -117,7 +117,7 @@ public class CdmApplicationState {
     }
 
     public static void dispose() {
-        getInstance().setCurrentDataChangeService(null);
+        setCurrentDataChangeService(null);
         getInstance().setAppConfig(null);
         getInstance().setSecurityContext(null);
         cdmApplicationState = null;
index 9246ea43df8d27ec61e59d5bbeb7542b7d9c5250..62b44ce84cd7fbbb9999dd3054be922ff85200cf 100644 (file)
@@ -34,7 +34,6 @@ import net.sf.ehcache.config.SizeOfPolicyConfiguration;
  *
  * @author cmathew
  */
-@Component //FIXME This indicates that the CdmServiceCacher is initialized as Spring Component but it seems only to be instantiated directly
 public class CdmServiceCacher extends CdmCacherBase implements ICdmEntitySessionManagerObserver {
 
     private ICdmEntitySessionManager cdmEntitySessionManager;
index 578dcb9097b2378516608ca0f1b07ca3f98dc276..ddb146df7b15ee377bb39baeb31d7f11c621ef1e 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: OSGI-INF/l10n/plugin
index 8ccd5737a0ececf19127a505bf8c4b750b00bd05..499cc1567d9bb9668715c813208daafb4652ac58 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
   
   <modelVersion>4.0.0</modelVersion>
index ee89e08d43a1ff8e7e0edd6c168bf28c135010d9..e559abb21c2cbdd34bc92b3aafac54792f2de1e7 100644 (file)
@@ -258,6 +258,7 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
     public void setFocus() {
         // make sure to bind again if maybe in another view the conversation was
         // unbound
+        eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, this);
         if (conversation != null && !conversation.isBound()) {
             conversation.bind();
         }
@@ -284,7 +285,7 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
         boolean doEnable = permissionsSatisfied();
         managedForm.getForm().setEnabled(doEnable);
 
-        eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, this);
+
     }
 
     @Override
@@ -434,6 +435,7 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
             // this.heterotypicSynonymGroups.clear();
             // this.misappliedGroup = null;
         }
+        eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, this);
         if (!(input != null)) {
             MessagingUtils.error(this.getClass(), new Exception(Messages.TaxonNameEditor_INVALID_INPUT));
             return;
@@ -454,7 +456,7 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
         createDragSupport();
 
         setPartName();
-
+//        this.setFocus();
         // set initial selection
         TaxonBase<?> initiallySelectedTaxonBase = input.getInitiallySelectedTaxonBase();
         if (initiallySelectedTaxonBase != null) {
@@ -563,7 +565,7 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
 
     @Override
     public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        System.err.println("Bla");
+
     }
 
     public AbstractGroupedContainerE4 getSelectedContainer() {
@@ -661,6 +663,8 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
         setEnabled(false, disabledColor);
     }
 
+
+
     protected void setEnabled(boolean enabled, Color background) {
 
         for (AbstractGroupedContainerE4<?> groupedContainer : getGroupedContainers()) {
@@ -753,9 +757,8 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
     @Optional
     private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAME_EDITOR) CdmBase cdmbase) {
 
-        if ((EventUtility.getTaxonEditor() != null && EventUtility.getTaxonEditor().equals(this))
-                || (this.taxon != null && (this.taxon.equals(cdmbase)
-                        || (this.taxon.getName() != null && this.taxon.getName().equals(cdmbase))))) {
+          if(this.taxon != null && (this.taxon.equals(cdmbase)
+                        || (this.taxon.getName() != null && this.taxon.getName().equals(cdmbase)))) {
             this.redraw(false, true, true, true);
             this.setDirty();
             if (cdmbase instanceof TaxonBase) {
@@ -771,13 +774,9 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
 
         for (CdmBase cdmBase: cdmBases){
             if (cdmBase instanceof Taxon || cdmBase instanceof TaxonName){
-                if ((EventUtility.getTaxonEditor() != null && EventUtility.getTaxonEditor().equals(this))
-                        || (this.taxon != null && (this.taxon.equals(cdmBase)
-                                || (this.taxon.getName() != null && this.taxon.getName().equals(cdmBase))))) {
-                    EPartService partService = TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getService(EPartService.class);
-                    EModelService modelService = TaxeditorEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getService(EModelService.class);
-                    EditorUtil.openTaxonBaseE4(this.getTaxon().getUuid(), modelService, partService, application);
-
+                if (this.taxon != null && (this.taxon.equals(cdmBase)
+                                || (this.taxon.getName() != null && this.taxon.getName().equals(cdmBase)))) {
+                    update();
                 }
             }
         }
@@ -786,7 +785,6 @@ public class TaxonNameEditorE4 implements IConversationEnabled, IDirtyMarkable,
     @Inject
     @Optional
     private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAME_EDITOR) UUID cdmbaseUuid) {
-
         if (this.taxon.getUuid().equals(cdmbaseUuid)) {
             TaxonEditorInputE4 input = TaxonEditorInputE4.NewInstanceFromTaxonBase(cdmbaseUuid);
             init(input);
index ce4226523481e2148bcb969bd5adb8905bf5e11e..99f86762706b553f4ffd1a6ba7747aadb5d0bb1d 100755 (executable)
@@ -558,8 +558,6 @@ abstract public class AbstractGroupedContainerE4<T extends TaxonBase> implements
                        backgroundColor = AbstractUtility.getColor(colorString);
 
                        setBackground(backgroundColor);
-               }else{
-                   System.err.println("disposed");
                }
        }
 
index 7981f944601bd384a0880ab46c81b3cf8a701710..e6d074670fe2a480b26fb939d6997ae60715290b 100644 (file)
@@ -80,15 +80,6 @@ public class NameEditorDropTargetListenerE4 extends DropTargetAdapter {
                } else {
                        AbstractUtility.executeOperation(operation, target.getContext().get(UISynchronize.class));
                }
-               target.getEditor().getConversationHolder().commit();
-               if (!target.equals(EventUtility.getTaxonEditor())){
-                   ((TaxonNameEditorE4)EventUtility.getTaxonEditor()).redraw();
-                       ((TaxonNameEditorE4)EventUtility.getTaxonEditor()).getConversationHolder().commit();
-
-               }
-//             target.getEditor().redraw();
-
-//             target.getEditor().getContainer(taxonBase).setFocus();
 
        }
 
@@ -99,18 +90,31 @@ public class NameEditorDropTargetListenerE4 extends DropTargetAdapter {
 
                        if(target instanceof AbstractHomotypicalGroupContainerE4){
                                HomotypicalGroup homotypicalGroup = ((AbstractHomotypicalGroupContainerE4) target).getGroup();
+                               if (((AbstractHomotypicalGroupContainerE4) target).getEditor().getTaxon().equals(synonym.getAcceptedTaxon())){
+                                   //the actual accepted taxon is the same as the taxon of the target editor
+                                   try{
+                                       return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
+                                                                           ((AbstractHomotypicalGroupContainerE4) target).getEditor().getTaxon(), synonym, homotypicalGroup, target);
+                                   }catch (NullPointerException e){
+                                       return null;
+                                   }
+                                } else{
+                    getEditor().getConversationHolder().commit();
+                    ((TaxonNameEditorE4) target).getConversationHolder().commit();
+
+                    return new MoveSynonymToAnotherAcceptedTaxonOperationE4(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), (TaxonNameEditorE4) target, (TaxonNameEditorE4) target);
+
+                }
 
-                               return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
-                                               getEditor().getTaxon(), synonym, homotypicalGroup, target);
                        }
                        else if(target instanceof MisappliedGroupE4){
                                return new ChangeSynonymToMisapplicationOperation(Messages.NameEditorDropTargetListener_CHANGE_SYNONYM_TO_MISAPP, getEditor().getUndoContext(),
                                                getEditor().getTaxon(), synonym, target);
                        }
                        else if(target instanceof TaxonNameEditorE4){
-                               if (target.equals(getEditor())){
+                               if (((TaxonNameEditorE4) target).getTaxon().equals(synonym.getAcceptedTaxon())){
                                        return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
-                                               getEditor().getTaxon(), synonym, null, target);
+                                               ((TaxonNameEditorE4) target).getTaxon(), synonym, null, target);
                                } else{
                                        getEditor().getConversationHolder().commit();
                                        ((TaxonNameEditorE4) target).getConversationHolder().commit();
index d187a560545dcb7c18df2360d2ebbe57512290c8..8d54f18ccc5310c87b0b53bcb3eacb085c654c74 100644 (file)
@@ -1,7 +1,9 @@
 package eu.etaxonomy.taxeditor.editor.name.e4.operation;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.UUID;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -16,6 +18,7 @@ import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.exception.HomotypicalGroupChangeException;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -51,13 +54,13 @@ public class MoveSynonymToAnotherAcceptedTaxonOperationE4 extends
                monitor.worked(20);
 
                // Switch groups
-
-               monitor.worked(40);
+               monitor.beginTask("Move synonym to another taxon", 40);
+               Taxon oldAccepted = synonym.getAcceptedTaxon();
 
                conversationEnabled.getConversationHolder().commit();
-
+               UpdateResult result = null;
                try {
-                       UpdateResult result = CdmStore.getService(ITaxonService.class).moveSynonymToAnotherTaxon(synonym,
+                       result = CdmStore.getService(ITaxonService.class).moveSynonymToAnotherTaxon(synonym,
                                this.element.getUuid(),
                                true,
                                synonym.getType(),
@@ -68,9 +71,18 @@ public class MoveSynonymToAnotherAcceptedTaxonOperationE4 extends
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
-               conversationEnabled.getConversationHolder().commit();
+//             conversationEnabled.getConversationHolder().commit();
 
+               monitor.worked(40);
                // Redraw editor if it exists
+               Set<Taxon> taxa = new HashSet<>();
+        taxa.add(synonym.getAcceptedTaxon());
+        taxa.add(oldAccepted);
+
+        EditorUtil.updateNameEditors(taxa);
+//        ((TaxonNameEditorE4)EventUtility.getTaxonEditor()).getConversationHolder().commit();
+
+
                return postExecute(null);
        }
 
index 1b13bbab0f04517955b9baad6540f900cd6e5a2a..c371f7c102cab28e7b321e0a9fb42751615d7d21 100644 (file)
@@ -86,19 +86,18 @@ public class ChangeHomotypicGroupOperation extends AbstractPostTaxonOperation {
                newHomotypicalGroup.addTypifiedName(synonymName);
 
                Taxon acc = synonym.getAcceptedTaxon();
-               if(acc == null || !acc.equals(element)){
-                       if(acc != null){
-                               acc.removeSynonym(synonym);
-                       }
 
-                       SynonymType type = SynonymType.HETEROTYPIC_SYNONYM_OF();
-                       if(newHomotypicalGroup.getTypifiedNames().contains(element.getName())){
-                               type = SynonymType.HOMOTYPIC_SYNONYM_OF();
-                       }
+               if(acc != null){
+                       acc.removeSynonym(synonym);
+               }
 
-                       element.addSynonym(synonym, type);
+               SynonymType type = SynonymType.HETEROTYPIC_SYNONYM_OF();
+               if(newHomotypicalGroup.getTypifiedNames().contains(element.getName())){
+                       type = SynonymType.HOMOTYPIC_SYNONYM_OF();
                }
 
+               element.addSynonym(synonym, type);
+
                // Redraw editor if it exists
                return postExecute(synonym);
        }
index 212042a661c02caf0271fd391004673306d08b3d..92174987be911a5ad746227c60a96edcdf7b9859 100644 (file)
@@ -152,6 +152,7 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
                        featureNodeContainerCache.put(description, containerTree);
                }
                return featureNodeContainerCache.get(description);
+//             return
        }
 
        @Override
@@ -175,10 +176,14 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
         * @param description
         * @return
         */
-       private TermTree getFeatureTree(DescriptionBase description){
+       public TermTree getFeatureTree(DescriptionBase description){
 
                TermTree<?> featureTree = null;
 
+               if (description instanceof TaxonNameDescription){
+
+                return PreferencesUtil.getPreferredFeatureTreeForNameDescription(false);
+            }
                // TODO change this to the feature tree associated with this taxon
                // description
                if (description.hasStructuredData()) {
@@ -191,12 +196,9 @@ public class DescriptiveContentProvider implements ITreeContentProvider {
 
                if (featureTree == null) {
                    featureTree = TermEditorInput.getDefaultFeatureTree();
-                           }
-               if (description instanceof TaxonNameDescription){
-
-                   featureTree = TermEditorInput.getDefaultNameFeatureTree();
                }
 
+
                return featureTree;
 
 
index 6b36b52363eeca7febcbc5e2f547851c2c70c8b9..0407f5bb288c820749d03204afaf7bb8b3014332 100644 (file)
@@ -127,8 +127,8 @@ public class FactualDataPartE4 extends AbstractCdmEditorPartE4
         }
 
         Object partObject = createPartObject(activePart);
-
-
+        
+        
 
         if ((partObject instanceof DetailsPartE4 && !(selection instanceof TaxonName))|| partObject instanceof SupplementalDataPartE4
                 || partObject instanceof MediaViewPartE4 || partObject instanceof ConceptViewPartE4 || ((partObject instanceof AbstractCdmEditorPartE4) &&(((AbstractCdmEditorPartE4)partObject).getViewer().getInput() instanceof DescriptionElementBase))) {
@@ -206,9 +206,14 @@ public class FactualDataPartE4 extends AbstractCdmEditorPartE4
         ((TreeViewer) viewer).setExpandedElements(expandedObjects);
         if(object instanceof DescriptionElementBase){
             DescriptionElementBase descriptionElement = (DescriptionElementBase) object;
-            DescriptionBase description = descriptionElement.getInDescription();
+            DescriptionBase<?> description = descriptionElement.getInDescription();
             FeatureNodeContainerTree containerTree = featureNodeContainerCache.get(description);
             FeatureNodeContainer featureNodeContainer = containerTree.getFeatureNodeContainerForDescriptionElement(descriptionElement);
+            if (featureNodeContainer == null){
+                containerTree = new FeatureNodeContainerTree(description, provider.getFeatureTree(description));
+                featureNodeContainerCache.put(description, containerTree);
+                featureNodeContainer = containerTree.getFeatureNodeContainerForDescriptionElement(descriptionElement);
+            }
             ((AbstractTreeViewer) viewer).expandToLevel(featureNodeContainer, 2);
             StructuredSelection selection = new StructuredSelection(object);
             viewer.setSelection(selection, true);
index fd09edeebc82fac11af6eed8166ae049c0e908de..f362f7410a1d3c9140d3b48958c1e25f109abb5f 100644 (file)
@@ -69,8 +69,14 @@ public class DynamicFeatureMenuE4 {
 
             // add possible children to the menu
             for (TermNode<?> childNode : featureNode.getChildNodes()) {
-                createMenuItem(menu, childNode.getTerm(), globalLanguage);
+                TermTree<?> featureTree = getFeatureTree(((FeatureNodeContainer) selectedElement).getDescription());
+                featureTree = PreferencesUtil.getPreferredFeatureTreeForNameDescription(false);
+
+                if (featureTree != null && featureTree.getRootChildren().contains(childNode.getTerm() )){
+                        createMenuItem(menu, childNode.getTerm(), globalLanguage);
+                }
             }
+
         } else if (selectedElement instanceof DescriptionElementBase) {
             Feature feature = ((DescriptionElementBase) selectedElement)
                     .getFeature();
index a31b27a828ca58348d831418131f64ddb14c8e7f..fe6ba55a2b5dcbb685a60c1999826995b55a14cd 100644 (file)
@@ -108,7 +108,7 @@ public class CreateDescriptionElementOperation extends AbstractPostTaxonOperatio
                                element = QuantitativeData.NewInstance();
                        }
                        else if(feature.isSupportsTemporalData()){
-                element = TemporalData.NewInstance(null);
+                element = TemporalData.NewInstance();
             }
                        else {
                                element = TextData.NewInstance();
index 99d7131fb3b8bd14ba22c3acafcd1df5937e9869..de55b6de0f4069fd337e92905d1bbdf4831cf22b 100644 (file)
@@ -24,6 +24,8 @@ import org.eclipse.swt.widgets.Tree;
 
 import eu.etaxonomy.cdm.model.description.IDescribable;
 import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.bulkeditor.e4.BulkEditorE4;
 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
 import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
 import eu.etaxonomy.taxeditor.editor.view.concept.e4.ConceptViewPartE4;
@@ -109,7 +111,7 @@ public class MediaViewPartE4 extends AbstractCdmEditorPartE4
                    return;
                }
                else if(firstElement!=null
-                       && firstElement instanceof IDescribable<?> && !(firstElement instanceof TaxonName)){
+                       && firstElement instanceof IDescribable<?> && !(firstElement instanceof TaxonName) && !(firstElement instanceof SpecimenOrObservationBase && partObject instanceof BulkEditorE4 )){
                    showViewer(structuredSelection, activePart, viewer);
                    return;
                }
index 250e4c25dce4e2910dc51eef01d2bba149d8fc0e..06b09299d7080c23c471da3bb57db7a802365737 100644 (file)
@@ -2,7 +2,7 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature.platform"
       label="Taxeditor Dependencies"
-      version="5.16.0"
+      version="5.17.0"
       os="linux,macosx,win32"
       ws="cocoa,gtk,win32"
       arch="x86,x86_64">
index beb6b861724918544b225d1582e05f76c556c555..b0b91294ed6241c897486b84b663f915775a4c4a 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.16.0</version>
+               <version>5.17.0</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
index 4454159a5cefdfe2563321b964d8a81ffe51f0d8..4e862261ea09de89d926055b594e4833e040fc3c 100644 (file)
@@ -2,7 +2,7 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature"
       label="Taxonomic Editor"
-      version="5.16.0"
+      version="5.17.0"
       provider-name="EDIT"
       plugin="eu.etaxonomy.taxeditor.application"
       os="linux,macosx,win32"
index 4bfd26c42a53abcf2ee87ad6f87185f608f97c6b..24d51290174e22c784b010cf7ed6a93fa403d564 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
index 5d4f14b244bcfb519461218a7124f96ed5f76851..661887da4351ade948285d964dc645cbd26d19db 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
 Bundle-Vendor: EDIT
 Require-Bundle: org.eclipse.ui,
index fd002707743f2429d9256782a2fc9819c9327813..f9c86ae31f6f95a7ddd151852a6e2222316699ed 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.16.0</version>
+               <version>5.17.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 143c684c68922de8b7e36d820297c5e2fd2deabe..08b928abaf9639068af9c29cb7699a2a398ea111 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.16.0
+Bundle-Version: 5.17.0
 Bundle-ClassPath: .,
  lib/owlapi-xmlutils-4.1.4.jar,
  lib/commons-collections4-4.1.jar,
index 6821a8f212eb403c5e012c2cb31ac550e8a81e06..798d9399fce0b2d2d6f1415a1c4f06f0acfe2104 100644 (file)
@@ -7,7 +7,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
   
   <name>Molecular Library Dependencies Bundle</name>
index e0fc6c524c79e3665526c1d389ff8780eefbb74c..67dbb142f6e2118c74a27f486c2c50fa812f27f5 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.molecular.TaxeditorMolecularPlugin
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
index 81d3f24edb438ac8d4e360c5851767ae7ee2ddec..11e6418b2da33fa94a979da345564010e106d00c 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index a6c294c8669d9a60e5991d5474d4a496d9359ecd..992f7387966bc06af2efa1790093bcb8584779b1 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.cdm,
index 033c14b39bc6f62b13c616ac7e4eb5dc269a6262..c67b9129de98307d96dbc10046db5798cd32b7ce 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>5.16.0</version>
+               <version>5.17.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 74284994ae746922325ceb6ef9c1281f539eac8d..fefc881fc79510e7b68ba690bfbe57403910a019 100644 (file)
@@ -639,9 +639,10 @@ public class TaxonNavigatorE4 implements
     private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAVIGATOR)TaxonNodeDto dto){
         if(dto!= null){
             Object[] expandedElements = viewer.getExpandedElements();
+
             refresh();
-            viewer.reveal(dto);
             viewer.setExpandedElements(expandedElements);
+            viewer.reveal(dto);
             viewer.setSelection(new StructuredSelection(dto));
 
         }
@@ -651,7 +652,10 @@ public class TaxonNavigatorE4 implements
     @Optional
     private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAVIGATOR)boolean refresh){
         if(refresh){
+            Object[] expandedElements = viewer.getExpandedElements();
             refresh();
+            viewer.setExpandedElements(expandedElements);
+
         }
     }
 }
index 701c5ecdf5bdf09df22a797332aa1811454c1cf9..04bdefbcd90eb303d142fd579924f015b67487d0 100644 (file)
@@ -39,7 +39,6 @@ import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
 import eu.etaxonomy.cdm.model.permission.CRUD;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.event.EventUtility;
 import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
@@ -68,6 +67,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
     private TaxonNavigatorE4 taxonNavigator;
     UpdateResult result;
     TaxonNodeDto targetITaxonTreeNode;
+    HashSet<TaxonNodeDto> taxonNodes;
        public static final String ID = "eu.etaxonomy.taxeditor.navigation.navigator.dropassistant"; //$NON-NLS-1$
 
        private static final EnumSet<CRUD> UPDATE = EnumSet.of(CRUD.UPDATE);
@@ -101,7 +101,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
        }
 
        private Set<TaxonNodeDto> getSelectedTaxa(){
-               HashSet<TaxonNodeDto> taxonNodes = new HashSet();
+               taxonNodes = new HashSet();
 
                ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
                if (selection instanceof TreeSelection) {
@@ -169,8 +169,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
                            for (TaxonNode node: nodes){
                                hasPermission = hasPermission && CdmStore.currentAuthentiationHasPermission(node, UPDATE) && CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);
                            }
-//                             boolean hasTaxonPermission =
-//                                     CdmStore.currentAuthentiationHasPermission(node.getTaxon(), UPDATE);
+
                 if (
                                !isNotSameTaxonNode
                                || !isNotSameParent
@@ -185,9 +184,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
                        }
                        logger.debug("OK_STATUS"); //$NON-NLS-1$
                        return true;
-//             }
-//             logger.debug("CANCEL_STATUS"); //$NON-NLS-1$
-//             return false;
+
        }
 
 
@@ -227,10 +224,6 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
 
 
                }
-               //close possible open name editors for the moved taxon nodes
-
-               taxonNodes.forEach(nodeDto->EditorUtil.closeObsoleteEditor(nodeDto, partService));
-
                moveNodes(uuids, targetITaxonTreeNode.getUuid(), movingTypeInt);
         return true;
        }
@@ -266,6 +259,8 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
     @Override
     public void postOperation(IRemotingProgressMonitor monitor) {
         EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, targetITaxonTreeNode);
+        taxonNodes.forEach(nodeDto->EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, nodeDto.getTaxonUuid()));
+        EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, targetITaxonTreeNode.getTaxonUuid());
 
     }
 
index b199dd3b7a075c132faf436e52e69631155f9c9d..01684d627aad728653bdc9c8ef2fa66a2072bf8a 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.e4.ui.di.UISynchronize;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.swt.widgets.Shell;
@@ -29,6 +30,7 @@ import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandlin
 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
@@ -58,13 +60,15 @@ public class DeleteHandlerE4 {
     protected static final String DO_YOU_REALLY_WANT_TO_DELETE_THE_CLASSIFICATION = Messages.DeleteHandler_DELETE_CLASSIFICATION;
     protected static final String CONFIRM_DELETION = Messages.DeleteHandler_CONFIRM_DELETE;
     protected static final String DELETE = Messages.DeleteHandler_DELETE;
+    EPartService partService;
 
     @Execute
     public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection,
             @Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
             @Named(IServiceConstants.ACTIVE_PART)MPart activePart,
+            EPartService partService,
             MHandledMenuItem menuItem, UISynchronize sync) {
-
+        this.partService = partService;
         TaxonNavigatorE4 taxonNavigator = (TaxonNavigatorE4) activePart.getObject();
 
                Iterator selectionIterator = selection.iterator();
@@ -194,25 +198,8 @@ public class DeleteHandlerE4 {
        protected boolean closeObsoleteEditor(TaxonNodeDto taxonNode){
            //FIXME E4 migrate
                boolean result = true;
-//             for (IEditorReference ref : activePage.getEditorReferences()) {
-//                     try {
-//                             String treeIndex = ((ITreeNode)taxonNode).treeIndex();
-//
-//
-//                             IEditorInput input = ref.getEditorInput();
-//                             if (input instanceof TaxonEditorInput) {
-//                                     TaxonNode node = ((TaxonEditorInput) input).getTaxonNode();
-//                                     //if node is a child of taxonNode then close the editor
-//                                     if( ((ITreeNode) node).treeIndex().startsWith(treeIndex)){
-//                                     //if (taxonNode.equals(node)) {
-//                                             result &= activePage.closeEditor(ref.getEditor(false), true);
-//
-//                                     }
-//                             }
-//                     } catch (PartInitException e) {
-//                             continue;
-//                     }
-//             }
+               EditorUtil.closeObsoleteEditor(taxonNode, partService);
+
                return result;
        }
 }
index 84a1038a045a26617b64cdade0194eabf60e9ba6..09ca9bc3138431d67c2823d7fa5a2bb559fc8658 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.16.0
+Bundle-Version: 5.17.0
 Require-Bundle: org.eclipse.osgi,
  org.eclipse.ui,
  eu.etaxonomy.taxeditor.cdmlib,
index 4cae57e641f75e54a06d8829fd0a40fcbf72c53a..74a056b32fa802510bb72e109092e180fdbd8b9a 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <artifactId>taxeditor-parent</artifactId>
                <groupId>eu.etaxonomy</groupId>
-               <version>5.16.0</version>
+               <version>5.17.0</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 2691fbe339ce58564d67b0f8d26d03e79d211f39..2ed28dbd22d615f061d9df98508016d38a8bdabf 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.16.0
+Bundle-Version: 5.17.0
 Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/bundle
index cca76b2fea78b373c9a46b5c91325199b54d6d51..67fd1a3a4dd5786434c167c91b4fa6c877c27515 100644 (file)
@@ -52,7 +52,6 @@ command.label.2 = Datasource
 command.label.3 = Error Log\r
 command.label.4 = Reporting\r
 command.label.5 = Switch User\r
-command.label.6 = Create Data Model\r
 command.label.7 = New\r
 command.label.8 = Edit\r
 command.label.9 = Delete\r
index 76b1372aa2619fe31a2a8bfbb74c7ac5c4700609..c1f5741494a7572741ff5cdc5e7ea8aac124cf47 100644 (file)
@@ -52,7 +52,6 @@ command.label.2 = Datenquelle
 command.label.3 = Fehlermeldungen
 command.label.4 = Berichte
 command.label.5 = Benutzer wechseln
-command.label.6 = Datenmodell erstellen
 command.label.7 = Neu
 command.label.8 = Bearbeiten
 command.label.9 = L\u00f6schen
index 121933998d95f18c1154365616347b063475becf..44c8d60b04582c39f05941d73670a29311427911 100644 (file)
     <elements xsi:type="basic:PartDescriptor" xmi:id="_zTXhUGvBEeeNmdqhxF1CnA" elementId="eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4" label="%view.name.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/accessories-text-editor.png" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4"/>
     <elements xsi:type="basic:PartDescriptor" xmi:id="_coTYkH3eEeeVL5aZ55YsWA" elementId="eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4" label="%view.name.3" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4"/>
     <elements xsi:type="basic:PartDescriptor" xmi:id="_eKzREIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource" label="%view.name" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/system-file-manager.png" closeable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.CdmDataSourceViewPartE4">
-      <handlers xmi:id="_DINQoIctEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.ChangeConnectionHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.ChangeConnectionHandlerE4" command="_efb88IcsEee-HITNnU9cVw"/>
       <handlers xmi:id="_hAnq0IctEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.EditDataSourceHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.EditDataSourceHandlerE4" command="_cs5L0IctEee-HITNnU9cVw"/>
       <handlers xmi:id="_rsmsYIctEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.CloneDataSourceHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.CloneDataSourceHandlerE4" command="_o0HcUIctEee-HITNnU9cVw"/>
       <handlers xmi:id="_6VVQUIctEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.CreateDataSourceHandlerE4.dataSourceView" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.CreateDataSourceHandlerE4" command="_yJiTkIctEee-HITNnU9cVw"/>
       <handlers xmi:id="_ASDGYIcuEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.DeleteDataSourceHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.DeleteDataSourceHandlerE4" command="_-g_YcIctEee-HITNnU9cVw"/>
-      <handlers xmi:id="_T-pz4IcuEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.e4.handler.UpdateDataSourceHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.view.datasource.e4.handler.UpdateDataSourceHandlerE4" command="_ShWvcIcuEee-HITNnU9cVw"/>
       <menus xsi:type="menu:PopupMenu" xmi:id="_3aJ1cIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.popupmenu.datasourceview">
         <children xsi:type="menu:HandledMenuItem" xmi:id="_8D3ykIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.handledmenuitem.newDataSource" label="%command.label.7" command="_yJiTkIctEee-HITNnU9cVw"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_-ALHMIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.handledmenuitem.edit" label="%command.label.8" command="_cs5L0IctEee-HITNnU9cVw"/>
@@ -23,8 +21,6 @@
         <children xsi:type="menu:MenuSeparator" xmi:id="_-6EjoIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.menuseparator.1"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="__u4EsIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.handledmenuitem.delete" label="%command.label.9" command="_-g_YcIctEee-HITNnU9cVw"/>
         <children xsi:type="menu:MenuSeparator" xmi:id="_AfzyYIcqEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.menuseparator.2"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_7lX4sIcpEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.handledmenuitem.createModel" label="%command.label.6" command="_efb88IcsEee-HITNnU9cVw"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_BE4OUIcqEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.handledmenuitem.refresh" label="%command.label.11" command="_ShWvcIcuEee-HITNnU9cVw"/>
       </menus>
     </elements>
     <elements xsi:type="basic:PartDescriptor" xmi:id="_YZ2J0IdPEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.editor.definedTerm" label="%editor.name" allowMultiple="true" closeable="true" dirtyable="true" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.editor.definedterm.e4.DefinedTermEditorE4">
         <children xsi:type="menu:MenuSeparator" xmi:id="_whoc7vynEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.presenceAbsence.7"/>
         <children xsi:type="menu:Menu" xmi:id="_whoc7_ynEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menu.presenceAbsence.export" label="%menu.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif">
           <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_whoc8PynEemPDYtIH5gauA" coreExpressionId="isFeatureTree"/>
-          <children xsi:type="menu:HandledMenuItem" xmi:id="_whoc8fynEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.presenceAbsence.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw">
-          </children>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_whoc8fynEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.presenceAbsence.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_whoc8_ynEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.presenceAbsence.exportFeatureTree" label="%handledmenuitem.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_I_yx4GcqEee0qLTtA2ZpVQ">
             <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_whoc9PynEemPDYtIH5gauA" coreExpressionId="isShowExperimentalFeatures"/>
           </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="_jGX_bvysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.namedArea.7"/>
         <children xsi:type="menu:Menu" xmi:id="_jGX_b_ysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menu.namedArea.export" label="%menu.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif">
           <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_jGX_cPysEemPDYtIH5gauA" coreExpressionId="isFeatureTree"/>
-          <children xsi:type="menu:HandledMenuItem" xmi:id="_jGX_cfysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.namedArea.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw">
-          </children>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_jGX_cfysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.namedArea.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_jGX_c_ysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.namedArea.exportFeatureTree" label="%handledmenuitem.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_I_yx4GcqEee0qLTtA2ZpVQ">
             <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_jGX_dPysEemPDYtIH5gauA" coreExpressionId="isShowExperimentalFeatures"/>
           </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="_jK89bvysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menuseparator.rank.7"/>
         <children xsi:type="menu:Menu" xmi:id="_jK89b_ysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.menu.rank.export" label="%menu.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif">
           <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_jK89cPysEemPDYtIH5gauA" coreExpressionId="isFeatureTree"/>
-          <children xsi:type="menu:HandledMenuItem" xmi:id="_jK89cfysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw">
-          </children>
+          <children xsi:type="menu:HandledMenuItem" xmi:id="_jK89cfysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTreeOwl" label="%handledmenuitem.label.14" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_xyZ4oPhmEei8uPv-H2wqnw"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_jK89c_ysEemPDYtIH5gauA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.rank.exportFeatureTree" label="%handledmenuitem.label.4" iconURI="platform:/plugin/eu.etaxonomy.taxeditor.store/icons/export.gif" command="_I_yx4GcqEee0qLTtA2ZpVQ">
             <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_jK89dPysEemPDYtIH5gauA" coreExpressionId="isShowExperimentalFeatures"/>
           </children>
index c15af6de300b79230fe9c61618e08c0fcfec316f..4251f1cf8977c492d888a18c4e1d596f7efda9ed 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-       <version>5.16.0</version>
+       <version>5.17.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index df9416700f165a081600eda69a30d3233cbcc0a8..1abafcee024cb23515e3160bef0372b19a4df544 100644 (file)
@@ -21,7 +21,6 @@ import eu.etaxonomy.cdm.model.term.DefinedTerm;
 import eu.etaxonomy.cdm.model.term.TermTree;
 import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.model.term.TermVocabulary;
-import eu.etaxonomy.cdm.model.term.VocabularyEnum;
 import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -117,18 +116,31 @@ public class TermEditorInput extends AbstractDefinedTermEditorInput<DefinedTerm>
         return defaultFeatureTree;
     }
 
+    public static void resetDefaultFeatureTree(){
+        defaultFeatureTree = null;
+    }
     public static TermTree getDefaultNameFeatureTree() {
         if(defaultNameFeatureTree == null) {
-            TermVocabulary voc = CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid());
-            List<Feature> nameFeatures = new ArrayList(voc.getTerms());
-            nameFeatures.remove(Feature.PROTOLOGUE());
+//            List<TermVocabularyDto> vocs = new ArrayList<>();
+//            Set<CdmClass> availableFor = new HashSet<>();
+//            availableFor.add(CdmClass.TAXON_NAME);
+//            vocs = CdmStore.getService(IVocabularyService.class).findFeatureVocabularyDtoByTermTypes(availableFor);
+//            TermVocabulary voc = CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid());
+//            List<Feature> nameFeatures = new ArrayList(voc.getTerms());
+//            nameFeatures.remove(Feature.PROTOLOGUE());
+//            PreferencesUtil.createPreferredFeatureTreeForNameDescription();
+            defaultNameFeatureTree = PreferencesUtil.getPreferredFeatureTreeForNameDescription(true);
           //List<Feature> nameFeatures = CdmStore.getTermManager().getPreferredTerms(CdmStore.getService(IVocabularyService.class).load(VocabularyEnum.NameFeature.getUuid()), null);
-            defaultNameFeatureTree = TermTree.NewInstance(nameFeatures);
+//            defaultNameFeatureTree = TermTree.NewInstance(nameFeatures);
         }
         return defaultNameFeatureTree;
 
     }
 
+    public static void resetDefaultNameFeatureTree(){
+        defaultNameFeatureTree = null;
+    }
+
     /**
      * @return
      */
index 39a7d5d59573d0c410654a5f72dc5e3a151dc143..aa93223b91f915c01b12538783b63b57d3335632 100644 (file)
@@ -8,8 +8,12 @@
 */
 package eu.etaxonomy.taxeditor.handler.defaultHandler.e4;
 
+import java.util.Collection;
+
 import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
@@ -17,6 +21,7 @@ import org.eclipse.swt.widgets.Shell;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
+import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
 import eu.etaxonomy.taxeditor.event.EventUtility;
 import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -37,12 +42,31 @@ public class DefaultOpenTaxonNodeWizardHandlerE4 extends DefaultOpenHandlerBaseE
 
     @Override
     protected void open(TaxonNodeDto entity, Shell shell, EPartService partService) {
+        Collection<MPart> dirtyParts = partService.getDirtyParts();
+        if (!dirtyParts.isEmpty()){
+
+            for (MPart dirtyPart: dirtyParts){
+                if (dirtyPart.getElementId().equals("eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4")  && ((ITaxonEditor)dirtyPart.getObject()).getTaxonNode().getUuid().equals(entity.getUuid())){
+                    boolean doSave = MessageDialog
+                            .openConfirm(shell, "The taxonnode is in an unsaved mode",
+                                    "Do you want to save?");
+
+                    if (!doSave) {
+                        return ;
+                    }
+
+                    partService.savePart(dirtyPart, false);
+                }
+
+            }
+        }
         EditTaxonNodeWizard taxonNodeWizard = ContextInjectionFactory.make(EditTaxonNodeWizard.class, context);
         taxonNodeWizard.init(null, null);
         taxonNodeWizard.setEntity(CdmStore.getService(ITaxonNodeService.class).load(entity.getUuid()));
         WizardDialog dialog = new WizardDialog(shell, taxonNodeWizard);
         dialog.open();
         EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, entity);
+        EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, entity.getTaxonUuid());
 
     }
 
@@ -54,4 +78,6 @@ public class DefaultOpenTaxonNodeWizardHandlerE4 extends DefaultOpenHandlerBaseE
         return false;
     }
 
+
+
 }
\ No newline at end of file
index 4b760abcf4cb34f0314f460fc54df70cdbe973e5..d5a62f5e0bdb32e3a73697b1986074b762b3540a 100644 (file)
@@ -34,10 +34,10 @@ import eu.etaxonomy.taxeditor.util.ApplicationUtil;
  */
 public class P2Util {
 
-    private static String EDIT_NIGHTLY_UPDATE_SITE = "http://cybertaxonomy.eu/download/taxeditor/update/nightly/";
+    private static String EDIT_NIGHTLY_UPDATE_SITE = "https://cybertaxonomy.eu/download/taxeditor/update/nightly/";
     private static String EDIT_NIGHTLY_UPDATE_SITE_NAME = "Taxonomic Editor Nightly";
 
-    private static String EDIT_STABLE_UPDATE_SITE = "http://cybertaxonomy.eu/download/taxeditor/update/stable/";
+    private static String EDIT_STABLE_UPDATE_SITE = "https://cybertaxonomy.eu/download/taxeditor/update/stable/";
     private static String EDIT_STABLE_UPDATE_SITE_NAME = "Taxonomic Editor Stable";
 
     /**
index 90672ebea4070d4bc350e31098277e59b9f975e5..3c14fa4f9a1e018797b50310e556b4de52567037 100644 (file)
@@ -43,6 +43,7 @@ AbstractExportWizardE4<CdmLightExportConfigurator> {
 
     private CdmLightExportConfigurator configurator;
     private ExportToFileDestinationWizardPage page;
+    private MetaDataConfigurationWizardPage metaDataPage;
 
     @Inject
     public CdmLightExportWizardE4(IEclipseContext context,
@@ -77,6 +78,8 @@ AbstractExportWizardE4<CdmLightExportConfigurator> {
         //+ page.getExportFileName();
 
         final Combo combo = page.getCombo();
+        metaDataPage.fillConfig();
+        configurator = metaDataPage.configurator;
         final List<Classification> listClassifications = CdmStore.getCurrentApplicationConfiguration().getClassificationService().listClassifications(null, null, null, null);
         if(combo != null){
             int selectionIndex = combo.getSelectionIndex();
@@ -119,6 +122,9 @@ AbstractExportWizardE4<CdmLightExportConfigurator> {
 
         addPage(page);
         super.addPages();
+        metaDataPage = new MetaDataConfigurationWizardPage("Add Meta Data", configurator);
+        addPage(metaDataPage);
+
     }
 
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/cdmlight/MetaDataConfigurationWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/e4/out/cdmlight/MetaDataConfigurationWizardPage.java
new file mode 100755 (executable)
index 0000000..47ca804
--- /dev/null
@@ -0,0 +1,192 @@
+/**
+* Copyright (C) 2020 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.io.e4.out.cdmlight;
+
+import java.util.List;
+
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+import eu.etaxonomy.cdm.io.cdmLight.CdmLightExportConfigurator;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @since Aug 5, 2020
+ */
+public class MetaDataConfigurationWizardPage extends WizardPage {
+
+    CdmLightExportConfigurator configurator;
+
+    private Text text_title;
+    private Text text_description;
+    private Text text_creator;
+    private Text text_contributor;
+    private Combo combo_language;
+    private Text text_dataset_landingPage;
+    private Text uri_datasetDownloadLink;
+    private Text base_url;
+    private Text text_recommendedCitation;
+    private Text text_location;
+    private Text text_keyWords;
+    private Text text_licence;
+
+    /**
+     * @param pageName
+     */
+    protected MetaDataConfigurationWizardPage(String pageName, CdmLightExportConfigurator config) {
+        super(pageName);
+        configurator = config;
+
+    }
+
+    public CdmLightExportConfigurator getConfigurator() {
+        return configurator;
+    }
+
+    public void setConfigurator(CdmLightExportConfigurator configurator) {
+        this.configurator = configurator;
+    }
+
+    @Override
+    public void createControl(Composite parent) {
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+        GridLayout gridLayout = new GridLayout();
+        gridLayout.numColumns = 2;
+        composite.setLayout(gridLayout);
+        Label label_title = new Label(composite, SWT.NULL);
+        label_title.setText("Title");
+        text_title = new Text(composite, SWT.BORDER);
+        text_title.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_description = new Label(composite, SWT.NULL);
+        label_description.setText("Description");
+        text_description = new Text(composite, SWT.BORDER);
+        text_description.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_creator = new Label(composite, SWT.NULL);
+        label_creator.setText("Creator");
+        text_creator = new Text(composite, SWT.BORDER);
+        text_creator.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_contributor = new Label(composite, SWT.NULL);
+        label_contributor.setText("Contributor");
+        text_contributor = new Text(composite, SWT.BORDER);
+        text_contributor.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_language = new Label(composite, SWT.NULL);
+        label_language.setText("Language");
+        combo_language = new Combo(composite, SWT.BORDER);
+
+        List<Language> preferredLanguages = CdmStore.getTermManager().getPreferredTerms(Language.class);
+        int currentSelectionIndex = 0;
+        Language defaultLang = CdmStore.getDefaultLanguage();
+        for(int i = 0; i < preferredLanguages.size(); i++){
+            Language language = preferredLanguages.get(i);
+            combo_language.add(language.getLabel(), i);
+            combo_language.setData(language.getLabel(), language);
+           if (language.equals(defaultLang)){
+               currentSelectionIndex = i;
+           }
+        }
+
+        combo_language.select(currentSelectionIndex);
+
+
+
+        Label label_landingPage = new Label(composite, SWT.NULL);
+        label_landingPage.setText("Dataset landing page");
+        text_dataset_landingPage= new Text(composite, SWT.BORDER);
+        text_dataset_landingPage.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_datasetDownloadLink = new Label(composite, SWT.NULL);
+        label_datasetDownloadLink.setText("Dataset download link");
+        uri_datasetDownloadLink= new Text(composite, SWT.BORDER);
+        uri_datasetDownloadLink.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_base_url = new Label(composite, SWT.NULL);
+        label_base_url.setText("Base URL");
+        base_url= new Text(composite, SWT.BORDER);
+        base_url.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_recommendedCitation = new Label(composite, SWT.NULL);
+        label_recommendedCitation.setText("Recommended citation");
+        text_recommendedCitation= new Text(composite, SWT.BORDER);
+        text_recommendedCitation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_location = new Label(composite, SWT.NULL);
+        label_location.setText("Location");
+        text_location= new Text(composite, SWT.BORDER);
+        text_location.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_keyWords = new Label(composite, SWT.NULL);
+        label_keyWords.setText("Keywords");
+        text_keyWords= new Text(composite, SWT.BORDER);
+        text_keyWords.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+        Label label_licence = new Label(composite, SWT.NULL);
+        label_licence.setText("Licence");
+        text_licence= new Text(composite, SWT.BORDER);
+        text_licence.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+                false));
+
+
+        setControl(composite);
+    }
+
+
+    public void fillConfig() {
+
+        configurator.setTitle(text_title.getText());
+
+        configurator.setDescription(text_description.getText());
+
+        configurator.setCreator(text_creator.getText());
+
+        configurator.setContributor(text_contributor.getText());
+
+        configurator.setLanguage((Language)combo_language.getData(combo_language.getText()));
+
+        configurator.setDataSet_landing_page(text_dataset_landingPage.getText());
+
+        configurator.setDataset_download_link(uri_datasetDownloadLink.getText());
+
+        configurator.setBase_url(base_url.getText());
+
+        configurator.setRecommended_citation(text_recommendedCitation.getText());
+
+        configurator.setLocation(text_location.getText());
+
+        configurator.setKeywords(text_keyWords.getText());
+
+        configurator.setLicence(text_licence.getText());
+    }
+
+
+
+}
index 1c42bb89b4a5419aa371387e412ea90d9310543d..8c50c1e227478c8862f6d7b110ed851a32629226 100644 (file)
@@ -585,6 +585,9 @@ public class Messages extends NLS {
     public static String TaxonNodeWizardPage_SECUNDUM_REFERENCE;
     public static String TaxonNodeWizardPage_STATUS_NOTES;
     public static String TaxonNodeWizardPage_CLASSIFICATION;
+    public static String TaxonNodeWizardPage_TAXON_NODE;
+    public static String TaxonNodeWizardPage_TAXON_INFORMATION;
+    public static String TaxonNodeWizardPage_TAXON_IS_PUBLISH;
 
     public static String TaxonomicEditorGeneralPreferences_background;
     public static String TaxonomicEditorGeneralPreferences_connect;
@@ -638,6 +641,9 @@ public class Messages extends NLS {
     public static String MediaDetailElement_NO_PREVIEW;
     public static String MediaDetailElement_TOGGLE_NOT_POSSIBLE_MESSAGE;
     public static String MediaDetailElement_TOGGLE_NOT_POSSIBLE_TITLE;
+    public static String MediaDetailElement_SHOW_IMAGE;
+    public static String MediaDetailElement_RELOAD_IMAGE;
+
 
     public static String MediaPreferences_advanced;
     public static String MediaPreferences_preview;
@@ -732,6 +738,17 @@ public class Messages extends NLS {
 
     public static String DeleteConfiguration_descriptionFromDescriptiveDataSet_onlyRemove;
 
+    public static String EnumCombo_Placement_status;
+
+    public static String OriginalSourceAdvancedSection_advanced;
+
+
+
+
+
+
+
+
     static {
         // initialize resource bundle
         NLS.initializeMessages(BUNDLE_NAME, Messages.class);
index 4e0ee3b04e48752e4c734d4f8c7ec39b039996dc..3d2f25fbeef12efd0ead5813da5bdd6adaf0d2d0 100644 (file)
@@ -285,9 +285,12 @@ TaxonNodeWizardPage_NEW_TAXON=New Taxon
 TaxonNodeWizardPage_TAXON=Taxon
 TaxonNodeWizardPage_REUSE_EXISTING_TAXON=Reuse existing taxon
 TaxonNodeWizardPage_REUSE_EXISTING_NAME=Reuse existing name
-TaxonNodeWizardPage_SECUNDUM_REFERENCE=Secundum Reference
+TaxonNodeWizardPage_SECUNDUM_REFERENCE=Secundum reference
 TaxonNodeWizardPage_STATUS_NOTES=Status notes
 TaxonNodeWizardPage_CLASSIFICATION=Classification
+TaxonNodeWizardPage_TAXON_NODE=Taxon node
+TaxonNodeWizardPage_TAXON_INFORMATION=Taxon information
+TaxonNodeWizardPage_TAXON_IS_PUBLISH=Taxon is publish
 TaxonomicEditorGeneralPreferences_background=Run long running operations in background
 TaxonomicEditorGeneralPreferences_connect=Connect to last used datasource when launching
 TaxonRelationshipTypeMenuPreferences_configure=Configure taxon relationship types
@@ -523,6 +526,10 @@ MediaDetailElement_NO_FILE_FOUND=No file found
 MediaDetailElement_NO_PREVIEW=No preview available for this file type
 MediaDetailElement_TOGGLE_NOT_POSSIBLE_MESSAGE=Media consists of multiple representations or representatio parts
 MediaDetailElement_TOGGLE_NOT_POSSIBLE_TITLE=Toggling not possible
+MediaDetailElement_SHOW_IMAGE=Show Image
+MediaDetailElement_RELOAD_IMAGE=Reload Image
+
+
 MediaPreferences_advanced=Show Advanced Media View in Details View
 MediaPreferences_preview=Show Preview in Media View (Tree View)
 
@@ -595,4 +602,6 @@ StructuredDescriptionAggregationWizardPage_SELECT_ALL_SUBTREES=Aggregate all tax
 StructuredDescriptionAggregationWizardPage_SELECT_SELECTED_TAXA_ONLY=Aggregate selected taxon/taxa only
 CommonNameLanguages_Title=Common Name Languages
 CommonNameVocabularyPreferencePage_description=Select the vocabularies for common name area selection.
-CommonNameLanguagePreferencePage_description=Choose the languages available for common names.
\ No newline at end of file
+CommonNameLanguagePreferencePage_description=Choose the languages available for common names.
+EnumCombo_Placement_status=Placement status
+OriginalSourceAdvancedSection_advanced=more
\ No newline at end of file
index 6e0be48d68393198958f7f8df323364e888603db..8525673df0ff2e38d261e37b34b85d3a36d79f90 100644 (file)
@@ -287,6 +287,10 @@ TaxonNodeWizardPage_REUSE_EXISTING_NAME=Namen wiederverwenden
 TaxonNodeWizardPage_SECUNDUM_REFERENCE=Secundum Referenz
 TaxonNodeWizardPage_STATUS_NOTES=Status Annmerkungen
 TaxonNodeWizardPage_CLASSIFICATION=Klassifikation
+TaxonNodeWizardPage_TAXON_NODE=Taxonknoten
+TaxonNodeWizardPage_TAXON_INFORMATION=Taxon Information
+TaxonNodeWizardPage_TAXON_IS_PUBLISH=Taxon ist Ã¶ffentlich
+
 TaxonomicEditorGeneralPreferences_background=Long Running Operations laufen im Hintergrund
 TaxonomicEditorGeneralPreferences_connect=Beim Starten mit der zuletzt verwendeten Datenquelle verbinden
 TaxonRelationshipTypeMenuPreferences_configure=Auswahl der zur Verf\u00FCgung stehenden Taxonrelationstypen
@@ -522,6 +526,9 @@ MediaDetailElement_NO_FILE_FOUND=Keine Datei gefunden
 MediaDetailElement_NO_PREVIEW=Keine Vorschau für diesen Dateityp vorhanden
 MediaDetailElement_TOGGLE_NOT_POSSIBLE_MESSAGE=Media besteht aus mehreren "representations" oder "representation parts"
 MediaDetailElement_TOGGLE_NOT_POSSIBLE_TITLE=Umschalten nicht möglich
+MediaDetailElement_SHOW_IMAGE=Zeige Bild
+MediaDetailElement_RELOAD_IMAGE=Bild neu laden
+
 MediaPreferences_advanced=Erweiterten Media Details View anzeigen
 MediaPreferences_preview=Vorschau anzeigen
 
@@ -593,4 +600,7 @@ StructuredDescriptionAggregationWizardPage_SELECT_ALL_SUBTREES=Aggregiere alle T
 StructuredDescriptionAggregationWizardPage_SELECT_SELECTED_TAXA_ONLY=Aggregiere nur ausgewählte(s) Taxa/Taxon
 CommonNameLanguages_Title=Sprachen für Trivialnamen
 CommonNameVocabularyPreferencePage_description=Wählen Sie die Vokabulare, für die Area-Auswahl bei Trivialnamen.
-CommonNameLanguagePreferencePage_description=Wählen Sie die für Trivialnamen verfügbaren Sprachen.
\ No newline at end of file
+CommonNameLanguagePreferencePage_description=Wählen Sie die für Trivialnamen verfügbaren Sprachen.
+
+EnumCombo_Placement_status=Platzierungsstatus
+OriginalSourceAdvancedSection_advanced=mehr
\ No newline at end of file
index e397a911b0029e10a9237a578cf0575139300c7f..045a261fe3fc4b9e334ffdf42e1f836a2e9b1aaf 100644 (file)
@@ -851,7 +851,11 @@ public abstract class AbstractUtility {
         }
     }
     public static void updateNameEditors(Set<Taxon> taxaToUpdate){
-        EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, taxaToUpdate);
+        for (Taxon tax: taxaToUpdate){
+            if (tax != null){
+                EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, tax.getUuid());
+            }
+        }
     }
 
 
index 6520ec1ec64da76868a4c0cebc24331a5212fd53..e7802d3653ded32be5755982fbabf3d38a763d72 100644 (file)
@@ -585,7 +585,7 @@ public class DescriptionHelper {
                                        text += source.getCitation().getTitleCache();
                                }
                                if(source.getNameUsedInSource() != null){
-                                       text += " [ " + source.getNameUsedInSource().getTitleCache() + " ]";
+                                       text += " [" + source.getNameUsedInSource().getTitleCache() + "]";
                                }
                        }
                        if(isBlank(text)){
index 47c37affbb8f541d128c1c69bc4280f11b544be2..dd632b29f89530346bda1215531f3da1509e6c46 100644 (file)
@@ -16,6 +16,7 @@ import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.dto.CreateTaxonDTO;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus;
@@ -64,13 +65,14 @@ public class NewTaxonNodeWizard extends AbstractNewEntityWizardParentChild<Taxon
                TaxonNode parent = getParentEntity();
 
                Map<Language, LanguageString> notes = ((TaxonNodeDetailElement)taxonNodePage.getDetailElement()).getMultiLanguageTextExcludedNotes();
-               UUID refUuid = parent.getReference() != null? parent.getReference().getUuid(): null;
+               DescriptionElementSource source = parent.getSource().checkEmpty()? null: parent.getSource();
+
 
                TaxonNodeStatus status = ((TaxonNodeDetailElement)taxonNodePage.getDetailElement()).getTaxonNodeStatus();
                if (status == null){
                    notes = null;
                }
-               result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parent.getUuid(), taxon, refUuid, parent.getMicroReference(),
+               result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parent.getUuid(), taxon, source, parent.getMicroReference(),
                         status, notes);
 
                if (result.isOk()){
index ed5fc423bad8fefa5b04f9437304df35e1e1e469..bd3949829ee2cb110e5fc9949f56cf46cdded6ef 100755 (executable)
@@ -31,17 +31,14 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 /**
  * @author k.luther
  * @since 27.04.2018
- *
  */
 public class CdmPreferenceCache {
-    Map<String,List<CdmPreference>> preferenceCache = new HashMap();
+    Map<String,List<CdmPreference>> preferenceCache = new HashMap<>();
 
     private static CdmPreferenceCache instance;
 
     private final static Logger logger = Logger.getLogger(CdmPreferenceCache.class);
 
-
-
     public static CdmPreferenceCache instance(){
         if(instance == null){
             instance = new CdmPreferenceCache();
@@ -94,12 +91,10 @@ public class CdmPreferenceCache {
             cachedPreferences.remove(prefToRemove);
             cachedPreferences.add(pref);
         }else{
-            List<CdmPreference> prefs = new ArrayList();
+            List<CdmPreference> prefs = new ArrayList<>();
             prefs.add(pref);
             preferenceCache.put(pref.getPredicate(), prefs);
         }
-
-
     }
 
     public boolean remove(CdmPreference pref){
@@ -114,7 +109,6 @@ public class CdmPreferenceCache {
             cachedPreferences.remove(prefToRemove);
         }
         return true;
-
     }
 
     public void getAllTaxEditorDBPreferences(){
@@ -133,7 +127,7 @@ public class CdmPreferenceCache {
             if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableDistributionStatus.getKey()) || !get(key).isAllowOverride()){
                 //get terms for the uuids... and add them to the termManager as preferred terms
                 ITermService termService = CdmStore.getService(ITermService.class);
-                List<UUID> uuidList = new ArrayList();
+                List<UUID> uuidList = new ArrayList<>();
                 if (get(key).getValue() != null){
                     String[] uuidArray =findBestMatching(key).getValue().split(";");
                     for (String uuidString:uuidArray){
@@ -147,7 +141,7 @@ public class CdmPreferenceCache {
 
                 List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
                 List<TermDto> dtos = new ArrayList<>();
-                for (DefinedTermBase term: definedTermBases){
+                for (DefinedTermBase<?> term: definedTermBases){
                     dtos.add(TermDto.fromTerm(term));
                 }
                 CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.PresenceAbsenceTerm);
@@ -159,7 +153,7 @@ public class CdmPreferenceCache {
             if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableRanks.getKey()) || !get(key).isAllowOverride()){
                 //get terms for the uuids... and add them to the termManager as preferred terms
                 ITermService termService = CdmStore.getService(ITermService.class);
-                List<UUID> uuidList = new ArrayList();
+                List<UUID> uuidList = new ArrayList<>();
                 if (get(key).getValue() != null){
                     String[] uuidArray =findBestMatching(key).getValue().split(";");
                     for (String uuidString:uuidArray){
@@ -172,8 +166,8 @@ public class CdmPreferenceCache {
                 }
 
                 List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
-                List<TermDto> dtos = new ArrayList();
-                for (DefinedTermBase term: definedTermBases){
+                List<TermDto> dtos = new ArrayList<>();
+                for (DefinedTermBase<?> term: definedTermBases){
                     dtos.add(TermDto.fromTerm(term));
                 }
                 CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.Rank);
@@ -186,7 +180,7 @@ public class CdmPreferenceCache {
             if (!PreferencesUtil.getOverrideForPreference(PreferencePredicate.AvailableNomenclaturalStatus.getKey()) || !get(key).isAllowOverride()){
                 //get terms for the uuids... and add them to the termManager as preferred terms
                 ITermService termService = CdmStore.getService(ITermService.class);
-                List<UUID> uuidList = new ArrayList();
+                List<UUID> uuidList = new ArrayList<>();
                 if (get(key).getValue() != null){
                     String[] uuidArray =findBestMatching(key).getValue().split(";");
                     for (String uuidString:uuidArray){
@@ -199,8 +193,8 @@ public class CdmPreferenceCache {
                 }
 
                 List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
-                List<TermDto> dtos = new ArrayList();
-                for (DefinedTermBase term: definedTermBases){
+                List<TermDto> dtos = new ArrayList<>();
+                for (DefinedTermBase<?> term: definedTermBases){
                     dtos.add(TermDto.fromTerm(term));
                 }
                 CdmStore.getTermManager().setPreferredTermsByType(dtos, TermType.NomenclaturalStatusType);
@@ -208,15 +202,11 @@ public class CdmPreferenceCache {
         }
     }
 
-
-
     public CdmPreference findBestMatching(PrefKey key) {
-        List<CdmPreference> allPrefs = new ArrayList();
+        List<CdmPreference> allPrefs = new ArrayList<>();
         for (String predicate: preferenceCache.keySet()){
             allPrefs.addAll(preferenceCache.get(predicate));
         }
-       return PreferenceResolver.resolve(allPrefs, key);
-
+        return PreferenceResolver.resolve(allPrefs, key);
     }
-
 }
index 3bc5624c3fc141f89ba8741dae48e18d32e5802a..aa9f52f7f3194f68613ec43de90b766915e16e04 100755 (executable)
@@ -9,10 +9,16 @@
 package eu.etaxonomy.taxeditor.preference.menu;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.UUID;
 
+import javax.inject.Inject;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.layout.GridData;
@@ -21,10 +27,12 @@ import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 
+import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
 import eu.etaxonomy.cdm.model.common.CdmClass;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
 import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter;
 import eu.etaxonomy.taxeditor.editor.definedterm.FeatureDtoContentProvider;
@@ -45,6 +53,8 @@ public class NameFeatureMenuPreference extends GeneralTermPreferencePage {
     /** Constant <code>PLUGIN_ID="eu.etaxonomy.taxeditor.preferences.feat"{trunked}</code> */
     public static final String PLUGIN_ID = "eu.etaxonomy.taxeditor.preferences.nameFeature"; //$NON-NLS-1$
 
+    @Inject
+    private IEventBroker eventBroker;
     /**
      * <p>Constructor for NameFeatureMenuPreference.</p>
      */
@@ -120,7 +130,7 @@ public class NameFeatureMenuPreference extends GeneralTermPreferencePage {
         if (isApply()){
             boolean result = super.performOk();
             if (result){
-                PreferencesUtil.createPreferredFeatureTreeForNameDescription();
+                PreferencesUtil.getPreferredFeatureTreeForNameDescription(true);
             }
         }
         return true;
@@ -141,6 +151,28 @@ public class NameFeatureMenuPreference extends GeneralTermPreferencePage {
         setVocabularies(vocs);
     }
 
+    @Override
+    protected List<TermDto> getTermsFromStringValues(List<String> listValue) {
+        Collection<TermDto> termlist = new ArrayList<>();
+        ITermService termService = CdmStore.getService(ITermService.class);
+        List<UUID> uuidList = new ArrayList();
+        for (String s : listValue) {
+            if (!StringUtils.isBlank(s)){
+                UUID uuid = UUID.fromString(s);
+                uuidList.add(uuid);
+            }
+        }
+        if (!uuidList.isEmpty()){
+            termlist = termService.findFeatureByUUIDsAsDto(uuidList);
+        }
+
+        if (listValue == null || listValue.isEmpty() ){
+            termlist = termService.findFeatureByTitleAsDto("");
+
+        }
+
+        return new ArrayList(termlist);
+    }
 
 
 }
index 1ab8b6e166be2b8bf3dbfda009d00d4cca262a6a..3d551489b0e58c7fda7e8b7e1de8f2e1d4244e1a 100644 (file)
@@ -32,6 +32,7 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
 import eu.etaxonomy.cdm.model.name.NomenclaturalStatusType;
 import eu.etaxonomy.cdm.model.name.Rank;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
 import eu.etaxonomy.cdm.model.term.init.TermLoader;
 import eu.etaxonomy.taxeditor.event.EventUtility;
 import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
@@ -171,6 +172,7 @@ class CdmStoreConnector extends Job {
 
                         if (!monitor.isCanceled()) {
                             CdmStore.setInstance(applicationController, cdmSource);
+                            CdmStore.getTermManager().reset();
                             monitor.subTask(Messages.CdmStoreConnector_AUTHENTICATING_USER);
                             display.syncExec(()-> {
                                 try {
@@ -179,6 +181,7 @@ class CdmStoreConnector extends Job {
                                     //loginDialog.onComplete();
                                     CdmStore.getContextManager().notifyContextStart();
                                     loginDialog.onComplete();
+                                    //TODO AM: is this necessary to be done on display thread? 
                                     new TermLoader().unloadAllTerms();
                                     Rank.initDefaultTerms();
                                     NomenclaturalStatusType.initDefaultTerms();
index 922835a6657bdde309aa307c7d083dd1cb961dcd..81e0149cfd76f7c80601f54760054d2a9619ce87 100644 (file)
@@ -34,23 +34,18 @@ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
  */
 public class TermManager {
 
-       private static final String TERMS = "terms";
-       private static final String TERM = "term";
-       private static final String HIDE = "hide";
-
-       private static final String CLASS = "class";
-       private static final String UUID_STRING = "uuid";
-
-
     private Map<Object, List> cachedTermMap = new HashMap<>();
 
-
     //new cache for features!!
     //dinstinguish preferences for both
     //load at start
 
        public TermManager(){
        }
+       
+       public void reset(){
+               cachedTermMap = new HashMap<>();
+       }
 
        public <T extends DefinedTermBase> List<T> getPreferredTerms(TermType termType){
            List<?> terms = cachedTermMap.get(termType);
@@ -84,7 +79,7 @@ public class TermManager {
            @SuppressWarnings("unchecked")
         List<T> terms = cachedTermMap.get(termVocabulary.getUuid());
            if(terms==null){
-               terms = getFilteredTerms(new ArrayList<T>(TermStore.getTerms(termVocabulary,null)));
+               terms = getFilteredTerms(new ArrayList<>(TermStore.getTerms(termVocabulary,null)));
                cachedTermMap.put(termVocabulary.getUuid(), terms);
            }
            return terms;
@@ -234,15 +229,6 @@ public class TermManager {
            return null;
        }
 
-       private  TermVocabularyDto getTermVocabularyByDto(Collection<TermDto> initialTerms){
-        if(!initialTerms.isEmpty()){
-            TermDto entity = initialTerms.iterator().next();
-            return entity.getVocabularyDto();
-        }
-        return null;
-    }
-
-
        /**
         * Generic method to set term preferences
         *
@@ -264,7 +250,6 @@ public class TermManager {
                clearTermMapForTermVoc(voc.getUuid());
        }
 
-
        /**
      * Generic method to set term preferences
      *
@@ -345,7 +330,8 @@ public class TermManager {
     public <T extends DefinedTermBase> List<T> getTerms(List<UUID> uuidList, Class clazz){
 
         List<T> filteredTerms = new ArrayList<>();
-        List<T> terms = TermStore.getTerms(clazz);
+        @SuppressWarnings("unchecked")
+               List<T> terms = TermStore.getTerms(clazz);
         if (uuidList == null || uuidList.isEmpty()){
             return terms;
         }
index cae6e4b39b17c650adea93db55ce99c13eac07ef..185c5eefde18b5b81829cc98f11eacd9dd843bf3 100644 (file)
@@ -85,7 +85,7 @@ public class TermStore {
         * @return a sorted list of terms
         */
        public static <TERM extends DefinedTermBase> List<TERM> getTerms(Class<TERM> clazz, Comparator<TERM> comparator, boolean filtered){
-               List<TERM> terms = new ArrayList<TERM>();
+               List<TERM> terms = new ArrayList<>();
 
                ITermStoreEdgeCase<TERM> edgeCase = getEdgeCase(clazz);
                if(filtered && edgeCase != null){
@@ -95,15 +95,8 @@ public class TermStore {
                }
 
                return terms;
-
        }
 
-       /**
-        *
-        * @param termClass
-        * @param comparator
-        * @return
-        */
        private static <T extends DefinedTermBase> List<T> getTermsFromService(TermType termType, Comparator<T> comparator){
            if (comparator == null){
                comparator = new DefaultTermComparator<T>();
@@ -114,12 +107,6 @@ public class TermStore {
            return terms;
        }
 
-       /**
-        *
-        * @param termClass
-        * @param comparator
-        * @return
-        */
        private static <T extends DefinedTermBase> List<T> getTermsFromService(Class<T> termClass, Comparator<T> comparator){
                if (comparator == null){
                        comparator = new DefaultTermComparator<T>();
@@ -130,9 +117,6 @@ public class TermStore {
                return terms;
        }
 
-       /**
-        * @param term a {@link eu.etaxonomy.cdm.model.term.DefinedTermBase} object.
-        */
        public static void saveTerm(DefinedTermBase term){
                CdmStore.getService(ITermService.class).saveOrUpdate(term);
        }
@@ -159,8 +143,7 @@ public class TermStore {
        /**
         * Handingling of special cases
         */
-
-       private static Set<ITermStoreEdgeCase<? extends DefinedTermBase>> termStoreEdgeCases = new HashSet<ITermStoreEdgeCase<? extends DefinedTermBase>>();
+       private static Set<ITermStoreEdgeCase<? extends DefinedTermBase>> termStoreEdgeCases = new HashSet<>();
 
        static {
                termStoreEdgeCases.add(new ITermStoreEdgeCase<Feature>() {
@@ -187,7 +170,7 @@ public class TermStore {
                        @Override
                        public List<MarkerType> getTerms() {
                                // filter out non technical markers
-                               List<MarkerType> nonTechnicalMarkerTypes = new ArrayList<MarkerType>();
+                               List<MarkerType> nonTechnicalMarkerTypes = new ArrayList<>();
                                List<MarkerType> markerTypes = TermStore.getTermsFromService(MarkerType.class, null);
 
                                for (Object type : markerTypes) {
@@ -211,26 +194,21 @@ public class TermStore {
                        public List<Rank> getTerms() {
                                if(PreferencesUtil.getSortRanksHierarchichally()){
                                        return TermStore.getTermsFromService(Rank.class, new Comparator<Rank>(){
-
-                                               @Override
-                                               public int compare(Rank o1, Rank o2) {
-                                                       return o1.compareTo(o2);
-                                               }
-
-                                       });
+                                                       @Override
+                                                       public int compare(Rank o1, Rank o2) {
+                                                               return o1.compareTo(o2);
+                                                       }
+                                               });
                                }else{
                                        return TermStore.getTermsFromService(Rank.class, null);
                                }
                        }
-
                });
                termStoreEdgeCases.add(new ITermStoreEdgeCase<PresenceAbsenceTerm>() {
-
                        @Override
                        public Class<PresenceAbsenceTerm> getTermClass() {
                                return PresenceAbsenceTerm.class;
                        }
-
                        @Override
                        public List<PresenceAbsenceTerm> getTerms() {
                                List<PresenceAbsenceTerm> presenceAbsenceTerms = TermStore.getTermsFromService(PresenceAbsenceTerm.class, null);
@@ -239,12 +217,10 @@ public class TermStore {
                        }
                });
                termStoreEdgeCases.add(new ITermStoreEdgeCase<TaxonRelationshipTypeInverseContainer>() {
-
                        @Override
                        public Class<TaxonRelationshipTypeInverseContainer> getTermClass() {
                                return TaxonRelationshipTypeInverseContainer.class;
                        }
-
                        @Override
                        public List<TaxonRelationshipTypeInverseContainer> getTerms() {
                                List<TaxonRelationshipType> excludeTaxonRelationshipTypes = Arrays.asList(new TaxonRelationshipType[]{
@@ -253,7 +229,7 @@ public class TermStore {
                                        TaxonRelationshipType.ALL_RELATIONSHIPS()
                                });
 
-                               List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<TaxonRelationshipTypeInverseContainer>();
+                               List<TaxonRelationshipTypeInverseContainer> relationshipTypeInverseContainers = new ArrayList<>();
 
                                List<TaxonRelationshipType> relationshipTypes = TermStore.getTerms(TaxonRelationshipType.class);
 
index d0a210dd2043baa544301d4800b72d1283925175..494fcd54bd7b77e68f54a87b5842d0f68e03cf0e 100644 (file)
@@ -32,6 +32,7 @@ import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
 import eu.etaxonomy.cdm.model.reference.ReferenceType;
 import eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus;
 import eu.etaxonomy.cdm.model.term.IEnumTerm;
+import eu.etaxonomy.taxeditor.l10n.Messages;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
@@ -225,7 +226,7 @@ public class EnumComboElement<T extends IEnumTerm<T>> extends
         } else if(enumType.equals(NomenclaturalCodeEdition.class)) {
             return "Code Edition";
         }else if(enumType.equals(TaxonNodeStatus.class)) {
-            return "Placement status";
+            return Messages.EnumCombo_Placement_status;
         }
                return "No Label";
        }
index cb71551073095e50b103a2b92a11eea9865c2cba..a47f2649257e1ec010b987aee5e66180a4f50eb3 100755 (executable)
@@ -27,6 +27,8 @@ import org.eclipse.wb.swt.ResourceManager;
 import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
 import eu.etaxonomy.cdm.model.reference.Reference;
 import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.Resources;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
@@ -111,19 +113,23 @@ public class SetSecundumConfiguratorWizardPage extends WizardPage implements Lis
         gridLayoutRef.numColumns = 4;
 
         compositeRef.setLayout(gridLayoutRef);
-        compositeRef.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, true));
+        compositeRef.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, true, true));
         Label label = new Label(compositeRef, SWT.WRAP);
         label.setText(Messages.SetSecundumConfiguration_NewSecundum_Label);
-        label.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, false));
+        label.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
 
         textReference = new Text(compositeRef, SWT.BORDER);
         textReference.setEditable(false);
-        textReference.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-        textReference.setTextLimit(Text.LIMIT);
+        textReference.setLayoutData(new GridData(SWT.FILL, SWT.LEFT, true, true));
+//        textReference.setTextLimit(Text.LIMIT);
+        textReference.setBackground(StoreUtil
+                .getColor(Resources.COLOR_TEXT_DISABLED_BACKGROUND));
+
 
         btnBrowseReference = new Button(compositeRef, SWT.NONE);
         btnBrowseReference.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/prj_obj.gif"));
         btnBrowseReference.addListener(SWT.Selection, this);
+        btnBrowseReference.setFocus();
 
         btnClear = new Button(compositeRef, SWT.NONE);
         btnClear.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
index 4ce08049316c528681ee63851bb4fd2bb6b6f0b5..3ac813c44dd7deea7ddfef106f5f5f2363f8552c 100644 (file)
@@ -178,7 +178,7 @@ public class TaxonNodeSelectionDialog extends AbstractFilteredCdmResourceSelecti
        protected void callService(String pattern) {
            model = CdmStore.getService(IClassificationService.class)
                        .getTaxonNodeUuidAndTitleCacheOfAcceptedTaxaByClassification(
-                                       selectedClassification.getUuid(), limitOfInitialElements, pattern, allowClassificationSelection);
+                                       selectedClassification.getUuid(), limitOfInitialElements, pattern, allowClassificationSelection, true);
        }
 
        @Override
index 1b5e49a3cff4a1dede12d02415d519751cc6563f..d10dbd84c70eae626a02089d03e0dd414ec2722f 100644 (file)
@@ -256,6 +256,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitMediaSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationEventDetailElement;
@@ -318,8 +319,11 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDe
 import eu.etaxonomy.taxeditor.ui.section.occurrence.media.MediaSpecimenGeneralDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceAdvancedSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.reference.SingleSourceSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationElement;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.ui.section.supplemental.CdmBaseElement;
@@ -1742,6 +1746,15 @@ public class CdmFormFactory extends FormToolkit {
 
     }
 
+    public DerivedUnitMediaSection createDerivedUnitMediaSection(ConversationHolder conversation,
+            ICdmFormElement parentElement, int style) {
+        DerivedUnitMediaSection section = new DerivedUnitMediaSection(this, conversation, parentElement, style);
+        parentElement.addElement(section);
+        adapt(section);
+        return section;
+
+    }
+
     /**
      * @param definedTermClass
      * @param formElement
@@ -1836,6 +1849,18 @@ public class CdmFormFactory extends FormToolkit {
         return section;
     }
 
+    public OriginalSourceAdvancedSection createOriginalSourceAdvancedSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+        OriginalSourceAdvancedSection section = new OriginalSourceAdvancedSection(this, conversation, parentElement, selectionProvider, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
+
+    public SingleSourceSection createSingleSourceSection(ConversationHolder conversation, ICdmFormElement parentElement, CdmBase cdmEntity, ISelectionProvider selectionProvider, int style){
+        SingleSourceSection section = new SingleSourceSection(this, conversation, parentElement, cdmEntity, selectionProvider, style);
+        addAndAdaptSection(parentElement, section);
+        return section;
+    }
+
     public TaxonBaseDetailSection createTaxonBaseDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
         TaxonBaseDetailSection section = new TaxonBaseDetailSection(this, conversation, parentElement, selectionProvider, style);
         addAndAdaptSection(parentElement, section);
@@ -2180,6 +2205,11 @@ public class CdmFormFactory extends FormToolkit {
         addAndAdaptElement(parentElement, element);
         return element;
     }
+    public OriginalSourceElement createOriginalSourceElement(ICdmFormElement parentElement, CdmBase cdmEntity){
+        OriginalSourceElement element = new OriginalSourceElement(this, parentElement, cdmEntity);
+        addAndAdaptElement(parentElement, element);
+        return element;
+    }
 
     public TaxonRelationshipDetailElement createTaxonRelationshipDetailElement(ICdmFormElement parentElement){
         TaxonRelationshipDetailElement element = new TaxonRelationshipDetailElement(this, parentElement);
index f41846dd8c3688f008af42d9cdd7baea2b1a116d..4e004bf0ff54cf87074f790c7d3dede4b90a0519 100644 (file)
@@ -18,6 +18,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -35,6 +36,7 @@ import org.eclipse.ui.forms.widgets.TableWrapData;
 import eu.etaxonomy.cdm.common.UriUtils;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.view.e4.AbstractCdmDataViewerE4;
 import eu.etaxonomy.taxeditor.view.e4.details.DetailsPartE4;
 import eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4;
@@ -78,25 +80,29 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
         @Override
         public void run() {
             try{
-                EPartService partService = getFormFactory().getContext().get(EPartService.class);
-                DetailsPartE4 detailsView = AbstractUtility.getDetailsView(partService);
-                if(detailsView!=null){
-                    AbstractCdmDataViewerE4 viewer = (AbstractCdmDataViewerE4) detailsView.getViewer();
-                    if(viewer!=null){
-                        viewer.reflow();
+                if (getFormFactory() != null && getFormFactory().getContext() != null){
+                    EPartService partService = getFormFactory().getContext().get(EPartService.class);
+                    IEclipseContext context =  getFormFactory().getContext().getActiveChild();
+                    DetailsPartE4 detailsView = AbstractUtility.getDetailsView(partService);
+                    if(detailsView!=null){
+                        AbstractCdmDataViewerE4 viewer = (AbstractCdmDataViewerE4) detailsView.getViewer();
+                        if(viewer!=null){
+                            viewer.reflow();
+                        }
                     }
-                }
 
-                MPart mPartSupplemental = partService.findPart("eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4");
-                if(mPartSupplemental!=null){
-                    SupplementalDataPartE4 supplementalPart = (SupplementalDataPartE4)mPartSupplemental.getObject();
-                    if(supplementalPart!=null){
-                        AbstractCdmDataViewerE4 viewer = (AbstractCdmDataViewerE4) (supplementalPart).getViewer();
-                        if(viewer!=null){
-                            viewer.refresh();
+                    MPart mPartSupplemental = partService.findPart("eu.etaxonomy.taxeditor.view.e4.supplementaldata.SupplementalDataPartE4");
+                    if(mPartSupplemental!=null){
+                        SupplementalDataPartE4 supplementalPart = (SupplementalDataPartE4)mPartSupplemental.getObject();
+                        if(supplementalPart!=null){
+                            AbstractCdmDataViewerE4 viewer = (AbstractCdmDataViewerE4) (supplementalPart).getViewer();
+                            if(viewer!=null){
+                                viewer.refresh();
+                            }
                         }
                     }
                 }
+                StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
             }
             catch(IllegalStateException e){
                 //when migrating to E4 this execption should not be thrown anymore
@@ -151,7 +157,7 @@ public class ImageElement extends AbstractCdmFormElement implements PaintListene
                             PaintEvent event = new PaintEvent(untypedEvent);
                             event.gc = new GC(container);
                             paintControl(event);
-                            getLayoutComposite().layout();
+
                         }
                     }
                 });
index 29a1f3a3270b16479c7b965d056714c87740ecef..1505ea81f5fb9accaca4c603e0eb6dad491211e1 100755 (executable)
@@ -8,14 +8,23 @@
 */
 package eu.etaxonomy.taxeditor.ui.element;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
 
 import eu.etaxonomy.cdm.model.agent.ORCID;
 import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.model.ImageResources;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
+import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
 
 /**
  * @author k.luther
@@ -23,6 +32,8 @@ import eu.etaxonomy.taxeditor.l10n.Messages;
  */
 public class OrcidWithLabelElement extends AbstractUriWithExceptionLabelElement<ORCID> {
 
+    private Button btnOpenBrowser;
+
     /**
      * @param formFactory
      * @param parentElement
@@ -65,8 +76,37 @@ public class OrcidWithLabelElement extends AbstractUriWithExceptionLabelElement<
 
         //label
         initLabel(formFactory, labelString, false, getLayoutComposite());
+        Composite textAndButton = formFactory.createComposite(getLayoutComposite(), style);
+        addControl(textAndButton);
+        textAndButton.setLayout(LayoutConstants.LAYOUT(2, false));
+        textAndButton.setLayoutData(LayoutConstants.FILL_HORIZONTALLY());
+
         //uri text
-        initText(formFactory, null, textHeight, null, false, style, getLayoutComposite());
+        initText(formFactory, null, textHeight, null, false, style, textAndButton);
+      //button
+        btnOpenBrowser = formFactory.createButton(textAndButton, "", SWT.NONE); //$NON-NLS-1$
+        btnOpenBrowser.setImage(ImageResources.getImage(ImageResources.WEB));
+        btnOpenBrowser.setToolTipText(Messages.UriWithLabelElement_OPEN_EXTERNAL_BROWSER);
+        btnOpenBrowser.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                String errorTitle = Messages.UriWithLabelElement_INVALID_URL;
+                String errorText = Messages.UriWithLabelElement_COULD_NOT_OPEN_BROWSER;
+
+                ORCID orcid = parseText();
+                if(orcid!=null){
+                    try {
+                        WorkbenchUtility.openWebpage(orcid.asURI());
+                    } catch (IllegalArgumentException iae) {
+                        MessagingUtils.informationDialog(errorTitle, new Status(IStatus.WARNING, TaxeditorStorePlugin.PLUGIN_ID, errorText, iae));
+                    }
+                }
+                else{
+                    MessagingUtils.informationDialog(errorTitle, new Status(IStatus.WARNING, TaxeditorStorePlugin.PLUGIN_ID, errorText, null));
+                }
+            }
+        });
+        btnOpenBrowser.setLayoutData(LayoutConstants.RIGHT());
         initExceptionLabel(getLayoutComposite(), formFactory, initialObject);
     }
 
@@ -86,6 +126,7 @@ public class OrcidWithLabelElement extends AbstractUriWithExceptionLabelElement<
     @Override
     public ORCID parseText(){
         try {
+            labelException.setText("");
             labelException.setFont(JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT));
             labelException.setForeground(getPersistentBackground());
             return getParsedText();
index ffaeb61267ace388e5431fb9cd0460b1e8bb5c54..e736590ada76459b065932ff13dd33f59b6d0269 100644 (file)
@@ -223,4 +223,12 @@ public class TextWithLabelElement extends AbstractCdmFormElement implements Modi
         text.setTextLimit(limit);
     }
 
+    public void setIndent(int indent){
+        TableWrapData tableWrapData = (TableWrapData)label.getLayoutData();
+        tableWrapData.indent = indent;
+
+        label.setLayoutData(tableWrapData);
+        getLayoutComposite().layout();
+    }
+
 }
index 69d248196aeb92019075d55b284af566eb914f3b..e27761486126e6829ad3bf38e78706d982602f50 100644 (file)
@@ -278,8 +278,11 @@ public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement
                 except.add(formElement);
             }
         }
-
-        enabled = getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), requiredCrud);
+        if (getEntity() != null){
+            enabled = CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), requiredCrud);
+        }else{
+            enabled = true;
+        }
         setEnabled(enabled, except);
     }
 
index 452c54794a929c0691a50af28f0a001a3ce2351d..e92cf4fc113e1d50c76d62b21ec3b19ff5647f27 100644 (file)
@@ -143,15 +143,20 @@ public abstract class AbstractCdmDetailSection<ENTITY>
         }
                if (detailElement != null) {
                        detailElement.setEntity(entity);
+                       formFactory.adapt(detailElement);
                Collection<Object> except = new ArrayList<>();
                for(ICdmFormElement formElement:detailElement.getElements()){
                    if(formElement instanceof IEnableableFormElement && !((IEnableableFormElement) formElement).isEnabled()){
                        except.add(formElement);
                    }
                }
+               if (entity != null){
+                   boolean hasPermission = CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(entity), requiredCrud);
+                   detailElement.setEnabled(isEnabled() && hasPermission, except);
+               }else{
+                   detailElement.setEnabled(isEnabled() && true, except);
+               }
 
-               boolean hasPermission = CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(entity), requiredCrud);
-                       detailElement.setEnabled(isEnabled() && hasPermission, except);
                }
                super.setEntity(entity);
                setSectionTitle();
index d44510b36757e18df75f461ff7b25a536361383b..aa492df7b91d93ec5dba26ebd3ac31b4aca872f4 100644 (file)
@@ -16,6 +16,8 @@ import java.util.Map;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.persistence.dto.MergeResult;
+import eu.etaxonomy.taxeditor.event.EventUtility;
+import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
 import eu.etaxonomy.taxeditor.newWizard.IWizardPageListener;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -33,6 +35,12 @@ public class EditTaxonNodeWizard extends AbstractEditWizard<TaxonNode> implement
     private ICdmEntitySession cdmEntitySession;
 
 
+//    @Override
+//    public void init(IWorkbench workbench, IStructuredSelection selection) {
+//        formFactory = new CdmFormFactory(getContext().get(Shell.class).getDisplay());
+//        conversation = CdmStore.createConversation();
+//    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.ui.section.classification.AbstractEditWizard#getEntityName()
      */
@@ -48,8 +56,11 @@ public class EditTaxonNodeWizard extends AbstractEditWizard<TaxonNode> implement
     protected void saveEntity() {
         getConversationHolder().bind();
         TaxonNode node = getEntity();
-
+        if (node.getSource().checkEmpty()){
+            node.setSource(null);
+        }
         MergeResult result = CdmStore.getService(ITaxonNodeService.class).merge(node, true);
+        EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAME_EDITOR, node.getTaxon().getUuid());
 
     }
     @Override
@@ -112,4 +123,5 @@ public class EditTaxonNodeWizard extends AbstractEditWizard<TaxonNode> implement
 
 
 
+
 }
index c13d8d89cdfd2513851ed245c2c4cd4a548bc42b..0ee7d1562c35b65c6df81d169bb0e1045bb381f3 100644 (file)
@@ -6,7 +6,6 @@
  * 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.classification;
 
 import java.util.ArrayList;
@@ -15,14 +14,18 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.LanguageString;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PublishEnum;
@@ -46,6 +49,7 @@ import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
 import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
 
@@ -61,6 +65,8 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
     private static final String REUSE_EXISTING_NAME = Messages.TaxonNodeWizardPage_REUSE_EXISTING_NAME;
     private static final String SECUNDUM_REFERENCE = Messages.TaxonNodeWizardPage_SECUNDUM_REFERENCE;
 
+    private static final Font FONT_BOLD = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);
+
     private boolean createNew = false;
        private Classification classification;
        private TaxonNode parentNode;
@@ -73,7 +79,9 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
        private EntitySelectionElement<Taxon> selection_reuseExistingTaxon;
        private EntitySelectionElement<TaxonName> selection_reuseExistingName;
     private EntitySelectionElement<Reference> selection_SecRef;
-       private EntitySelectionElement<Reference> selection_Ref;
+
+    private OriginalSourceElement singleSourceSection;
+
     private TextWithLabelElement textTaxonSec;
        private TextWithLabelElement microReference;
     private TextWithLabelElement textNewTaxonName;
@@ -97,7 +105,7 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
        }
 
     public Reference getRef() {
-        return selection_Ref.getEntity();
+        return singleSourceSection.getEntity().getCitation();
     }
     public TaxonName getExistingName() {
         return selection_reuseExistingName.getEntity();
@@ -111,89 +119,99 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                TaxonNode entity, int style) {
 //         taxon = entity.getTaxon();
 
+           Label taxonTitle = new Label(getLayoutComposite(), SWT.NULL);
+           taxonTitle.setText(Messages.TaxonNodeWizardPage_TAXON_INFORMATION);
+           taxonTitle.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+           taxonTitle.setFont(FONT_BOLD);
+
+
+
            if (isCreateNew()){
-//             setParentTreeNode(entity);
-               selection_parentTaxonNode = formFactory
-                               .createTaxonNodeSelectionElement(getConversationHolder(), formElement, Messages.TaxonNodeWizardPage_PARENT, parentNode,
-                                               EntitySelectionElement.DELETABLE, style, 100);
-
-               selection_Ref = formFactory
-                    .createSelectionElement(Reference.class,
-                            formElement, Messages.TaxonNodeWizardPage_PLACEMENT_SOURCE, null,
-                            EntitySelectionElement.DELETABLE, style, 100);
+               textNewTaxonName = formFactory.createTextWithLabelElement(formElement,
+                    Messages.TaxonNodeWizardPage_NEW_TAXON, "", style);
+            textNewTaxonName.setFocus();
+
+               selection_reuseExistingTaxon = formFactory
+                    .createSelectionElement(Taxon.class,//getConversationHolder(),
+                            formElement,
+                            REUSE_EXISTING_TAXON, null,
+                            EntitySelectionElement.DELETABLE, style);
 
-            microReference = formFactory.createTextWithLabelElement(formElement,
-                    Messages.TaxonNodeWizardPage_PLACEMENT_SOURCE_DETAIL, "", style);
-            microReference.setText(parentNode.getMicroReference());
-
-               selection_reuseExistingTaxon = formFactory
-                               .createSelectionElement(Taxon.class,//getConversationHolder(),
-                                       formElement,
-                                               REUSE_EXISTING_TAXON, null,
-                                               EntitySelectionElement.DELETABLE, style);
-
-               selection_reuseExistingName = formFactory
-                               .createSelectionElement(TaxonName.class,//getConversationHolder(),
-                                       formElement,
-                                               REUSE_EXISTING_NAME, taxon != null? taxon.getName(): null,
-                                               EntitySelectionElement.DELETABLE, style);
-               selection_SecRef = formFactory
+            selection_reuseExistingName = formFactory
+                    .createSelectionElement(TaxonName.class,//getConversationHolder(),
+                            formElement,
+                            REUSE_EXISTING_NAME, taxon != null? taxon.getName(): null,
+                            EntitySelectionElement.DELETABLE, style);
+            selection_SecRef = formFactory
                     .createSelectionElement(Reference.class,//getConversationHolder(),
                             formElement, SECUNDUM_REFERENCE, taxon != null? taxon.getSec(): null,
                             EntitySelectionElement.DELETABLE, style, 100);
 
-               if (isCreateNew()){
-                   textNewTaxonName = formFactory.createTextWithLabelElement(formElement,
-                           Messages.TaxonNodeWizardPage_NEW_TAXON, "", style);
-                   textNewTaxonName.setFocus();
-               } else{
-                   textNewTaxonName = formFactory.createTextWithLabelElement(formElement,
-                           Messages.TaxonNodeWizardPage_TAXON, "", style);
-               }
-           }else{
-               taxon = getEntity().getTaxon();
-               if (entity.getParent().getTaxon() == null){
-                   TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
-                           formElement,CLASSIFICATION_STR, entity.getClassification().getTitleCache(), style);
-                textParent.setEnabled(false);
-               }else{
-                   TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
-                           formElement, Messages.TaxonNodeWizardPage_PARENT, entity.getParent().getTaxon().getTitleCache(), style);
-                   textParent.setEnabled(false);
-               }
+            microReference = formFactory.createTextWithLabelElement(formElement, "Secundum Details", "", style);
 
-               selection_Ref = formFactory
-                    .createSelectionElement(Reference.class,
-                            formElement, Messages.TaxonNodeWizardPage_PLACEMENT_SOURCE, null,
-                            EntitySelectionElement.DELETABLE, style);
 
+            checkbox_publish = formFactory.createCheckbox(formElement,
+                    Messages.TaxonNodeWizardPage_TAXON_IS_PUBLISH, true, style);
+
+            checkbox_publish.setEnabled(isCreateNew());
+            Label spacer = new Label(getLayoutComposite(), SWT.NULL);
+            spacer.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 2));
+            Label nodeTitle = new Label(getLayoutComposite(), SWT.NULL);
+            nodeTitle.setText("Taxon Node");
+            nodeTitle.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            nodeTitle.setFont(FONT_BOLD);
+//            LabelElement nodeTitle = formFactory.createLabel(formElement, Messages.TaxonNodeWizardPage_TAXON_INFORMATION);
+//            nodeTitle.setLayout(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+//            nodeTitle.setBackground(getPersistentBackground());
+//            nodeTitle.setBold();
+
+            selection_parentTaxonNode = formFactory
+                    .createTaxonNodeSelectionElement(getConversationHolder(), formElement, Messages.TaxonNodeWizardPage_PARENT, parentNode,
+                            EntitySelectionElement.DELETABLE, style, 100);
+
+
+
+           }else{
+               taxon = getEntity().getTaxon();
                selection_reuseExistingTaxon = formFactory
                   .createSelectionElement(Taxon.class,//getConversationHolder(),
                           formElement,
                           Messages.TaxonNodeWizardPage_TAXON, taxon,
                           EntitySelectionElement.DELETABLE, style);
 
+
                textTaxonSec = formFactory.createTextWithLabelElement(formElement,SECUNDUM_REFERENCE, "", style);
+               microReference = formFactory.createTextWithLabelElement(formElement, "Secundum Details", "", style);
             if (entity.getTaxon().getSec() != null){
                 textTaxonSec.setText(taxon.getSec().getTitleCache());
             }
             textTaxonSec.setEnabled(false);
-           }
+            microReference.setEnabled(false);
+            Label spacer = new Label(getLayoutComposite(), SWT.NULL);
+            spacer.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 2));
 
-        if (!isCreateNew()){
-            if (entity.getReference() != null){
-                selection_Ref.setEntity(entity.getReference());
-            }
-        }
+            Label nodeTitle = new Label(getLayoutComposite(), SWT.NULL);
+            nodeTitle.setText("Taxon Node");
+            nodeTitle.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            nodeTitle.setFont(FONT_BOLD);
 
-        Taxon tax = null;
-        if (entity.getTaxon() != null){
-            tax = entity.getTaxon();
-        }
-        checkbox_publish = formFactory.createCheckbox(formElement,
-                "Taxon is published", tax != null? tax.isPublish(): true, style);
+//            LabelElement nodeTitle = formFactory.createLabel(formElement, "Taxon Node");
+//            nodeTitle.setLayout(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+//            nodeTitle.setBackground(getPersistentBackground());
+//            nodeTitle.setBold();
+
+
+            if (entity.getParent().getTaxon() == null){
+                TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
+                        formElement,CLASSIFICATION_STR, entity.getClassification().getTitleCache(), style);
+                textParent.setEnabled(false);
+            }else{
+                TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
+                        formElement, Messages.TaxonNodeWizardPage_PARENT, entity.getParent().getTaxon().getTitleCache(), style);
+                textParent.setEnabled(false);
+            }
+           }
 
-        checkbox_publish.setEnabled(isCreateNew());
 
         combo_status = formFactory.createEnumComboElement(TaxonNodeStatus.class, formElement, style, true);
         if (!isCreateNew()){
@@ -229,11 +247,23 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
            }
 
-               if (!isCreateNew()){
-                   selectionNodeAgentRelation = formFactory.createTaxonNodeAgentRelationCollectionSection(formElement, getConversationHolder(), StoreUtil.getSectionStyle(TaxonNodeAgentRelationCollectionSection.class, entity.getClass().getCanonicalName()));
-                   selectionNodeAgentRelation.setEntity(entity);
-                   selectionNodeAgentRelation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+
+
+               singleSourceSection = formFactory.createOriginalSourceElement(formElement, entity);
+               if (isCreateNew() || entity.getSource() == null){
+                   DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
+                   entity.setSource(source);
+                   singleSourceSection.setEntity(source);
+               }else{
+                   singleSourceSection.setEntity(entity.getSource());
+
                }
+
+               selectionNodeAgentRelation = formFactory.createTaxonNodeAgentRelationCollectionSection(formElement, getConversationHolder(), StoreUtil.getSectionStyle(TaxonNodeAgentRelationCollectionSection.class, entity.getClass().getCanonicalName()));
+               selectionNodeAgentRelation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+        selectionNodeAgentRelation.setEntity(entity);
+        setBackground(getPersistentBackground());
+
        }
 
        private void preFillTaxonName() {
@@ -272,14 +302,16 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                    if (selection_reuseExistingTaxon.getEntity() != null){
                        setTaxon(selection_reuseExistingTaxon.getEntity());
                        if (getTaxon().getSec()!= null){
+                           microReference.setText(getTaxon().getSecMicroReference());
                            if (isCreateNew()){
                               selection_SecRef.setEntity(getTaxon().getSec());
                            }else{
                               textTaxonSec.setText((getTaxon().getSec().getTitleCache()));
                            }
                        }else{
+                           microReference.setText("");
                            if (isCreateNew()){
-                              selection_SecRef.setEntity(null);
+                                   selection_SecRef.setEntity(null);
                            }else{
                               textTaxonSec.setText("");
                            }
@@ -304,18 +336,16 @@ public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode>
                        complete = !textNewTaxonName.getText().isEmpty();
                }
 
-        if (eventSource == selection_Ref) {
-            if(!isCreateNew()){
-                getEntity().setReference(selection_Ref.getEntity());
-            }
+        if (eventSource == singleSourceSection) {
+//            getEntity().setSource((DescriptionElementSource)sourceSection.getEntity());
+
         }else if (eventSource == selection_SecRef) {
             if (taxon != null){
                 taxon.setSec(selection_SecRef.getEntity());
             }
         }else if (eventSource == microReference) {
-            if(!isCreateNew()){
-                getEntity().setMicroReference(microReference.getText());
-            }
+            getEntity().getTaxon().setSecMicroReference(microReference.getText());
+
         }  else if (eventSource == checkbox_publish) {
             if (taxon != null){
                 taxon.setPublish(checkbox_publish.getSelection());
index aa8702c634300d2f9d39aabc77a56a027057ec28..0667ebd12e7a3053f92bf918ddc4167584787092 100644 (file)
@@ -75,11 +75,13 @@ public class TaxonNodeWizardPage extends AbstractCdmEntityWizardPage<TaxonNode>
        @Override
        public TaxonNodeDetailElement createElement(ICdmFormElement rootElement) {
            TaxonNodeDetailElement detailElement = formFactory.createTaxonNodeDetailElement(rootElement, this.isCreateNew);
-               if (isCreateNew){
+
+           if (isCreateNew){
                    detailElement.setParentTreeNode(((NewTaxonNodeWizard)getWizard()).getParentEntity());
                }else{
                    detailElement.setEntity(entity);
                }
+//         detailElement.setPersistentBackground(Abstrac);;
 
                formFactory.addPropertyChangeListener(this);
 //             if (isCreateNew){
index 07facf3c2850f3866ca4bf26c40abc6de5ed1f1d..60c24b9999a059a4868c5ce141de9aba21d8d348 100755 (executable)
@@ -29,7 +29,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
  */
 public class ExternalLinksElement extends AbstractEntityCollectionElement<ExternalLink> implements ISelectableElement{
 
-    private final SelectionArbitrator selectionArbitrator;
+    private SelectionArbitrator selectionArbitrator;
 
     private UriWithLabelElement externalLinkUriText;
     private EnumComboElement<ExternalLinkType> combo_linkType;
@@ -47,7 +47,10 @@ public class ExternalLinksElement extends AbstractEntityCollectionElement<Extern
     public ExternalLinksElement(CdmFormFactory formFactory, AbstractFormSection section, ExternalLink entity,
             SelectionListener removeListener, int style) {
         super(formFactory, section, entity, removeListener, null, style);
-        selectionArbitrator = formFactory.createSelectionArbitrator(this);
+        if(formFactory.getSelectionProvider() != null){
+            selectionArbitrator = formFactory.createSelectionArbitrator(this);
+        }
+
     }
 
     @Override
index 735c0e4e426f4e967ca0de63f563980c40df34b0..8ddca0fb2aac8a5ad8651f13b2513a59a671daae 100644 (file)
@@ -18,7 +18,7 @@ import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.events.SelectionListener;
 
-import eu.etaxonomy.cdm.common.media.ImageInfo;
+import eu.etaxonomy.cdm.common.media.CdmImageInfo;
 import eu.etaxonomy.cdm.model.media.ImageFile;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
@@ -49,7 +49,7 @@ public class ImageFileElement extends MediaRepresentationPartElement<ImageFile>
         @Override
         protected IStatus run(IProgressMonitor monitor) {
             try{
-                ImageInfo imageInfo = ImageInfo.NewInstanceWithMetaData(uri, 10000);
+                CdmImageInfo imageInfo = CdmImageInfo.NewInstanceWithMetaData(uri, 10000);
                 ImageFileElement.this.getLayoutComposite().getDisplay().asyncExec(()->{
                     element_keyValue.setInput(imageInfo.getMetaData());
                     try {
index 4ed51c41d055084fb9764fe03f9b2f86d40007e3..aec3d1ced205c4e48ff50b7ce676d3b3b3b066d6 100644 (file)
@@ -13,17 +13,20 @@ import java.net.URI;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.commons.imaging.ImageReadException;
 import org.apache.http.HttpException;
-import org.apache.sanselan.ImageReadException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.common.UriUtils;
-import eu.etaxonomy.cdm.common.media.ImageInfo;
+import eu.etaxonomy.cdm.common.media.CdmImageInfo;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.media.ImageFile;
 import eu.etaxonomy.cdm.model.media.Media;
@@ -45,12 +48,13 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 /**
  * @author pplitzner
  * @date 25.08.2014
- *
  */
 public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
 
     private static final String LOAD_IMAGE = Messages.MediaDetailElement_LOAD_IMAGE;
 
+    private boolean isShowImage = true;
+
     /**
      * @author pplitzner
      * @since Jul 11, 2019
@@ -65,11 +69,12 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
 
         @Override
         protected IStatus run(IProgressMonitor monitor) {
-            ImageInfo imageInfo;
             try {
                 //first check if uri refers to an actual (non-image) file
+
                 UriUtils.getInputStream(uri);// will fail with a FileNotFoundException if not
-                imageInfo = ImageInfo.NewInstance(uri, 10000);//will fail when it is no image file
+
+                CdmImageInfo imageInfo = CdmImageInfo.NewInstance(uri, 10000);//will fail when it is no image file
                 MediaDetailElement.this.getLayoutComposite().getDisplay().asyncExec(()->{
                     singleMediaRepresentationPart.setSize((int) imageInfo.getLength());
                     if(singleMediaRepresentationPart.isInstanceOf(ImageFile.class)){
@@ -84,14 +89,18 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
                     disposeImage();
                     if (!parentFormElement.getLayoutComposite().isDisposed()) {
                         element_image = formFactory.createImageElement(parentFormElement, uri, style);
-                        StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
+//                        StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
                         try {
                             element_image.initImageUri(uri);
                         } catch (IOException | HttpException e) {
                             exception(e);
                         }
                         element_image.loadImage();
+
                         disposeErrorLabel();
+                        StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
+
+
                     }
                 });
             } catch (Exception e){
@@ -138,6 +147,14 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
         showAdvancedView();
     }
 
+    public boolean isShowImage() {
+        return isShowImage;
+    }
+
+    public void setShowImage(boolean isShowImage) {
+        this.isShowImage = isShowImage;
+    }
+
     @Override
     public void handleEvent(Object eventSource){
         if(eventSource==textUri){
@@ -148,7 +165,10 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
                 uriBuffer=textUri.getText();
             }
             else{
-                new LoadImageJob(uri, LOAD_IMAGE).schedule();
+                if (isShowImage){
+                    LoadImageJob job = new LoadImageJob(uri, LOAD_IMAGE);
+                    job.schedule();
+                }
             }
         }
     }
@@ -234,8 +254,21 @@ public class MediaDetailElement extends AbstractCdmDetailElement<Media>{
                 textUri.parseText();
             }
             textUri.getLayoutComposite().layout();
-
-            new LoadImageJob(singleMediaRepresentationPart.getUri(), LOAD_IMAGE).schedule();
+            if (isShowImage){
+                LoadImageJob job = new LoadImageJob(singleMediaRepresentationPart.getUri(), LOAD_IMAGE);
+                job.schedule();
+            } else{
+                Button button_showImage = formFactory.createButton(getLayoutComposite(), Messages.MediaDetailElement_SHOW_IMAGE, SWT.PUSH);
+                button_showImage.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+                button_showImage.addSelectionListener(new SelectionAdapter() {
+                    @Override
+                    public void widgetSelected(SelectionEvent e) {
+                        LoadImageJob job = new LoadImageJob(singleMediaRepresentationPart.getUri(), Messages.MediaDetailElement_LOAD_IMAGE);
+                        job.schedule();
+                        button_showImage.setText(Messages.MediaDetailElement_RELOAD_IMAGE);
+                    }
+                });
+            }
         }
     }
 
index c8d5462cb3064c4c98ed3a4b23d9ce61e4af5e68..00c89a36a82d81654fcc9d2d8b76d8c2da1ad63c 100644 (file)
@@ -82,6 +82,16 @@ public class MediaMetaElement extends AbstractEntityCollectionElement<Media> imp
 
 
         mediaDetailElement = formFactory.createMediaDetailElement(element);
+
+        ICdmFormElement grandGrandParent = getParentElement().getParentElement().getParentElement();
+        Class clazz = null;
+        if (grandGrandParent != null){
+            clazz = grandGrandParent.getClass();
+        }
+        //TODO: find a nicer solution
+        if (grandGrandParent != null && clazz != null && clazz.getName().equals("eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage$WizardPageRootElement")){
+            mediaDetailElement.setShowImage(false);
+        }
         addElement(mediaDetailElement);
     }
 
index 311eea95f3b09f3c5dff3523a3fc62aef9ac0095..1256194507bd43a17e5a1160e2172120c0a60826 100644 (file)
@@ -21,7 +21,7 @@ import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.events.SelectionListener;
 
 import eu.etaxonomy.cdm.common.UriUtils;
-import eu.etaxonomy.cdm.common.media.ImageInfo;
+import eu.etaxonomy.cdm.common.media.CdmImageInfo;
 import eu.etaxonomy.cdm.model.media.ImageFile;
 import eu.etaxonomy.cdm.model.media.MediaRepresentation;
 import eu.etaxonomy.cdm.model.media.MediaRepresentationPart;
@@ -38,7 +38,6 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
  *
  * @author n.hoffmann
  * @created Mar 24, 2010
- * @version 1.0
  */
 public class MediaRepresentationElement extends AbstractEntityCollectionElement<MediaRepresentation> {
 
@@ -53,7 +52,6 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
                super(cdmFormFactory, section, element, removeListener, null, style);
        }
 
-       /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement element, int style) {
                text_mimeType = formFactory.createTextWithLabelElement(element, "Mime Type", null, style);
@@ -62,7 +60,6 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
                section_mediaRepresentationPart.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
        }
 
-       /** {@inheritDoc} */
        @Override
        public void setEntity(MediaRepresentation element) {
                this.entity = element;
@@ -71,7 +68,6 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
                text_suffix.setText(element.getSuffix());
        }
 
-       /** {@inheritDoc} */
        @Override
        public void handleEvent(Object eventSource) {
                if(eventSource == text_mimeType){
@@ -101,7 +97,7 @@ public class MediaRepresentationElement extends AbstractEntityCollectionElement<
                         return Status.CANCEL_STATUS;
                     }
                     try {
-                        ImageInfo imageInfo = ImageInfo.NewInstance(uri, 10000);
+                       CdmImageInfo imageInfo = CdmImageInfo.NewInstance(uri, 10000);
                         String mimeType = imageInfo.getMimeType();
                         getEntity().setMimeType(mimeType);
                         getEntity().setSuffix(imageInfo.getSuffix());
index 959f8e0339e4829a066e46a9792e7aca718204cc..43119397079f591dfb30507fd8b5a175e8bbabfc 100644 (file)
@@ -15,6 +15,8 @@ import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
 import eu.etaxonomy.cdm.model.term.DefinedTerm;
 import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
@@ -38,6 +40,8 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 public class DerivedUnitBaseDetailElement extends
                AbstractSpecimenOrObservationDetailElement {
 
+    boolean showOnlyDerivedUnitData = true;
+
        private TextWithLabelElement text_derivedUnitDefinitions;
 
        private TextWithLabelElement text_barcode;
@@ -56,6 +60,8 @@ public class DerivedUnitBaseDetailElement extends
 
     private OriginalLabelDataElement textOriginalLabel;
 
+    private DerivedUnitMediaSection mediaDetailElement;
+
 
 
        /**
@@ -75,7 +81,15 @@ public class DerivedUnitBaseDetailElement extends
                super(formFactory, formElement);
        }
 
-       /** {@inheritDoc} */
+       public boolean isShowOnlyDerivedUnitData() {
+        return showOnlyDerivedUnitData;
+    }
+
+    public void setShowOnlyDerivedUnitData(boolean showOnlyDerivedUnitData) {
+        this.showOnlyDerivedUnitData = showOnlyDerivedUnitData;
+    }
+
+    /** {@inheritDoc} */
        @Override
     protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
                // Disable for now
@@ -116,12 +130,21 @@ public class DerivedUnitBaseDetailElement extends
                textOriginalLabel = formFactory.createOriginalLabelDataElement(formElement);
                textOriginalLabel.setEntity(getEntity());
 
+
+
                super.createControls(formElement, entity, style);
 
         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);
 
+               if(AbstractUtility.getActivePart() instanceof IDerivedUnitFacadePart || !showOnlyDerivedUnitData){
+            mediaDetailElement = formFactory.createDerivedUnitMediaSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(DerivedUnitMediaSection.class, entity.getClass().getCanonicalName()));
+            mediaDetailElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+            mediaDetailElement.setEntity(getEntity());
+               }
+
+
 
        }
 
index b4983df63c7124e482eeb116fa832203e3e5c009..b215a2ec8d973c6e6104e89925aea80d261766a2 100644 (file)
@@ -38,7 +38,9 @@ public class DerivedUnitBaseWizardPage extends AbstractCdmEntityWizardPage<Deriv
        @Override
        public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
                DerivedUnitBaseDetailElement detailElement = formFactory.createDerivedUnitBaseDetailElement(rootElement);
+               detailElement.setShowOnlyDerivedUnitData(false);
                detailElement.setEntity(getEntity());
+
                return detailElement;
        }
 
index 79caa6ae8bfde876f4a0a95a122047af7d3ff924..7f658046160f7d8a9fef3d1b9e046fe23901627e 100644 (file)
@@ -38,6 +38,7 @@ public class DerivedUnitGeneralWizardPage extends AbstractCdmEntityWizardPage<De
        public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
                DerivedUnitGeneralDetailElement detailElement = formFactory.createDerivedUnitGeneralDetailElement(rootElement);
                detailElement.setShowSpecimenType(false);
+               detailElement.setShowOnlyDerivedUnitData(false);
                detailElement.setEntity(getEntity());
                checkComplete();
                return detailElement;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitMediaSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitMediaSection.java
new file mode 100755 (executable)
index 0000000..e4cef05
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+* Copyright (C) 2020 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.media.Media;
+import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
+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;
+
+/**
+ * @author k.luther
+ * @since Aug 4, 2020
+ */
+public class DerivedUnitMediaSection extends AbstractEntityCollectionSection<DerivedUnitFacade, Media> {
+
+    public DerivedUnitMediaSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+        super(cdmFormFactory, conversation, parentElement, "Media", style);
+    }
+
+    @Override
+    public Media createNewElement() {
+        return Media.NewInstance();
+    }
+
+    @Override
+    public Collection<Media> getCollection(DerivedUnitFacade entity) {
+        return entity.getDerivedUnitMedia();
+    }
+
+    @Override
+    public Comparator<Media> getComparator() {
+        return new DefaultCdmBaseComparator<>();
+    }
+
+    @Override
+    public String getEmptyString() {
+        return "No media yet.";
+    }
+
+    @Override
+    protected String getTooltipString() {
+        return "Create new media";
+    }
+
+    @Override
+    public void addElement(Media element) {
+        getEntity().addDerivedUnitMedia(element);
+    }
+
+    @Override
+    public void removeElement(Media element) {
+        getEntity().removeDerivedUnitMedia(element);
+    }
+
+    @Override
+    public Media addExisting() {
+        return MediaSelectionDialog.select(getShell(), null);
+    }
+
+    @Override
+    public boolean allowAddExisting() {
+        return true;
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/AdvancedSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/AdvancedSourceElement.java
new file mode 100755 (executable)
index 0000000..eab6ca9
--- /dev/null
@@ -0,0 +1,106 @@
+/**
+* Copyright (C) 2020 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.reference;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.widgets.Display;
+
+import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.reference.OriginalSourceBase;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.common.ExternalLinksSection;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+/**
+ * @author k.luther
+ * @since Jul 2, 2020
+ */
+public class AdvancedSourceElement extends AbstractCdmDetailElement<ReferencedEntityBase  > {
+
+    protected TextWithLabelElement text_idInSource;
+    protected TextWithLabelElement text_idNamespace;
+    protected TextWithLabelElement text_originaleNameString;
+    protected TextWithLabelElement text_cdmsource;
+    protected EntitySelectionElement<TaxonName> select_nameUsedInSource;
+
+    protected ExternalLinksSection externalLinks;
+
+    public AdvancedSourceElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+        super(formFactory, formElement);
+
+    }
+
+
+
+    @Override
+    protected void createControls(ICdmFormElement formElement, ReferencedEntityBase entity, int style) {
+        Display display = Display.getCurrent();
+        Color background = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
+
+
+        if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowIdInSource.getKey())){
+            text_idInSource = formFactory.createTextWithLabelElement(formElement, "ID in Source", entity != null?((OriginalSourceBase)entity).getIdInSource():null, style);
+            text_idInSource.setBackground(background);
+
+        }
+        if (PreferencesUtil.getBooleanValue(PreferencePredicate.ShowNamespaceInSource.getKey())){
+            text_idNamespace = formFactory.createTextWithLabelElement(formElement, "ID Namespace", entity != null?((OriginalSourceBase)entity).getIdNamespace():null, style);
+            text_idNamespace.setBackground(background);
+        }
+        text_originaleNameString = formFactory.createTextWithLabelElement(
+                formElement, "Original Information", entity != null?entity.getOriginalNameString():null, SWT.NULL);
+
+        text_originaleNameString.setBackground(background);
+
+        select_nameUsedInSource = formFactory.createSelectionElement(TaxonName.class, formElement, "Name in Source", entity != null? ((DescriptionElementSource)entity).getNameUsedInSource(): null, EntitySelectionElement.DELETABLE, style);
+        select_nameUsedInSource.setBackground(background);
+
+        externalLinks = formFactory.createExternalLinksSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(ExternalLinksSection.class, DescriptionElementSource.class.getCanonicalName()));
+        externalLinks.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 3));
+        externalLinks.setEntity( ((OriginalSourceBase)entity));
+        externalLinks.setBackground(background);
+        addControl(externalLinks);
+        addElement(externalLinks);
+
+
+    }
+
+    @Override
+    public void setEntity(ReferencedEntityBase entity) {
+        super.setEntity(entity);
+        externalLinks.setEntity((OriginalSourceBase)entity);
+    }
+
+    @Override
+    public void handleEvent(Object eventSource) {
+        if (eventSource.equals(text_idInSource)){
+            ((OriginalSourceBase)getEntity()).setIdInSource(text_idInSource.getText());
+         }else if (eventSource.equals(text_idNamespace)){
+             ((OriginalSourceBase)getEntity()).setIdNamespace(text_idNamespace.getText());
+         }else if (eventSource.equals(text_originaleNameString)){
+             ((OriginalSourceBase)getEntity()).setOriginalNameString(text_originaleNameString.getText());
+         }else if (eventSource.equals(select_nameUsedInSource)){
+             ((DescriptionElementSource)getEntity()).setNameUsedInSource(select_nameUsedInSource.getEntity());
+         }
+
+    }
+
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceAdvancedSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceAdvancedSection.java
new file mode 100755 (executable)
index 0000000..5de4aa5
--- /dev/null
@@ -0,0 +1,68 @@
+/**
+* Copyright (C) 2020 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.reference;
+
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+
+/**
+ * @author k.luther
+ * @since Jul 1, 2020
+ */
+public class OriginalSourceAdvancedSection extends AbstractCdmDetailSection<ReferencedEntityBase > {
+
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param parentElement
+     * @param selectionProvider
+     * @param style
+     */
+    public OriginalSourceAdvancedSection(CdmFormFactory formFactory, ConversationHolder conversation,
+            ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) {
+        super(formFactory, conversation, parentElement, selectionProvider, style);
+
+
+    }
+
+    @Override
+    protected AbstractCdmDetailElement<ReferencedEntityBase > createCdmDetailElement(
+            AbstractCdmDetailSection<ReferencedEntityBase > parentElement, int style) {
+
+        return new AdvancedSourceElement(getFormFactory(), parentElement);
+    }
+
+    @Override
+    public String getHeading() {
+
+        return Messages.OriginalSourceAdvancedSection_advanced;
+    }
+    @Override
+    protected void createControlsByType(AbstractCdmDetailSection<ReferencedEntityBase> formElement, Class<ReferencedEntityBase> entityClass, int style) {
+        super.createControlsByType(formElement, entityClass, style);
+        int i = this.getTextClientHeightDifference();
+
+        TableWrapLayout layout = new TableWrapLayout();
+        layout.topMargin = 0;
+        layout.bottomMargin = 0;
+        layout.numColumns = DEFAULT_NUM_COLUMNS;
+        getLayoutComposite().setLayout(layout);
+//        setLayout(layout);
+
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/OriginalSourceElement.java
new file mode 100755 (executable)
index 0000000..10b61be
--- /dev/null
@@ -0,0 +1,103 @@
+/**
+* Copyright (C) 2020 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.reference;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
+import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
+import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.store.StoreUtil;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
+
+/**
+ * @author k.luther
+ * @since Jul 1, 2020
+ */
+public class OriginalSourceElement extends AbstractCdmDetailElement<ReferencedEntityBase> implements IPropertyChangeListener{
+
+    private EntitySelectionElement<Reference> selection_Ref;
+    private TextWithLabelElement microReference;
+    private OriginalSourceAdvancedSection advancedSection;
+
+    private CdmBase cdmEntity;
+
+
+    public OriginalSourceElement(CdmFormFactory formFactory, ICdmFormElement formElement, CdmBase cdmEntity) {
+        super(formFactory, formElement);
+        this.cdmEntity = cdmEntity;
+//        selectionArbitrator = formFactory.createSelectionArbitrator(this);
+    }
+
+    @Override
+    protected void createControls(ICdmFormElement formElement, ReferencedEntityBase entity,  int style) {
+
+        selection_Ref = formFactory.createSelectionElement(Reference.class,
+                      formElement, Messages.TaxonNodeWizardPage_PLACEMENT_SOURCE, null,
+                      EntitySelectionElement.DELETABLE, style, 100);
+
+        if (entity != null){
+            selection_Ref.setEntity(entity.getCitation());
+        }
+        selection_Ref.setBackground(this.getPersistentBackground());
+        microReference = formFactory.createTextWithLabelElement(formElement, "Details", entity != null? entity.getCitationMicroReference(): "", style);
+        microReference.setIndent(10);
+        for (ICdmFormElement element: selection_Ref.getElements()){
+            element.setBackground(getPersistentBackground());
+        }
+
+        advancedSection = formFactory.createOriginalSourceAdvancedSection(getConversationHolder(), formElement, null, StoreUtil.getSectionStyle(OriginalSourceAdvancedSection.class, INomenclaturalReference.class.getCanonicalName()));
+        TableWrapData layoutData = LayoutConstants.FILL_HORIZONTALLY(2, 1);
+        layoutData.indent = 10;
+
+        advancedSection.setLayoutData(layoutData);
+
+        addControl(advancedSection);
+        addElement(advancedSection);
+        advancedSection.setBackground(this.getPersistentBackground());
+        advancedSection.setEntity(entity);
+        advancedSection.setExpanded(false);
+        if (StringUtils.isNotBlank(((DescriptionElementSource)entity).getIdInSource()) || StringUtils.isNotBlank(((DescriptionElementSource)entity).getIdNamespace()) || StringUtils.isNotBlank(((DescriptionElementSource)entity).getOriginalNameString()) || (((DescriptionElementSource)entity).getLinks() != null && !((DescriptionElementSource)entity).getLinks().isEmpty())  || (((DescriptionElementSource)entity).getNameUsedInSource() != null)){
+            advancedSection.setExpanded(true);
+        }
+
+    }
+
+    @Override
+    public void handleEvent(Object eventSource) {
+        if (eventSource.equals(selection_Ref)){
+            getEntity().setCitation(selection_Ref.getEntity());
+        }else if (eventSource.equals(microReference)){
+            getEntity().setCitationMicroReference(microReference.getText());
+
+        }
+
+    }
+
+    /**
+     * @param cdmEntity2
+     */
+    public void setCdmEntity(CdmBase cdmEntity) {
+        this.cdmEntity = cdmEntity;
+
+    }
+
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/SingleSourceSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/reference/SingleSourceSection.java
new file mode 100755 (executable)
index 0000000..1273c66
--- /dev/null
@@ -0,0 +1,60 @@
+/**
+* Copyright (C) 2020 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.reference;
+
+import org.eclipse.jface.viewers.ISelectionProvider;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ReferencedEntityBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
+
+/**
+ * @author k.luther
+ * @since Jul 2, 2020
+ */
+public class SingleSourceSection extends AbstractCdmDetailSection<ReferencedEntityBase> {
+
+    CdmBase cdmEntity;
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param parentElement
+     * @param selectionProvider
+     * @param style
+     */
+    public SingleSourceSection(CdmFormFactory formFactory, ConversationHolder conversation,
+            ICdmFormElement parentElement, CdmBase cdmEntity, ISelectionProvider selectionProvider, int style) {
+        super(formFactory, conversation, parentElement, selectionProvider, style);
+        this.cdmEntity = cdmEntity;
+        ((OriginalSourceElement)this.detailElement).setCdmEntity(cdmEntity);
+
+    }
+
+    @Override
+    protected AbstractCdmDetailElement<ReferencedEntityBase> createCdmDetailElement(
+            AbstractCdmDetailSection<ReferencedEntityBase> parentElement, int style) {
+
+        return new OriginalSourceElement(getFormFactory(), parentElement, cdmEntity);
+    }
+
+    @Override
+    public String getHeading() {
+
+        return "";
+    }
+
+    public Reference getRef() {
+        return detailElement.getEntity().getCitation();
+    }
+}
index 0dece2683d57df9219dad6d2df818055c44a81f9..36669a00dbfe07bea6c0b6c215e9eecdd507a16c 100644 (file)
@@ -70,9 +70,11 @@ public class TaxonTreeNodeContentProvider implements ITreeContentProvider {
         }
         if(element instanceof TaxonNodeDto){
             if (((TaxonNodeDto) element).getParentUUID() != null){
-                TaxonNode parent = taxonNodeService.load(((TaxonNodeDto) element).getParentUUID());
-                if (parent != null){
-                    return new TaxonNodeDto(parent);
+                TaxonNodeDto parentDto = taxonNodeService.dto(((TaxonNodeDto) element).getParentUUID());
+//                TaxonNode parent = taxonNodeService.load(((TaxonNodeDto) element).getParentUUID());
+                if (parentDto != null){
+//                    return new TaxonNodeDto(parent);
+                    return parentDto;
                 }
             }
         }
index 0a38052357de0ff2946c265f8336454728945f9d..c751a541460c15566d0d6af1b589157c1be33d9a 100644 (file)
@@ -53,10 +53,8 @@ import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewerComparator;
 import eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer;
 
 /**
- *
  * @author pplitzner
  * @date 22.08.2017
- *
  */
 public class CdmDataSourceViewPartE4 {
 
@@ -89,9 +87,6 @@ public class CdmDataSourceViewPartE4 {
 
                private final List<ICdmSource> cdmSources;
 
-               /**
-                * @param name
-                */
                public DataSourceJob(String title, List<ICdmSource> cdmSources) {
                        super(title);
                        this.cdmSources = cdmSources;
@@ -163,7 +158,6 @@ public class CdmDataSourceViewPartE4 {
        public CdmDataSourceViewPartE4(){
        }
 
-
     private ISelectionChangedListener selectionChangedListener;
 
     @Inject
@@ -192,7 +186,6 @@ public class CdmDataSourceViewPartE4 {
                comparator = new CdmDataSourceViewerComparator();
                viewer.setComparator(comparator);
 
-
         // Propagate selection from viewer
         selectionChangedListener = (event -> selService.setSelection(event.getSelection()));
         viewer.addSelectionChangedListener(selectionChangedListener);
@@ -224,7 +217,6 @@ public class CdmDataSourceViewPartE4 {
                table.setHeaderVisible(true);
                table.setLinesVisible(true);
                table.setSortDirection(SWT.UP);
-
        }
 
     @Inject
@@ -240,13 +232,11 @@ public class CdmDataSourceViewPartE4 {
                dataSourceJob.schedule();
        }
 
-       /** {@inheritDoc} */
        @PreDestroy
        public void dispose() {
                CdmStore.getContextManager().removeContextListener(contextListener);
        }
 
-       /** {@inheritDoc} */
        @Focus
        public void setFocus() {
            if (viewer.getControl() != null && !viewer.getControl().isDisposed()) {
@@ -255,7 +245,6 @@ public class CdmDataSourceViewPartE4 {
        }
 
        //FIXME E4 migrate
-//     /** {@inheritDoc} */
 //     @Override
 //     public void showBusy(boolean busy) {
 //             super.showBusy(busy);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/ChangeConnectionHandlerE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/ChangeConnectionHandlerE4.java
deleted file mode 100644 (file)
index 9635cfd..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
-* 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.view.datasource.e4.handler;
-
-import javax.inject.Named;
-
-import org.eclipse.e4.core.di.annotations.CanExecute;
-import org.eclipse.e4.core.di.annotations.Execute;
-import org.eclipse.e4.core.di.annotations.Optional;
-import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
-import org.eclipse.e4.ui.services.IServiceConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import eu.etaxonomy.cdm.model.metadata.CdmMetaDataPropertyName;
-import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
-import eu.etaxonomy.taxeditor.l10n.Messages;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer;
-import eu.etaxonomy.taxeditor.view.datasource.e4.CdmDataSourceViewPartE4;
-
-/**
- * @author pplitzner
- * @date 22.08.2017
- */
-public class ChangeConnectionHandlerE4 {
-
-    @Execute
-    public void execute(@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection) {
-
-                       if(CdmStore.isConnecting()){
-                               MessagingUtils.warningDialog(Messages.ChangeConnectionHandler_ALREADY_CONNECTING, this, Messages.ChangeConnectionHandler_CURRENTLY_CONNECTING_ALREADY);
-                               return ;
-                       }
-
-                       try {
-                           CdmMetaDataAwareDataSourceContainer container = (CdmMetaDataAwareDataSourceContainer) selection.getFirstElement();
-                               container.getCdmSource().checkConnection();
-                               boolean confirmed = MessagingUtils.confirmDialog(Messages.ChangeConnectionHandler_CREATE_DATAMODEL, String.format(Messages.ChangeConnectionHandler_REALLY_CREATE_DATAMODEL, container.getCdmSource().getName()));
-
-                               if(confirmed){
-                                       CdmDataSourceRepository.changeDataSource(container.getCdmSource());
-                               }
-                       } catch (Exception e) {
-                               MessagingUtils.warningDialog(Messages.ChangeConnectionHandler_DATASOURCE_NOT_AVAILABLE, this, Messages.ChangeConnectionHandler_NOT_AVAILABLE_REASONS);
-                               MessagingUtils.warn(getClass(), e);
-                               return ;
-               }
-
-               return ;
-       }
-
-    @CanExecute
-    public boolean canExecute(
-            @Optional@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
-            @Named(IServiceConstants.ACTIVE_PART)MPart thisPart,
-            MHandledMenuItem menuItem) {
-        boolean canExecute = false;
-        canExecute = thisPart.getObject() instanceof CdmDataSourceViewPartE4
-                && selection!=null
-                && selection.size()==1
-                && selection.getFirstElement() instanceof CdmMetaDataAwareDataSourceContainer
-                && ((CdmMetaDataAwareDataSourceContainer) selection.getFirstElement()).getMetaData(CdmMetaDataPropertyName.DB_SCHEMA_VERSION).equals(CdmMetaDataAwareDataSourceContainer.DEFAULT_ENTRY);
-           menuItem.setVisible(canExecute);
-           return canExecute;
-       }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/UpdateDataSourceHandlerE4.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/e4/handler/UpdateDataSourceHandlerE4.java
deleted file mode 100644 (file)
index b226665..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * 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.view.datasource.e4.handler;
-
-import javax.inject.Named;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.e4.core.di.annotations.CanExecute;
-import org.eclipse.e4.core.di.annotations.Optional;
-import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
-import org.eclipse.e4.ui.services.IServiceConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.progress.IProgressConstants;
-
-import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.database.ICdmDataSource;
-import eu.etaxonomy.cdm.database.update.CdmUpdater;
-import eu.etaxonomy.cdm.database.update.SchemaUpdateResult;
-import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
-import eu.etaxonomy.taxeditor.view.datasource.CdmMetaDataAwareDataSourceContainer;
-import eu.etaxonomy.taxeditor.view.datasource.e4.CdmDataSourceViewPartE4;
-
-/**
- *
- * @author pplitzner
- * @date 22.08.2017
- *
- */
-public class UpdateDataSourceHandlerE4 extends AbstractDataSourceHandlerE4 {
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean specificExecute(CdmDataSourceViewPartE4 dataSourceViewPart,
-            CdmMetaDataAwareDataSourceContainer container, Shell shell) {
-        if(! MessageDialog.open(MessageDialog.CONFIRM, shell, "Update Datasource", "WARNING!\n\n" +
-                "This will change your data base structure! Be sure you have an up-to-date backup of your data before running the update! \n\n " +
-                "Are you sure you want to update the datasource?", SWT.NONE)){
-            return false;
-        }
-        Job job = new Job("Updating datasource " + container.getCdmSource().getName()){
-
-            @Override
-            protected IStatus run(IProgressMonitor monitor) {
-                CdmUpdater updater = new CdmUpdater();
-                IStatus status = null;
-                ICdmSource cdmSource = container.getCdmSource();
-                //FIXME:Remoting we need another updater for ICdmRemoteSource
-                if(cdmSource instanceof ICdmDataSource) {
-                    try{
-                        SchemaUpdateResult result = updater.updateToCurrentVersion(
-                                (ICdmDataSource)cdmSource, CdmProgressMonitorAdapter.CreateMonitor(monitor));
-                        if(result.isSuccess()){
-                           sync.asyncExec(()->{
-                                    if(dataSourceViewPart!= null){
-                                        container.getMetaDataFromDataSource();
-                                        dataSourceViewPart.getViewer().update(new CdmMetaDataAwareDataSourceContainer[]{container}, null);
-                                    }
-                                }
-                            );
-                            status = Status.OK_STATUS;
-                        }else{
-                            throw new RuntimeException("An error occurred during the update.");
-                        }
-                    }catch(Exception e){
-                        status = new Status(IStatus.ERROR, TaxeditorStorePlugin.PLUGIN_ID, e.getMessage(), e);
-                        MessagingUtils.errorDialog("Could not complete updater", updater, status.getMessage(), status.getPlugin(), e, true);
-                    }
-                }
-
-                return status;
-            }
-
-        };
-
-        job.setPriority(Job.BUILD);
-        job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
-        job.schedule();
-
-        return true;
-    }
-
-
-    @Override
-    @CanExecute
-    public boolean canExecute(
-            @Optional@Named(IServiceConstants.ACTIVE_SELECTION)IStructuredSelection selection,
-            @Named(IServiceConstants.ACTIVE_PART)MPart thisPart,
-            MHandledMenuItem menuItem) {
-        boolean canExecute = false;
-        canExecute = thisPart.getObject() instanceof CdmDataSourceViewPartE4
-                && selection!=null
-                && selection.size()==1
-                && selection.getFirstElement() instanceof CdmMetaDataAwareDataSourceContainer
-                && !((CdmMetaDataAwareDataSourceContainer) selection.getFirstElement()).isDataSourceCompatible();
-        menuItem.setVisible(canExecute);
-        return canExecute;
-    }
-}
index 97a41aecd542d976dcaaf856c685645511628e40..99826d0eb26efbc1455473374e9abb59ef2c3353 100644 (file)
@@ -19,20 +19,19 @@ import java.util.LinkedHashMap;
 
 import org.junit.Test;
 
-import eu.etaxonomy.cdm.model.term.IEnumTerm;
-import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
-import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
 import eu.etaxonomy.cdm.model.name.RankClass;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
 import eu.etaxonomy.cdm.model.reference.ReferenceType;
+import eu.etaxonomy.cdm.model.term.IEnumTerm;
+import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 
 /**
  * @author pplitzner
  * @date 04.11.2013
- *
  */
 public class AbstractUtilityTest {
 
index 6a87849f358682cc2be3062bfde9c8547cd6ef7b..5f0f548a17962fa328a6c549b5285883d1fb0060 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.16.0
+Bundle-Version: 5.17.0
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: EDIT
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
@@ -24,10 +24,10 @@ Require-Bundle: org.eclipse.ui,
 Eclipse-RegisterBuddy: org.apache.log4j, org.eclipse.swtbot.swt.finder
 Bundle-ClassPath: .,
  lib/byte-buddy-0.5.1.jar,
- lib/org.springframework.context-3.2.2.RELEASE.jar,
  lib/unitils-core-3.4.2.jar,
  lib/unitils-database-3.4.2.jar,
  lib/unitils-dbmaintainer-3.4.2.jar,
  lib/unitils-dbunit-3.4.2.jar,
  lib/unitils-spring-3.4.2.jar,
- lib/dbunit-2.4.9.jar
+ lib/dbunit-2.4.9.jar,
+ lib/h2-1.4.200.jar
index 4c13ab916d9839335483e9c9a32e81deebf28172..fa94054a664700aa1b348624284cd94b90e1ef06 100644 (file)
@@ -3,12 +3,12 @@ source.. = src/test/java/,\
 bin.includes = META-INF/,\
                .,\
                lib/byte-buddy-0.5.1.jar,\
-               lib/org.springframework.context-3.2.2.RELEASE.jar,\
                lib/unitils-core-3.4.2.jar,\
                lib/unitils-database-3.4.2.jar,\
                lib/unitils-dbmaintainer-3.4.2.jar,\
                lib/unitils-dbunit-3.4.2.jar,\
                lib/unitils-spring-3.4.2.jar,\
                lib/dbunit-2.4.9.jar,\               
+               lib/h2-1.4.200.jar,\               
                src/test/resources/
 output.. = target/classes
diff --git a/eu.etaxonomy.taxeditor.test/lib/h2-1.4.200.jar b/eu.etaxonomy.taxeditor.test/lib/h2-1.4.200.jar
new file mode 100644 (file)
index 0000000..3d194f2
Binary files /dev/null and b/eu.etaxonomy.taxeditor.test/lib/h2-1.4.200.jar differ
diff --git a/eu.etaxonomy.taxeditor.test/lib/org.springframework.context-3.2.2.RELEASE.jar b/eu.etaxonomy.taxeditor.test/lib/org.springframework.context-3.2.2.RELEASE.jar
deleted file mode 100644 (file)
index e285a21..0000000
Binary files a/eu.etaxonomy.taxeditor.test/lib/org.springframework.context-3.2.2.RELEASE.jar and /dev/null differ
index bab5c01299dc9db700760d52b75ea127ab26b4e6..9bceb87dfac3335d3c343aca5a690823b1b5e2c9 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
   <artifactId>eu.etaxonomy.taxeditor.test</artifactId>
   <!-- for packaging=eclipse-test-plugin 
         as long as this is unfixed we replace it by 
         ${basedir}/../
       -->
-          <war>${basedir}/../eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/cdmlib-remote-webapp.war</war>
+          <war>${basedir}/../eu.etaxonomy.taxeditor.webapp/lib/cdmlib-remote-webapp.war</war>
           <daemon>true</daemon>
           <supportedPackagings>
                 <!-- see https://github.com/eclipse/jetty.project/issues/2372 -->
index 280de5c15c5cfe44b1890d0a5b35e039b1488a04..529f91949ec8ea074ef4e45ef5560deedd706626 100644 (file)
@@ -8,7 +8,6 @@
  */
 package eu.etaxonomy.taxeditor.ui.dialogs;
 
-import java.io.IOException;
 import java.util.List;
 
 import org.junit.Assert;
@@ -26,24 +25,26 @@ import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfoConfig;
 /**
  * @author cmathew
  * @date 26 Jan 2015
- *
  */
-
 public class CdmServerInfoTest extends UnitilsJUnit4 {
 
     @Test
-    public void pingServersTest() throws CdmServerException, IOException {
+    public void pingServersTest() {
         List<CdmServerInfo> servers = CdmServerInfo.getCdmServers();
         for(CdmServerInfo server : servers) {
             if(server.getServer().equals("localhost")){
                 //no need to test ping localhost
                 continue;
             }
-            server.pingServer();
+            try {
+                server.pingServer();
+            } catch (Exception e) {
+                System.out.println();
+                throw new RuntimeException("Pinging server " + server.getServer() + " was not successful.", e);
+            }
         }
     }
 
-
     @Ignore // this should be targetting integration or production
     @Test
     public void pingInstancesTest() {
index 0fd28f1c901b555d5c5f14104a5b3bb745558568..9cc2ef5e1ded6a5dc34d42e0db4210a5d9e5b958 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: Webapp
 Bundle-SymbolicName: eu.etaxonomy.taxeditor.webapp;singleton:=true
-Bundle-Version: 5.16.0
+Bundle-Version: 5.17.0
 Require-Bundle: org.eclipse.core.runtime
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
@@ -16,7 +16,7 @@ Bundle-ClassPath: .,
  lib/mchange-commons-java-0.2.11.jar,
  lib/postgresql-9.4-1206-jdbc4.jar,
  lib/jdbc4-2.0.jar,
- lib/mysql-connector-java-8.0.15.jar,
+ lib/mysql-connector-java-8.0.20.jar,
  lib/jetty-util-9.4.26.v20200117.jar,
  lib/jetty-webapp-9.4.26.v20200117.jar,
  lib/jetty-security-9.4.26.v20200117.jar,
index fe9e828e86bd78ad3110bc08d65bdeb80ba99dd4..d83f3e631c0fadb9cfc9eb7f5630f1a621be5682 100644 (file)
@@ -7,7 +7,7 @@ bin.includes = META-INF/,\
                lib/mchange-commons-java-0.2.11.jar,\
                lib/postgresql-9.4-1206-jdbc4.jar,\
                lib/jdbc4-2.0.jar,\
-               lib/mysql-connector-java-8.0.15.jar,\
+               lib/mysql-connector-java-8.0.20.jar,\
                lib/jetty-util-9.4.26.v20200117.jar,\
                lib/jetty-webapp-9.4.26.v20200117.jar,\
                lib/jetty-security-9.4.26.v20200117.jar,\
index 02b966945ba37d2d1d9f8c44f1462c421d84b804..3db26357df84511f982f23d1552d3454726def5f 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>eu.etaxonomy.taxeditor.webapp</artifactId>
index 8e1da3f3c6f0738dcec6972671e9d8d4b29c35bd..e654d8f3cb630a889487bd41cfc79ec5c0b92b78 100644 (file)
@@ -4,7 +4,7 @@ Export-Package: eu.etaxonomy.taxeditor.bulkeditor,
  eu.etaxonomy.taxeditor.workbench,
  eu.etaxonomy.taxeditor.workbench.part
 Bundle-Name: Workbench Bundle
-Bundle-Version: 5.16.0
+Bundle-Version: 5.17.0
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.e4.ui.workbench,
index dca40bf01a22420ed9e6e9b527770ce22ce2fb8a..ab0739bafc0faf1c275081698f59d33b4d23df98 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index c0dd7275f2fc84c662086e84303c70500bc205f9..56d6b34f76392e850b0afec89cd3776d23f36d34 100644 (file)
@@ -116,4 +116,8 @@ public class WorkbenchUtility {
     public static boolean openWebpage(URL url){
         return Program.launch(url.toString());
     }
+
+    public static boolean openWebpage(String urlString){
+        return Program.launch(urlString);
+    }
 }
index 73fbc8bb311fef3c788d5c72aacce02dbd782f16..d10ebfc5e50ca413c79918bd37e6e74abe9e0dab 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.16.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.17.0">
   <aboutInfo>
     <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
     <text>
index 086437d5a71ae5d2bb3a29a0d3016ae2f000df63..537bc4303cb35cf1ca929d5ced24430760dc9301 100644 (file)
@@ -2,7 +2,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>5.16.0</version>
+    <version>5.17.0</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/pom.xml b/pom.xml
index 6f620323785cf58a453190f283458fea94002cf8..bd9ae41c3589ade3af5caab6bbecd1e0f0fcdee6 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
   </prerequisites>
   <groupId>eu.etaxonomy</groupId>
   <artifactId>taxeditor-parent</artifactId>
-  <version>5.16.0</version>
+  <version>5.17.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.16.0</cdmlib.version>
+    <cdmlib.version>5.17.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.0.0</tycho.version>
-    <taxeditor.version>5.16.0</taxeditor.version>
+    <taxeditor.version>5.17.0</taxeditor.version>
     <update.dir>snapshot</update.dir>
     <unitils.version>3.4.2</unitils.version>
     <log4j.version>1.2.17</log4j.version>
     <javadoc.opts>-Xdoclint:none</javadoc.opts>
-    <httpcomponents.version>4.5.11</httpcomponents.version>
+    <httpcomponents.version>4.5.12</httpcomponents.version>
     <jetty-version>9.4.26.v20200117</jetty-version>
   </properties>
   <modules>