Merge branch 'move-to-luna' into remoting-4.0
authorCherian Mathew <c.mathew@bgbm.org>
Fri, 22 May 2015 08:54:21 +0000 (10:54 +0200)
committerCherian Mathew <c.mathew@bgbm.org>
Fri, 22 May 2015 08:54:21 +0000 (10:54 +0200)
Conflicts:
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.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/dataimport/transientServices/TransientTaxonService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapterAssistant.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveTaxonHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/MatchStrategyConfigurator.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
eu.etaxonomy.taxeditor.test/.classpath
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF

33 files changed:
1  2 
.gitattributes
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java
eu.etaxonomy.taxeditor.cdmlib/.classpath
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/build.properties
eu.etaxonomy.taxeditor.cdmlib/pom.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/MultiPageTaxonEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.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/dataimport/transientServices/TransientTaxonService.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/DeleteTaxonDescriptionOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TreeNodeDropAdapterAssistant.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveTaxonHandler.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/ChangeAcceptedTaxonToSynonymOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExportToFileDestinationWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
eu.etaxonomy.taxeditor.test/.classpath
eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF

diff --cc .gitattributes
@@@ -400,8 -374,8 +403,9 @@@ eu.etaxonomy.taxeditor.editor/p2.inf -t
  eu.etaxonomy.taxeditor.editor/plugin.xml -text
  eu.etaxonomy.taxeditor.editor/pom.xml -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/CdmDataTransfer.java -text
 +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/CdmEntitySessionInput.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/ChooseFromMultipleTaxonNodesDialog.java -text
+ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorCdmViewer.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorStateManager.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/IDropTargetable.java -text
@@@ -1376,8 -1358,10 +1390,9 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostOperation.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/AbstractPostTaxonOperation.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/operation/IPostOperationEnabled.java -text
 -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/MatchStrategyConfigurator.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/parser/ParseHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferences.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmStorePropertyTester.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DefaultFeatureTreePreferenecs.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/DescriptionPreferences.java -text
@@@ -1440,13 -1427,14 +1458,15 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/TermComboElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/VocabularyComboElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DefaultLanguageDialog.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorComposite.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteConfiguratorDialog.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/DeleteTaxonConfiguratorDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/LoginDialog.java -text
 +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/UriDialog.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteConfiguratorComposite.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteConfiguratorDialog.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteSpecimenConfiguratorComposite.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/deleteConfigurator/DeleteTaxonConfiguratorComposite.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmEnumSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AgentSelectionDialog.java -text
@@@ -183,22 -192,24 +183,24 @@@ bin.includes = META-INF/,
                 lib/poi-3.10-FINAL.jar,\\r
                 lib/poi-ooxml-3.10-FINAL.jar,\\r
                 lib/poi-ooxml-schemas-3.10-FINAL.jar,\\r
--               lib/xmlbeans-2.3.0.jar,\\r
-                lib/cdmlib-commons-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-ext-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-io-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-model-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-persistence-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-print-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-remote-3.4.1-SNAPSHOT.jar,\\r
-                lib/cdmlib-services-3.4.1-SNAPSHOT.jar,\\r
-                lib/swagger-annotations-1.3.5.jar,\\r
-                lib/unitils-core-3.4.2.jar,\\r
-                lib/unitils-database-3.4.2.jar,\\r
-                lib/unitils-dbmaintainer-3.4.2.jar,\\r
-                lib/unitils-dbunit-3.4.2.jar,\\r
-                lib/unitils-spring-3.4.2.jar,\\r
-                lib/cdm-server-3.5.2-SNAPSHOT.jar\r
++               lib/xmlbeans-2.3.0.jar,\
+                lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-commons-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-ext-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-io-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-model-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-print-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-remote-3.5.2-SNAPSHOT.jar,\\r
+                lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar,\\r
+                lib/cdmlib-services-3.5.2-SNAPSHOT.jar,\\r
 -               lib/swagger-annotations-1.3.5.jar\r
++               lib/swagger-annotations-1.3.5.jar
  \r
  jars.compile.order = .\r
  output.. = bin/\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
 +  <name>CDM Library Bundle</name>\r
 +  <description>Cdm Library Plugin Taxonomic Editor</description>\r
 +\r
    <build>\r
 -    <plugins>      \r
 -      <plugin>\r
 -      <groupId>org.apache.maven.plugins</groupId>\r
 -      <artifactId>maven-dependency-plugin</artifactId>\r
 -      <version>2.4</version>\r
 -      <executions>\r
 -        <execution>\r
 -          <id>copy-dependencies</id>\r
 -          <phase>validate</phase>\r
 -          <goals>\r
 -            <goal>copy-dependencies</goal>\r
 -          </goals>\r
 -          <configuration>\r
 -            <includeArtifactIds>cdmlib-commons,cdmlib-model,cdmlib-persistence,cdmlib-remote,cdmlib-print,cdmlib-services,cdmlib-ext,cdmlib-io</includeArtifactIds>\r
 -            <outputDirectory>lib</outputDirectory>\r
 -            <overWriteReleases>true</overWriteReleases>\r
 -            <overWriteSnapshots>true</overWriteSnapshots>\r
 -            <excludeTransitive>true</excludeTransitive>             \r
 -          </configuration>\r
 -        </execution>\r
 -        <execution>\r
 -          <id>copy-dependencies-sources</id>\r
 -          <phase>validate</phase>\r
 -          <goals>\r
 -            <goal>copy-dependencies</goal>\r
 -          </goals>\r
 -          <configuration>\r
 -            <classifier>sources</classifier>\r
 -            <includeArtifactIds>cdmlib-commons,cdmlib-model,cdmlib-persistence,cdmlib-remote,cdmlib-print,cdmlib-services,cdmlib-ext,cdmlib-io</includeArtifactIds>\r
 -            <outputDirectory>lib</outputDirectory>\r
 -            <overWriteReleases>true</overWriteReleases>\r
 -            <overWriteSnapshots>true</overWriteSnapshots>\r
 -            <excludeTransitive>true</excludeTransitive>\r
 -            <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>\r
 -          </configuration>\r
 -        </execution>\r
 -      </executions>\r
 +    <pluginManagement>\r
 +      <plugins>\r
 +        <plugin>\r
 +          <groupId>org.apache.maven.plugins</groupId>\r
 +          <artifactId>maven-surefire-plugin</artifactId>\r
 +          <version>2.7</version>\r
 +        </plugin>\r
 +      </plugins>\r
 +    </pluginManagement>\r
 +    <plugins>\r
-       <plugin>\r
++      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>\r
 +        <artifactId>maven-dependency-plugin</artifactId>\r
 +        <version>2.4</version>\r
 +        <executions>\r
 +          <execution>\r
 +            <id>copy-dependencies</id>\r
 +            <phase>validate</phase>\r
 +            <goals>\r
 +              <goal>copy-dependencies</goal>\r
 +            </goals>\r
 +            <configuration>\r
 +              <excludeArtifactIds>\r
 +                cdmlib-remote-webapp\r
 +              </excludeArtifactIds>\r
 +              <includeArtifactIds>\r
 +                cdmlib-services,cdmlib-commons,cdmlib-persistence,cdmlib-ext,cdmlib-model,cdmlib-io,cdmlib-print,cdmlib-remote,cdm-server\r
 +              </includeArtifactIds>\r
 +              <outputDirectory>${basedir}/lib</outputDirectory>\r
 +              <overWriteReleases>true</overWriteReleases>\r
 +              <overWriteSnapshots>true</overWriteSnapshots>\r
 +              <excludeTransitive>true</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
