merge-update from trunk
authorPatric Plitzner <p.plitzner@bgbm.org>
Tue, 14 Oct 2014 11:42:23 +0000 (11:42 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Tue, 14 Oct 2014 11:42:23 +0000 (11:42 +0000)
51 files changed:
.gitattributes
eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.application/pom.xml
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java
eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.bulkeditor/pom.xml
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar
eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar
eu.etaxonomy.taxeditor.cdmlib/pom.xml
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/view/dataimport/DataImportEditorContextMenu.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SpecimenImportView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/contextMenu/CreateDerivateContextMenu.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.navigation/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.navigation/pom.xml
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/icons/character_data_derivate-16x16-32.png [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/pom.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/model/ImageResources.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/OriginalLabelDataElement.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/FieldUnitGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SequenceGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchView.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/CdmSectionPart.java
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.test/pom.xml
eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product
eu.etaxonomy.taxeditor/pom.xml
pom.xml

index b581c548c7bf0443c0b1f599fc7f8df48fc2cf12..686340b0de0ae41260cadbd365fa28c5daf7a2e6 100644 (file)
@@ -1084,6 +1084,7 @@ eu.etaxonomy.taxeditor.store/icons/binary.gif -text
 eu.etaxonomy.taxeditor.store/icons/bookmark.gif -text
 eu.etaxonomy.taxeditor.store/icons/category.gif -text
 eu.etaxonomy.taxeditor.store/icons/change.gif -text
+eu.etaxonomy.taxeditor.store/icons/character_data_derivate-16x16-32.png -text
 eu.etaxonomy.taxeditor.store/icons/clear.gif -text
 eu.etaxonomy.taxeditor.store/icons/close.gif -text
 eu.etaxonomy.taxeditor.store/icons/close_view.gif -text
@@ -1477,6 +1478,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/Lay
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MinMaxTextSection.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/MultilanguageTextElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/NumberWithLabelElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PartialElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/PointElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/RootElement.java -text
@@ -1494,8 +1496,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/group/grant
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/AbstractCdmComposite.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/DerivedUnitGeneralDetailElementMVC.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/GeographicPointElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/combo/EnumTermCombo.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/combo/EnumTermComboController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/element/DateElement.java -text
index d4c616a67dcc0f4318f0bf772f4204e3eebe6d7d..c0a1e5305a51085dc4c3b011580435e32ee755ba 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
 Bundle-Vendor: EDIT
 Bundle-Localization: OSGI-INF/l10n/plugin
index 20e1dfcca44cd067df817318071270dc06a4858d..eade0b2f589707db8585fb8e4915d315235c0840 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>3.3.8-SNAPSHOT</version>
+    <version>3.4.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 105be8f47d934e6c023f96f3ed106ca83e6a5912..545515eb215df44b29f7e5164f3747fd41f27cdb 100644 (file)
@@ -28,7 +28,7 @@ public class ApplicationUtil extends AbstractUtility {
     /**
      * Prefix to declare the version as beta
      */
-    private static final String BETA_PREFIX = "[BETA]";
+    private static final String BETA_PREFIX = "[Campanula CDM 3.4]";
 
     /**
      * @return
index 46562b2ce1c2e895a8ebcbdbe6dde4b775112bf5..8baea95b92bab2b281a65f9e050699c8a0fa8fed 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
index adaebb3e7a0461837642faebeb7cfaffc71a9f12..f3242396cf6859591351e57e55b93bd46d8f1519 100644 (file)
@@ -4,7 +4,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 40552f0cad21a403b6800de403692eaaf5c918e3..739f5c0c43daed330952a1a7e4e386f929085e72 100644 (file)
@@ -1,5 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.4.0-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.4.0-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.4.0-SNAPSHOT.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="src" path="src/main/java"/>
        <classpathentry exported="true" kind="lib" path="lib/batik-util-1.7.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/batik-xml-1.7.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/c3p0-0.9.2.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-commons-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-ext-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-io-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-model-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-persistence-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-print-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-remote-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.3.8-SNAPSHOT-sources.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.3.8-SNAPSHOT.jar" sourcepath="lib/cdmlib-services-3.3.8-SNAPSHOT-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/cglib-nodep-2.2.2.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.aopalliance-1.0.0.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/com.springsource.org.apache.commons.logging-1.1.1.jar"/>
index c46b5097a7c1bbba665f1e57fc0fbd0f72cd1d96..86c822eedfa5d158510fbe37bed66ee5da24fea5 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Eclipse-BundleShape: dir
 Export-Package: com.google.api,
  com.google.api.detect,
@@ -430,22 +430,6 @@ Bundle-ClassPath: .,
  lib/batik-util-1.7.jar,
  lib/batik-xml-1.7.jar,
  lib/c3p0-0.9.2.jar,
- lib/cdmlib-commons-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-commons-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-ext-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-ext-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-io-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-io-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-model-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-model-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-persistence-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-persistence-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-print-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-print-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-remote-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-remote-3.3.8-SNAPSHOT.jar,
- lib/cdmlib-services-3.3.8-SNAPSHOT-sources.jar,
- lib/cdmlib-services-3.3.8-SNAPSHOT.jar,
  lib/cglib-nodep-2.2.2.jar,
  lib/com.springsource.org.aopalliance-1.0.0.jar,
  lib/com.springsource.org.apache.commons.logging-1.1.1.jar,
@@ -611,5 +595,21 @@ Bundle-ClassPath: .,
  lib/h2mig_pagestore_addon.jar,
  lib/spring-security-remoting-3.1.3.RELEASE.jar,
  lib/jena-core-2.11.2.jar,
- lib/jena-iri-1.0.2.jar
+ lib/jena-iri-1.0.2.jar,
+ lib/cdmlib-commons-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-commons-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-ext-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-ext-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-io-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-io-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-model-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-model-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-persistence-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-persistence-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-print-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-print-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-remote-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-remote-3.4.0-SNAPSHOT.jar,
+ lib/cdmlib-services-3.4.0-SNAPSHOT-sources.jar,
+ lib/cdmlib-services-3.4.0-SNAPSHOT.jar
 Import-Package: eu.etaxonomy.cdm.api.application
index a022a611f711f41c29830b620f6d691a4420bb3c..34e642c6a5bd22d37b652fe82b65dea2625fb964 100644 (file)
@@ -23,22 +23,6 @@ bin.includes = META-INF/,\
                lib/batik-util-1.7.jar,\\r
                lib/batik-xml-1.7.jar,\\r
                lib/c3p0-0.9.2.jar,\\r
-               lib/cdmlib-commons-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-commons-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-ext-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-ext-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-io-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-io-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-model-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-model-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-persistence-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-persistence-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-print-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-print-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-remote-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-remote-3.3.8-SNAPSHOT.jar,\\r
-               lib/cdmlib-services-3.3.8-SNAPSHOT-sources.jar,\\r
-               lib/cdmlib-services-3.3.8-SNAPSHOT.jar,\\r
                lib/cglib-nodep-2.2.2.jar,\\r
                lib/com.springsource.org.aopalliance-1.0.0.jar,\\r
                lib/com.springsource.org.apache.commons.logging-1.1.1.jar,\\r
@@ -203,6 +187,23 @@ bin.includes = META-INF/,\
                lib/odfdom-0.8.jar,\\r
                lib/h2mig_pagestore_addon.jar,\\r
                lib/spring-security-remoting-3.1.3.RELEASE.jar,\\r
+               lib/cdmlib-commons-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-commons-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-ext-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-ext-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-io-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-io-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-model-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-model-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-persistence-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-persistence-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-print-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-print-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-remote-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-remote-3.4.0-SNAPSHOT.jar,\\r
+               lib/cdmlib-services-3.4.0-SNAPSHOT-sources.jar,\\r
+               lib/cdmlib-services-3.4.0-SNAPSHOT.jar,\\r
+               lib/spring-security-remoting-3.1.3.RELEASE.jar,\\r
                lib/jena-core-2.12.1-SNAPSHOT.jar,\\r
                lib/jena-iri-1.1.1-SNAPSHOT.jar\r
 jars.compile.order = .\r
index 9fb167cc8644ced846238dee40784f7341832719..4cf488ee33f1a17bac6e7badc2adfac6cf54f75d 100644 (file)
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar and b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.common-3.6.0.v20110523.jar differ
index 25f118068392d39fda76feea6c855dfb3633db17..f131a431cbf20a8f2194c84912950bd3e0a6485b 100644 (file)
Binary files a/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar and b/eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.osgi-3.7.2.v20120110-1415.jar differ
index d0703892b48f00b9396182e176e827e882dff399..cb65a3457101ca6238f90609de76d5079ce4260b 100644 (file)
@@ -3,7 +3,7 @@
   <parent>\r
     <groupId>eu.etaxonomy</groupId>\r
     <artifactId>taxeditor-parent</artifactId>\r
-    <version>3.3.8-SNAPSHOT</version>\r
+    <version>3.4.0-SNAPSHOT</version>\r
   </parent>\r
   <modelVersion>4.0.0</modelVersion>\r
   <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
index 11da103872c8d8303729eb0b2915e1ab58aba9c1..0718ed6fb01b4e5cbef12f07296c5ac48e55f31c 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: OSGI-INF/l10n/plugin
index 1c6e3e8c5e0945045713ef8b7d3562dd4d50760e..da6a8af2debc17899cd751175c23fe4640af33b8 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-    <version>3.3.8-SNAPSHOT</version>
+    <version>3.4.0-SNAPSHOT</version>
   </parent>
   
   <modelVersion>4.0.0</modelVersion>
index d556221c8047671c0d13d992bea81a35e6644b08..4c2735fc52620dc6847b40af8def4416b37f497e 100644 (file)
@@ -31,6 +31,7 @@ import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifQueryServiceWrapper;
 import eu.etaxonomy.cdm.ext.occurrence.gbif.GbifResponse;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 public class DataImportEditorContextMenu extends CompoundContributionItem {
@@ -47,7 +48,7 @@ public class DataImportEditorContextMenu extends CompoundContributionItem {
                     @Override
                     public void fill(Menu menu, int index) {
                         final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-                        final IEditorPart activeEditor = window.getActivePage().getActiveEditor();
+                        final IEditorPart activeEditor = AbstractUtility.getActiveEditor();
                         final ISelection selection = window.getActivePage().getSelection();
                         if(selection instanceof StructuredSelection){
                             final StructuredSelection structuredSelection = (StructuredSelection)selection;
index 264e23b8469ebe1fa80c6903e6571dc1fed0410e..7c47c3151ea32736c41d834889839ffecac4d333 100644 (file)
@@ -69,6 +69,8 @@ public class SpecimenImportView extends DataImportView<SpecimenOrObservationBase
             TransientCdmRepository repo =
                     new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
             configurator.setCdmAppController(repo);
+            configurator.setAddMediaAsMediaSpecimen(true);
+            configurator.setDeterminationOnFieldUnitLevel(true);
 
             CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
             importer.invoke(configurator);
index 9d915e29ad188b8063b81a1a381cabe460d9885b..a2b6226e9be3340f0d5865509148532754c9554a 100644 (file)
@@ -31,6 +31,7 @@ import eu.etaxonomy.cdm.api.service.DeleteResult;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
 import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
+import eu.etaxonomy.cdm.api.service.dto.DerivateHierarchyDTO;
 import eu.etaxonomy.cdm.api.service.pager.Pager;
 import eu.etaxonomy.cdm.api.service.search.SearchResult;
 import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
@@ -915,6 +916,24 @@ public class TransientOccurenceService implements IOccurrenceService {
                return defaultService.findWithoutFlush(uuid);
        }
 
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listFieldUnitsByAssociatedTaxon(java.util.Set, eu.etaxonomy.cdm.model.taxon.Taxon, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.util.List, java.util.List)
+     */
+    @Override
+    public Collection<FieldUnit> listFieldUnitsByAssociatedTaxon(Set<TaxonRelationshipEdge> includeRelationships,
+            Taxon associatedTaxon, Integer maxDepth, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,
+            List<String> propertyPaths) {
+        return defaultService.listFieldUnitsByAssociatedTaxon(includeRelationships, associatedTaxon, maxDepth, pageSize, pageNumber, orderHints, propertyPaths);
+    }
+
+    /* (non-Javadoc)
+     * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#assembleDerivateHierarchyDTO(eu.etaxonomy.cdm.model.occurrence.FieldUnit, java.util.UUID)
+     */
+    @Override
+    public DerivateHierarchyDTO assembleDerivateHierarchyDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
+        return defaultService.assembleDerivateHierarchyDTO(fieldUnit, associatedTaxonUuid);
+    }
+
     /* (non-Javadoc)
      * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getNonCascadedAssociatedElements(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.api.conversation.ConversationHolder)
      */
index ad5c4f329930de15aadd744f362cdff36b6be940..a971784de2b3d74d020967abaf6011d9ce70a2de 100644 (file)
@@ -14,6 +14,7 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeNode;
+import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
@@ -25,7 +26,6 @@ import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IMemento;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.part.EditorPart;
 
@@ -36,7 +36,6 @@ import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.IContextListener;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
 import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
 import eu.etaxonomy.taxeditor.model.IPartContentHasFactualData;
@@ -51,7 +50,7 @@ import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
  */
 public class DerivateView extends EditorPart implements IPartContentHasFactualData, IDirtyMarkable,
         IConversationEnabled, IPartContentHasDetails, IPartContentHasMedia, IPartContentHasSupplementalData,
-        IContextListener, ISelectionChangedListener {
+        ISelectionChangedListener {
 
        /**
      * Key used for storing a single DerivateView in a memento
@@ -83,7 +82,6 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
      * Default constructor
      */
     public DerivateView() {
-        CdmStore.getContextManager().addContextListener(this);
     }
 
     /* (non-Javadoc)
@@ -251,6 +249,19 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         changed(null);
     }
 
+    /**
+     * Refreshes the derivate hierarchy tree and expands the tree
+     * to show and select the given object.
+     *
+     * @param expandTo the object to which the tree should be expanded
+     */
+    public void refreshTree(Object expandTo){
+        refreshTree();
+        TreeSelection selection = (TreeSelection) viewer.getSelection();
+        viewer.expandToLevel(selection.getFirstElement(), 1);
+        viewer.setSelection(new StructuredSelection(new TreeNode(expandTo)));
+    }
+
     /**
      * Refreshes the derivate hierarchy tree
      */
@@ -260,6 +271,7 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         viewer.refresh();
     }
 
+
     private void generateMultiLinkSingleReads() {
         Set<SingleRead> multiLinkSingleReads = new HashSet<SingleRead>();
         for(Entry<SingleRead, Collection<Sequence>> entry:CdmStore.getService(ISequenceService.class).getSingleReadSequencesMap().entrySet()){
@@ -277,64 +289,6 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         return this.multiLinkSingleReads;
     }
 
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.model.IContextListener#contextAboutToStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStop(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    public void contextStop(IMemento memento, IProgressMonitor monitor) {
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.model.IContextListener#contextStart(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    public void contextStart(IMemento memento, IProgressMonitor monitor) {
-//        if(memento == null){
-//            return;
-//        }
-//        IMemento editorMementos = memento.getChild(DERIVATE_VIEW_MEMENTO_KEY);
-//            DerivateViewEditorInput input = new DerivateViewEditorInput(UUID.fromString(editorInput.getString(DerivateViewEditorInput.UUID_MEMENTO_KEY)));
-//                try {
-//                    EditorUtil.open(input);
-//                } catch (PartInitException e) {
-//                    AbstractUtility.error(getClass(), "Error opening an editor window", e);
-//                }
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.model.IContextListener#contextRefresh(org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    public void contextRefresh(IProgressMonitor monitor) {
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.model.IContextListener#workbenchShutdown(org.eclipse.ui.IMemento, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    @Override
-    public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
-//        if (!conversation.isBound()) {
-//            conversation.bind();
-//        }
-//        conversation.close();
-//        if(memento == null){
-//            return;
-//        }
-//
-//        IEditorInput input = getEditorInput();
-//        if(input instanceof IPersistable){
-//            memento.createChild(DERIVATE_VIEW_MEMENTO_KEY);
-//            ((IPersistable) input).saveState(memento);
-//        }
-    }
-
     /* (non-Javadoc)
      * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
      */
index b956e86c779337c9dc9e6335f021c44b07749fe0..b2d6da8bcbfe59f3106467702fa9563068742fa2 100644 (file)
@@ -71,10 +71,12 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
                             //context menu for TissueSample
                             else if(selectedTreeNode.getValue() instanceof DerivedUnit && ((DerivedUnit)selectedTreeNode.getValue()).getRecordBasis()==SpecimenOrObservationType.TissueSample){
                                createMenuItem(addMenu, "DnaSample", selectedTreeNode, DnaSample.class, null);
+                               createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
                             }
                             //context menu for DnaSample
                             else if(selectedTreeNode.getValue() instanceof DnaSample){
                                 createMenuItem(addMenu, "Consensus Sequence", selectedTreeNode, Sequence.class, null);
+                                createMenuItem(addMenu, "Media Specimen", selectedTreeNode, MediaSpecimen.class, SpecimenOrObservationType.Media);
                             }
                             //context menu for Sequence
                             else if(selectedTreeNode.getValue() instanceof Sequence){
@@ -123,15 +125,20 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
          */
         @Override
         public void widgetSelected(SelectionEvent e) {
+            Object createdElement = null;
             Object selectedDerivate = selectedNode.getValue();
             if(selectedDerivate instanceof DnaSample){
                 DnaSample dnaSample = (DnaSample)selectedDerivate;
                 if(childClass.equals(Sequence.class)){
-                    dnaSample.addSequence(Sequence.NewInstance(""));//why does this not have DnaSample as constructor parameter?
+                    Sequence newInstance = Sequence.NewInstance("");
+                    dnaSample.addSequence(newInstance);//why does this not have DnaSample as constructor parameter?
+                    createdElement = newInstance;
                 }
             }
             else if(selectedDerivate instanceof Sequence){
-                ((Sequence) selectedDerivate).addSingleRead(SingleRead.NewInstance());
+                SingleRead newInstance = SingleRead.NewInstance();
+                ((Sequence) selectedDerivate).addSingleRead(newInstance);
+                createdElement = newInstance;
             }
             else if(selectedDerivate instanceof SpecimenOrObservationBase && DerivedUnit.class.isAssignableFrom(childClass)){
                 SpecimenOrObservationBase<?> specimenOrObservationBase = (SpecimenOrObservationBase<?>)selectedDerivate;
@@ -150,6 +157,7 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
                 specimenOrObservationBase.addDerivationEvent(DerivationEvent.NewSimpleInstance(specimenOrObservationBase, derivedUnit, DerivationEventType.GATHERING_IN_SITU()));
                 derivedUnit.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
                 derivedUnit.getTitleCache(); //update title cache
+                createdElement = derivedUnit;
             }
 
             //refresh view
@@ -157,7 +165,7 @@ public class CreateDerivateContextMenu extends CompoundContributionItem {
             if(activePart instanceof DerivateView){
                 DerivateView derivateView = (DerivateView)activePart;
                 derivateView.changed(null);
-                derivateView.refreshTree();
+                derivateView.refreshTree(createdElement);
             }
         }
     }
index 21e0de374261e6dca5b2368943d8c95d95e2cccd..79596d803cae8b712484510a082650a04108ede2 100644 (file)
@@ -2,18 +2,11 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature.platform"
       label="Taxeditor Dependencies"
-      version="3.3.8.qualifier"
+      version="3.4.0.qualifier"
       os="linux,macosx,win32"
       ws="cocoa,gtk,win32"
       arch="x86,x86_64">
 
-   <!--license url="http://www.eclipse.org/legal/epl-v10.html">
-      The contents of this file are subject to the Eclipse Public License Version 1.0 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at
-http://www.eclipse.org/legal/epl-v10.html
-
-Software distributed under the License is distributed on an &quot;AS IS&quot; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
-   </license-->
-
    <url>
       <update label="EDIT Taxonomic Editor" url="http://wp5.e-taxonomy.eu/taxeditor/update"/>
    </url>
index 61024e776b5de89afd893b7a695745dfb3255c7a..d7e0536d4226d8700b8ea8a7babc4c1ddbbd0039 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>eu.etaxonomy.taxeditor.feature.platform</artifactId>
index e16cb13673bd132098479969c5a3aaa917593e30..df501596241cb7adca55d5d4fa705bdef4692091 100644 (file)
@@ -2,7 +2,7 @@
 <feature
       id="eu.etaxonomy.taxeditor.feature"
       label="Taxonomic Editor"
-      version="3.3.8.qualifier"
+      version="3.4.0.qualifier"
       provider-name="EDIT"
       plugin="eu.etaxonomy.taxeditor.application"
       os="linux,macosx,win32"
       [Enter Copyright Description here.]
    </copyright>
 
-   <!--license url="http://www.mozilla.org/MPL/">
-      The contents of this file are subject to the Mozilla Public License Version 1.1 (the &quot;License&quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at
-http://www.mozilla.org/MPL/
-
-Software distributed under the License is distributed on an &quot;AS IS&quot; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
-   </license-->
-
    <url>
       <update label="EDIT Taxonomic Editor" url="http://cybertaxonomy.eu/download/taxeditor/update/"/>
    </url>
index 5633fac66b7d60787e4779d07a21aac986a44ff0..d553aec651a999eb45752257d101155d75466219 100644 (file)
@@ -3,7 +3,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
        <artifactId>eu.etaxonomy.taxeditor.feature</artifactId>
index 543e164e2bfbdc01ca2b27d0bc6cdee4063b0d1c..9af1f6d9c2abec616084ccf4c992c33de9bfcc19 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.help.Activator
 Bundle-Vendor: EDIT
 Require-Bundle: org.eclipse.ui,
index 8fa6ae67c98550ac1471f2d804fd90ae844ed08b..be078cd807b17934d07a6c351953d59202178476 100644 (file)
@@ -4,7 +4,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 87cf5d4596b9e0294d9fee96eab4a56b1aad733f..0c596eaf6ed7f8c0009e30663ecf54ac6041d3b9 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.cdm,
  eu.etaxonomy.taxeditor.navigation,
index 3ff2a55770b900f0e28aa40378d3d4d574488a43..67c35d572774424ab4cbbbe485c8dd12ccaee1af 100644 (file)
@@ -4,7 +4,7 @@
        <parent>
                <groupId>eu.etaxonomy</groupId>
                <artifactId>taxeditor-parent</artifactId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index 99e8e0c56b64293f199b2a1da07d258434f8c337..2b4b2ade6f166a2da787877be7bc7ccb268e6b41 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Require-Bundle: org.eclipse.osgi,
  org.eclipse.ui,
  eu.etaxonomy.taxeditor.cdmlib,
index a200a1a507910be7aae177184f2377bc33fd3ed5..6aaf4e7fcdb68fbe6d895282a06f041d6543e7b0 100644 (file)
@@ -4,7 +4,7 @@
        <parent>
                <artifactId>taxeditor-parent</artifactId>
                <groupId>eu.etaxonomy</groupId>
-               <version>3.3.8-SNAPSHOT</version>
+               <version>3.4.0-SNAPSHOT</version>
        </parent>
 
        <modelVersion>4.0.0</modelVersion>
index ca6afae0565ab77a6774286598660ec1e0f14a40..1b00e9df37b028566922eaecfdf9cd80d6d9ca7d 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: 3.3.8.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-Activator: eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin
 Bundle-Vendor: EDIT
 Export-Package: eu.etaxonomy.cdm,
@@ -58,7 +58,12 @@ Require-Bundle: org.eclipse.osgi,
  org.eclipse.jface.text,
  org.eclipse.ui.forms,
  eu.etaxonomy.taxeditor.cdmlib,
- org.eclipse.nebula.widgets.compositetable;bundle-version="1.0.0"
+ org.eclipse.nebula.widgets.compositetable;bundle-version="1.0.0",
+ org.eclipse.core.databinding,
+ org.eclipse.core.databinding.beans,
+ org.eclipse.core.databinding.observable,
+ org.eclipse.core.databinding.property,
+ org.eclipse.jface.databinding
 Import-Package: org.eclipse.core.commands,
  org.eclipse.core.commands.operations,
  org.eclipse.core.expressions,
diff --git a/eu.etaxonomy.taxeditor.store/icons/character_data_derivate-16x16-32.png b/eu.etaxonomy.taxeditor.store/icons/character_data_derivate-16x16-32.png
new file mode 100644 (file)
index 0000000..b9dd5ef
Binary files /dev/null and b/eu.etaxonomy.taxeditor.store/icons/character_data_derivate-16x16-32.png differ
index f21f025332867f66dcfd89cbe3785bca91abe53d..5273219f82e4586152b33e882360b484391a96a4 100644 (file)
@@ -4,7 +4,7 @@
   <parent>
        <groupId>eu.etaxonomy</groupId>
        <artifactId>taxeditor-parent</artifactId>
-       <version>3.3.8-SNAPSHOT</version>
+       <version>3.4.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
index 81947acc6f825c1f27784eb3654ca83bdcb10c10..d1d90b90b6448072f2e5723f9c8eec196f4671a5 100644 (file)
@@ -147,6 +147,8 @@ public class ImageResources {
     public static final String SINGLE_READ_DERIVATE = "single_read_derivate";
     public static final String SINGLE_READ_DERIVATE_MULTILINK = "single_read_derivate_multilink";
 
+    public static final String CHARACTER_DATA_DERIVATE = "character_data_derivate";
+
 
 
        /***************************************************************************
@@ -347,6 +349,9 @@ public class ImageResources {
                        "single_read_derivate-16x16-32.png");
                registerImage(registry, SINGLE_READ_DERIVATE_MULTILINK,
                        "single_read_derivate_multilink-16x16-32.png");
+               registerImage(registry, CHARACTER_DATA_DERIVATE,
+                       "character_data_derivate-16x16-32.png");
+
        }
 
        private void registerImage(ImageRegistry registry, String key,
index 6cb8a02a346cafc51eeeb32c35052c4351d7e754..771a1f068f73ecf12057aecfcd8f00c10a36f12f 100644 (file)
@@ -100,8 +100,6 @@ import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.MinMaxTextSection.UnitType;
-import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataController;
-import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataElement;
 import eu.etaxonomy.taxeditor.ui.openurl.IOpenUrlEnabled;
 import eu.etaxonomy.taxeditor.ui.openurl.OpenUrlSelectorElement;
 import eu.etaxonomy.taxeditor.ui.password.EditPasswordElement;
@@ -2157,6 +2155,12 @@ public class CdmFormFactory extends FormToolkit {
         return element;
     }
 
+    public OriginalLabelDataElement createOriginalLabelDataElement(ICdmFormElement parentElement) {
+        OriginalLabelDataElement element = new OriginalLabelDataElement(this, parentElement);
+        addAndAdaptElement(parentElement, element);
+        return element;
+    }
+
     public PreservedSpecimenDetailElement createPreservedSpecimenDetailElement(ICdmFormElement parentElement) {
         PreservedSpecimenDetailElement element = new PreservedSpecimenDetailElement(this, parentElement);
         addAndAdaptElement(parentElement, element);
@@ -2729,14 +2733,4 @@ public class CdmFormFactory extends FormToolkit {
         return section;
     }
 
-    /**
-     * @param parentElement
-     * @return
-     */
-    public OriginalLabelDataController createOriginalLabelDataController(AbstractCdmDetailSection<DerivedUnitFacade> parentElement) {
-        OriginalLabelDataElement originalLabelDataElement = new OriginalLabelDataElement(parentElement.getLayoutComposite(), SWT.NONE);
-        originalLabelDataElement.initController(this, parentElement);
-        return originalLabelDataElement.getController();
-    }
-
 }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/OriginalLabelDataElement.java
new file mode 100644 (file)
index 0000000..e5753d1
--- /dev/null
@@ -0,0 +1,63 @@
+// $Id$
+/**
+ * Copyright (C) 2014 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.element;
+
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.mvc.OriginalLabelDataField;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 17.06.2014
+ *
+ */
+public class OriginalLabelDataElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
+
+    private TextWithLabelElement textOriginalLabelData;
+
+    /**
+     * @param formFactory
+     * @param formElement
+     */
+    public OriginalLabelDataElement(CdmFormFactory formFactory,
+            ICdmFormElement formElement) {
+        super(formFactory, formElement);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
+     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+     */
+    @Override
+    protected void createControls(ICdmFormElement formElement,
+            DerivedUnitFacade entity, int style) {
+        new OriginalLabelDataField(formElement.getLayoutComposite(), style, entity.innerDerivedUnit(), getFormFactory());
+//        textOriginalLabelData = formFactory.createTextWithLabelElement(formElement,
+//                "Original Label Data", entity.innerDerivedUnit().getOriginalLabelInfo(), SWT.MULTI);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+     * .lang.Object)
+     */
+    @Override
+    public void handleEvent(Object eventSource) {
+        if (eventSource == textOriginalLabelData) {
+            getEntity().innerDerivedUnit().setOriginalLabelInfo(textOriginalLabelData.getText());
+        }
+    }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataController.java
deleted file mode 100644 (file)
index d085ec3..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2014 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.mvc;
-
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.mvc.interfaces.CdmCompositeController;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-
-/**
- * @author pplitzner
- * @date 17.06.2014
- *
- */
-public class OriginalLabelDataController extends AbstractCdmDetailElement<DerivedUnitFacade> implements CdmCompositeController{
-
-    private final OriginalLabelDataElement originalLabelDataElement;
-
-    /**
-     * @param dateTimeElement
-     * @param formFactory
-     * @param parentElement
-     * @param initialDateTime
-     * @param none
-     */
-    public OriginalLabelDataController(CdmFormFactory formFactory, ICdmFormElement parentElement, OriginalLabelDataElement originalLabelDataElement, int style) {
-        super(formFactory, parentElement);
-        this.originalLabelDataElement = originalLabelDataElement;
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.element.IRelevantFormElement#setIrrelevant(boolean)
-     */
-    @Override
-    public void setIrrelevant(boolean irrelevant) {
-        // TODO Auto-generated method stub
-
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#setEnabled(boolean)
-     */
-    @Override
-    public void setEnabled(boolean enabled) {
-        originalLabelDataElement.setEnabled(enabled);
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement#isEnabled()
-     */
-    @Override
-    public boolean isEnabled() {
-        return originalLabelDataElement.isEnabled();
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.ui.element.ICdmFormElement, java.lang.Object, int)
-     */
-    @Override
-    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
-        originalLabelDataElement.getText().setText(entity.getTitleCache());
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
-     */
-    @Override
-    public void handleEvent(Object eventSource) {
-    }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataElement.java
deleted file mode 100644 (file)
index d064f6d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2014 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.mvc;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-
-/**
- * @author pplitzner
- * @date 17.06.2014
- *
- */
-public class OriginalLabelDataElement extends AbstractCdmComposite<OriginalLabelDataController>{
-    private final Text text;
-
-    /**
-     * @param parent
-     * @param style
-     */
-    public OriginalLabelDataElement(Composite parent, int style) {
-        super(parent, style);
-        {
-            TableWrapLayout tableWrapLayout = new TableWrapLayout();
-            tableWrapLayout.verticalSpacing = 0;
-            tableWrapLayout.topMargin = 0;
-            tableWrapLayout.rightMargin = 0;
-            tableWrapLayout.leftMargin = 0;
-            tableWrapLayout.horizontalSpacing = 0;
-            tableWrapLayout.bottomMargin = 0;
-            tableWrapLayout.numColumns = 3;
-            setLayout(tableWrapLayout);
-        }
-
-        Label lblOriginalLabelData = new Label(this, SWT.NONE);
-        lblOriginalLabelData.setLayoutData(new TableWrapData(TableWrapData.RIGHT, TableWrapData.TOP, 1, 1));
-        lblOriginalLabelData.setText("Original Label Data");
-
-        text = new Text(this, SWT.BORDER | SWT.READ_ONLY | SWT.WRAP | SWT.MULTI);
-        text.setEditable(false);
-        text.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-        new Label(this, SWT.NONE);
-
-        // TODO Auto-generated constructor stub
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.ui.mvc.AbstractCdmComposite#initInternalController(eu.etaxonomy.taxeditor.ui.element.CdmFormFactory, eu.etaxonomy.taxeditor.ui.element.ICdmFormElement)
-     */
-    @Override
-    protected void initInternalController(CdmFormFactory formFactory, ICdmFormElement parentElement) {
-        controller = new OriginalLabelDataController(formFactory, parentElement, this, SWT.NONE);
-    }
-
-    public Text getText() {
-        return text;
-    }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/mvc/OriginalLabelDataField.java
new file mode 100644 (file)
index 0000000..3603e4d
--- /dev/null
@@ -0,0 +1,113 @@
+// $Id$
+/**
+* Copyright (C) 2014 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.mvc;
+
+import java.util.List;
+
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.beans.BeansObservables;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.jface.databinding.swt.SWTObservables;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
+
+/**
+ * @author pplitzner
+ * @date 23.06.2014
+ *
+ */
+public class OriginalLabelDataField extends Composite {
+
+    private DataBindingContext m_bindingContext;
+    private DerivedUnit derivedUnit = null;
+    private final Text originalLabelInfoText;
+    private CdmFormFactory formFactory;
+
+    public OriginalLabelDataField(Composite parent, int style, DerivedUnit newDerivedUnit, CdmFormFactory formFactory) {
+        this(parent, style);
+        setDerivedUnit(newDerivedUnit);
+        this.formFactory = formFactory;
+    }
+
+    public OriginalLabelDataField(Composite parent, int style) {
+        super(parent, style);
+        setLayout(new GridLayout(2, false));
+
+        new Label(this, SWT.NONE).setText("Original Label Data");
+
+        originalLabelInfoText = new Text(this, SWT.BORDER | SWT.WRAP | SWT.MULTI);
+        originalLabelInfoText.addModifyListener(new ModifyListener() {
+            @Override
+            public void modifyText(ModifyEvent e) {
+                if(formFactory!=null){
+                    List<IPropertyChangeListener> propertyChangeListeners = formFactory.getPropertyChangeListeners();
+                    for (IPropertyChangeListener iPropertyChangeListener : propertyChangeListeners) {
+                        iPropertyChangeListener.propertyChange(new CdmPropertyChangeEvent(OriginalLabelDataField.this, e));
+                    }
+                }
+            }
+        });
+        originalLabelInfoText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+
+        if (derivedUnit != null) {
+            m_bindingContext = initDataBindings();
+        }
+    }
+
+    @Override
+    protected void checkSubclass() {
+        // Disable the check that prevents subclassing of SWT components
+    }
+
+    private DataBindingContext initDataBindings() {
+        IObservableValue originalLabelInfoObserveWidget = SWTObservables.observeText(originalLabelInfoText, SWT.Modify);
+        IObservableValue originalLabelInfoObserveValue = BeansObservables
+                .observeValue(derivedUnit, "originalLabelInfo");
+        //
+        DataBindingContext bindingContext = new DataBindingContext();
+        //
+        bindingContext.bindValue(originalLabelInfoObserveWidget, originalLabelInfoObserveValue, null, null);
+        //
+        return bindingContext;
+    }
+
+    public DerivedUnit getDerivedUnit() {
+        return derivedUnit;
+    }
+
+    public void setDerivedUnit(DerivedUnit newDerivedUnit) {
+        setDerivedUnit(newDerivedUnit, true);
+    }
+
+    public void setDerivedUnit(DerivedUnit newDerivedUnit, boolean update) {
+        derivedUnit = newDerivedUnit;
+        if (update) {
+            if (m_bindingContext != null) {
+                m_bindingContext.dispose();
+                m_bindingContext = null;
+            }
+            if (derivedUnit != null) {
+                m_bindingContext = initDataBindings();
+            }
+        }
+    }
+
+}
index 00c732c4d3d3be9796a19b4c0228801778c11c67..45eec3ef23ff560ba8b206ee017c1c7cb4345b1d 100644 (file)
@@ -16,6 +16,8 @@ import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
@@ -51,7 +53,7 @@ public class DerivedUnitGeneralDetailElement extends
        private TextWithLabelElement text_accessionNumber;
        private GatheringEventUnitElement element_elevation;
 
-       
+
 
        /**
         * @param formFactory
@@ -75,10 +77,12 @@ public class DerivedUnitGeneralDetailElement extends
                toggleableText_titleCache = formFactory.createToggleableTextField(
                                formElement, "Title Cache", entity.getTitleCache(),
                                entity.isProtectedTitleCache(), style);
-               combo_specorobstype = formFactory
-                               .createEnumComboElement(SpecimenOrObservationType.class,
-                                               formElement, style);
-               combo_specorobstype.setSelection(entity.getType());
+
+        if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS)){
+            combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement,
+                    style);
+            combo_specorobstype.setSelection(entity.getType());
+        }
                selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(),
                                formElement, "Country",
                                entity.getCountry(), EntitySelectionElement.NOTHING, style);
@@ -89,7 +93,7 @@ public class DerivedUnitGeneralDetailElement extends
                                entity.getExactLocation(), style);
                element_elevation = formFactory.createGatheringEventUnitElement(
                                formElement, "Elevation : ", entity, MinMaxTextSection.UnitType.ELEVATION,  style);
-               
+
                element_date = formFactory.createTimePeriodElement(formElement, "Date",
                                entity.getGatheringPeriod(), style);
                selection_collector = formFactory
index d73d9ae5c5d1e7dc0b3ff06ce1a89bb45beb5e8b..622e8b7f954eb16a433dcc6d3a72d3fc9d3edd5f 100644 (file)
@@ -14,6 +14,8 @@ import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.location.NamedArea;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.GatheringEventUnitElement;
@@ -65,8 +67,11 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
     protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
         toggleableText_titleCache = formFactory.createToggleableTextField(formElement, "Title Cache",
                 entity.getTitleCache(), entity.isProtectedTitleCache(), style);
-        combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
-        combo_specorobstype.setSelection(entity.getType());
+
+        if(!PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS)){
+            combo_specorobstype = formFactory.createEnumComboElement(SpecimenOrObservationType.class, formElement, style);
+            combo_specorobstype.setSelection(entity.getType());
+        }
         selection_country = formFactory.createSelectionElement(NamedArea.class, getConversationHolder(), formElement,
                 "Country", entity.getCountry(), EntitySelectionElement.NOTHING, style);
         languageText_locality = formFactory.createLanguageStringWithLabelElement(formElement, "Locality",
@@ -74,7 +79,7 @@ public class FieldUnitGeneralDetailElement extends AbstractCdmDetailElement<Deri
         element_point = formFactory.createPointElement(formElement, entity.getExactLocation(), style);
         element_elevation = formFactory.createGatheringEventUnitElement(
                                formElement, "Elevation : ", entity, MinMaxTextSection.UnitType.ELEVATION,  style);
-               
+
         element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
         selection_collector = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement,
                 "Collector", entity.getCollector(), EntitySelectionElement.ALL, style);
index 635dfd4226ed0bead42cbf829bcacc6fb284af7e..e4c1602b27a5eaa2319885d334bf5a6e3fd4eb38 100644 (file)
@@ -43,26 +43,7 @@ public class OriginalLabelDataSection extends AbstractCdmDetailSection<DerivedUn
      */
     @Override
     public String getHeading() {
-        return "Original Label Data: ";
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.forms.widgets.ExpandableComposite#setText(java.lang.String)
-     */
-    @Override
-    public void setText(String title) {
-        String text = getHeading();
-        if(getEntity()!=null){// && getEntity().getOriginalLabelData!=null){
-            String titleCache = getEntity().getTitleCache();
-            text += titleCache.substring(0, Math.min(10, titleCache.length()));
-            text += "...";
-        }
-        if(text!=null){
-            super.setText(text);
-        }
-        else{
-            super.setText(title);
-        }
+        return "Original Label Data";
     }
 
     /* (non-Javadoc)
@@ -70,7 +51,7 @@ public class OriginalLabelDataSection extends AbstractCdmDetailSection<DerivedUn
      */
     @Override
     protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
-        return formFactory.createOriginalLabelDataController(parentElement);
+        return formFactory.createOriginalLabelDataElement(parentElement);
     }
 
 }
index f03ea461d12c6aaedcf52fd31a41dfb45c268c87..fa019eabde18ce590b3a8bdeb42dd340e0ee4638 100644 (file)
@@ -9,6 +9,8 @@
 */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
+import org.eclipse.swt.widgets.Text;
+
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
@@ -33,6 +35,9 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
     private NumberWithLabelElement textConsensusSequenceLength;
     private TextWithLabelElement textBarcodeSequence;
     private TextWithLabelElement textGeneticAccessNo;
+    private UriWithLabelElement textNCBIUri;
+    private UriWithLabelElement textENAUri;
+    private UriWithLabelElement textDDBJUri;
     private TextWithLabelElement textBoldProcessID;
     private UriWithLabelElement textBoldUri;
 
@@ -54,16 +59,22 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
     @Override
     protected void createControls(ICdmFormElement formElement, Sequence entity, int style) {
         comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
-        textConsensusSequence = formFactory.createTextWithLabelElement(formElement, "Consensus Sequence 5'->3'", entity.getConsensusSequence().getString(), style);
-        textConsensusSequenceLength = formFactory.createNumberTextWithLabelElement(formElement, "Consensus Seq. Length", entity.getConsensusSequence().getLength(), style);
-        textConsensusSequenceLength.setEnabled(false);
+//        textConsensusSequence = formFactory.createTextWithLabelElement(formElement, "Consensus Sequence 5'->3'", entity.getConsensusSequence().getString(), style);
+//        textConsensusSequenceLength = formFactory.createNumberTextWithLabelElement(formElement, "Consensus Seq. Length", entity.getConsensusSequence().getLength(), style);
+//        ((Text) textConsensusSequenceLength.getMainControl()).setEditable(false);
         textBarcodeSequence = formFactory.createTextWithLabelElement(formElement, "Barcode Sequence 5'->3'", entity.getBarcodeSequencePart()==null?"":entity.getBarcodeSequencePart().getString(), style);
 
         textGeneticAccessNo = formFactory.createTextWithLabelElement(formElement, "Genetic Acc. No.", entity.getGeneticAccessionNumber(), style);
+        textNCBIUri = formFactory.createUriWithLabelElement(formElement, "NCBI URI", entity.getGenBankUri(), style);
+        ((Text) textNCBIUri.getMainControl()).setEditable(false);
+        textENAUri = formFactory.createUriWithLabelElement(formElement, "ENA URI", entity.getEmblUri(), style);
+        ((Text) textENAUri.getMainControl()).setEditable(false);
+        textDDBJUri = formFactory.createUriWithLabelElement(formElement, "DDBJ URI", entity.getDdbjUri(), style);
+        ((Text) textDDBJUri.getMainControl()).setEditable(false);
         textBoldProcessID = formFactory.createTextWithLabelElement(formElement, "BOLD Process ID", entity.getBoldProcessId(), style);
         textBoldUri = formFactory.createUriWithLabelElement(formElement, "BOLD URI", entity.getBoldUri(), style);
-        textBoldUri.setEnabled(false);
-
+        ((Text) textBoldUri.getMainControl()).setEditable(false);
+        ((Text) textBoldUri.getMainControl()).setToolTipText("Query BOLD");
     }
 
     /*
@@ -87,9 +98,6 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
             getEntity().setConsensusSequence(consensusSequence);
             textConsensusSequenceLength.setNumber(consensusSequence.getLength());
         }
-        else if(eventSource==textConsensusSequenceLength){
-            // this is a derived value and should not be edited
-        }
         else if(eventSource==textBarcodeSequence){
             SequenceString barcodeSequencePart = getEntity().getBarcodeSequencePart();
             if(barcodeSequencePart==null){
@@ -100,6 +108,16 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
         }
         else if(eventSource==textGeneticAccessNo){
             getEntity().setGeneticAccessionNumber(textGeneticAccessNo.getText());
+            if(textGeneticAccessNo.getText()!=null && !textGeneticAccessNo.getText().isEmpty()){
+                textNCBIUri.setUri(getEntity().getGenBankUri());
+                textENAUri.setUri(getEntity().getEmblUri());
+                textDDBJUri.setUri(getEntity().getDdbjUri());
+            }
+            else{
+                textNCBIUri.setText("");
+                textENAUri.setText("");
+                textDDBJUri.setText("");
+            }
         }
         else if(eventSource==textBoldProcessID){
             getEntity().setBoldProcessId(textBoldProcessID.getText());
@@ -110,9 +128,6 @@ public class SequenceGeneralDetailElement extends AbstractCdmDetailElement<Seque
                 textBoldUri.setText("");
             }
         }
-        else if(eventSource==textBoldUri){
-            //cannot be set because it is generated from the genetic access number and a base URI
-        }
     }
 
 }
index 29d858118abee0684e953b74abfc1c67a627c269..e7e014a1be012519800d0b078e1e6536a1c22e09 100644 (file)
@@ -24,7 +24,6 @@ import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.cdm.model.molecular.Sequence;
 import eu.etaxonomy.cdm.model.molecular.SingleRead;
-import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
@@ -126,7 +125,9 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
      * @return
      */
     public String getDerivateText(Object element){
+        TreeNode parentNode = null;
         if(element instanceof TreeNode){
+            parentNode = ((TreeNode) element).getParent();
             //unwrap specimen from TreeNode
             element = ((TreeNode) element).getValue();
         }
@@ -155,17 +156,17 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
                 label += mediaSpecimen.getMediaSpecimen().getTitle()!=null?mediaSpecimen.getMediaSpecimen().getTitle().getText()+", ":"[no motif]";
                 label += mediaSpecimen.getMediaSpecimen().getArtist()!=null?mediaSpecimen.getMediaSpecimen().getArtist()+", ":"";
             }
-            label += mediaSpecimen.getAccessionNumber()!=null?mediaSpecimen.getAccessionNumber()+", ":"";
-            Collection collection = mediaSpecimen.getCollection();
+            eu.etaxonomy.cdm.model.occurrence.Collection collection = mediaSpecimen.getCollection();
             if(collection!=null){
                 label += collection.getName()!=null?collection.getName()+" ":"";
+                label += collection.getCode()!=null?"("+collection.getCode()+"), ":"";
             }
+            label += mediaSpecimen.getAccessionNumber()!=null?mediaSpecimen.getAccessionNumber()+", ":"";
         }
         else if(element instanceof DnaSample
                 || (element instanceof DerivedUnit
                         && ((SpecimenOrObservationBase<?>) element).getRecordBasis()==SpecimenOrObservationType.DnaSample)){
-            //TODO implement
-            label += element.toString();
+            label += "[no sample designation]";
 
         }
         else if(element instanceof DerivedUnit){
@@ -175,12 +176,13 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
                 if(fieldUnits!=null && !fieldUnits.isEmpty()){
                     FieldUnit fieldUnit = fieldUnits.iterator().next();
                     GatheringEvent gatheringEvent = fieldUnit.getGatheringEvent();
+//                    gatheringEvent = HibernateProxyHelper.deproxy(gatheringEvent, GatheringEvent.class);
                     if(gatheringEvent!=null){
                         label += gatheringEvent.getCollector()!=null?gatheringEvent.getCollector()+", ":"";
                     }
                     label += fieldUnit.getFieldNumber()!=null?fieldUnit.getFieldNumber()+", ":"";
                 }
-                Collection collection = derivedUnit.getCollection();
+                eu.etaxonomy.cdm.model.occurrence.Collection collection = derivedUnit.getCollection();
                 if(collection!=null){
                     label += collection.getName()!=null?collection.getName()+" ":"";
                     label += collection.getCode()!=null?"("+collection.getCode()+"), ":"";
@@ -190,18 +192,22 @@ public class DerivateLabelProvider extends ColumnLabelProvider {
             }
             else if(derivedUnit.getRecordBasis()==SpecimenOrObservationType.TissueSample){
                 //TODO: implement
-//                kindofTissue + SampleDesignation
+                label += "kindofTissue? + [no sample designation]";
             }
         }
         else if(element instanceof Sequence){
             Sequence sequence = (Sequence)element;
-            label += "SampleDesignation?"+", ";
+            label += "[no sample designation]"+", ";
             label += sequence.getDnaMarker()!=null?sequence.getDnaMarker():"";
         }
         else if(element instanceof SingleRead){
             SingleRead singleRead = (SingleRead)element;
+            label += "[no sample designation]"+", ";
             label += singleRead.getPrimer()!=null?singleRead.getPrimer().getLabel()+", ":"";
-            label += "Marker?";
+            if(parentNode!=null && parentNode.getValue() instanceof Sequence){
+                Sequence sequence = (Sequence) parentNode.getValue();
+                label += sequence.getDnaMarker()!=null?sequence.getDnaMarker():"";
+            }
         }
         else if(element instanceof SpecimenOrObservationBase){
             SpecimenOrObservationBase<?> derivate = (SpecimenOrObservationBase<?>) element;
index 536c3b2b78694396052c43ecc3fca9217bf3d5df..ea5a9ccf9a9f664a6b38a62d4ef9fb3cea53ef0b 100644 (file)
@@ -52,13 +52,15 @@ public class DerivateSearchCompositeController implements Listener{
     private final DerivateSearchComposite derivateSearchComposite;
     private IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase<DerivedUnitFacadeCacheStrategy>> configurator;
     private EnumTermComboController<SpecimenOrObservationType> enumTermComboController;
-    private DerivateLabelProvider labelProvider;
-
+    private final DerivateSearchView derivateSearchView;
+       private DerivateLabelProvider labelProvider;
     /**
      * @param parent
+     * @param derivateSearchView
      */
-    public DerivateSearchCompositeController(Composite parent) {
+    public DerivateSearchCompositeController(Composite parent, DerivateSearchView derivateSearchView) {
         this.derivateSearchComposite = new DerivateSearchComposite(parent, SWT.NONE);
+        this.derivateSearchView = derivateSearchView;
         init();
     }
 
@@ -106,6 +108,10 @@ public class DerivateSearchCompositeController implements Listener{
     }
 
     private void searchDerivates(){
+        if(!derivateSearchView.getConversationHolder().isBound()){
+            derivateSearchView.setFocus(); //rebind the conversation
+        }
+
         configurator.setTitleSearchString(derivateSearchComposite.getSearchField().getText());
         SpecimenOrObservationType type = enumTermComboController.getSelection();
         //filter by specimen type
@@ -151,6 +157,7 @@ public class DerivateSearchCompositeController implements Listener{
     public void reset(){
         derivateSearchComposite.getResultViewer().setInput(null);
         derivateSearchComposite.getSearchField().setText("");
+        enumTermComboController.setSelection(SpecimenOrObservationType.Unknown);
         derivateSearchComposite.getComboDerivateType().deselectAll();
     }
 
index 781bf6f0319a9a581d728fece4d76d6624df6c1c..7189a81df0b558398b385b18551152241be5cf45 100644 (file)
@@ -41,7 +41,7 @@ public class DerivateSearchView extends ViewPart implements IContextListener {
      */
     @Override
     public void createPartControl(Composite parent) {
-        derivateSearchCompositeController = new DerivateSearchCompositeController(parent);
+        derivateSearchCompositeController = new DerivateSearchCompositeController(parent, this);
         getSite().setSelectionProvider(derivateSearchCompositeController.getResultViewer());
         derivateSearchCompositeController.setEnabled(CdmStore.isActive());
     }
index 207e1e5edb7636da4a668fd9d9e6f4dcf049f5ab..697991efdbebbcf119dc32e4a928f1340be6d6eb 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.view.detail;
 
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.forms.SectionPart;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
@@ -120,15 +121,23 @@ public class CdmSectionPart<T> extends SectionPart implements
                if (event != null) {
 
                        Object eventSource = event.getSource();
+                       Control[] children = formSection.getLayoutComposite().getChildren();
+                       boolean containsElement = false;
+                       for (Control control : children) {
+                           if(eventSource.equals(control)){
+                               containsElement = true;
+                               break;
+                           }
+            }
+                       if(containsElement){
+                           markDirty();
+                       }
 
-                       if (formSection.equals(eventSource)){
+                       else if (formSection.equals(eventSource)){
                                markDirty();
                        }
-                       if((
-                                               (eventSource instanceof ICdmFormElement)
-                                               && formSection.containsFormElement((ICdmFormElement) eventSource))
-                                               ) {
-                               markDirty();
+                       else if(((eventSource instanceof ICdmFormElement)&& formSection.containsFormElement((ICdmFormElement) eventSource))) {
+                           markDirty();
                        }
                }
        }
index 1eacc7cf85ac35ea51feb7766357d5bd821f4f07..d52b5b19652facf363dc8d581834fb310a3ac39e 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: 3.0.10.qualifier
+Bundle-Version: 3.4.0.qualifier
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: EDIT
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
index cbabcdb93c6223f3fb038b6471c6d7bd5b3f5f40..2fdee3be14e73bed09e76914a8c237047b16dcce 100644 (file)
@@ -4,7 +4,7 @@
        <parent>\r
                <groupId>eu.etaxonomy</groupId>\r
                <artifactId>taxeditor-parent</artifactId>\r
-               <version>3.0.12-SNAPSHOT</version>\r
+               <version>3.4.0-SNAPSHOT</version>\r
        </parent>\r
        <modelVersion>4.0.0</modelVersion>\r
        <artifactId>eu.etaxonomy.taxeditor.test</artifactId>\r
index cf45cfff69b70d223a2e9bc504587751ce523394..8d1923a5b0723554cb9d3ab31fd34935df20b31a 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="3.3.8.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="EDIT Taxonomic Editor" uid="eu.etaxonomy.taxeditor.product" id="eu.etaxonomy.taxeditor.application.eu_etaxonomy_taxeditor_product" application="eu.etaxonomy.taxeditor.application.application" version="3.4.0.qualifier" useFeatures="true" includeLaunchers="true">
 
    <aboutInfo>
       <image path="/eu.etaxonomy.taxeditor.application/icons/256color_48x48.gif"/>
    <vm>
    </vm>
 
-   <!--license>
-        <url>http://www.mozilla.org/MPL/</url>
-        <text>
-   The contents of this file are subject to the Mozilla Public License Version 1.1 (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with the License. You may obtain a copy of the License at
-http://www.mozilla.org/MPL/
-
-Software distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
-         </text>
-   </license -->
-
    <plugins>
    </plugins>
 
index 22a6e9d99780b7e63c50271314b595314bf7eeef..9ab80b1d52a950ed76981c18b6adc45cee49944f 100644 (file)
@@ -3,7 +3,7 @@
   <parent>
     <groupId>eu.etaxonomy</groupId>
     <artifactId>taxeditor-parent</artifactId>
-    <version>3.3.8-SNAPSHOT</version>
+    <version>3.4.0-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/pom.xml b/pom.xml
index 6c7798a66459587a4f99b9f848108a4317cd4c41..3b7ab00e59512949606756d7c9dd688075c681d1 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
   </prerequisites>
   <groupId>eu.etaxonomy</groupId>
   <artifactId>taxeditor-parent</artifactId>
-  <version>3.3.8-SNAPSHOT</version>
+  <version>3.4.0-SNAPSHOT</version>
   <name>EDIT Taxonomic Editor</name>
   <description>The Taxonomic Editor for EDIT's platform for
     cybertaxonomy</description>
   <properties>
     <java.codelevel>1.6</java.codelevel>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <cdmlib.version>3.3.8-SNAPSHOT</cdmlib.version>
+    <cdmlib.version>3.4.0-SNAPSHOT</cdmlib.version>
     <!-- TODO can we use project.version ????? -->
     <tycho.version>0.14.0</tycho.version>
-    <taxeditor.version>3.3.8-SNAPSHOT</taxeditor.version>
+    <taxeditor.version>3.4.0-SNAPSHOT</taxeditor.version>
     <update.dir>snapshot</update.dir>
   </properties>
   <modules>