++        </executions>
        </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>remove-existing-jars</id>\r
 -          <phase>clean</phase>\r
 -          <goals>\r
 -            <goal>run</goal>\r
 -          </goals>\r
 -          <configuration>\r
 -            <target>\r
 -              <echo>Remove all cdmlib jars</echo>\r
 -              <delete>\r
 -                <fileset dir="./lib" includes="cdmlib-*"/>\r
 -              </delete>\r
 -            </target> \r
 -          </configuration>\r
 -        </execution>\r
 -        <execution>\r
 -          <id>update-snapshot-jar-names</id>\r
 -          <phase>validate</phase>\r
 -          <goals>\r
 -            <goal>run</goal>\r
 -          </goals>\r
 -          <configuration>           \r
 -            <target>\r
 -              <echo>Update cdmlib jars to SNAPSHOT when build with timestamp</echo>\r
 -              <move todir="./lib">\r
 -                <fileset dir="./lib" />\r
 -                <mapper type="regexp"\r
 -                        from="(^cdmlib\-.*\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\.jar)" to="\1SNAPSHOT\2" />\r
 -              </move>                           \r
 -              <move todir="./lib">\r
 -                <fileset dir="./lib" />\r
 -                <mapper type="regexp"\r
 -                        from="(^cdmlib\-.*\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\-sources\.jar)" to="\1SNAPSHOT\2" />\r
 -              </move>                           \r
 -            </target> \r
 -          </configuration>\r
 -        </execution>\r
 -      </executions>\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
 +            <phase>validate</phase>\r
 +            <goals>\r
 +              <goal>run</goal>\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\-.*)\-[0-9]\.[0-9]\.[0-9]\-SNAPSHOT(\.war)"\r
 +                    to="\1\2" />\r
 +                </move>\r
 +                <move todir="./src/main/resources/etc/jetty">\r
 +                  <fileset dir="./src/main/resources/etc/jetty" />\r
 +                  <mapper type="regexp"\r
 +                    from="(^cdmlib\-.*)\-[0-9]\.[0-9]\.[0-9]\-[0-9.-]+(\.war)"\r
 +                    to="\1\2" />\r
 +                </move>\r
 +                <echo>Update cdmlib jars to SNAPSHOT when build with\r
 +                  timestamp\r
 +                </echo>\r
 +                <move todir="./lib">\r
 +                  <fileset dir="./lib" />\r
 +                  <mapper type="regexp"\r
 +                    from="(^cdmlib\-.*\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\.jar)"\r
 +                    to="\1SNAPSHOT\2" />\r
 +                </move>\r
 +                <move todir="./lib">\r
 +                  <fileset dir="./lib" />\r
 +                  <mapper type="regexp"\r
 +                    from="(^cdm\-server\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\.jar)"\r
 +                    to="\1SNAPSHOT\2" />\r
 +                </move>\r
 +                <move todir="./lib">\r
 +                  <fileset dir="./lib" />\r
 +                  <mapper type="regexp"\r
 +                    from="(^cdmlib\-.*\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\-sources\.jar)"\r
 +                    to="\1SNAPSHOT\2" />\r
 +                </move>\r
 +                <move todir="./lib">\r
 +                  <fileset dir="./lib" />\r
 +                  <mapper type="regexp"\r
 +                    from="(^cdm\-server\-[0-9]\.[0-9]\.[0-9]\-)[0-9.-]+(\-sources\.jar)"\r
 +                    to="\1SNAPSHOT\2" />\r
 +                </move>\r
 +              </target>\r
 +            </configuration>\r
 +          </execution>\r
 +        </executions>\r
        </plugin>\r
      </plugins>\r
    </build>\r
        <artifactId>cdmlib-ext</artifactId>\r
        <version>${cdmlib.version}</version>\r
      </dependency>\r
 -      <dependency>\r
 +\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-server</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-util</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-xml</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-servlet</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-webapp</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-security</artifactId> -->\r
 +    <!-- <version>9.1.3.v20140225</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-http</artifactId> -->\r
 +    <!-- <version>${jetty.version}</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>org.eclipse.jetty</groupId> -->\r
 +    <!-- <artifactId>jetty-io</artifactId> -->\r
 +    <!-- <version>${jetty.version}</version> -->\r
 +    <!-- </dependency> -->\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>javax.servlet</groupId> -->\r
 +    <!-- <artifactId>javax.servlet-api</artifactId> -->\r
 +    <!-- <version>3.1.0</version> -->\r
 +    <!-- </dependency> -->\r
 +\r
 +    <!-- <dependency> -->\r
 +    <!-- <groupId>javax.servlet</groupId> -->\r
 +    <!-- <artifactId>jsp-api</artifactId> -->\r
 +    <!-- <version>2.0</version> -->\r
 +    <!-- </dependency> -->\r
 +\r
 +    <dependency>\r
 +      <groupId>net.sf.ehcache</groupId>\r
 +      <artifactId>ehcache-core</artifactId>\r
 +      <version>2.4.3</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate</groupId>\r
 +      <artifactId>hibernate-core</artifactId>\r
 +      <version>4.1.10.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate.common</groupId>\r
 +      <artifactId>hibernate-commons-annotations</artifactId>\r
 +      <version>4.0.1.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate</groupId>\r
 +      <artifactId>hibernate-search-engine</artifactId>\r
 +      <version>4.2.0.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate.javax.persistence</groupId>\r
 +      <artifactId>hibernate-jpa-2.0-api</artifactId>\r
 +      <version>1.0.1.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate</groupId>\r
 +      <artifactId>hibernate-envers</artifactId>\r
 +      <version>4.1.10.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hibernate</groupId>\r
 +      <artifactId>hibernate-entitymanager</artifactId>\r
 +      <version>4.1.10.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>dom4j</groupId>\r
 +      <artifactId>dom4j</artifactId>\r
 +      <version>1.6</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.jadira.usertype</groupId>\r
 +      <artifactId>usertype.jodatime</artifactId>\r
 +      <version>2.0.1</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.jadira.usertype</groupId>\r
 +      <artifactId>usertype.spi</artifactId>\r
 +      <version>2.0.1</version>\r
 +    </dependency>\r
 +\r
 +    <dependency>\r
 +      <groupId>junit</groupId>\r
 +      <artifactId>junit</artifactId>\r
 +      <version>4.11</version>\r
 +      <scope>test</scope>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>log4j</groupId>\r
 +      <artifactId>log4j</artifactId>\r
 +      <version>1.2.17</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.jdom</groupId>\r
 +      <artifactId>jdom</artifactId>\r
 +      <version>1.1.3</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.context</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.context.support</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.aspects</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.test</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.beans</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.transaction</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.web</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.core</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.aop</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.expression</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.orm</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework</groupId>\r
 +      <artifactId>org.springframework.jdbc</artifactId>\r
 +      <version>3.2.2.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework.security</groupId>\r
 +      <artifactId>spring-security-core</artifactId>\r
 +      <version>3.1.3.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework.security</groupId>\r
 +      <artifactId>spring-security-config</artifactId>\r
 +      <version>3.1.3.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.springframework.security</groupId>\r
 +      <artifactId>spring-security-remoting</artifactId>\r
 +      <version>3.1.3.RELEASE</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.jboss.logging</groupId>\r
 +      <artifactId>jboss-logging</artifactId>\r
 +      <version>3.1.3.GA</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.hamcrest</groupId>\r
 +      <artifactId>hamcrest-core</artifactId>\r
 +      <version>1.3</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>com.mchange</groupId>\r
 +      <artifactId>c3p0</artifactId>\r
 +      <version>0.9.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.jboss.spec.javax.transaction</groupId>\r
 +      <artifactId>jboss-transaction-api_1.1_spec</artifactId>\r
 +      <version>1.0.0.Final</version>\r
 +    </dependency>\r
 +    <dependency>\r
        <groupId>org.aspectj</groupId>\r
        <artifactId>aspectjrt</artifactId>\r
 -        <version>1.7.1</version>\r
 -      </dependency>\r
 -        <dependency>\r
 -        <groupId>org.aspectj</groupId>\r
 -        <artifactId>aspectjweaver</artifactId>\r
 -        <version>1.7.1</version>\r
 -       </dependency>\r
 -       \r
 -    <!--  for ikey-plus \r
 -       TODO this should not be needed but the utils class contained  in this jar \r
 -       seems to be loaded as bean by spring\r
 -    -->\r
 +      <version>1.7.1</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>commons-logging</groupId>\r
 +      <artifactId>commons-logging</artifactId>\r
 +      <version>1.1.1</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>commons-lang</groupId>\r
 +      <artifactId>commons-lang</artifactId>\r
 +      <version>2.6</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>aopalliance</groupId>\r
 +      <artifactId>aopalliance</artifactId>\r
 +      <version>1.0</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>joda-time</groupId>\r
 +      <artifactId>joda-time</artifactId>\r
 +      <version>2.1</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>com.ibm.lsid</groupId>\r
 +      <artifactId>lsid-client</artifactId>\r
 +      <version>1.1.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>com.ibm.lsid</groupId>\r
 +      <artifactId>lsid-server</artifactId>\r
 +      <version>1.1.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.apache.lucene</groupId>\r
 +      <artifactId>lucene-core</artifactId>\r
 +      <version>3.6.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.slf4j</groupId>\r
 +      <artifactId>slf4j-api</artifactId>\r
 +      <version>1.7.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.javassist</groupId>\r
 +      <artifactId>javassist</artifactId>\r
 +      <version>3.17.1-GA</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>au.com.bytecode</groupId>\r
 +      <artifactId>opencsv</artifactId>\r
 +      <version>2.4</version>\r
 +    </dependency>\r
 +\r
 +    <!-- For Unit Tests Start -->\r
 +\r
 +    <dependency>\r
 +      <groupId>org.unitils</groupId>\r
 +      <artifactId>unitils-core</artifactId>\r
 +      <version>3.4.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.unitils</groupId>\r
 +      <artifactId>unitils-spring</artifactId>\r
 +      <version>3.4.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.unitils</groupId>\r
 +      <artifactId>unitils-database</artifactId>\r
 +      <version>3.4.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>commons-dbcp</groupId>\r
 +      <artifactId>commons-dbcp</artifactId>\r
 +      <version>1.4</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>commons-pool</groupId>\r
 +      <artifactId>commons-pool</artifactId>\r
 +      <version>1.5.4</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.unitils</groupId>\r
 +      <artifactId>unitils-dbmaintainer</artifactId>\r
 +      <version>3.4.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>com.h2database</groupId>\r
 +      <artifactId>h2</artifactId>\r
 +      <version>1.4.181</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.unitils</groupId>\r
 +      <artifactId>unitils-dbunit</artifactId>\r
 +      <version>3.4.2</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>org.dbunit</groupId>\r
 +      <artifactId>dbunit</artifactId>\r
 +      <version>2.4.9</version>\r
 +    </dependency>\r
 +    <!-- For Unit Tests End -->\r
 +\r
 +    <!-- For Hibernate Mapping Start -->\r
 +    <dependency>\r
 +      <groupId>wsdl4j</groupId>\r
 +      <artifactId>wsdl4j</artifactId>\r
 +      <version>1.6.3</version>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>javax.validation</groupId>\r
 +      <artifactId>validation-api</artifactId>\r
 +      <version>1.1.0.Final</version>\r
 +    </dependency>\r
 +    <!-- For Hibernate Mapping End -->\r
    </dependencies>\r
- </project>
 -</project>\r
++</project>
@@@ -1,47 -1,39 +1,47 @@@
  <?xml version="1.0" encoding="UTF-8"?>\r
  <beans xmlns="http://www.springframework.org/schema/beans"\r
 -      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
 +      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \r
        xmlns:context="http://www.springframework.org/schema/context"\r
--      xmlns:tx="http://www.springframework.org/schema/tx"\r
 -      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 -    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
 -    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">\r
 -      \r
 -      \r
 -    <!--  <bean id="remoteTermInitializer" class="eu.etaxonomy.cdm.remote.service.RemoteTermInitializer"/>-->\r
 -        \r
 -      <context:annotation-config/>\r
 -    \r
 -    <import resource="classpath:/eu/etaxonomy/cdm/httpInvokerServiceClients.xml"/>\r
 -    \r
 -    <bean id="cdmApplicationRemoteConfiguration" class="eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration"/>    \r
 -    \r
 -      <import resource="classpath:/eu/etaxonomy/cdm/remoting_services_security.xml"/>         \r
 -      \r
 -      <bean id="cdmTermCacher" class="eu.etaxonomy.cdm.api.cache.CdmTermCacher"/>\r
 -      \r
++      xmlns:tx="http://www.springframework.org/schema/tx"
 +      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 +    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
 +    http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-2.5.xsd">\r
 +\r
 +\r
 +      <!-- <bean id="remoteTermInitializer" class="eu.etaxonomy.cdm.remote.service.RemoteTermInitializer"/> -->\r
 +\r
 +      <context:annotation-config />\r
 +\r
 +      <import resource="classpath:/eu/etaxonomy/cdm/httpInvokerServiceClients.xml" />\r
 +\r
 +      <context:component-scan base-package="eu/etaxonomy/taxeditor/session" />\r
 +\r
 +      <bean id="cdmApplicationRemoteConfiguration"\r
 +              class="eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration" />\r
 +\r
 +      <import resource="classpath:/eu/etaxonomy/cdm/remoting_services_security.xml" />\r
 +\r
 +      <context:component-scan base-package="eu.etaxonomy.cdm.api.cache">\r
 +              <!-- FIXME:Remoting Temp workaround to make remoting work -->\r
 +              <context:exclude-filter type="regex"\r
 +                      expression="eu\.etaxonomy\.cdm\.api\.cache\.CdmTermCacher" />\r
 +      </context:component-scan>\r
 +\r
 +      <context:component-scan base-package="eu.etaxonomy.taxeditor.service"/>\r
\r
++
        \r
 -      <!-- EditGeoService was moved to ext. Therefore it will not be found by the default component scan.
 -      We added it here because the Editor needs it. However, this is only a temporary solution.
 -      In the future we want to pass in an application context with the editor. -->\r
 +      <!-- EditGeoService was moved to ext. Therefore it will not be found by \r
 +              the default component scan. We added it here because the Editor needs it. \r
 +              However, this is only a temporary solution. In the future we want to pass \r
 +              in an application context with the editor. -->\r
  \r
  \r
 -      <!-- <bean id="conversationHolder" class="eu.etaxonomy.cdm.api.conversation.ConversationHolder" scope="prototype"/> -->\r
 +      <!-- <bean id="conversationHolder" class="eu.etaxonomy.cdm.api.conversation.ConversationHolder" \r
 +              scope="prototype"/> -->\r
  \r
        <!-- TODO move to io -->\r
 -<!-- \r
 -      <context:component-scan base-package="eu/etaxonomy/cdm/io">\r
 -              <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.berlinModel.*" />\r
 -      </context:component-scan>\r
 - -->\r
 +      <!-- <context:component-scan base-package="eu/etaxonomy/cdm/io"> <context:exclude-filter \r
 +              type="regex" expression="eu\.etaxonomy\.cdm\.io\.berlinModel.*" /> </context:component-scan> -->\r
        <!-- enable the configuration of transactional behavior based on annotations -->\r
        <!-- <tx:annotation-driven transaction-manager="transactionManager"/> -->\r
  \r
@@@ -9,49 -9,51 +9,16 @@@
  
  package eu.etaxonomy.taxeditor.editor.name;
  
++import java.awt.Color;
++import java.awt.Composite;
++import java.awt.Menu;
++import java.awt.dnd.DropTarget;
  import java.util.ArrayList;
  import java.util.HashSet;
  import java.util.List;
  import java.util.Set;
  
--import org.apache.commons.lang.StringUtils;
--import org.eclipse.core.commands.operations.IUndoContext;
--import org.eclipse.core.runtime.IProgressMonitor;
--import org.eclipse.core.runtime.OperationCanceledException;
--import org.eclipse.jface.action.MenuManager;
--import org.eclipse.jface.viewers.ISelection;
--import org.eclipse.jface.viewers.ISelectionProvider;
--import org.eclipse.jface.viewers.StructuredSelection;
--import org.eclipse.swt.dnd.DND;
--import org.eclipse.swt.dnd.DropTarget;
--import org.eclipse.swt.dnd.Transfer;
--import org.eclipse.swt.graphics.Color;
--import org.eclipse.swt.widgets.Composite;
--import org.eclipse.swt.widgets.Menu;
--import org.eclipse.ui.IEditorInput;
--import org.eclipse.ui.IEditorSite;
--import org.eclipse.ui.ISelectionListener;
--import org.eclipse.ui.ISelectionService;
--import org.eclipse.ui.IWorkbenchPart;
--import org.eclipse.ui.IWorkbenchPartReference;
--import org.eclipse.ui.PartInitException;
--import org.eclipse.ui.PlatformUI;
--import org.eclipse.ui.forms.ManagedForm;
--import org.eclipse.ui.forms.widgets.FormToolkit;
--import org.eclipse.ui.forms.widgets.ScrolledForm;
--import org.eclipse.ui.forms.widgets.TableWrapLayout;
--import org.eclipse.ui.part.EditorPart;
--
--import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
--import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 -import eu.etaxonomy.cdm.api.service.ITaxonService;
--import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
--import eu.etaxonomy.cdm.model.common.CdmBase;
--import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
--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.editor.CdmDataTransfer;
 -import eu.etaxonomy.taxeditor.editor.EditorUtil;
  import eu.etaxonomy.taxeditor.editor.IDropTargetable;
  import eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage;
  import eu.etaxonomy.taxeditor.editor.ISecuredEditor;
@@@ -72,9 -74,8 +39,7 @@@ import eu.etaxonomy.taxeditor.model.IPa
  import eu.etaxonomy.taxeditor.model.TaxeditorPartService;
  import eu.etaxonomy.taxeditor.preference.Resources;
  import eu.etaxonomy.taxeditor.security.RequiredPermissions;
- import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
- import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  import eu.etaxonomy.taxeditor.store.CdmStore;
 -import eu.etaxonomy.taxeditor.store.StoreUtil;
  
  /**
   * <p>
@@@ -236,7 -235,8 +201,9 @@@ public class TaxonNameEditor extends Ed
         * </p>
         */
        public void createOrUpdateNameComposites() {
- //            this.taxon = (Taxon)CdmStore.getService(ITaxonService.class).load(this.getTaxon().getUuid());
++
+               //this.taxon = (Taxon)CdmStore.getService(ITaxonService.class).load(this.getTaxon().getUuid());
+               //this.taxon = HibernateProxyHelper.deproxy(this.taxon, Taxon.class);
                ContainerFactory.createOrUpdateAcceptedTaxonsHomotypicGroup(this);
                ContainerFactory.createOrUpdateHeterotypicSynonymyGroups(this);
                ContainerFactory.createOrUpdateMisapplicationsGroup(this);
@@@ -78,10 -78,12 +78,12 @@@ public class DeleteSynonymOperation ext
                                        element.removeSynonym(synonym);
  
                                } else {
 -                                      
 -                                      DeleteResult result = service.deleteSynonym(synonym, null);
 +
 +                                      DeleteResult result = service.deleteSynonym(synonym.getUuid(), element.getUuid(), null);
                                        if (result.isError()){
-                                               MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
+                                               MessageDialog.openError(null, "Delete failed", result.toString());
+                                       } else if (!result.getUpdatedObjects().isEmpty()){
+                                               MessageDialog.openInformation(null, "Delete successfull", "The Synonym could be deleted, but there is an updated object: " + result.toString());
                                        }
                                }
                        //      taxon.removeSynonym(synonym);
@@@ -19,8 -19,8 +19,9 @@@ import eu.etaxonomy.cdm.api.service.con
  import eu.etaxonomy.cdm.model.taxon.Classification;\r
  import eu.etaxonomy.cdm.model.taxon.Taxon;\r
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;\r
+ import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;\r
  import eu.etaxonomy.taxeditor.store.CdmStore;\r
  \r
  public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{\r
                                ITaxonService service = controller.getTaxonService();\r
  \r
  \r
 -                              DeleteResult result =   service.deleteTaxon(element, configurator, classification);\r
 +                              DeleteResult result =   service.deleteTaxon(element.getUuid(), configurator, classification.getUuid());\r
                                if (result.isError()){\r
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());\r
+                                       MessageDialog.openError(null, "Delete failed", result.toString());\r
+                               } else if (!result.getUpdatedObjects().isEmpty()){\r
+                                       MessagingUtils.informationDialog("Delete successfull", result.toString());\r
                                }\r
  \r
                                monitor.worked(40);\r
@@@ -15,52 -15,52 +15,7 @@@ import java.util.Map
  import java.util.Set;
  import java.util.UUID;
  
--import org.hibernate.LockOptions;
--import org.hibernate.Session;
--import org.hibernate.criterion.Criterion;
--import org.hibernate.envers.query.criteria.AuditCriterion;
--
--import eu.etaxonomy.cdm.api.service.DeleteResult;
--import eu.etaxonomy.cdm.api.service.DistributionTree;
--import eu.etaxonomy.cdm.api.service.IDescriptionService;
- import eu.etaxonomy.cdm.api.service.UpdateResult;
--import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
--import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
--import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
--import eu.etaxonomy.cdm.api.service.pager.Pager;
--import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
--import eu.etaxonomy.cdm.model.common.Annotation;
--import eu.etaxonomy.cdm.model.common.DefinedTerm;
--import eu.etaxonomy.cdm.model.common.ISourceable;
--import eu.etaxonomy.cdm.model.common.IdentifiableSource;
--import eu.etaxonomy.cdm.model.common.LSID;
--import eu.etaxonomy.cdm.model.common.Language;
--import eu.etaxonomy.cdm.model.common.Marker;
--import eu.etaxonomy.cdm.model.common.MarkerType;
--import eu.etaxonomy.cdm.model.common.TermVocabulary;
--import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;
--import eu.etaxonomy.cdm.model.description.DescriptionBase;
--import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
--import eu.etaxonomy.cdm.model.description.Feature;
--import eu.etaxonomy.cdm.model.description.FeatureTree;
--import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
--import eu.etaxonomy.cdm.model.description.TaxonDescription;
--import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
--import eu.etaxonomy.cdm.model.location.NamedArea;
--import eu.etaxonomy.cdm.model.location.NamedAreaLevel;
--import eu.etaxonomy.cdm.model.media.Media;
--import eu.etaxonomy.cdm.model.media.Rights;
--import eu.etaxonomy.cdm.model.name.TaxonNameBase;
--import eu.etaxonomy.cdm.model.taxon.Taxon;
--import eu.etaxonomy.cdm.model.view.AuditEvent;
--import eu.etaxonomy.cdm.model.view.AuditEventRecord;
--import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
 -import eu.etaxonomy.cdm.persistence.dto.TermDto;
--import eu.etaxonomy.cdm.persistence.query.Grouping;
--import eu.etaxonomy.cdm.persistence.query.MatchMode;
--import eu.etaxonomy.cdm.persistence.query.OrderHint;
--import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
--import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
--import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
++import javax.print.attribute.standard.Media;
  
  /**
   * @author pplitzner
@@@ -1119,45 -1111,11 +1066,45 @@@ public class TransientDescriptionServic
                return defaultService.deleteDescription(description);
        }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
-      */
-     @Override
-     public DeleteResult delete(UUID uuid) {
-         return defaultService.delete(uuid);
-     }
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.model.taxon.Taxon)
 +     */
 +    @Override
 +    public UpdateResult moveTaxonDescriptions(Taxon sourceTaxon, Taxon targetTaxon) {
 +        return defaultService.moveTaxonDescriptions(sourceTaxon, targetTaxon);
 +
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#moveTaxonDescriptions(java.util.UUID, java.util.UUID)
 +     */
 +    @Override
 +    public UpdateResult moveTaxonDescriptions(UUID sourceTaxonUuid, UUID targetTaxonUuid) {
 +        return defaultService.moveTaxonDescriptions(sourceTaxonUuid, targetTaxonUuid);
 +
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescriptionElement(java.util.UUID)
 +     */
 +    @Override
 +    public UUID deleteDescriptionElement(UUID descriptionElementUuid) {
 +        return defaultService.deleteDescriptionElement(descriptionElementUuid);
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.IDescriptionService#deleteDescription(java.util.UUID)
 +     */
 +    @Override
 +    public DeleteResult deleteDescription(UUID descriptionUuid) {
 +        return defaultService.deleteDescription(descriptionUuid);
 +    }
 +
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(boolean, java.lang.Integer, java.lang.Integer)
+        */
+       @Override
+       public Pager<TermDto> pageNamedAreasInUse(boolean includeAllParents, Integer pageSize, Integer pageNumber) {
+           return defaultService.pageNamedAreasInUse(includeAllParents, pageSize, pageNumber);
+       }
  }
@@@ -1154,21 -1157,17 +1155,22 @@@ public class TransientNameService imple
                return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
        }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
-      */
-     @Override
-     public DeleteResult delete(UUID uuid) {
-         return defaultService.delete(uuid);
-     }
 -      
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.INameService#setAsGroupsBasionym(java.util.UUID)
 +     */
 +    @Override
 +    public UpdateResult setAsGroupsBasionym(UUID nameUuid) {
 +        return defaultService.delete(nameUuid);
 +    }
 +
  
 -              
+       @Override
+       public List<HashMap<String, String>> getNameRecords() {
 -      
 -      
++
+               return defaultService.getNameRecords();
+       }
 -      
  }
@@@ -1007,12 -1008,52 +1008,53 @@@ public class TransientOccurenceService 
                return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
        }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
-      */
-     @Override
-     public DeleteResult delete(UUID uuid) {
-         return defaultService.delete(uuid);
-     }
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCharacterDataForSpecimen(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase)
+        */
+       @Override
+       public Collection<DescriptionElementBase> getCharacterDataForSpecimen(SpecimenOrObservationBase<?> arg0) {
+           return defaultService.getCharacterDataForSpecimen(arg0);
+       }
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getCharacterDataForSpecimen(java.util.UUID)
+        */
+       @Override
+       public Collection<DescriptionElementBase> getCharacterDataForSpecimen(UUID arg0) {
+           return getCharacterDataForSpecimen(arg0);
+       }
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getMostSignificantIdentifier(eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
+        */
+       @Override
+       public String getMostSignificantIdentifier(DerivedUnit derivedUnit) {
+           return defaultService.getMostSignificantIdentifier(derivedUnit);
+       }
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#countOccurrences(eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator)
+        */
+       @Override
+       public int countOccurrences(IIdentifiableEntityServiceConfigurator<SpecimenOrObservationBase> config) {
+           return defaultService.countOccurrences(config);
+       }
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public List<DerivedUnit> getAllChildDerivatives(SpecimenOrObservationBase<?> specimen) {
+           return defaultService.getAllChildDerivatives(specimen);
+       }
+       /**
+        * {@inheritDoc}
+        */
+       @Override
+       public List<SpecimenOrObservationBase<?>> getAllHierarchyDerivatives(SpecimenOrObservationBase<?> specimen) {
+           return defaultService.getAllHierarchyDerivatives(specimen);
+       }
 +
  }
@@@ -1419,39 -1418,24 +1419,41 @@@ public class TransientTaxonService impl
            return defaultService.findByIdentifier(clazz, identifier, identifierType, subtreeFilter, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
        }
  
 -      
 -      
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(java.util.UUID, java.util.UUID, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator)
 +     */
 +    @Override
 +    public DeleteResult deleteSynonym(UUID synonymUuid, UUID taxonUuid, SynonymDeletionConfigurator config) {
 +        return defaultService.deleteSynonym(synonymUuid, taxonUuid, config);
 +    }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
-      */
-     @Override
-     public DeleteResult delete(UUID uuid) {
-         return defaultService.delete(uuid);
-     }
  
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.ITaxonService#swapSynonymAndAcceptedTaxon(java.util.UUID, java.util.UUID)
 +     */
 +    @Override
 +    public UpdateResult swapSynonymAndAcceptedTaxon(UUID synonymUUid, UUID acceptedTaxonUuid) {
 +        return defaultService.swapSynonymAndAcceptedTaxon(synonymUUid, acceptedTaxonUuid);
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(java.util.UUID, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, java.util.UUID)
 +     */
 +    @Override
 +    public DeleteResult deleteTaxon(UUID taxonUuid, TaxonDeletionConfigurator config, UUID classificationUuid) {
 +        return defaultService.deleteTaxon(taxonUuid, config, classificationUuid);
 +    }
  
+       @Override
+       public SynonymRelationship moveSynonymToAnotherTaxon(
+                       SynonymRelationship oldSynonymRelation, UUID newTaxonUUID,
+                       boolean moveHomotypicGroup,
+                       SynonymRelationshipType newSynonymRelationshipType,
+                       Reference reference, String referenceDetail, boolean keepReference)
+                       throws HomotypicalGroupChangeException {
 -              
++
+               return defaultService.moveSynonymToAnotherTaxon(oldSynonymRelation, newTaxonUUID, moveHomotypicGroup, newSynonymRelationshipType, reference, referenceDetail, keepReference);
+       }
  
 -
 -
 -
  }
@@@ -31,16 -32,15 +32,18 @@@ import eu.etaxonomy.cdm.api.conversatio
  import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
  import eu.etaxonomy.cdm.api.service.IClassificationService;
  import eu.etaxonomy.cdm.model.common.CdmBase;
 +import eu.etaxonomy.cdm.model.taxon.Classification;
  import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
+ import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
  import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
  import eu.etaxonomy.taxeditor.model.DataChangeBridge;
  import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  import eu.etaxonomy.taxeditor.store.LoginManager;
  
@@@ -62,14 -69,25 +65,25 @@@ public class TreeNodeDropAdapterAssista
        public IStatus handleDrop(CommonDropAdapter dropAdapter,
                        DropTargetEvent dropTargetEvent, Object target) {
  
 -              
++
                if (target instanceof ITaxonTreeNode) {
                        Set<TaxonNode> taxonNodes = getSelectedTaxa();
                        ITaxonTreeNode targetTreeNode = (ITaxonTreeNode) target;
+                       if (targetTreeNode instanceof Classification){
+                               targetTreeNode = ((Classification)targetTreeNode).getRootNode();
+                               targetTreeNode = HibernateProxyHelper.deproxy(targetTreeNode, TaxonNode.class);
+                       }
                        if(taxonNodes != null) {
-                 return moveTaxon(taxonNodes, targetTreeNode);
+                               if (taxonNodes.size() == 1){
+                                       return moveTaxon(taxonNodes.iterator().next(), targetTreeNode);
+                               } else{
+                                       if( MessageDialog.openConfirm(null, "Moving taxon", "The operation move accepted taxon to other parent is available only for a single taxon.")){
+                                               return null;
+                                       }
+                               }
              }
                }
 -              
 +
                return Status.CANCEL_STATUS;
        }
  
                                return Status.CANCEL_STATUS;
                        }
  
 -      
+               }
+               if (!PreferencesUtil.getSortNodesNaturally()){
+                       IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+                       if (workspaceUndoContext == null) {
+                               logger.error("Workspace undo context is null. DND operation cancelled");
+                               return Status.CANCEL_STATUS;
+                       }
 -                      
++
+                       AbstractPostOperation operation = new MoveTaxonOperation
+                                       ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
+                       NavigationUtil.executeOperation(operation);
-                       // Make sure parentTaxon is not the drop target
- //                    if (!childTaxonNode.isTopmostNode() && childTaxonNode.getParent().equals(targetTaxonNode)){
- //                            return Status.CANCEL_STATUS;
- //                    }
 +
 -              
+                       logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+                       return Status.OK_STATUS;
+               }else{
+                       String[] buttonLables = {"Parent", "Predecessor", "Cancel"};
+                       MessageDialog dialog = new MessageDialog(null, "Target node", null, "Do you want to use the target node as parent or do you want to move the taxon below the target.", MessageDialog.QUESTION_WITH_CANCEL, buttonLables, 0);
+                       dialog.open();
+                       int returnCode = dialog.getReturnCode();
+                       if (returnCode == 0){
+                               IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+                               if (workspaceUndoContext == null) {
+                                       logger.error("Workspace undo context is null. DND operation cancelled");
+                                       return Status.CANCEL_STATUS;
+                               }
-                       // Make sure taxon is not being dropped onto itself
- //                    if (childTaxonNode.equals(targetTaxonNode)) {
- //                            return Status.CANCEL_STATUS;
- //                    }
 +
 -                              
+                               AbstractPostOperation operation = new MoveTaxonOperation
+                                               ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, true);
+                               NavigationUtil.executeOperation(operation);
 -              
 +
+                               logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+                               return Status.OK_STATUS;
+                       }else if (returnCode == 1){
+                               IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
+                               if (workspaceUndoContext == null) {
+                                       logger.error("Workspace undo context is null. DND operation cancelled");
+                                       return Status.CANCEL_STATUS;
+                               }
 -                              
 +
+                               AbstractPostOperation operation = new MoveTaxonOperation
+                                               ("Move Taxon", workspaceUndoContext, taxonNode, targetITaxonTreeNode, this, taxonNavigator, false);
+                               NavigationUtil.executeOperation(operation);
 -                      
 -                      
++
+                               logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
+                               return Status.OK_STATUS;
+                       } else{
+                               return Status.CANCEL_STATUS;
+                       }
-               }
 +
-               IUndoContext workspaceUndoContext = NavigationUtil.getWorkbenchUndoContext();
-               if (workspaceUndoContext == null) {
-                       logger.error("Workspace undo context is null. DND operation cancelled");
-                       return Status.CANCEL_STATUS;
 +
                }
-               AbstractPostOperation operation = new MoveTaxonOperation("Move Taxon",
-                       workspaceUndoContext,
-                       taxonNodes,
-                       targetITaxonTreeNode,
-                       this,
-                       taxonNavigator,
-                       taxonNavigator);
-               NavigationUtil.executeOperation(operation);
-               logger.info("Moved taxa to new parent " + targetITaxonTreeNode);
-               return Status.OK_STATUS;
 +
        }
  
        /* (non-Javadoc)
  package eu.etaxonomy.taxeditor.navigation.navigator.handler;
  
  import java.util.ArrayList;
--import java.util.HashSet;
  import java.util.Iterator;
  import java.util.List;
--import java.util.Set;
  import java.util.UUID;
  
  import org.eclipse.core.commands.AbstractHandler;
  import org.eclipse.core.commands.ExecutionEvent;
  import org.eclipse.core.commands.ExecutionException;
 -import org.eclipse.core.expressions.EvaluationContext;
  import org.eclipse.jface.dialogs.MessageDialog;
  import org.eclipse.jface.viewers.TreeSelection;
 -import org.eclipse.ui.IEditorInput;
 -import org.eclipse.ui.IEditorReference;
+ import org.eclipse.ui.IWorkbenchPage;
 -import org.eclipse.ui.PartInitException;
  import org.eclipse.ui.handlers.HandlerUtil;
  
 -import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 -import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
+ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
  import eu.etaxonomy.cdm.model.common.CdmBase;
 -import eu.etaxonomy.cdm.model.common.ITreeNode;
 -import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 -import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
  import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
  import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
  import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
  import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 -import eu.etaxonomy.taxeditor.store.CdmStore;
+ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
  import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionDialog;
 -import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonNodeSelectionNaturalOrderDialog;
  
  /**
   * <p>MoveTaxonHandler class.</p>
@@@ -47,49 -61,58 +48,63 @@@ public class MoveTaxonHandler extends A
         * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
         */
        /** {@inheritDoc} */
 -      public Object execute(ExecutionEvent event) throws ExecutionException {
++
 +      @Override
 +    public Object execute(ExecutionEvent event) throws ExecutionException {
-               TaxonNavigator taxonNavigator = NavigationUtil.showNavigator();
+               activePage = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage();
+               TaxonNavigator taxonNavigator = (TaxonNavigator)NavigationUtil.showView(TaxonNavigator.ID);
 -              
 +
                TreeSelection selection = (TreeSelection) HandlerUtil.getCurrentSelection(event);
 -              
 +
                Iterator selectionIterator = selection.iterator();
-               Set<TaxonNode> taxonNodes = new HashSet<TaxonNode>();
+               TaxonNode taxonNode = null;
+               UUID taxonNodeUUID = null;
                // do not show the current selection
                List<UUID> excludeTaxa = new ArrayList<UUID>();
 -              
 +
 +
-               while (selectionIterator.hasNext()){
+               if (selection.size() == 1){
                        Object object = selectionIterator.next();
                        if(object instanceof TaxonNode){
-                               TaxonNode taxonNode = (TaxonNode) object;
-                               taxonNodes.add(taxonNode);
+                               taxonNode = HibernateProxyHelper.deproxy(object,TaxonNode.class);
+                               taxonNodeUUID = taxonNode.getUuid();
                                excludeTaxa.add(taxonNode.getTaxon().getUuid());
                        }
+               } else{
+                       if( MessageDialog.openConfirm(HandlerUtil.getActiveShell(event), "Moving taxon", "The operation move accepted taxon to other parent is available only for a single taxon.")){
+                               return null;
+                       }
                }
 -              
 -              
 +
- //            TaxonNode taxonNode = (TaxonNode) selection.getFirstElement();
 +
-               parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
 +
-               if(parentTaxonNode != null){
-                       if(NavigationUtil.isDirty(parentTaxonNode)){
-                               MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Parent Taxon", "There are unsaved " +
-                                               "changes in the parent taxon. Please save first.");
-                               return null;
+ //            TaxonNode taxonNode = (TaxonNode) selection.getFirstElement();
+               if (taxonNode != null){
 -                      boolean moveToNewParent = true; 
++                      boolean moveToNewParent = true;
+                       if (PreferencesUtil.getSortNodesNaturally()){
+                               if(!MessageDialog.openQuestion(null, "Target node", "The choosen target node should be the parent?")){
+                                       moveToNewParent = false;
+                               }
+                               parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose the taxon above the moved taxon.", excludeTaxa, null, null);
+                       }else{
+                               parentTaxonNode = TaxonNodeSelectionDialog.select(HandlerUtil.getActiveShell(event), taxonNavigator.getConversationHolder(), "Choose new parent", excludeTaxa, null, null);
                        }
 -                              
+                       if(parentTaxonNode != null){
+                               if(NavigationUtil.isDirty(parentTaxonNode)){
+                                       MessageDialog.openWarning(HandlerUtil.getActiveShell(event), "Unsaved Parent Taxon", "There are unsaved " +
+                                                       "changes in the parent taxon. Please save first.");
+                                       return null;
+                               }
 -                      
++
+                               AbstractPostOperation operation = new MoveTaxonOperation
+                                               ("Move taxon to new parent", NavigationUtil.getUndoContext(),
+                                                               taxonNode, parentTaxonNode, taxonNavigator, taxonNavigator, moveToNewParent); //$NON-NLS-1$
+                               NavigationUtil.executeOperation(operation);
+                               taxonNavigator.refresh();
-                       AbstractPostOperation operation = new MoveTaxonOperation("Move taxon to new parent",
-                               NavigationUtil.getUndoContext(),
-                                       taxonNodes,
-                                       parentTaxonNode,
-                                       this,
-                                       taxonNavigator,
-                                       taxonNavigator); //$NON-NLS-1$
-                       NavigationUtil.executeOperation(operation);
 +
+                       }
                }
 +
                return null;
        }
  
@@@ -24,8 -24,9 +25,10 @@@ import eu.etaxonomy.cdm.hibernate.Hiber
  import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
  import eu.etaxonomy.cdm.model.taxon.Taxon;
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+ import eu.etaxonomy.taxeditor.model.MessagingUtils;
+ import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  
  /**
@@@ -39,8 -40,7 +42,9 @@@ public class ChangeAcceptedTaxonToSynon
        DeleteOperation {
  
        private final TaxonNode newAcceptedTaxonNode;
 +      private final ICdmEntitySessionEnabled cdmEntitySessionEnabled;
 +
        //private TaxonNode oldTaxonNode;
  
        /**
  
                monitor.worked(20);
                bind();
 +
        Taxon oldTaxon = (Taxon) HibernateProxyHelper.deproxy(((TaxonNode) taxonNode).getTaxon());
-               UpdateResult result = CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode(taxonNode.getUuid(), newAcceptedTaxonNode.getUuid(), null, null, null);
+               try {
 -                  CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode((TaxonNode) taxonNode, newAcceptedTaxonNode, null, null, null);
++                  UpdateResult result = CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode(taxonNode.getUuid(), newAcceptedTaxonNode.getUuid(), null, null, null);
+         } catch (IllegalArgumentException e) {
+             MessagingUtils.errorDialog("Operation failed", this, e.getMessage(), TaxeditorNavigationPlugin.PLUGIN_ID, e, false);
+             return Status.CANCEL_STATUS;
+         }
  
                monitor.worked(40);
                return postExecute(oldTaxon);
        }
  
@@@ -9,9 -9,11 +9,8 @@@
  
  package eu.etaxonomy.taxeditor.navigation.navigator.operation;
  
--import java.util.HashMap;
 -import java.util.HashSet;
  import java.util.Map;
  import java.util.Set;
 -import java.util.UUID;
  
  import org.eclipse.core.commands.ExecutionException;
  import org.eclipse.core.commands.operations.IUndoContext;
@@@ -24,7 -27,7 +23,6 @@@ import eu.etaxonomy.cdm.api.conversatio
  import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
  import eu.etaxonomy.cdm.api.service.UpdateResult;
  import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
--import eu.etaxonomy.cdm.model.taxon.IllegalAncestryException;
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
@@@ -48,11 -50,10 +46,14 @@@ public class MoveTaxonOperation extend
        /**
         * A reference to the former taxonomical parents
         */
 -      //private Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
 -      private TaxonNode taxonNode;
 -      private boolean moveToParentNode;
 +      private final Map<TaxonNode, ITaxonTreeNode> oldParentTreeNodes;
 +
 +      private final Set<TaxonNode> taxonNodes;
 +
 +
++      private final TaxonNode taxonNode;
++      private final boolean moveToParentNode;
        /**
         * <p>Constructor for MoveTaxonOperation.</p>
         *
         * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
         * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
         */
 -      public MoveTaxonOperation(String label, IUndoContext undoContext,
 -                      TaxonNode taxonNodeToMove, ITaxonTreeNode newParentTreeNode, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled, boolean moveToParentNode) {
 -              super(label, undoContext, postOperationEnabled, conversationEnabled);
 -              
++
 +      public MoveTaxonOperation(String label,
 +              IUndoContext undoContext,
-                       Set<TaxonNode> taxonNodes,
++                      TaxonNode taxonNodeToMove,
 +                      ITaxonTreeNode newParentTreeNode,
 +                      IPostOperationEnabled postOperationEnabled,
 +                      IConversationEnabled conversationEnabled,
-             ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
++                      ICdmEntitySessionEnabled cdmEntitySessionEnabled,
++                      boolean moveToParentNode) {
 +              super(label, undoContext, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
 +
-               this.taxonNodes = taxonNodes;
+               this.taxonNode = taxonNodeToMove;
+               /*for (TaxonNode node:taxonNodes){
+                       this.taxonNodes.add(service.load(node.getUuid()));
+               }*/
 -              
 +
-               this.newParentTreeNode = newParentTreeNode;
 +
+               this.newParentTreeNode = newParentTreeNode;
+               this.moveToParentNode = moveToParentNode;
                // Save old parent ITaxonTreeNodes for undo
-               oldParentTreeNodes = new HashMap<TaxonNode, ITaxonTreeNode>();
-               for(TaxonNode taxonNode : taxonNodes){
-                       this.oldParentTreeNodes.put(taxonNode, taxonNode.getParent());
-               }
 -              
 +
+               //this.parentNode = taxonNode.getParent();
 +
        }
  
        /* (non-Javadoc)
                bind();
                monitor.worked(20);
  
-               try {
-                       for (TaxonNode taxonNode : taxonNodes){
-                           UpdateResult result = CdmStore.getService( ITaxonNodeService.class).moveTaxonNode(taxonNode.getUuid(), newParentTreeNode.getUuid());
-                               monitor.worked(2);
-                       }
-               } catch(IllegalAncestryException e) {
-                       MessagingUtils.warningDialog("Illegal ancestry", this, e.getMessage());
-               }
+               UpdateResult result = CdmStore.getService(ITaxonNodeService.class).moveTaxonNode(this.taxonNode.getUuid(),newParentTreeNode.getUuid(), moveToParentNode);
+ //            try {
+ //                    for (TaxonNode taxonNode : taxonNodes){
+ //                            TaxonNode newTaxonNode = newParentTreeNode.addChildNode(taxonNode,
+ //                                            newParentTreeNode.getReference(), newParentTreeNode.getMicroReference());
+ //                            //taxonNodes.add(newTaxonNode);
 -//                            
++//
+ //                            monitor.worked(2);
+ //                    }
+ //            } catch(IllegalAncestryException e) {
+ //                    MessagingUtils.warningDialog("Illegal ancestry", this, e.getMessage());
+ //            }
                monitor.worked(40);
  
                return postExecute(null);
        <command
              defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
              id="eu.etaxonomy.taxeditor.datasource.connect"
-             name="Connect">
+             name="%command.name.12">
+       </command>
+       <command
+             defaultHandler="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
+             id="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
+             name="%command.name.14">
        </command>
 +      <command
 +            defaultHandler="eu.etaxonomy.taxeditor.handler.OpenInspectSessionsHandler"
 +            id="eu.etaxonomy.taxeditor.store.open.InspectSessionsDialog"
 +            name="Inspect Active Session">
 +      </command>
     </extension>
     <extension
           point="org.eclipse.ui.importWizards">
@@@ -303,7 -301,7 +302,9 @@@ public class ParseHandler
              return new ArrayList<INomenclaturalReference>();
          }
                try{
-                       return CdmStore.getService(ICommonService.class).findMatching(nomenclaturalReference, MatchStrategy.Reference);
 -                      return CdmStore.getCommonService().findMatching(nomenclaturalReference, MatchStrategyConfigurator.ReferenceMatchStrategy());
++
++                      return CdmStore.getCommonService().findMatching(nomenclaturalReference, MatchStrategy.Reference);
++
                }catch (MatchException e) {
                        MessagingUtils.error(this.getClass(), "Error finding matching references", e);
                }
                }
  
                try{
-                       return CdmStore.getService(ICommonService.class).findMatching(authorTeam, MatchStrategy.TeamOrPerson);
 -                      return CdmStore.getCommonService().findMatching(authorTeam, MatchStrategyConfigurator.TeamOrPersonMatchStrategy());
++
++                      return CdmStore.getCommonService().findMatching(authorTeam, MatchStrategy.TeamOrPerson);
++
                }catch (MatchException e) {
                        MessagingUtils.error(this.getClass(), "Error finding matching authors", e);
                }
        private List<TaxonNameBase> findMatchingLatinNames(TaxonNameBase taxonNameBase) {
  
                try {
-                       return CdmStore.getService(ICommonService.class).findMatching(taxonNameBase, MatchStrategy.NonViralName);
 -                      return CdmStore.getCommonService().findMatching(taxonNameBase, MatchStrategyConfigurator.NonViralNameMatchStrategy());
++
++                      return CdmStore.getCommonService().findMatching(taxonNameBase, MatchStrategy.NonViralName);
++
  
                } catch (MatchException e) {
                        MessagingUtils.error(this.getClass(), "Error finding matching names", e);
@@@ -25,9 -25,9 +25,10 @@@ import org.springframework.security.cor
  import org.springframework.security.core.context.SecurityContext;
  import org.springframework.security.core.context.SecurityContextHolder;
  
 +import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController;
  import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
  import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+ import eu.etaxonomy.cdm.api.service.ICommonService;
  import eu.etaxonomy.cdm.api.service.IService;
  import eu.etaxonomy.cdm.config.ICdmSource;
  import eu.etaxonomy.cdm.database.DbSchemaValidation;
@@@ -1,9 -1,9 +1,9 @@@
  // $Id$
  /**
   * Copyright (C) 2007 EDIT
-- * European Distributed Institute of Taxonomy 
++ * 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.
   */
@@@ -103,10 -103,11 +103,11 @@@ class CdmStoreConnector extends Job 
                                }
                        } finally {
                                monitor.done();
+                               Thread.currentThread().setPriority(oldPriority);
                        }
                }
--              
--              
++
++
  
                if (!monitor.isCanceled()) {
                        CdmStore.setInstance(applicationController, cdmSource);
                        display.asyncExec(new Runnable() {
                                /*
                                 * (non-Javadoc)
--                               * 
++                               *
                                 * @see java.lang.Runnable#run()
                                 */
                                @Override
                        display.asyncExec(new Runnable() {
                                /*
                                 * (non-Javadoc)
--                               * 
++                               *
                                 * @see java.lang.Runnable#run()
                                 */
                                @Override
  
        private ICdmApplicationConfiguration getApplicationController(ICdmSource cdmSource, CdmProgressMonitorAdapter subprogressMonitor) {
                if(cdmSource instanceof ICdmDataSource) {
--                      return  CdmApplicationController.NewInstance(applicationContextBean, 
--                                      (ICdmDataSource)cdmSource, 
++                      return  CdmApplicationController.NewInstance(applicationContextBean,
++                                      (ICdmDataSource)cdmSource,
                                        dbSchemaValidation,
--                                      false, 
++                                      false,
                                        subprogressMonitor);
                } else if(cdmSource instanceof ICdmRemoteSource) {
--                      return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,                                  
--                                                      false, 
++                      return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,
++                                                      false,
                                                        subprogressMonitor,
                                                        null);
                } else {
                        return causeIsCancelationExceptionRecursive(throwable.getCause());
                }
        }
--      
++
        private void checkDatabaseReachable(IProgressMonitor monitor) {
                try {
                        monitor.subTask("Checking if datasource is reachable.");
                        MessagingUtils.messageDialog("Could not connect to chosen datasource",
                                        this, "Reason: " + e.getMessage(), e);
                        monitor.setCanceled(true);
--              } 
++              }
        }
  }
@@@ -1,9 -1,8 +1,10 @@@
 -<?xml version="1.0" encoding="UTF-8"?>\r
 -<classpath>\r
 -      <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
 -      <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
 -      <classpathentry kind="src" path="src/test/java"/>\r
 -      <classpathentry kind="src" path="src/main/resources"/>\r
 -      <classpathentry kind="output" path="target/classes"/>\r
 -</classpath>\r
 +<?xml version="1.0" encoding="UTF-8"?>
 +<classpath>
 +      <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 including="**/*.java" kind="src" path="src/test/java"/>
 +      <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
 +      <classpathentry exported="true" kind="lib" path="lib/byte-buddy-0.5.1.jar"/>
 +      <classpathentry kind="output" path="target/classes"/>
 +</classpath>
++
@@@ -6,7 -6,8 +6,9 @@@ Bundle-Version: 3.4.0.qualifie
  Bundle-ActivationPolicy: lazy
  Bundle-Vendor: EDIT
  Bundle-RequiredExecutionEnvironment: JavaSE-1.6
- Require-Bundle: org.eclipse.ui,
++
+ Require-Bundle: org.apache.log4j,
+  org.eclipse.ui,
   org.eclipse.core.runtime,
   org.eclipse.swtbot.eclipse.core,
   org.eclipse.swtbot.eclipse.finder,