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 --combined .gitattributes
index dca319a506bb3ca130b4016589d4ee12c94a1d87,31cdf5895e01f2ee1bd06a6e6e5b224fad8bc685..e9ce314b7ac9e76219c6f4ff49a1dc1994019b37
@@@ -6,7 -6,6 +6,6 @@@ eu.etaxonomy.taxeditor.application/.pro
  eu.etaxonomy.taxeditor.application/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin.properties -text
  eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_de.properties -text
- eu.etaxonomy.taxeditor.application/OSGI-INF/l10n/plugin_en.properties -text
  eu.etaxonomy.taxeditor.application/about.mappings -text
  eu.etaxonomy.taxeditor.application/build.properties -text
  eu.etaxonomy.taxeditor.application/icons/256color_16x16.gif -text
@@@ -48,7 -47,8 +47,8 @@@ eu.etaxonomy.taxeditor.bulkeditor/.proj
  eu.etaxonomy.taxeditor.bulkeditor/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle.properties -text
  eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle_de.properties -text
- eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/bundle_en.properties -text
+ eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages.properties -text
+ eu.etaxonomy.taxeditor.bulkeditor/OSGI-INF/l10n/messages_de.properties -text
  eu.etaxonomy.taxeditor.bulkeditor/build.properties -text
  eu.etaxonomy.taxeditor.bulkeditor/icons/merge_candidate.gif -text
  eu.etaxonomy.taxeditor.bulkeditor/icons/merge_target.gif -text
@@@ -82,12 -82,14 +82,14 @@@ eu.etaxonomy.taxeditor.bulkeditor/src/m
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorViewerConfiguration.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorConstants.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorSortProvider.java -text
- eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/PropertyTester.java -text
+ eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorMenuPropertyTester.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorPropertyTester.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DeleteObjectContributionItem.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
+ eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/ConvertPerson2TeamHandler.java -text
+ eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/ConvertTeam2PersonHandler.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
@@@ -99,6 -101,7 +101,7 @@@ eu.etaxonomy.taxeditor.bulkeditor/src/m
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/AgentEditorInput.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/BulkEditorInputType.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/GroupEditorInput.java -text
+ eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/Messages.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameEditorInput.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/NameRelationshipEditorInput.java -text
  eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/OccurrenceEditorInput.java -text
@@@ -139,7 -142,9 +142,7 @@@ eu.etaxonomy.taxeditor.cdmlib/build.pro
  eu.etaxonomy.taxeditor.cdmlib/lib/activation-1.1.1.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/antlr-2.7.7.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/aopalliance-1.0.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/aspectjrt-1.7.1-sources.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/aspectjrt-1.7.1.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/aspectjweaver-1.7.1-sources.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/aspectjweaver-1.7.1.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/avro-1.6.3.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/batik-anim-1.7.jar -text
@@@ -301,11 -306,15 +304,11 @@@ eu.etaxonomy.taxeditor.cdmlib/lib/sprin
  eu.etaxonomy.taxeditor.cdmlib/lib/stax-1.2.0.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/stax-api-1.0.1.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/swagger-annotations-1.3.5.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-core-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-database-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-dbmaintainer-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-dbunit-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-easymock-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-inject-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-mock-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-orm-3.3.jar -text
 -eu.etaxonomy.taxeditor.cdmlib/lib/unitils-spring-3.3.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/lib/unitils-core-3.4.2.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/lib/unitils-database-3.4.2.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/lib/unitils-dbmaintainer-3.4.2.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/lib/unitils-dbunit-3.4.2.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/lib/unitils-spring-3.4.2.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/usertype.jodatime-2.0.1.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/usertype.spi-2.0.1.jar -text
  eu.etaxonomy.taxeditor.cdmlib/lib/validation-api-1.0.0.GA.jar -text
@@@ -328,57 -337,22 +331,57 @@@ eu.etaxonomy.taxeditor.cdmlib/lib/yjp-c
  eu.etaxonomy.taxeditor.cdmlib/pom.xml -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/RemotingMonitoredGenericApplicationContext.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/RemotingMonitoredListableBeanFactory.java -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/lazyloading/CdmLazyLoader.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/remote/CdmPersistentRemoteSource.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSource.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceBase.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceException.java -text
 -eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmEagerLoadingException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CacheLoader.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmClientCacheException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmEntityCacheKey.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmModelCacher.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmModelFieldPropertyFromClass.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmRemoteCacheManager.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/CdmTransientEntityCacher.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/EntityCacherDebugResult.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/cache/ProxyUtils.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/server/CDMServerException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmPersistentRemoteSource.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmRemoteSource.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmRemoteSourceBase.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmRemoteSourceException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/ICdmRemoteSource.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CachedCommonServiceImpl.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CdmAuthenticatedHttpInvokerRequestExecutor.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CdmServiceInterceptorException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/CdmServiceRequestExecutor.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/ICachedCommonService.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/service/TermServiceRequestExecutor.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmClientSessionException.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySession.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionManager.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/ICdmEntitySession.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/ICdmEntitySessionEnabled.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/ICdmEntitySessionManager.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/ICdmEntitySessionManagerObserver.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/mock/MockCdmEntitySession.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/session/mock/MockCdmEntitySessionManager.java -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/cdmlib-ehcache.xml -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/.svnignore -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/cdmlib-remote-webapp.war -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/jetty-runner-9.2.3.v20140905.jar -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/start-9.2.3.v20140905.jar -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/config.properties -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remoting_persistence_security.xml -text
  eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/remoting_services_security.xml -text
 -eu.etaxonomy.taxeditor.cdmlib/src/test/resources/eu/etaxonomy/cdm/datasources/cdm.datasources.xml -text
 +eu.etaxonomy.taxeditor.cdmlib/src/main/resources/log4j.properties -text
  eu.etaxonomy.taxeditor.editor/.classpath -text
  eu.etaxonomy.taxeditor.editor/.project -text
  eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF -text
@@@ -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
@@@ -490,6 -464,7 +494,7 @@@ eu.etaxonomy.taxeditor.editor/src/main/
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteAllEmptyNamesHandler.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/DeleteTaxonBaseHandler.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/GroupBasionymContributionItem.java -text
+ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/MoveSynonymToAnotherAcceptedTaxonHandler.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/RemoveBasionymHandler.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SetBasionymHandler.java -text
@@@ -572,7 -547,6 +577,6 @@@ eu.etaxonomy.taxeditor.editor/src/main/
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java -text
- eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDragListener.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDropListener.java -text
  eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java -text
@@@ -675,7 -649,9 +679,9 @@@ eu.etaxonomy.taxeditor.feature.platform
  eu.etaxonomy.taxeditor.feature.platform/pom.xml -text
  eu.etaxonomy.taxeditor.feature/.project -text
  eu.etaxonomy.taxeditor.feature/LICENSE.TXT -text
+ eu.etaxonomy.taxeditor.feature/README.txt -text
  eu.etaxonomy.taxeditor.feature/build.properties -text
+ eu.etaxonomy.taxeditor.feature/build.properties.with.jre -text
  eu.etaxonomy.taxeditor.feature/feature.xml -text
  eu.etaxonomy.taxeditor.feature/pom.xml -text
  eu.etaxonomy.taxeditor.help/.classpath -text
@@@ -962,10 -938,8 +968,8 @@@ eu.etaxonomy.taxeditor.navigation/.proj
  eu.etaxonomy.taxeditor.navigation/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle.properties -text
  eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_de.properties -text
- eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/bundle_en.properties -text
  eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages.properties -text
  eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_de.properties -text
- eu.etaxonomy.taxeditor.navigation/OSGI-INF/l10n/messages_en.properties -text
  eu.etaxonomy.taxeditor.navigation/build.properties -text
  eu.etaxonomy.taxeditor.navigation/icons/check.png -text
  eu.etaxonomy.taxeditor.navigation/icons/edit_16x16.gif -text
@@@ -1009,6 -983,7 +1013,7 @@@ eu.etaxonomy.taxeditor.navigation/src/m
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/dnd/TaxonNavigatorDragAdapterAssistant.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/ChangeAcceptedTaxonToSynonymHandler.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CopyHandler.java -text
+ eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/CreateClassificationHierarchyHandler.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/DeleteHandler.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/EditHandler.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/handler/MoveFactualDataHandler.java -text
@@@ -1023,6 -998,7 +1028,7 @@@ eu.etaxonomy.taxeditor.navigation/src/m
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/EditClassificationOperation.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/MoveTaxonOperation.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateClassification.java -text
+ eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateNewTaxonHierarchyOperation.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreatePolytomousKey.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/operation/CreateTaxonNode.java -text
  eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/Messages.java -text
@@@ -1044,7 -1020,6 +1050,6 @@@ eu.etaxonomy.taxeditor.printpublisher/.
  eu.etaxonomy.taxeditor.printpublisher/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle.properties -text
  eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_de.properties -text
- eu.etaxonomy.taxeditor.printpublisher/OSGI-INF/l10n/bundle_en.properties -text
  eu.etaxonomy.taxeditor.printpublisher/build.properties -text
  eu.etaxonomy.taxeditor.printpublisher/p2.inf -text
  eu.etaxonomy.taxeditor.printpublisher/plugin.xml -text
@@@ -1071,10 -1046,8 +1076,8 @@@ eu.etaxonomy.taxeditor.store/.project -
  eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties -text
  eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties -text
- eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_en.properties -text
  eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages.properties -text
  eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_de.properties -text
- eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/messages_en.properties -text
  eu.etaxonomy.taxeditor.store/build.properties -text
  eu.etaxonomy.taxeditor.store/icons/256color_16x16.bmp -text
  eu.etaxonomy.taxeditor.store/icons/256color_32x32.bmp -text
@@@ -1098,6 -1071,7 +1101,7 @@@ eu.etaxonomy.taxeditor.store/icons/alt_
  eu.etaxonomy.taxeditor.store/icons/amplification_derivate-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/applications-office.png -text
  eu.etaxonomy.taxeditor.store/icons/artwork_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/artwork_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/autonym_no_bg.gif -text
  eu.etaxonomy.taxeditor.store/icons/back.gif -text
  eu.etaxonomy.taxeditor.store/icons/basionym.gif -text
@@@ -1124,7 -1098,9 +1128,9 @@@ eu.etaxonomy.taxeditor.store/icons/dele
  eu.etaxonomy.taxeditor.store/icons/delete_edit.gif -text
  eu.etaxonomy.taxeditor.store/icons/derivate_search_view-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/detail_image_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/detail_image_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/dna_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/dna_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/eclipse.gif -text
  eu.etaxonomy.taxeditor.store/icons/edit_16x16.gif -text
  eu.etaxonomy.taxeditor.store/icons/edit_16x16.ico -text
@@@ -1133,6 -1109,7 +1139,7 @@@ eu.etaxonomy.taxeditor.store/icons/erro
  eu.etaxonomy.taxeditor.store/icons/expandAll.jpg -text
  eu.etaxonomy.taxeditor.store/icons/export.gif -text
  eu.etaxonomy.taxeditor.store/icons/fieldunit-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/fieldunit_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/file_obj.gif -text
  eu.etaxonomy.taxeditor.store/icons/filter.gif -text
  eu.etaxonomy.taxeditor.store/icons/flat.gif -text
@@@ -1161,6 -1138,7 +1168,7 @@@ eu.etaxonomy.taxeditor.store/icons/larg
  eu.etaxonomy.taxeditor.store/icons/leaf_detail.png -text
  eu.etaxonomy.taxeditor.store/icons/linkto_help.gif -text
  eu.etaxonomy.taxeditor.store/icons/living_plant_photo_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/living_plant_photo_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/lock.png -text
  eu.etaxonomy.taxeditor.store/icons/lock_open.png -text
  eu.etaxonomy.taxeditor.store/icons/lockedstate.gif -text
@@@ -1207,7 -1185,9 +1215,9 @@@ eu.etaxonomy.taxeditor.store/icons/sing
  eu.etaxonomy.taxeditor.store/icons/smartmode_co.gif -text
  eu.etaxonomy.taxeditor.store/icons/sort.gif -text
  eu.etaxonomy.taxeditor.store/icons/specimen_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/specimen_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/specimen_scan_derivate_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/step_done.gif -text
  eu.etaxonomy.taxeditor.store/icons/swap.gif -text
  eu.etaxonomy.taxeditor.store/icons/swap2.gif -text
@@@ -1222,6 -1202,7 +1232,7 @@@ eu.etaxonomy.taxeditor.store/icons/thin
  eu.etaxonomy.taxeditor.store/icons/thin_max_view.gif -text
  eu.etaxonomy.taxeditor.store/icons/thin_restore_view.GIF -text
  eu.etaxonomy.taxeditor.store/icons/tissue_sample-16x16-32.png -text
+ eu.etaxonomy.taxeditor.store/icons/tissue_sample_data-16x16-32.png -text
  eu.etaxonomy.taxeditor.store/icons/trash.gif -text
  eu.etaxonomy.taxeditor.store/icons/tree_icon_small.jpg -text
  eu.etaxonomy.taxeditor.store/icons/undo.gif -text
@@@ -1238,6 -1219,8 +1249,8 @@@ eu.etaxonomy.taxeditor.store/icons/web.
  eu.etaxonomy.taxeditor.store/p2.inf -text
  eu.etaxonomy.taxeditor.store/plugin.xml -text
  eu.etaxonomy.taxeditor.store/pom.xml -text
+ eu.etaxonomy.taxeditor.store/schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/Messages.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/CdmDataSourceRepository.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceCredentialsWizardPage.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/datasource/wizard/CdmDataSourceH2WizardPage.java -text
@@@ -1249,7 -1232,6 +1262,6 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/dnd/CdmAuthorityTableDropTargetListener.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/dnd/transfer/TaxonNodeTransfer.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/ISecuredEditor.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/UsageTermCollection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDragListener.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermDropAdapter.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermEditor.java -text
@@@ -1279,10 -1261,8 +1291,10 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenDistributionEditorWizardHandler.java -text
 +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenInspectSessionsHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/OpenPasswordWizzardHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowLoginWindowHandler.java -text
 +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/ShowRemotingLoginWindowHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/identificationkey/AbstractIdentificaitonKeyWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/AbstractIOManager.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ExportManager.java -text
@@@ -1294,6 -1274,8 +1306,8 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/AbstractImportWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ClassificationChooserWizardPage.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvExportWizard.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvNameExportWizard.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/CsvPrintExportWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/DarwinCoreArchiveExportWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/EndnoteImportWizard.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExcelNormalExplicitTaxaImportWizard.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
@@@ -1390,6 -1374,7 +1405,7 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/MediaPreferences.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/MobotOpenUrlPreferences.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NomenclaturalCodePreferences.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/Resources.java -text
@@@ -1436,17 -1421,20 +1452,21 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/StoreUtil.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermManager.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/UsageTermCollection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/UseObjectStore.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/internal/TaxeditorStorePlugin.java -text
  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
@@@ -1473,6 -1461,7 +1493,7 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SpecimenOrObservationTypeSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonBaseSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionDialog.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TaxonNodeSelectionNaturalOrderDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/TeamSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/UserSelectionDialog.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/AbstractCdmEntityWizardPage.java -text
@@@ -1523,7 -1512,6 +1544,6 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  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/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
@@@ -1592,6 -1580,7 +1612,7 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/ScopeSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateDataSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StateModifierElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/StatisticalMeasurementValueSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/detail/AbstractDetailedDescriptionDetailElement.java -text
@@@ -1616,7 -1605,8 +1637,8 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/GroupSelectionElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/group/MemberDetailSection.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/GeographicalScopeDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/identifier/IdentifierDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/key/PolytomousKeyNodeDetailElement.java -text
@@@ -1665,8 -1655,6 +1687,6 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java -text
@@@ -1684,12 -1672,15 +1704,15 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GatheringEventWizardPage.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/GeoScopeDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/IDerivedUnitFacadeDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/NamedAreaDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/OriginalLabelDataSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenAbstractDeterminationEventDetailSection.java -text
@@@ -1776,9 -1767,16 +1799,16 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/DefinedTermDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/FeatureDetailElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/MeasurementUnitCollectionSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/NamedAreaLevelDetailSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateModifierCollectionSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StateVocabularyCollectionSection.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionElement.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/StatisticalMeasureCollectionSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailElement.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/vocabulary/TermVocabularyDetailSection.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java -text
@@@ -1796,12 -1794,13 +1826,13 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmEditorViewPart.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractCdmViewPart.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/AbstractSplitableViewPart.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/CdmViewerChooser.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/ICdmViewer.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceContentProvider.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceLabelProvider.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewPart.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmDataSourceViewerComparator.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/CdmMetaDataAwareDataSourceContainer.java -text
- eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/Messages.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/AbstractDataSourceHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/ChangeConnectionHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/CloneDataSourceHandler.java -text
@@@ -1811,6 -1810,7 +1842,7 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/DeleteDataSourceHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/EditDataSourceHandler.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/UpdateDataSourceHandler.java -text
+ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchComposite.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java -text
@@@ -1819,8 -1819,6 +1851,8 @@@ eu.etaxonomy.taxeditor.store/src/main/j
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewPart.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/reporting/ReportingViewPart.java -text
 +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/sessions/InspectSessionsDialog.java -text
 +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/sessions/SessionsViewPart.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenProviderSelectionComposite.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenProviderSelectionController.java -text
  eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenSearch/SpecimenSearchComposite.java -text
@@@ -1854,56 -1852,14 +1886,56 @@@ eu.etaxonomy.taxeditor.test/.settings/o
  eu.etaxonomy.taxeditor.test/META-INF/MANIFEST.MF -text
  eu.etaxonomy.taxeditor.test/build.properties -text
  eu.etaxonomy.taxeditor.test/ide/eclipse/EDITor[!!-~]Tests.launch -text
 +eu.etaxonomy.taxeditor.test/lib/byte-buddy-0.5.1.jar -text
  eu.etaxonomy.taxeditor.test/pom.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/cdmlib-ehcache.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/datasources.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/cdm.datasources.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/model/PolytomousKeyTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/model/TaxonNameEditorTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/model/TaxonNavigatorTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManagerTest.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/h2/cdmTest.h2.db -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/h2/cdmTest.trace.db -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/log4j.properties -text
  eu.etaxonomy.taxeditor.test/src/main/resources/log4j.xml -text
 +eu.etaxonomy.taxeditor.test/src/main/resources/unitils.properties -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/api/cache/CdmModelGetMethodCacherTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/PolytomousKeyTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNameEditorTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/application/menu/general/NewMenuTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CDMServer.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmPersistentRemoteSourceTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmRemoteSourceTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTestManager.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/HttpInvokerServicesTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmServiceCacherTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemotePersistentCollectionTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/navigation/navigator/contextmenu/ClassificationTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonWizardTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/operations/OperationTestBase.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/service/ITestService.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/service/ServiceInterceptorTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/service/ServiceRebasingTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/service/TargetTestService.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/service/TestService.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/session/CdmEntitySessionManagerTest.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/session/MockSessionOwner.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/test/AbstractEditorTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/test/ContextMenuHelper.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/test/SwtBotUtils.java -text
 +eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/CdmServerInfoTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/dialogs/LoginDialogTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/selection/AbstractSelectionElementTest.java -text
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/selection/ClassificationSelectionElementTest.java -text
@@@ -1912,6 -1868,7 +1944,7 @@@ eu.etaxonomy.taxeditor.test/src/test/ja
  eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/ui/selection/TaxonSelectionElementTest.java -text
  eu.etaxonomy.taxeditor/.classpath -text
  eu.etaxonomy.taxeditor/.project -text
+ eu.etaxonomy.taxeditor/README.txt -text
  eu.etaxonomy.taxeditor/deploy_nightly.sh -text
  eu.etaxonomy.taxeditor/eu.etaxonomy.taxeditor.product -text
  eu.etaxonomy.taxeditor/plugin_customization.ini -text
index 7bf8d236dce79a76858f9a3315b7e02038a0045d,e3eacfd685dc6e07503a3821867913c05bc1960e..eb8f82986f5f5c573f611b153018b411dacec79a
@@@ -28,7 -28,7 +28,7 @@@ public class ApplicationUtil extends Ab
      /**
       * Prefix to declare the version as beta
       */
 -    private static final String BETA_PREFIX = "[Beta]";
 +    private static final String BETA_PREFIX = "[REMOTING]";
  
      /**
       * @return
@@@ -45,7 -45,7 +45,7 @@@
              // this is a stable version
              return version;
          } else {
-             return BETA_PREFIX + " " + version;
+             return BETA_PREFIX + " " + version + " UTC";
          }
  
      }
index b6a3b827ccd21357f932c6a441a0c02508bdba93,390956d2a035e98b7fc2e839cb858437122525a7..ac54ad8a89971cad6b2049d64b48addf971073c1
@@@ -1,15 -1,10 +1,15 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <classpath>
 +      <classpathentry exported="true" kind="lib" path="lib/cdm-server-3.5.2-SNAPSHOT.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.4.2.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.4.2.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.4.2.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.4.2.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.4.2.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 kind="src" path="src/main/resources"/>
 -      <classpathentry kind="src" path="src/test/resources"/>
 +      <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
 +      <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
        <classpathentry exported="true" kind="lib" path="lib/activation-1.1.1.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/antlr-2.7.7.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/aopalliance-1.0.jar"/>
@@@ -64,7 -59,7 +64,7 @@@
        <classpathentry exported="true" kind="lib" path="lib/hibernate-c3p0-4.1.10.Final.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/hibernate-cglib-repack-2.1_3.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/hibernate-commons-annotations-4.0.1.Final.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/hibernate-core-4.1.10.Final.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/hibernate-core-4.1.10.Final.jar" sourcepath="/home/cmathew/.m2/repository/org/hibernate/hibernate-core/4.1.10.Final/hibernate-core-4.1.10.Final-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/hibernate-ehcache-4.1.10.Final.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/hibernate-entitymanager-4.1.10.Final.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/hibernate-envers-4.1.10.Final.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/org.springframework.oxm-3.2.2.RELEASE.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/org.springframework.test-3.2.2.RELEASE.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/org.springframework.transaction-3.2.2.RELEASE.jar" sourcepath="lib/org.springframework.transaction-3.2.2.RELEASE-sources.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.2.2.RELEASE.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/org.springframework.web-3.2.2.RELEASE.jar" sourcepath="/home/cmathew/.m2/repository/org/springframework/org.springframework.web/3.2.2.RELEASE/org.springframework.web-3.2.2.RELEASE-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/org.springframework.web.servlet-3.2.2.RELEASE.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/osgi-3.6.0.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/p6spy-1.3.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/spring-expression-3.2.2.RELEASE.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/spring-modules-cache-0.7.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/spring-security-config-3.1.3.RELEASE.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.1.3.RELEASE.jar"/>
 +      <classpathentry exported="true" kind="lib" path="lib/spring-security-core-3.1.3.RELEASE.jar" sourcepath="/home/cmathew/.m2/repository/org/springframework/security/spring-security-core/3.1.3.RELEASE/spring-security-core-3.1.3.RELEASE-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/stax-1.2.0.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/stax-api-1.0.1.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-core-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-database-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-dbmaintainer-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-dbunit-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-easymock-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-inject-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-mock-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-orm-3.3.jar"/>
 -      <classpathentry exported="true" kind="lib" path="lib/unitils-spring-3.3.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/usertype.jodatime-2.0.1.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/usertype.spi-2.0.1.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/validation-api-1.0.0.GA.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/spring-security-remoting-3.1.3.RELEASE.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/jena-core-2.11.2.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/jena-iri-1.0.2.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.4.1-SNAPSHOT.jar"/>
-       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.4.1-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-commons-3.5.2-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-ext-3.5.2-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-io-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-model-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-print-3.5.2-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-remote-3.5.2-SNAPSHOT.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar"/>
+       <classpathentry exported="true" kind="lib" path="lib/cdmlib-services-3.5.2-SNAPSHOT.jar" sourcepath="lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/poi-3.10-FINAL.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/poi-ooxml-3.10-FINAL.jar"/>
        <classpathentry exported="true" kind="lib" path="lib/xmlbeans-2.3.0.jar"/>
index b9269d1eb62823fb5da6a20955796845bfcb1d8e,30d09f9e0a340dbb8f90db731386ccd0cf095e54..4c4c417d48ed10464b346536a7ca2dbec28b2d33
@@@ -2,15 -2,15 +2,15 @@@ Manifest-Version: 1.
  Bundle-ManifestVersion: 2
  Bundle-Name: CDM Library Dependencies Plugin
  Bundle-SymbolicName: eu.etaxonomy.taxeditor.cdmlib;singleton:=true
- Bundle-Version: 3.4.1.qualifier
+ Bundle-Version: 3.5.2.qualifier
  Eclipse-BundleShape: dir
  Export-Package: com.google.api,
   com.google.api.detect,
   com.google.api.translate,
   eu.etaxonomy.cdm.api.application,
 + eu.etaxonomy.cdm.api.cache,
   eu.etaxonomy.cdm.api.conversation,
   eu.etaxonomy.cdm.api.facade,
 - eu.etaxonomy.cdm.api.lazyloading,
   eu.etaxonomy.cdm.api.service,
   eu.etaxonomy.cdm.api.service.config,
   eu.etaxonomy.cdm.api.service.description,
@@@ -25,6 -25,8 +25,8 @@@
   eu.etaxonomy.cdm.api.service.statistics,
   eu.etaxonomy.cdm.api.service.util,
   eu.etaxonomy.cdm.api.utility,
+  eu.etaxonomy.cdm.api.validation,
+  eu.etaxonomy.cdm.api.validation.batch,
   eu.etaxonomy.cdm.aspectj,
   eu.etaxonomy.cdm.common,
   eu.etaxonomy.cdm.common.media,
@@@ -55,6 -57,7 +57,7 @@@
   eu.etaxonomy.cdm.io.common.events,
   eu.etaxonomy.cdm.io.common.mapping,
   eu.etaxonomy.cdm.io.common.mapping.out,
+  eu.etaxonomy.cdm.io.csv.caryophyllales.out,
   eu.etaxonomy.cdm.io.csv.redlist.demo,
   eu.etaxonomy.cdm.io.csv.redlist.out,
   eu.etaxonomy.cdm.io.dwca,
   eu.etaxonomy.cdm.persistence.dao.hibernate.occurrence,
   eu.etaxonomy.cdm.persistence.dao.hibernate.reference,
   eu.etaxonomy.cdm.persistence.dao.hibernate.taxon,
 - eu.etaxonomy.cdm.persistence.dao.hibernate.validation,
   eu.etaxonomy.cdm.persistence.dao.hibernate.view,
   eu.etaxonomy.cdm.persistence.dao.media,
   eu.etaxonomy.cdm.persistence.dao.name,
   eu.etaxonomy.cdm.persistence.dao.occurrence,
   eu.etaxonomy.cdm.persistence.dao.reference,
   eu.etaxonomy.cdm.persistence.dao.taxon,
+  eu.etaxonomy.cdm.persistence.dao.validation,
+  eu.etaxonomy.cdm.persistence.dto,
   eu.etaxonomy.cdm.persistence.fetch,
   eu.etaxonomy.cdm.persistence.hibernate,
   eu.etaxonomy.cdm.persistence.hibernate.permission,
   eu.etaxonomy.cdm.print.out.pdf,
   eu.etaxonomy.cdm.print.out.taxpub,
   eu.etaxonomy.cdm.print.out.xml,
 - eu.etaxonomy.cdm.remote,
   eu.etaxonomy.cdm.remote.config,
   eu.etaxonomy.cdm.remote.controller,
   eu.etaxonomy.cdm.remote.controller.dto,
   eu.etaxonomy.cdm.validation.annotation,
   eu.etaxonomy.cdm.validation.constraint,
   eu.etaxonomy.remote.dto.rdf,
 + eu.etaxonomy.taxeditor.remoting,
 + eu.etaxonomy.taxeditor.remoting.cache,
 + eu.etaxonomy.taxeditor.remoting.server,
 + eu.etaxonomy.taxeditor.remoting.source,
 + eu.etaxonomy.taxeditor.session,
 + eu.etaxonomy.taxeditor.session.mock,
 + javassist.util.proxy,
   javax.persistence,
   junit.framework;uses:="org.junit.runner.manipulation,org.junit.runner,org.junit.runner.notification",
 + net.sf.ehcache,
 + net.sf.ehcache.config,
 + net.sf.ehcache.statistics,
 + net.sf.ehcache.store,
   net.sf.json;uses:="net.sf.json.processors,net.sf.json.util,org.apache.commons.lang.exception",
   org.apache.commons.collections;uses:="org.apache.commons.collections.keyvalue,new org.apache.commons.collections",
   org.apache.commons.io;uses:="org.apache.commons.io.filefilter",
   org.apache.fop.apps,
   org.apache.http,
   org.apache.http.client,
 + org.apache.http.util,
   org.apache.log4j;uses:="org.apache.log4j.helpers,org.apache.log4j.or,org.apache.log4j.spi",
   org.apache.log4j.chainsaw;
    uses:="org.apache.log4j,
   org.apache.lucene.util,
   org.apache.sanselan;uses:="org.apache.sanselan.common,org.apache.sanselan.common.byteSources",
   org.apache.xerces.dom,
+  org.eclipse.osgi.internal.loader,
   org.eclipse.osgi.util,
   org.h2.jdbc,
   org.hamcrest,
   org.hibernate,
   org.hibernate.annotations.common.reflection,
   org.hibernate.cache.internal,
 + org.hibernate.cfg,
   org.hibernate.classic,
   org.hibernate.collection.internal,
 + org.hibernate.collection.spi,
   org.hibernate.criterion,
 + org.hibernate.engine.internal,
 + org.hibernate.engine.spi,
 + org.hibernate.engine.transaction.spi,
   org.hibernate.envers.query.criteria,
 + org.hibernate.internal,
 + org.hibernate.internal.util,
 + org.hibernate.internal.util.collections,
 + org.hibernate.mapping,
 + org.hibernate.persister.collection,
 + org.hibernate.persister.entity,
 + org.hibernate.pretty,
 + org.hibernate.property,
   org.hibernate.proxy,
 + org.hibernate.proxy.pojo.javassist,
   org.hibernate.search,
   org.hibernate.search.spatial.impl,
 + org.hibernate.type,
   org.jadira.usertype.dateandtime.joda,
   org.jadira.usertype.dateandtime.shared.spi,
   org.jboss.logging,
   org.odftoolkit.odfdom.dom.element,
   org.odftoolkit.odfdom.dom.element.style,
   org.odftoolkit.odfdom.dom.style,
 + org.springframework.beans,
   org.springframework.beans.factory,
   org.springframework.beans.factory.annotation;
    uses:="org.apache.commons.logging,
     org.springframework.beans.factory.wiring,
     org.springframework.core.type,
     org.springframework.beans.factory",
 + org.springframework.beans.factory.config,
 + org.springframework.beans.factory.support,
 + org.springframework.beans.factory.xml,
   org.springframework.cache.ehcache,
   org.springframework.context;
    uses:="org.springframework.core.io,
     org.aopalliance.intercept,
     org.springframework.context,
     org.springframework.beans.factory",
 + org.springframework.context.support,
   org.springframework.core;uses:="org.springframework.util",
 + org.springframework.core.env,
   org.springframework.core.io;uses:="org.jboss.virtual",
 + org.springframework.core.io.support,
   org.springframework.core.type.classreading,
   org.springframework.orm.hibernate3;
    uses:="org.apache.commons.logging,
     org.springframework.dao,
     org.springframework.transaction.support",
   org.springframework.orm.hibernate4,
 + org.springframework.remoting,
 + org.springframework.remoting.httpinvoker,
 + org.springframework.remoting.support,
   org.springframework.security.access,
   org.springframework.security.authentication,
   org.springframework.security.authentication.event,
     org.springframework.transaction,
     org.apache.commons.logging,
     org.springframework.beans.factory",
 + org.springframework.util,
   org.springframework.web.servlet;
    uses:="org.springframework.web.multipart,
     org.apache.commons.logging,
     org.springframework.context.event,
     javax.servlet,
     org.springframework.ui,
 -   javax.servlet.http"
 +   javax.servlet.http",
 + org.unitils,
 + org.unitils.database,
 + org.unitils.database.annotations,
 + org.unitils.database.util,
 + org.unitils.dbunit.annotation,
 + org.unitils.spring.annotation
  Bundle-Vendor: EDIT
  Bundle-RequiredExecutionEnvironment: JavaSE-1.6
  Require-Bundle: org.eclipse.osgi,
 - org.eclipse.equinox.common
 + org.eclipse.equinox.common,
 + org.apache.commons.httpclient;bundle-version="3.1.0"
  Bundle-ClassPath: .,
   lib/activation-1.1.1.jar,
   lib/antlr-2.7.7.jar,
   lib/spring-security-core-3.1.3.RELEASE.jar,
   lib/stax-1.2.0.jar,
   lib/stax-api-1.0.1.jar,
 - lib/unitils-core-3.3.jar,
 - lib/unitils-database-3.3.jar,
 - lib/unitils-dbmaintainer-3.3.jar,
 - lib/unitils-dbunit-3.3.jar,
 - lib/unitils-easymock-3.3.jar,
 - lib/unitils-inject-3.3.jar,
 - lib/unitils-mock-3.3.jar,
 - lib/unitils-orm-3.3.jar,
 - lib/unitils-spring-3.3.jar,
   lib/usertype.jodatime-2.0.1.jar,
   lib/usertype.spi-2.0.1.jar,
   lib/validation-api-1.0.0.GA.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/cdmlib-commons-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-ext-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-io-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-model-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-persistence-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-print-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-remote-3.4.1-SNAPSHOT.jar,
-  lib/cdmlib-services-3.4.1-SNAPSHOT.jar,
+  lib/cdmlib-commons-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-commons-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-ext-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-ext-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-io-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-io-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-model-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-model-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-persistence-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-persistence-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-print-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-print-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-remote-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-remote-3.5.2-SNAPSHOT.jar,
+  lib/cdmlib-services-3.5.2-SNAPSHOT-sources.jar,
+  lib/cdmlib-services-3.5.2-SNAPSHOT.jar,
   lib/poi-3.10-FINAL.jar,
   lib/poi-ooxml-3.10-FINAL.jar,
   lib/xmlbeans-2.3.0.jar,
   lib/poi-ooxml-schemas-3.10-FINAL.jar,
 - lib/swagger-annotations-1.3.5.jar
 -Import-Package: eu.etaxonomy.cdm.api.application
 + lib/swagger-annotations-1.3.5.jar,
 + lib/unitils-core-3.4.2.jar,
 + lib/unitils-database-3.4.2.jar,
 + lib/unitils-dbmaintainer-3.4.2.jar,
 + lib/unitils-dbunit-3.4.2.jar,
 + lib/unitils-spring-3.4.2.jar,
 + lib/cdm-server-3.5.2-SNAPSHOT.jar
 +Import-Package: org.apache.commons.httpclient.methods
index a247e030c0998e5997f4a16162dde67efae6b962,d2c2e69526e79ae5148e726bea803f40ea17c153..1cad966b40ce2f56d207ffce294ac302f8ea624d
@@@ -155,6 -155,15 +155,6 @@@ bin.includes = META-INF/,
                 lib/spring-security-core-3.1.3.RELEASE.jar,\\r
                 lib/stax-1.2.0.jar,\\r
                 lib/stax-api-1.0.1.jar,\\r
 -               lib/unitils-core-3.3.jar,\\r
 -               lib/unitils-database-3.3.jar,\\r
 -               lib/unitils-dbmaintainer-3.3.jar,\\r
 -               lib/unitils-dbunit-3.3.jar,\\r
 -               lib/unitils-easymock-3.3.jar,\\r
 -               lib/unitils-inject-3.3.jar,\\r
 -               lib/unitils-mock-3.3.jar,\\r
 -               lib/unitils-orm-3.3.jar,\\r
 -               lib/unitils-spring-3.3.jar,\\r
                 lib/usertype.jodatime-2.0.1.jar,\\r
                 lib/usertype.spi-2.0.1.jar,\\r
                 lib/validation-api-1.0.0.GA.jar,\\r
                 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
  source.. = src/main/java/,\\r
 -           src/main/resources/,\\r
 -           src/test/java/\r
 +           src/main/resources/\r
  src.includes = src/\r
  \r
index a03430fd3049e471378b886841bcd106a1c7610a,66aade0ae266737ac5879776f8950d470a628004..d5534ed09adc99f673d7ca164c1dc9b6409012ad
  <?xml version="1.0" encoding="UTF-8"?>\r
 -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
 +<project>\r
 +\r
    <parent>\r
      <groupId>eu.etaxonomy</groupId>\r
      <artifactId>taxeditor-parent</artifactId>\r
-     <version>3.4.1-SNAPSHOT</version>\r
+     <version>3.5.2-SNAPSHOT</version>\r
    </parent>\r
    <modelVersion>4.0.0</modelVersion>\r
    <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>\r
    <packaging>eclipse-plugin</packaging>\r
 -  <name>CDM Library Dependencies Plugin</name>\r
 -  <description>CDM Library and dependencies as a plugin</description>\r
 +  <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
 +  <profiles>\r
 +    <profile>\r
 +      <id>cleanCdmlibJars</id>\r
 +      <build>\r
 +        <plugins>\r
 +          <plugin>\r
 +            <artifactId>maven-clean-plugin</artifactId>\r
 +            <version>2.3</version>\r
 +            <configuration>\r
 +              <filesets>\r
 +                <fileset>\r
 +                  <directory>${basedir}/lib</directory>\r
 +                  <includes>\r
 +                    <include>cdmlib-*</include>\r
 +                  </includes>\r
 +                  <followSymlinks>false</followSymlinks>\r
 +                </fileset>\r
 +              </filesets>\r
 +            </configuration>\r
 +          </plugin>\r
 +        </plugins>\r
 +      </build>\r
 +    </profile>\r
 +    <profile>\r
 +      <id>cleanAllJars</id>\r
 +      <build>\r
 +        <plugins>\r
 +          <plugin>\r
 +            <artifactId>maven-clean-plugin</artifactId>\r
 +            <version>2.3</version>\r
 +            <configuration>\r
 +              <filesets>\r
 +                <fileset>\r
 +                  <directory>${basedir}/lib</directory>\r
 +                  <includes>\r
 +                    <include>*</include>\r
 +                  </includes>\r
 +                  <followSymlinks>false</followSymlinks>\r
 +                </fileset>\r
 +              </filesets>\r
 +            </configuration>\r
 +          </plugin>\r
 +        </plugins>\r
 +      </build>\r
 +    </profile>\r
 +    <profile>\r
 +      <id>copyAllJars</id>\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-all-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
 +                  <outputDirectory>${basedir}/lib</outputDirectory>\r
 +                  <overWriteReleases>true</overWriteReleases>\r
 +                  <overWriteSnapshots>true</overWriteSnapshots>\r
 +                  <excludeTransitive>true</excludeTransitive>\r
 +                </configuration>\r
 +              </execution>\r
 +            </executions>\r
 +          </plugin>\r
 +        </plugins>\r
 +      </build>\r
 +    </profile>\r
 +  </profiles>\r
 +  <repositories>\r
 +    <repository>\r
 +      <id>SpringSource Enterprise Bundle Repository - External Bundle\r
 +        Milestones\r
 +      </id>\r
 +      <url>http://repository.springsource.com/maven/bundles/milestone\r
 +      </url>\r
 +    </repository>\r
 +    <repository>\r
 +      <id>SpringSource Enterprise Bundle Repository - SpringSource\r
 +        Bundle\r
 +        Releases\r
 +      </id>\r
 +      <url>http://repository.springsource.com/maven/bundles/release\r
 +      </url>\r
 +    </repository>\r
 +    <repository>\r
 +      <id>SpringSource Enterprise Bundle Repository - External Bundle\r
 +        Releases\r
 +      </id>\r
 +      <url>http://repository.springsource.com/maven/bundles/external\r
 +      </url>\r
 +    </repository>\r
 +  </repositories>\r
    <dependencies>\r
      <dependency>\r
 -      <groupId>identificationKeyAPI</groupId>\r
 -      <artifactId>identificationKeyAPI</artifactId>\r
 -      <version>1.0-SNAPSHOT</version>\r
 +      <groupId>eu.etaxonomy</groupId>\r
 +      <artifactId>cdmlib-remote-webapp</artifactId>\r
 +      <version>${cdmlib.version}</version>\r
 +      <type>war</type>\r
 +    </dependency>\r
 +    <dependency>\r
 +      <groupId>eu.etaxonomy</groupId>\r
 +      <artifactId>cdm-server</artifactId>\r
 +      <version>3.5.2-SNAPSHOT</version>\r
      </dependency>\r
      <dependency>\r
        <groupId>eu.etaxonomy</groupId>\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>
index 6755057bd55e372b301caf9825b601d3f4b61759,524d83c4ddd1ff18324aa3de9035021bdb620b29..4a4f2ec46cd1e84dca584ab42c16e44d1a5e6a8f
@@@ -3,9 -3,9 +3,9 @@@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context"
        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">
+       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">
        
        
      <!-- Default application context and term initializer -->
@@@ -27,6 -27,5 +27,6 @@@
      <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.remote\.controller\..*Portal.*" /> 
    </context:component-scan>
    
 +  <context:component-scan base-package="eu/etaxonomy/taxeditor/remoting/session/mock" />
  
  </beans>
index e423b8bcfb886ced6a7d979216deacdae4c13791,e67e9b4534c51d886c6815d8e473d40bdebce036..2556cbdc09f1812a5d89c64c7efc855f4343c3cb
@@@ -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
index 296e2ebb84f437a94040cb60839c289fe470bccc,b26b72184252c4ace4eae45d2ccbe03f684b2f6e..7d14232f8f4c44d6ca15b63dc4ee2a693b7479b8
@@@ -2,7 -2,7 +2,7 @@@ Manifest-Version: 1.
  Bundle-ManifestVersion: 2
  Bundle-Name: Editor Bundle
  Bundle-SymbolicName: eu.etaxonomy.taxeditor.editor;singleton:=true
- Bundle-Version: 3.4.1.qualifier
+ Bundle-Version: 3.5.2.qualifier
  Bundle-Activator: eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin
  Bundle-Vendor: %Bundle-Vendor.0
  Bundle-Localization: OSGI-INF/l10n/plugin
@@@ -11,7 -11,6 +11,7 @@@ Export-Package: eu.etaxonomy.taxeditor.
   eu.etaxonomy.taxeditor.editor.internal,
   eu.etaxonomy.taxeditor.editor.name,
   eu.etaxonomy.taxeditor.editor.name.handler,
 + eu.etaxonomy.taxeditor.editor.name.operation,
   eu.etaxonomy.taxeditor.editor.view.concept,
   eu.etaxonomy.taxeditor.editor.view.dataimport,
   eu.etaxonomy.taxeditor.editor.view.descriptive,
@@@ -26,7 -25,7 +26,7 @@@ Require-Bundle: org.eclipse.ui
   org.eclipse.zest.core,
   org.eclipse.zest.layouts,
   eu.etaxonomy.taxeditor.cdmlib,
-  org.eclipse.ui.ide;bundle-version="3.7.0"
+  org.eclipse.ui.ide
  Bundle-RequiredExecutionEnvironment: JavaSE-1.6
  Bundle-ActivationPolicy: lazy
  Import-Package: org.eclipse.core.databinding.beans,
index 3c1c7efde3878d27c6c5738a1cb5c6ec93de999e,94107c24aa62579a0771388f9ed03a5724d1d099..945380745a30ef73e717d6a39793532a8d68151f
@@@ -29,7 -29,6 +29,7 @@@ import eu.etaxonomy.cdm.model.common.Cd
  import eu.etaxonomy.cdm.model.name.TaxonNameBase;
  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.internal.TaxeditorEditorPlugin;
  import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
@@@ -43,8 -42,6 +43,8 @@@ import eu.etaxonomy.taxeditor.model.IPa
  import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  
  /**
   *
   * @version 1.0
   */
  public class MultiPageTaxonEditor extends FormEditor implements
 -        IPartContentHasFactualData, IConversationEnabled, IPostOperationEnabled,
 -              IDirtyMarkable, IPartContentHasDetails, ISecuredEditor, IPartContentHasMedia {
 -
 -      /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.taxon"{trunked}</code> */
 -      public static final String ID = "eu.etaxonomy.taxeditor.editor.taxon";
 -
 -      private boolean dirty;
 -
 -      private ConversationHolder conversation;
 -      private IDataChangeBehavior dataChangeBehavior;
 -      private IUndoContext undoContext;
 -
 -      private TaxonEditorInput input;
 -
 -      /**
 -       * <p>
 -       * Constructor for MultiPageTaxonEditor.
 -       * </p>
 -       */
 -      public MultiPageTaxonEditor() {
 -              super();
 -              undoContext = new UndoContext();
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public void dispose() {
 -              conversation.unregisterForDataStoreChanges(this);
 -              conversation.close();
 -              super.dispose();
 -      }
 -
 -      /*
 -       * (non-Javadoc)
 -       *
 -       * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
 -       */
 -      /** {@inheritDoc} */
 -      @Override
 -      protected void addPages() {
 -              input = (TaxonEditorInput) getEditorInput();
 -              conversation = input.getConversationHolder();
 -              conversation.registerForDataStoreChanges(this);
 -
 -              try {
 -                      addPage(Page.NAME.getIndex(), new TaxonNameEditor(this),
 -                                      getEditorInput());
 -                      // setPageText(Page.NAME.getIndex(), Page.NAME.getTitle());
 -
 -                      // TODO lazy create
 -                      // addPage(Page.DESCRIPTIVE.getIndex(), new
 -                      // TaxonDescriptionTreeEditor(this), getEditorInput());
 -                      // setPageText(Page.DESCRIPTIVE.getIndex(),
 -                      // Page.DESCRIPTIVE.getTitle());
 -
 -                      // EditorUtil.showPropertySheet();
 -
 -              } catch (PartInitException e) {
 -                      MessagingUtils.error(getClass(), e);
 -              }
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public void doSave(IProgressMonitor monitor) {
 -              monitor.beginTask("Saving Editor", 4);
 -              try {
 -                      if (!conversation.isBound()) {
 -                              conversation.bind();
 -                      }
 -                      monitor.worked(1);
 +IPartContentHasFactualData, IConversationEnabled, ICdmEntitySessionEnabled, IPostOperationEnabled,
 +IDirtyMarkable, IPartContentHasDetails, ISecuredEditor, IPartContentHasMedia {
 +
 +    /** Constant <code>ID="eu.etaxonomy.taxeditor.editor.taxon"{trunked}</code> */
 +    public static final String ID = "eu.etaxonomy.taxeditor.editor.taxon";
 +
 +    private boolean dirty;
 +
 +    private ICdmEntitySession cdmEntitySession;
 +    private ConversationHolder conversation;
 +    private IDataChangeBehavior dataChangeBehavior;
 +    private IUndoContext undoContext;
 +
 +    private TaxonEditorInput input;
 +
 +    /**
 +     * <p>
 +     * Constructor for MultiPageTaxonEditor.
 +     * </p>
 +     */
 +    public MultiPageTaxonEditor() {
 +        super();
 +        undoContext = new UndoContext();
 +
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public void dispose() {
 +        if(cdmEntitySession != null) {
 +            cdmEntitySession.dispose();
 +        }
 +        conversation.unregisterForDataStoreChanges(this);
 +        conversation.close();
 +        super.dispose();
 +    }
 +
 +    /*
 +     * (non-Javadoc)
 +     *
 +     * @see org.eclipse.ui.forms.editor.FormEditor#addPages()
 +     */
 +    /** {@inheritDoc} */
 +    @Override
 +    protected void addPages() {
 +        input = (TaxonEditorInput) getEditorInput();
 +        conversation = input.getConversationHolder();
 +        conversation.registerForDataStoreChanges(this);
 +        cdmEntitySession.registerForDataStoreChanges(this);
 +        try {
 +            addPage(Page.NAME.getIndex(), new TaxonNameEditor(this),
 +                    getEditorInput());
 +            // setPageText(Page.NAME.getIndex(), Page.NAME.getTitle());
 +
 +            // TODO lazy create
 +            // addPage(Page.DESCRIPTIVE.getIndex(), new
 +            // TaxonDescriptionTreeEditor(this), getEditorInput());
 +            // setPageText(Page.DESCRIPTIVE.getIndex(),
 +            // Page.DESCRIPTIVE.getTitle());
 +
 +            // EditorUtil.showPropertySheet();
 +
 +        } catch (PartInitException e) {
 +            MessagingUtils.error(getClass(), e);
 +        }
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public void doSave(IProgressMonitor monitor) {
 +        monitor.beginTask("Saving Editor", 4);
 +        try {
 +            if (!conversation.isBound()) {
 +                conversation.bind();
 +            }
 +            monitor.worked(1);
  
              for (IEditorPart editorPage : getPages()) {
                  if (editorPage instanceof TaxonNameEditor) {
                  monitor.worked(1);
              }
  
 -                      // commit the conversation and start a new transaction immediately
 -                      conversation.commit(true);
 -                      monitor.worked(1);
 +            // commit the conversation and start a new transaction immediately
 +
 +            input.update();
 +            conversation.commit(true);
 +            monitor.worked(1);
  
              this.setDirty(false);
              monitor.worked(1);
          } finally {
              monitor.done();
          }
 -      }
 -
 -      private void disableEditor(boolean isOnError) {
 -              for (IMultiPageTaxonEditorPage editorPage : getPages()) {
 -                      if(isOnError){
 -                              editorPage.setOnError();
 -                      }else {
 -                              editorPage.setDisabled();
 -                      }
 -              }
 -              conversation.unregisterForDataStoreChanges(this);
 -              conversation.close();
 -              setDirty(false);
 -      }
 -
 -      private void setDirty(boolean dirty) {
 -              this.dirty = dirty;
 -              firePropertyChange(PROP_DIRTY);
 -      }
 -
 -      /*
 -       * (non-Javadoc)
 -       *
 -       * @see org.eclipse.ui.part.MultiPageEditorPart#isDirty()
 -       */
 -      /**
 -       * <p>
 -       * isDirty
 -       * </p>
 -       *
 -       * @return a boolean.
 -       */
 -      @Override
 +    }
 +
 +    private void disableEditor(boolean isOnError) {
 +        for (IMultiPageTaxonEditorPage editorPage : getPages()) {
 +            if(isOnError){
 +                editorPage.setOnError();
 +            }else {
 +                editorPage.setDisabled();
 +            }
 +        }
 +        cdmEntitySession.unregisterForDataStoreChanges(this);
 +        conversation.unregisterForDataStoreChanges(this);
 +        conversation.close();
 +        setDirty(false);
 +    }
 +
 +    private void setDirty(boolean dirty) {
 +        this.dirty = dirty;
 +        firePropertyChange(PROP_DIRTY);
 +    }
 +
 +    /*
 +     * (non-Javadoc)
 +     *
 +     * @see org.eclipse.ui.part.MultiPageEditorPart#isDirty()
 +     */
 +    /**
 +     * <p>
 +     * isDirty
 +     * </p>
 +     *
 +     * @return a boolean.
 +     */
 +    @Override
      public boolean isDirty() {
 -              return dirty;
 -      }
 -
 -      /*
 -       * (non-Javadoc)
 -       *
 -       * @see org.eclipse.ui.forms.editor.FormEditor#editorDirtyStateChanged()
 -       */
 -      /** {@inheritDoc} */
 -      @Override
 -      public void editorDirtyStateChanged() {
 -              dirty = true;
 -              super.editorDirtyStateChanged();
 -      }
 -
 -      /**
 -       * {@inheritDoc}
 -       *
 -       * Checks whether nested editors are calling
 -       * <code>firePropertyChange(PROP_DIRTY)</code> to signal an edit has taken
 -       * place before passing property change along to
 -       * <code>super.handlePropertyChange(int propertyId)</code>.
 -       */
 -      /*
 -       * (non-Javadoc)
 -       *
 -       * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int)
 -       */
 -      @Override
 +        return dirty;
 +    }
 +
 +    /*
 +     * (non-Javadoc)
 +     *
 +     * @see org.eclipse.ui.forms.editor.FormEditor#editorDirtyStateChanged()
 +     */
 +    /** {@inheritDoc} */
 +    @Override
 +    public void editorDirtyStateChanged() {
 +        dirty = true;
 +        super.editorDirtyStateChanged();
 +    }
 +
 +    /**
 +     * {@inheritDoc}
 +     *
 +     * Checks whether nested editors are calling
 +     * <code>firePropertyChange(PROP_DIRTY)</code> to signal an edit has taken
 +     * place before passing property change along to
 +     * <code>super.handlePropertyChange(int propertyId)</code>.
 +     */
 +    /*
 +     * (non-Javadoc)
 +     *
 +     * @see org.eclipse.ui.part.MultiPageEditorPart#handlePropertyChange(int)
 +     */
 +    @Override
      protected void handlePropertyChange(int propertyId) {
 -              if (propertyId == PROP_DIRTY) {
 -                      setDirty(true);
 -              }
 -              super.handlePropertyChange(propertyId);
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public void doSaveAs() {
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public boolean isSaveAsAllowed() {
 -              return false;
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public void init(IEditorSite site, IEditorInput input)
 -                      throws PartInitException {
 -
 -              if (!(input instanceof TaxonEditorInput)) {
 +        if (propertyId == PROP_DIRTY) {
 +            setDirty(true);
 +        }
 +        super.handlePropertyChange(propertyId);
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public void doSaveAs() {
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public boolean isSaveAsAllowed() {
 +        return false;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public void init(IEditorSite site, IEditorInput input)
 +            throws PartInitException {
 +
 +        if (!(input instanceof TaxonEditorInput)) {
              throw new PartInitException(
 -                                      "Invalid Input: Must be TaxonEditorInput");
 +                    "Invalid Input: Must be TaxonEditorInput");
          }
  
 -              this.input = (TaxonEditorInput) input;
 -
 -              // try {
 -              // // Listen for name changes,
 -              // // change tab for this taxon editor accordingly
 -              // getTaxon().addPropertyChangeListener("name",
 -              // new PropertyChangeListener() {
 -              // public void propertyChange(PropertyChangeEvent e) {
 -              // setPartName();
 -              // }
 -              // });
 -              // } catch (NullPointerException e) {
 -              // EditorUtil.warn(getClass(),
 -              // "Caught an NPE while initing an editor. This is most " +
 -              // "likely due to the unsuccesful attempt to restore the former " +
 -              // "state of the application. We ignore this because the workbench " +
 -              // "will simply be reset.");
 -              // }
 -              setPartName();
 -
 -              super.init(site, input);
 -      }
 -
 -      /**
 -       * Calls <code>MultiPageEditorPart.setPartName(String partName)</code> with
 -       * text appropriate to the state of the taxon: any taxon that has been saved
 -       * will by necessity have a name to display; a new taxon should display
 -       * "New taxon" in the editor tab.
 -       */
 -      protected void setPartName() {
 -
 -              String partName = null;
 -              TaxonNameBase<?, ?> name = getTaxon().getName();
 -
 -              if (name != null) {
 -                      partName = name.getTitleCache();
 -              }
 -
 -              if (partName == null || partName.equals("")) {
 -                      partName = ("New taxon");
 -              }
 -
 -              setPartName(partName);
 -      }
 +        this.input = (TaxonEditorInput) input;
 +        cdmEntitySession = this.input.getCdmEntitySession();
 +
 +        // try {
 +        // // Listen for name changes,
 +        // // change tab for this taxon editor accordingly
 +        // getTaxon().addPropertyChangeListener("name",
 +        // new PropertyChangeListener() {
 +        // public void propertyChange(PropertyChangeEvent e) {
 +        // setPartName();
 +        // }
 +        // });
 +        // } catch (NullPointerException e) {
 +        // EditorUtil.warn(getClass(),
 +        // "Caught an NPE while initing an editor. This is most " +
 +        // "likely due to the unsuccesful attempt to restore the former " +
 +        // "state of the application. We ignore this because the workbench " +
 +        // "will simply be reset.");
 +        // }
 +        setPartName();
 +
 +        super.init(site, input);
 +    }
 +
 +    /**
 +     * Calls <code>MultiPageEditorPart.setPartName(String partName)</code> with
 +     * text appropriate to the state of the taxon: any taxon that has been saved
 +     * will by necessity have a name to display; a new taxon should display
 +     * "New taxon" in the editor tab.
 +     */
 +    protected void setPartName() {
 +
 +        String partName = null;
 +        TaxonNameBase<?, ?> name = getTaxon().getName();
 +
 +        if (name != null) {
 +            partName = name.getTitleCache();
 +        }
 +
 +        if (partName == null || partName.equals("")) {
 +            partName = ("New taxon");
 +        }
 +
 +        setPartName(partName);
 +    }
  
      /**
       * {@inheritDoc}
                  container.refresh();
              }
          }
+         //refresh part title
+         //TODO: refresh taxon node in taxon navigator
+         setPartName();
      }
  
      /* (non-Javadoc)
          changed(null);
      }
  
 -      /**
 -       * The accepted taxon that is the input for this editor
 -       *
 -       * @return the accepted taxon
 -       */
 -      public Taxon getTaxon() {
 -              return input.getTaxon();
 -      }
 -
 -      /*
 -       * (non-Javadoc)
 -       *
 -       * @see
 -       * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
 -       * ()
 -       */
 -      /**
 -       * <p>
 -       * getConversationHolder
 -       * </p>
 -       *
 -       * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
 -       *         object.
 -       */
 -      @Override
 +    /**
 +     * The accepted taxon that is the input for this editor
 +     *
 +     * @return the accepted taxon
 +     */
 +    public Taxon getTaxon() {
 +        return input.getTaxon();
 +    }
 +
 +    /*
 +     * (non-Javadoc)
 +     *
 +     * @see
 +     * eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder
 +     * ()
 +     */
 +    /**
 +     * <p>
 +     * getConversationHolder
 +     * </p>
 +     *
 +     * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
 +     *         object.
 +     */
 +    @Override
      public ConversationHolder getConversationHolder() {
 -              return conversation;
 -      }
 -
 -      /**
 -       * <p>
 -       * setConversationHolder
 -       * </p>
 -       *
 -       * @param conversation
 -       *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
 -       *            object.
 -       */
 -      public void setConversationHolder(ConversationHolder conversation) {
 -              this.conversation = conversation;
 -      }
 -
 -      /**
 -       * <p>
 -       * Getter for the field <code>undoContext</code>.
 -       * </p>
 -       *
 -       * @return a {@link org.eclipse.core.commands.operations.IUndoContext}
 -       *         object.
 -       */
 -      public IUndoContext getUndoContext() {
 -              return undoContext;
 -      }
 -
 -      /**
 -       * <p>
 -       * Setter for the field <code>undoContext</code>.
 -       * </p>
 -       *
 -       * @param undoContext
 -       *            a {@link org.eclipse.core.commands.operations.IUndoContext}
 -       *            object.
 -       */
 -      public void setUndoContext(IUndoContext undoContext) {
 -              this.undoContext = undoContext;
 -      }
 -
 -      /** {@inheritDoc} */
 -      @Override
 -      public void setFocus() {
 -              // logger.warn("Setting focus to editor");
 -              // bind the conversation
 -              getConversationHolder().bind();
 -              // pass focus to the active editor page
 -              getActiveEditor().setFocus();
 -      }
 +        return conversation;
 +    }
 +
 +    /**
 +     * <p>
 +     * setConversationHolder
 +     * </p>
 +     *
 +     * @param conversation
 +     *            a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder}
 +     *            object.
 +     */
 +    public void setConversationHolder(ConversationHolder conversation) {
 +        this.conversation = conversation;
 +    }
 +
 +    /**
 +     * <p>
 +     * Getter for the field <code>undoContext</code>.
 +     * </p>
 +     *
 +     * @return a {@link org.eclipse.core.commands.operations.IUndoContext}
 +     *         object.
 +     */
 +    public IUndoContext getUndoContext() {
 +        return undoContext;
 +    }
 +
 +    /**
 +     * <p>
 +     * Setter for the field <code>undoContext</code>.
 +     * </p>
 +     *
 +     * @param undoContext
 +     *            a {@link org.eclipse.core.commands.operations.IUndoContext}
 +     *            object.
 +     */
 +    public void setUndoContext(IUndoContext undoContext) {
 +        this.undoContext = undoContext;
 +    }
 +
 +    /** {@inheritDoc} */
 +    @Override
 +    public void setFocus() {
 +        // logger.warn("Setting focus to editor");
 +        // bind the conversation
 +        getConversationHolder().bind();
 +        if(cdmEntitySession != null) {
 +            cdmEntitySession.bind();
 +        }
 +        // pass focus to the active editor page
 +        getActiveEditor().setFocus();
 +    }
  
      /*
       * (non-Javadoc)
      /** {@inheritDoc} */
      @Override
      public boolean postOperation(CdmBase objectAffectedByOperation) {
-         setDirty(true);
+               setDirty(true);
  
          for (IEditorPart editor : this.getPages()) {
              if (editor instanceof IPostOperationEnabled) {
          return false;
      }
  
 -      /**
 -       * Returns an <code>IEditorPart</code> implementation by type
 -       *
 -       * @param page
 -       *            the page type
 -       * @return a {@link eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage}
 -       *         object.
 -       */
 -      public IMultiPageTaxonEditorPage getPage(Page page) {
 -              for (IEditorPart editor : this.getPages()) {
 -                      if (editor.getClass().equals(page.getClazz())) {
 -                              return (IMultiPageTaxonEditorPage) editor;
 -                      }
 -              }
 -              return null;
 -      }
 -
 -      /**
 -       * Return a list of <code>AbstractTaxonEditor</code>s registered with this
 -       * <code>MultiPageTaxonEditor</code>.
 -       *
 -       * @return a {@link java.util.List} object.
 -       */
 -      public List<IMultiPageTaxonEditorPage> getPages() {
 -              ArrayList<IMultiPageTaxonEditorPage> editors = new ArrayList<IMultiPageTaxonEditorPage>();
 -              for (int i = 0; i < this.getPageCount(); i++) {
 -
 -                      editors.add((IMultiPageTaxonEditorPage) this.getEditor(i));
 -              }
 -              return editors;
 -      }
 -
 -      /**
 -       * Refreshes a certain page of the MultipageTaxonEditor
 -       *
 -       * @param page
 -       *            a {@link eu.etaxonomy.taxeditor.editor.Page} object.
 -       * @return a boolean.
 -       */
 -      public boolean redraw(Page page) {
 -              return redraw(page, true);
 -      }
 -
 -      /**
 -       * Refreshes a certain page of the MultipageTaxonEditor and sets focus to
 -       * that page
 -       *
 -       * @param page
 -       *            a {@link eu.etaxonomy.taxeditor.editor.Page} object.
 -       * @param focus
 -       *            a boolean.
 -       * @return a boolean.
 -       */
 -      public boolean redraw(Page page, boolean focus) {
 -              IMultiPageTaxonEditorPage editorPage = getPage(page);
 -              return editorPage != null && editorPage.redraw(focus);
 -      }
 -
 -      /**
 -       * <p>
 -       * onComplete
 -       * </p>
 -       *
 -       * @return a boolean.
 -       */
 -      @Override
 +    /**
 +     * Returns an <code>IEditorPart</code> implementation by type
 +     *
 +     * @param page
 +     *            the page type
 +     * @return a {@link eu.etaxonomy.taxeditor.editor.IMultiPageTaxonEditorPage}
 +     *         object.
 +     */
 +    public IMultiPageTaxonEditorPage getPage(Page page) {
 +        for (IEditorPart editor : this.getPages()) {
 +            if (editor.getClass().equals(page.getClazz())) {
 +                return (IMultiPageTaxonEditorPage) editor;
 +            }
 +        }
 +        return null;
 +    }
 +
 +    /**
 +     * Return a list of <code>AbstractTaxonEditor</code>s registered with this
 +     * <code>MultiPageTaxonEditor</code>.
 +     *
 +     * @return a {@link java.util.List} object.
 +     */
 +    public List<IMultiPageTaxonEditorPage> getPages() {
 +        ArrayList<IMultiPageTaxonEditorPage> editors = new ArrayList<IMultiPageTaxonEditorPage>();
 +        for (int i = 0; i < this.getPageCount(); i++) {
 +
 +            editors.add((IMultiPageTaxonEditorPage) this.getEditor(i));
 +        }
 +        return editors;
 +    }
 +
 +    /**
 +     * Refreshes a certain page of the MultipageTaxonEditor
 +     *
 +     * @param page
 +     *            a {@link eu.etaxonomy.taxeditor.editor.Page} object.
 +     * @return a boolean.
 +     */
 +    public boolean redraw(Page page) {
 +        return redraw(page, true);
 +    }
 +
 +    /**
 +     * Refreshes a certain page of the MultipageTaxonEditor and sets focus to
 +     * that page
 +     *
 +     * @param page
 +     *            a {@link eu.etaxonomy.taxeditor.editor.Page} object.
 +     * @param focus
 +     *            a boolean.
 +     * @return a boolean.
 +     */
 +    public boolean redraw(Page page, boolean focus) {
 +        IMultiPageTaxonEditorPage editorPage = getPage(page);
 +        return editorPage != null && editorPage.redraw(focus);
 +    }
 +
 +    /**
 +     * <p>
 +     * onComplete
 +     * </p>
 +     *
 +     * @return a boolean.
 +     */
 +    @Override
      public boolean onComplete() {
 -              return false;
 -      }
 +        return false;
 +    }
  
      /**
       * Reloads the data for this
          }
      }
  
 -      @Override
 -      public String toString() {
 -              return String.format("%s[%s]", this.getClass().getSimpleName(), getEditorInput());
 -      }
 +    @Override
 +    public String toString() {
 +        return String.format("%s[%s]", this.getClass().getSimpleName(), getEditorInput());
 +    }
 +
 +    @Override
 +    public boolean permissionsSatisfied() {
 +        IEditorPart activeEditor = getActiveEditor();
 +        if(activeEditor != null && ISecuredEditor.class.isAssignableFrom(activeEditor.getClass())){
 +            return ((ISecuredEditor)activeEditor).permissionsSatisfied();
 +        }
 +        return true;
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
 +     */
 +    @Override
 +    public ICdmEntitySession getCdmEntitySession() {
 +        return cdmEntitySession;
 +    }
  
 -      @Override
 -      public boolean permissionsSatisfied() {
 -              IEditorPart activeEditor = getActiveEditor();
 -              if(activeEditor != null && ISecuredEditor.class.isAssignableFrom(activeEditor.getClass())){
 -                      return ((ISecuredEditor)activeEditor).permissionsSatisfied();
 -              }
 -              return true;
 -      }
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
 +     */
 +    @Override
 +    public List<TaxonNode> getRootEntities() {
 +        return input.getRootEntities();
 +    }
  }
index b9e334c458a5027177cc53c1c85ab2cc11a8a852,b3cd23d0d5c3b1d348496b9af6cd0c8edc26e363..f86b1433331a85a79c42c193916e69708717cec2
@@@ -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>
@@@ -87,7 -88,7 +52,7 @@@
   * @version 1.0
   */
  public class TaxonNameEditor extends EditorPart implements
 -              IMultiPageTaxonEditorPage, IConversationEnabled,
 +              IMultiPageTaxonEditorPage, IConversationEnabled, ICdmEntitySessionEnabled,
                IPartContentHasDetails, IPartChangeListener,
                ISelectionListener, IDropTargetable, ISecuredEditor {
  
  
        private TaxonBase objectAffectedByLastOperation;
  
 +      private ICdmEntitySession cdmEntitySession;
 +
        /**
         * <p>
         * Constructor for TaxonNameEditor.
         * </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);
          }
  
                if (input.getAdapter(Taxon.class) != null) {
 -                      taxon = (Taxon) input.getAdapter(Taxon.class);
 +                      taxon = CdmBase.deproxy(input.getAdapter(Taxon.class), Taxon.class);
                } else {
                        throw new PartInitException("Invalid Input: Taxon cannot be null");
                }
                Color background =  AbstractUtility.getColor(enabled ? Resources.COLOR_COMPOSITE_BACKGROUND : Resources.COLOR_TEXT_DISABLED_BACKGROUND);
                setEnabled(enabled, background);
        }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
 +     */
 +    @Override
 +    public ICdmEntitySession getCdmEntitySession() {
 +        return editor.getCdmEntitySession();
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
 +     */
 +    @Override
 +    public <T extends CdmBase> List<T> getRootEntities() {
 +        // TODO Auto-generated method stub
 +        return null;
 +    }
 +
  }
index c7660d5bc5810c2a7c2abbd2147b3b7a1c144f74,fdef1cd3544a759252bfb21cf303ba7494794b3b..b21efefce203544c29ecc999610838e0d97eb536
@@@ -71,17 -71,19 +71,19 @@@ public class DeleteSynonymOperation ext
  
                                ICdmApplicationConfiguration controller;
  
 -                              controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
 +                              controller = CdmStore.getCurrentApplicationConfiguration();
  
                                ITaxonService service = controller.getTaxonService();
                                if (synonym.getId() == 0){
                                        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);
index b15e398e05bca87dd2bfcc42524cbe6665f6b70a,136dcf7f4ff1ead991087e748173666a02d0fe02..c86768ae6c0c54e8af0a73647a0eaa08ee789640
@@@ -19,24 -19,17 +19,25 @@@ 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
  \r
      private final Classification classification;\r
  \r
 -      public DeleteTaxonOperation(String label, IUndoContext undoContext,\r
 -                      Taxon taxon, TaxonDeletionConfigurator configurator, Classification classification, IWorkbenchPage activePage, IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {\r
 -              super(label, undoContext, configurator, activePage, postOperationEnabled, conversationEnabled);\r
 +      public DeleteTaxonOperation(String label,\r
 +              IUndoContext undoContext,\r
 +                      Taxon taxon,\r
 +                      TaxonDeletionConfigurator configurator,\r
 +                      Classification classification,\r
 +                      IWorkbenchPage activePage,\r
 +                      IPostOperationEnabled postOperationEnabled,\r
 +                      IConversationEnabled conversationEnabled,\r
 +            ICdmEntitySessionEnabled cdmEntitySessionEnabled) {\r
 +              super(label, undoContext, configurator, activePage, postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);\r
                this.element = taxon;\r
  \r
                Set<TaxonNode> nodes = taxon.getTaxonNodes();\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
index b551c303e13dfc3638ad8265ec7acdfa22b09629,1e2cf107f3c7c8c4d1adcf10ee3728d503a91c33..905eb319e025827dc737bb5bf771d50a47464edc
@@@ -51,6 -51,7 +51,7 @@@ import eu.etaxonomy.cdm.persistence.que
  import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
  import eu.etaxonomy.cdm.strategy.match.IMatchStrategy;
  import eu.etaxonomy.cdm.strategy.merge.IMergeStrategy;
+ import eu.etaxonomy.cdm.strategy.merge.MergeException;
  
  /**
   * @author pplitzner
@@@ -59,7 -60,7 +60,7 @@@
   */
  public class TransientAgentService implements IAgentService {
  
 -    private IAgentService defaultService;
 +    private final IAgentService defaultService;
  
      /**
       * @param defaultAgentService
                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);
-     }
+       @Override
+       public Team convertPerson2Team(Person arg0) throws MergeException,
+                       IllegalArgumentException {
+               return defaultService.convertPerson2Team(arg0);
+       }
+       @Override
+       public Person convertTeam2Person(Team arg0) throws MergeException,
+                       IllegalArgumentException {
+               return defaultService.convertTeam2Person(arg0);
+       }
  
  }
index a51e2cd9257f28dca7689c5460cd29d329a4f067,4fa17471a712937ef545ff855023a959ebbd8ffe..411728fafc2dd859372fe6642bd2f496a1faa988
@@@ -22,6 -22,7 +22,7 @@@ import org.hibernate.envers.query.crite
  
  import eu.etaxonomy.cdm.api.service.DeleteResult;
  import eu.etaxonomy.cdm.api.service.IClassificationService;
+ import eu.etaxonomy.cdm.api.service.UpdateResult;
  import eu.etaxonomy.cdm.api.service.config.CreateHierarchyForClassificationConfigurator;
  import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
  import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
@@@ -936,21 -937,10 +937,18 @@@ public class TransientClassificationSer
                return defaultService.findByIdentifier(clazz, identifier, identifierType, matchmode, includeEntity, pageSize, pageNumber, propertyPaths);
        }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IClassificationService#createHierarchyInClassification(java.util.Map, eu.etaxonomy.cdm.model.taxon.Classification)
-      */
      @Override
-     public Classification createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
+     public UpdateResult createHierarchyInClassification(Classification arg1, CreateHierarchyForClassificationConfigurator arg2) {
         return defaultService.createHierarchyInClassification(arg1, arg2);
      }
  
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
 +     */
 +    @Override
 +    public DeleteResult delete(UUID uuid) {
 +        return defaultService.delete(uuid);
 +    }
 +
  
  }
index 3c38f7b8e79bc900af95a798dc5e474a7f70dfdd,b418af0a21501343e63e9c93214d2ca6099682c1..9ea4d169ed4ac396ef24cdd3e9a07ff422909072
@@@ -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
@@@ -1081,14 -1081,6 +1036,6 @@@ public class TransientDescriptionServic
          defaultService.moveDescriptionElementsToDescription(descriptionElements, targetDescription, isPaste);
      }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IDescriptionService#pageNamedAreasInUse(java.lang.Integer, java.lang.Integer, java.util.List)
-      */
-     @Override
-     public Pager<NamedArea> pageNamedAreasInUse(Integer pageSize, Integer pageNumber, List<String> propertyPaths) {
-         return defaultService.pageNamedAreasInUse(pageSize, pageNumber, propertyPaths);
-     }
      /* (non-Javadoc)
       * @see eu.etaxonomy.cdm.api.service.IDescriptionService#getOrderedDistributions(java.util.Set, boolean, boolean, java.util.Set, java.util.Set, java.util.List)
       */
        }
  
        @Override
 -      public UUID deleteDescription(DescriptionBase description) {
 +      public DeleteResult deleteDescription(DescriptionBase description) {
                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);
+       }
  }
index bc36402c44efc06a9c6175925da65a112639eb20,12d8391562318c227f7dd1fa76114eefd59ecf77..ee0368a358f9080327585acb7bc504853c7c2453
@@@ -11,6 -11,7 +11,7 @@@ package eu.etaxonomy.taxeditor.editor.v
  
  import java.io.IOException;
  import java.util.Collection;
+ import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
@@@ -25,7 -26,6 +26,7 @@@ import org.hibernate.envers.query.crite
  
  import eu.etaxonomy.cdm.api.service.DeleteResult;
  import eu.etaxonomy.cdm.api.service.INameService;
 +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.config.NameDeletionConfigurator;
@@@ -35,6 -35,7 +36,6 @@@ import eu.etaxonomy.cdm.api.service.pag
  import eu.etaxonomy.cdm.api.service.search.DocumentSearchResult;
  import eu.etaxonomy.cdm.api.service.search.SearchResult;
  import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
 -import eu.etaxonomy.cdm.model.agent.AgentBase;
  import eu.etaxonomy.cdm.model.common.Annotation;
  import eu.etaxonomy.cdm.model.common.CdmBase;
  import eu.etaxonomy.cdm.model.common.DefinedTerm;
@@@ -78,7 -79,7 +79,7 @@@ import eu.etaxonomy.cdm.strategy.merge.
   */
  public class TransientNameService implements INameService {
  
 -    private INameService defaultService;
 +    private final INameService defaultService;
  
      /**
       *
        public TaxonNameBase findWithoutFlush(UUID uuid) {
                return defaultService.findWithoutFlush(uuid);
        }
 -      
 -      
  
        @Override
        public <S extends TaxonNameBase>  Pager<FindByIdentifierDTO<S>> findByIdentifier(Class<S> clazz, String identifier, DefinedTerm identifierType, MatchMode matchmode, boolean includeEntity, Integer pageSize, Integer pageNumber, List<String> propertyPaths){
                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();
+       }
 -      
  }
index 59ce09121c3db1f672bf5efe0418d40da094464d,2509f76320aab1a0ace0517828a9ad57b851077f..601d0313e4c8d42de48ed79a956c432a1b119775
@@@ -32,8 -32,9 +32,9 @@@ import eu.etaxonomy.cdm.api.service.IOc
  import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
  import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
  import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
- import eu.etaxonomy.cdm.api.service.dto.DerivateHierarchyDTO;
+ import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO;
  import eu.etaxonomy.cdm.api.service.dto.FindByIdentifierDTO;
+ import eu.etaxonomy.cdm.api.service.dto.PreservedSpecimenDTO;
  import eu.etaxonomy.cdm.api.service.pager.Pager;
  import eu.etaxonomy.cdm.api.service.search.SearchResult;
  import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
@@@ -50,6 -51,7 +51,7 @@@ import eu.etaxonomy.cdm.model.common.Ma
  import eu.etaxonomy.cdm.model.common.MarkerType;
  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.IndividualsAssociation;
  import eu.etaxonomy.cdm.model.location.Country;
  import eu.etaxonomy.cdm.model.media.Media;
@@@ -922,18 -924,12 +924,12 @@@ public class TransientOccurenceService 
                return defaultService.findWithoutFlush(uuid);
        }
  
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#listFieldUnitsByAssociatedTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, java.util.List, java.util.List)
-        */
        @Override
        public Collection<SpecimenOrObservationBase> listFieldUnitsByAssociatedTaxon(Taxon associatedTaxon,
                List<OrderHint> orderHints, List<String> propertyPaths) {
            return defaultService.listFieldUnitsByAssociatedTaxon(associatedTaxon, orderHints, propertyPaths);
        }
  
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#pageFieldUnitsByAssociatedTaxon(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 Pager<SpecimenOrObservationBase> pageFieldUnitsByAssociatedTaxon(
                Set<TaxonRelationshipEdge> includeRelationships, Taxon associatedTaxon, Integer maxDepth, Integer pageSize,
        }
  
  
-     /* (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#assembleFieldUnitDTO(eu.etaxonomy.cdm.model.occurrence.FieldUnit, java.util.UUID)
+        */
+       @Override
+       public FieldUnitDTO assembleFieldUnitDTO(FieldUnit fieldUnit, UUID associatedTaxonUuid) {
+           return defaultService.assembleFieldUnitDTO(fieldUnit, associatedTaxonUuid);
+       }
+       /* (non-Javadoc)
+        * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#assemblePreservedSpecimenDTO(eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
+        */
+       @Override
+       public PreservedSpecimenDTO assemblePreservedSpecimenDTO(DerivedUnit derivedUnit) {
+           return defaultService.assemblePreservedSpecimenDTO(derivedUnit);
+       }
  
-     /* (non-Javadoc)
-      * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#getNonCascadedAssociatedElements(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.api.conversation.ConversationHolder)
-      */
      @Override
      public Collection<ICdmBase> getNonCascadedAssociatedElements(SpecimenOrObservationBase<?> specimen) {
          return defaultService.getNonCascadedAssociatedElements(specimen);
                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);
+       }
 +
  }
index 2a7a3d69e9b912f3d784a6e75068da1e03f58cc1,bd3bd711494a32dbd0cc3c05386b4381407c3736..a4ce21b0ab34d012781c9bdab710c420c28f6be5
@@@ -27,7 -27,6 +27,7 @@@ import org.hibernate.envers.query.crite
  import eu.etaxonomy.cdm.api.service.DeleteResult;
  import eu.etaxonomy.cdm.api.service.ITaxonService;
  import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode;
 +import eu.etaxonomy.cdm.api.service.UpdateResult;
  import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
  import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
  import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
@@@ -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);
+       }
  
 -
 -
 -
  }
index 72fc65915b7129ceb56ae73c8129914de6f19f56,5a6cebd41ada0fb17b00e2184025bbf119f9adbc..c9eaff971282d436c2975ffc5e4200d85906c1ea
@@@ -9,18 -9,19 +9,20 @@@
  
  package eu.etaxonomy.taxeditor.editor.view.descriptive.operation;
  
+ import java.util.ArrayList;
+ import java.util.List;
  import org.eclipse.core.commands.ExecutionException;
  import org.eclipse.core.commands.operations.IUndoContext;
  import org.eclipse.core.runtime.IAdaptable;
  import org.eclipse.core.runtime.IProgressMonitor;
  import org.eclipse.core.runtime.IStatus;
  
- import eu.etaxonomy.cdm.api.service.DeleteResult;
  import eu.etaxonomy.cdm.api.service.IDescriptionService;
  import eu.etaxonomy.cdm.model.description.TaxonDescription;
  import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  
  /**
@@@ -43,12 -44,9 +45,12 @@@ public class DeleteTaxonDescriptionOper
         * @param description a {@link eu.etaxonomy.cdm.model.description.TaxonDescription} object.
         * @param postOperationEnabled a {@link eu.etaxonomy.taxeditor.operation.IPostOperationEnabled} object.
         */
 -      public DeleteTaxonDescriptionOperation(String label, IUndoContext undoContext,
 -                      TaxonDescription description, IPostOperationEnabled postOperationEnabled) {
 -              super(label, undoContext, postOperationEnabled);
 +      public DeleteTaxonDescriptionOperation(String label,
 +              IUndoContext undoContext,
 +                      TaxonDescription description,
 +                      IPostOperationEnabled postOperationEnabled,
 +                      ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
 +              super(label, undoContext, postOperationEnabled, cdmEntitySessionEnabled);
  
                this.description = description;
                element = description.getTaxon();
  
                monitor.worked(20);
                if (description != null){
-                       DeleteResult deleteResult = CdmStore.getService(IDescriptionService.class).deleteDescription(description.getUuid());
+                       List<String> propertyPaths = new ArrayList<String>();
+                       propertyPaths.add("taxon");
+                       TaxonDescription loadedDescription = (TaxonDescription) CdmStore.getService(IDescriptionService.class).load(description.getUuid(), propertyPaths);
+                       CdmStore.getService(IDescriptionService.class).deleteDescription(loadedDescription);
                        return postExecute(description);
                }
                return null;
 -              
 +
        }
  
        /* (non-Javadoc)
index 2e9ce9f3a097b8c5875d66fdfc3eeaa956a20154,3913e0a2922c3eec1cc9e992e54b697fa4413d30..092b49bc8823ed85140deebeef6cacd4c7d55085
@@@ -11,6 -11,7 +11,7 @@@
  package eu.etaxonomy.taxeditor.navigation.navigator;
  
  import java.util.ArrayList;
+ import java.util.Comparator;
  import java.util.HashSet;
  import java.util.List;
  import java.util.Observable;
@@@ -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;
  
@@@ -53,7 -53,7 +56,7 @@@
   * @version 1.0
   */
  public class TaxonNavigator extends CommonNavigator implements
 -              IPostOperationEnabled, IConversationEnabled, Observer {
 +              IPostOperationEnabled, IConversationEnabled, Observer, ICdmEntitySessionEnabled {
  
        /**
         * Constant
  
        private ConversationHolder conversation;
  
 +      private ICdmEntitySession cdmEntitySession;
 +
        private String partNameCache;
  
        private IDataChangeBehavior dataChangeBehavior;
  
 +      private Root root;
 +
        /*
         * (non-Javadoc)
         *
        /** {@inheritDoc} */
        @Override
        protected IAdaptable getInitialInput() {
-               TaxonComparatorSearch comparator = new TaxonComparatorSearch();
+               Comparator comparator;
+               if (PreferencesUtil.getSortNodesNaturally()){
+                       comparator = new TaxonNaturalComparator();
+               } else{
+                       comparator = new TaxonComparatorSearch();
+               }
                TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
                this.getCommonViewer().setComparator(viewerComparator);
          setLinkingEnabled(true);
                        // we do not preserve state. Closing the view, in contrary to
                        // closing the whole application
                        // should be handled by the state manager too
 -
 -                      return new Root(conversation);
 +                  root = new Root(conversation);
 +                      return root;
                }
                return new EmptyRoot();
        }
         * </p>
         */
        public void init() {
 +
                if (CdmStore.isActive() && conversation == null) {
                        conversation = CdmStore.createConversation();
                        conversation.registerForDataStoreChanges(TaxonNavigator.this);
                }
 +              if (CdmStore.isActive() && cdmEntitySession == null) {
 +                  cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
 +                  cdmEntitySession.registerForDataStoreChanges(TaxonNavigator.this);
 +              }
                CdmStore.getLoginManager().addObserver(this);
        }
  
                            getConversationHolder().commit();
                        }
                }
 +              if (cdmEntitySession != null) {
 +                  cdmEntitySession.fireNotifications();
 +              }
                getCommonViewer().refresh();
        }
  
 +         /**
 +     * Refresh this navigators viewer
 +     */
 +    public void refresh(Set objects) {
 +
 +        for(Object obj : objects) {
 +            getCommonViewer().refresh(obj);
 +        }
 +    }
 +
        /**
         * Removes all content
         */
         *            a {@link org.eclipse.core.runtime.IProgressMonitor} object.
         */
        public void restore(IMemento memento, IProgressMonitor monitor) {
 +          root = new Root(conversation);
                if (memento == null) {
 -                      getCommonViewer().setInput(new Root(conversation));
 +                      getCommonViewer().setInput(root);
                        return;
                }
                int mementoWork = 0;
                subProgressMonitor.worked(1);
                conversation.registerForDataStoreChanges(TaxonNavigator.this);
                subProgressMonitor.worked(1);
 -              getCommonViewer().setInput(new Root(conversation));
 +              getCommonViewer().setInput(root);
                subProgressMonitor.worked(1);
                getCommonViewer().refresh();
                subProgressMonitor.worked(1);
                if (conversation != null) {
                        conversation.unregisterForDataStoreChanges(this);
                }
 +              if(cdmEntitySession != null) {
 +                  cdmEntitySession.dispose();
 +              }
        }
  
        /*
                if (getConversationHolder() != null) {
                        getConversationHolder().bind();
                }
 +              if(cdmEntitySession != null) {
 +                  cdmEntitySession.bind();
 +              }
        }
  
        /*
                }
  
        }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
 +     */
 +    @Override
 +    public ICdmEntitySession getCdmEntitySession() {
 +       return cdmEntitySession;
 +    }
 +
 +    /* (non-Javadoc)
 +     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
 +     */
 +    @Override
 +    public List<Classification> getRootEntities() {
 +        if(root != null) {
 +            return root.getParentBeans();
 +        }
 +        return null;
 +    }
  }
index 7ef220593053dc9ed1b4fa390d4086ae8fb688d9,86eb9506f926fd1267fbb4f1a23972d0ff3d4663..3883b5f176a470a2a77b858deff8c66195107f5f
@@@ -19,16 -19,22 +19,18 @@@ import org.apache.log4j.Logger
  import org.eclipse.core.commands.operations.IUndoContext;
  import org.eclipse.core.runtime.IStatus;
  import org.eclipse.core.runtime.Status;
 -import org.eclipse.jface.dialogs.IconAndMessageDialog;
  import org.eclipse.jface.dialogs.MessageDialog;
  import org.eclipse.jface.util.LocalSelectionTransfer;
  import org.eclipse.jface.viewers.ISelection;
  import org.eclipse.jface.viewers.TreeSelection;
  import org.eclipse.swt.dnd.DropTargetEvent;
  import org.eclipse.swt.dnd.TransferData;
 -import org.eclipse.swt.graphics.Image;
 -import org.eclipse.swt.widgets.Shell;
 -import org.eclipse.ui.handlers.HandlerUtil;
  import org.eclipse.ui.navigator.CommonDropAdapter;
  import org.eclipse.ui.navigator.CommonDropAdapterAssistant;
  
+ import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
  import eu.etaxonomy.cdm.model.common.CdmBase;
+ import eu.etaxonomy.cdm.model.taxon.Classification;
  import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;
  import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
@@@ -36,6 -42,7 +38,7 @@@ import eu.etaxonomy.taxeditor.navigatio
  import eu.etaxonomy.taxeditor.navigation.navigator.operation.MoveTaxonOperation;
  import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+ import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  
  /**
@@@ -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;
        }
  
         * @param parentTaxon
         * @return
         */
-       private IStatus moveTaxon(Set<TaxonNode> taxonNodes, ITaxonTreeNode targetITaxonTreeNode) {
+       private IStatus moveTaxon(TaxonNode taxonNode, ITaxonTreeNode targetITaxonTreeNode) {
  
                TaxonNavigator taxonNavigator;
                taxonNavigator = (TaxonNavigator) NavigationUtil.showView(TaxonNavigator.ID);
                if(targetITaxonTreeNode instanceof TaxonNode){
  
                        TaxonNode targetTaxonNode = (TaxonNode) targetITaxonTreeNode;
- //                    for(TaxonNode taxonNode : taxonNodes){
- //                            if (taxonNode.equals(targetTaxonNode)) {
- //                                    return Status.CANCEL_STATUS;
- //                            }
- //                    }
-                       // Make sure parent taxon does not have unsaved changes
+               // Make sure parent taxon does not have unsaved changes
                        if (NavigationUtil.isDirty(targetTaxonNode)){
                                MessageDialog.openWarning(NavigationUtil.getShell(), "Unsaved Parent Taxon", "There are unsaved " +
                                "changes in the parent taxon. Pleas save first.");
                                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)
index 14fea3aa97a7fe6be693dcf766f2981e27223711,55df02ba26580f05fa4cc09d74df9336257d6b6e..4a90ff4705fd1ddc87ff40dc18ca6d30c322ae79
@@@ -34,13 -34,13 +34,12 @@@ import eu.etaxonomy.cdm.model.taxon.Cla
  import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
  import eu.etaxonomy.cdm.model.taxon.TaxonNode;
  import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
 -import eu.etaxonomy.taxeditor.model.AbstractUtility;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.navigation.NavigationUtil;
  import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
  import eu.etaxonomy.taxeditor.navigation.navigator.operation.DeleteOperation;
  import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
- import eu.etaxonomy.taxeditor.ui.dialog.DeleteConfiguratorDialog;
- import eu.etaxonomy.taxeditor.ui.dialog.DeleteTaxonConfiguratorDialog;
+ import eu.etaxonomy.taxeditor.ui.dialog.deleteConfigurator.DeleteConfiguratorDialog;
  
  /**
   * <p>DeleteTreeNodeHandler class.</p>
@@@ -64,12 -64,6 +63,12 @@@ public class DeleteHandler extends Abst
  
                TreeSelection selection = (TreeSelection) HandlerUtil.getCurrentSelection(event);
  
 +
 +              String plural = selection.size() > 1 ? "s" : "";
 +              // Prompt user for confirmation
 +
 +
 +
                Iterator selectionIterator = selection.iterator();
                Set<ITaxonTreeNode> treeNodes = new HashSet<ITaxonTreeNode>();
  
                                ITaxonTreeNode taxonNode =treeNode;
                                TaxonNodeDeletionConfigurator configNodes = new TaxonNodeDeletionConfigurator();
                                if (taxonNode instanceof Classification && taxonNode.hasChildNodes()){
-                                       if(!DeleteTaxonConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification? The tree has children, they will be deleted, too.")){
+                                       if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification? The tree has children, they will be deleted, too.")){
                                                return null;
                                        }
                                } else if (taxonNode instanceof Classification && !taxonNode.hasChildNodes()){
-                                       if(!DeleteTaxonConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification?")){
+                                       if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification?")){
                                                return null;
                                        }
                                } else {
  
                                        if (taxonNode.hasChildNodes()){
-                         DeleteConfiguratorDialog dialog = new DeleteTaxonConfiguratorDialog(
+                         DeleteConfiguratorDialog dialog = new DeleteConfiguratorDialog(
                                  config,
                                  HandlerUtil.getActiveShell(event),
                                  "Confirm Deletion",
  
                                                }
                                        }else{
-                                               if(!DeleteTaxonConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected node?")){
+                                               if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected node?")){
                                                        return null;
                                                }
                                        }
                                        /*if(! MessageDialog.openConfirm(HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected nodes?")){
                                                return null;
                                        }*/
 -                                              operation = new DeleteOperation(
 -                                                              event.getCommand().getName(), NavigationUtil.getUndoContext(),
 -                                                              taxonNode, config, taxonNavigator, taxonNavigator);
  
 -                                              AbstractUtility.executeOperation(operation);
 +                                              operation = new DeleteOperation(event.getCommand().getName(),
 +                                                      NavigationUtil.getUndoContext(),
 +                                                              taxonNode,
 +                                                              config,
 +                                                              taxonNavigator,
 +                                                              taxonNavigator,
 +                                                              taxonNavigator);
 +
 +                                              NavigationUtil.executeOperation(operation);
 +
                                                //}
                                }
  
                        }
                } else{
                        try{
-                               if(!DeleteTaxonConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected nodes?")){
+                               if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected nodes?")){
                                        return null;
                                }
                                if (allEditorsClosed){
 -                                      operation = new DeleteOperation(
 -                                                      event.getCommand().getName(), NavigationUtil.getUndoContext(),
 -                                                      treeNodes, new TaxonDeletionConfigurator(), taxonNavigator, taxonNavigator);
  
 -                                      AbstractUtility.executeOperation(operation);
 +                                      operation = new DeleteOperation(event.getCommand().getName(),
 +                                              NavigationUtil.getUndoContext(),
 +                                                      treeNodes,
 +                                                      new TaxonDeletionConfigurator(),
 +                                                      taxonNavigator,
 +                                                      taxonNavigator,
 +                                                      taxonNavigator);
 +
 +                                      NavigationUtil.executeOperation(operation);
 +
                                }
                        }catch (NotDefinedException e) {
                                MessagingUtils.warn(getClass(), "Command name not set");
index 2119227c9b2a44a8845f4769107a204182c68506,4c84b0197943fbdcd70f5ab5564839119aa1cef6..d275e3c90408ae57ad0ff5773090e68b63468734
@@@ -1,8 -1,8 +1,8 @@@
  /**
  * 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.
  */
  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>
  public class MoveTaxonHandler extends AbstractHandler implements IPostOperationEnabled {
  
        private TaxonNode parentTaxonNode;
+       protected IWorkbenchPage activePage;
        /* (non-Javadoc)
         * @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;
        }
  
         * @see eu.etaxonomy.taxeditor.operations.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
         */
        /** {@inheritDoc} */
 -      public boolean postOperation(CdmBase objectAffectedByOperation) {
 +      @Override
 +    public boolean postOperation(CdmBase objectAffectedByOperation) {
                return true;
        }
  
         *
         * @return a boolean.
         */
 -      public boolean onComplete() {
 +      @Override
 +    public boolean onComplete() {
                return false;
        }
 -      
 -      
 -      
 +
  }
index 101f4734a295757c7c25c66d71125647d0f7b0ae,4dd1c61dbf3a5e01904d92a7aefe610d489afe79..609e0fba4486bc7733c62212869b237bb9708f89
@@@ -15,17 -15,18 +15,20 @@@ import org.eclipse.core.commands.operat
  import org.eclipse.core.runtime.IAdaptable;
  import org.eclipse.core.runtime.IProgressMonitor;
  import org.eclipse.core.runtime.IStatus;
+ import org.eclipse.core.runtime.Status;
  
  import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
  import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 +import eu.etaxonomy.cdm.api.service.UpdateResult;
  import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
  import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
  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;
  
        /**
         * @param conversationEnabled a {@link eu.etaxonomy.cdm.api.conversation.IConversationEnabled} object.
         */
        public ChangeAcceptedTaxonToSynonymOperation(String label,
 -                      IUndoContext undoContext, ITaxonTreeNode oldTaxonNode, TaxonNode newAcceptedTaxonNode,
 -                      IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
 -              super(label, undoContext, oldTaxonNode, new TaxonDeletionConfigurator(),postOperationEnabled, conversationEnabled);
 +                      IUndoContext undoContext,
 +                      ITaxonTreeNode oldTaxonNode,
 +                      TaxonNode newAcceptedTaxonNode,
 +                      IPostOperationEnabled postOperationEnabled,
 +                      IConversationEnabled conversationEnabled,
 +            ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
 +              super(label, undoContext, oldTaxonNode, new TaxonDeletionConfigurator(),postOperationEnabled, conversationEnabled, cdmEntitySessionEnabled);
                this.newAcceptedTaxonNode = newAcceptedTaxonNode;
 +              this.cdmEntitySessionEnabled = cdmEntitySessionEnabled;
        }
  
  
  
                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);
        }
  
index 14b19f62d6ddf6985340fdce736804df55798d62,bd2b57db5ecb6f2daebf24ad111b936ad3e5ad93..385a89297f1b93908d2c768c6a78e5a9f8725c7f
@@@ -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;
@@@ -20,16 -22,16 +19,15 @@@ import org.eclipse.core.runtime.IProgre
  import org.eclipse.core.runtime.IStatus;
  import org.eclipse.core.runtime.Status;
  
 -import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
  import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
  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;
  import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  
  /**
@@@ -44,15 -46,14 +42,18 @@@ public class MoveTaxonOperation extend
        /**
         * A reference to the new taxonomical parent.
         */
 -      private ITaxonTreeNode newParentTreeNode;
 +      private final ITaxonTreeNode newParentTreeNode;
        /**
         * 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);
index 68fced6cbab7ebd2f3c06bd3bb55279560fb76a1,37c33cdfeb15a1690faac784e1c68b90427e895a..967bc43642a18aa9559201c6234f27911df608dc
@@@ -1,6 -1,7 +1,7 @@@
  <?xml version="1.0" encoding="UTF-8"?>
  <?eclipse version="3.2"?>
  <plugin>
+    <extension-point id="eu.etaxonomy.taxeditor.store.cdmViewer" name="%extension-point.name" schema="schema/eu.etaxonomy.taxeditor.store.cdmViewer.exsd"/>
     <extension
           point="org.eclipse.ui.preferencePages">
        <page
              id="eu.etaxonomy.taxeditor.preferences.specimenTypeDesignationStatus"
              name="%page.name.9">
        </page>
+       <page
+             category="eu.etaxonomy.taxeditor.preferences.taxonomic"
+             class="eu.etaxonomy.taxeditor.preference.menu.NameTypeDesignationStatusMenuPreferences"
+             id="eu.etaxonomy.taxeditor.preferences.nameTypeDesignationStatus"
+             name="%page.name.13">
+       </page>
        <page
              category="eu.etaxonomy.taxeditor.preferences.language"
              class="eu.etaxonomy.taxeditor.preference.menu.LanguageMenuPreferences"
              id="eu.etaxonomy.taxeditor.preferences.extensionTypes"
              name="%page.name.12">
        </page>
-       <page
-             category="eu.etaxonomy.taxeditor.preferences.taxonomic"
-             class="eu.etaxonomy.taxeditor.preference.menu.NameTypeDesignationStatusMenuPreferences"
-             id="eu.etaxonomy.taxeditor.preferences.nameTypeDesignationStatus"
-             name="%page.name.13">
-       </page>
        <page
              category="eu.etaxonomy.taxeditor.preferences.description"
              class="eu.etaxonomy.taxeditor.preference.menu.NamedAreaTypeMenuPreferences"
              id="eu.etaxonomy.taxeditor.preference.defaultlanguagepditorpreferencePage"
              name="%page.name.30">
        </page>
+       <page
+             category="eu.etaxonomy.taxeditor.preferences.general"
+             class="eu.etaxonomy.taxeditor.preference.OrderPreferences"
+             id="eu.etaxonomy.taxeditor.preference.OrderPreferencesPage"
+             name="%page.name.31">
+       </page>
     </extension>
     <extension
           point="org.eclipse.ui.views">
          id="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
          name="%view.name.6"
          restorable="true">
 +  </view>
 +  <view
 +        allowMultiple="false"
 +        class="eu.etaxonomy.taxeditor.view.sessions.SessionsViewPart"
 +        id="eu.etaxonomy.taxeditor.view.sessions.SessionsViewPart"
 +        name="Sessions"
 +        restorable="false">
    </view>
     </extension>
     <extension
                    </reference>
                 </visibleWhen>
              </command>
 +            <command
 +                  commandId="org.eclipse.ui.views.showView"
 +                  label="Sessions"
 +                  style="push">
 +               <parameter
 +                     name="org.eclipse.ui.views.showView.viewId"
 +                     value="eu.etaxonomy.taxeditor.view.sessions.SessionsViewPart">
 +               </parameter>
 +            </command>
           </menu>
        </menuContribution>
        <menuContribution
           </command>
           <command
                 commandId="eu.etaxonomy.taxeditor.store.datasource.clone"
-                label="Clone"
+                label="%command.label.clone"
                 style="push">
                  <visibleWhen>
                <with
                 visible="true">
           </separator>
           <command
-                commandId="org.eclipse.ui.edit.delete"
+                commandId="eu.etaxonomy.taxeditor.view.datasource.delete"
                 label="%command.label.9"
                 style="push">
                 <visibleWhen>
              </command>
           </menu>
           <command
-                commandId="org.eclipse.ui.edit.delete"
+                commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete"
                 label="%command.label.14"
                 style="push">
              <visibleWhen
              locationURI="popup:eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView">
           <command
                 commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-                label="Open in Derivate Editor"
+                label="%command.label.openInSpecimenEditor"
                 style="push">
              <visibleWhen
                    checkEnabled="true">
           point="org.eclipse.ui.handlers">
        <handler
              class="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
-             commandId="org.eclipse.ui.edit.delete">
+             commandId="eu.etaxonomy.taxeditor.view.datasource.delete">
           <activeWhen>
              <with
                    variable="activePartId">
        </handler>
        <handler
              class="eu.etaxonomy.taxeditor.editor.definedterm.handler.DeleteTermBaseHandler"
-             commandId="org.eclipse.ui.edit.delete">
+             commandId="eu.etaxonomy.taxeditor.editor.definedTerms.delete">
           <activeWhen>
              <with
                    variable="activePartId">
        </handler>
     </extension>
     <extension
-          name="Popup Menu Commands"
+          name="%extension.name.0"
           point="org.eclipse.ui.commands">
        <command
              defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.ChangeConnectionHandler"
        <command
              defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CloneDataSourceHandler"
              id="eu.etaxonomy.taxeditor.store.datasource.clone"
-             name="Clone Datasource">
+             name="%command.name.8">
        </command>
        <command
              defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CreateDataSourceHandler"
              id="eu.etaxonomy.taxeditor.store.datasource.close"
              name="%command.name.2">
        </command>
+       <command
+             defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.DeleteDataSourceHandler"
+             id="eu.etaxonomy.taxeditor.view.datasource.delete"
+             name="%command.name.13">
+       </command>
        <command
              defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.UpdateDataSourceHandler"
              id="eu.etaxonomy.taxeditor.store.datasource.update"
        </command>
        <command
           id="eu.etaxonomy.taxeditor.store.open.FeatureTreeEditorWizard"
-          name="Open Feature Tree Editor Wizard">
+          name="%command.name.9">
          </command>
        <command
              id="eu.etaxonomy.taxeditor.store.openPasswordWizzard"
-             name="Open Password Wizzard">
+             name="%command.name.10">
        </command>
        <command
              id="eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler"
-             name="Open Distribution Editor Wizard">
+             name="%command.name.11">
        </command>
        <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">
              category="eu.etaxonomy.taxeditor.export.category.cdm"
              class="eu.etaxonomy.taxeditor.io.wizard.CsvExportWizard"
              id="eu.etaxonomy.taxeditor.io.export.csv"
-             name="CSV">
+             name="%wizard.name.18">
+       </wizard>
+       <wizard
+             category="eu.etaxonomy.taxeditor.export.category.cdm"
+             class="eu.etaxonomy.taxeditor.io.wizard.CsvNameExportWizard"
+             id="eu.etaxonomy.taxeditor.io.export.csv_name"
+             name="%wizard.name.19">
+       </wizard>
+       <wizard
+             category="eu.etaxonomy.taxeditor.export.category.cdm"
+             class="eu.etaxonomy.taxeditor.io.wizard.CsvPrintExportWizard"
+             id="eu.etaxonomy.taxeditor.io.export.csv_print"
+             name="%wizard.name.20">
        </wizard>
     </extension>
     <extension
  <extension
        point="org.eclipse.ui.activities">
     <activity
-          description="DELETE permission dependent ui contributions"
+          description="%activity.description"
           id="eu.etaxonomy.taxeditor.store.activityDelete"
-          name="Delete">
+          name="%activity.name">
        <enabledWhen>
           <reference
                 definitionId="canDELETE">
           pattern="eu\.etaxonomy\.taxeditor\..*/.*.delete">
     </activityPatternBinding>
     <activity
-          description="UPDATE permission dependent ui contributions"
+          description="%activity.description.0"
           id="eu.etaxonomy.taxeditor.store.activityUpdate"
-          name="Update">
+          name="%activity.name.0">
        <enabledWhen>
           <reference
                 definitionId="canUPDATE">
           pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.update\..*">
     </activityPatternBinding>
     <activity
-          description="CREATE permission dependent ui contributions"
+          description="%activity.description.1"
           id="eu.etaxonomy.taxeditor.store.activityCreate"
-          name="Delete">
+          name="%activity.name.1">
        <enabledWhen>
           <reference
                 definitionId="canDELETE">
           pattern="eu\.etaxonomy\.taxeditor\..*/.*.command\.create\..*">
     </activityPatternBinding>
     <activity
-          description="ROLE_USER_MANAGER dependent ui contributions"
+          description="%activity.description.2"
           id="eu.etaxonomy.taxeditor.store.activityUserManagement"
-          name="UserManagement">
+          name="%activity.name.2">
        <enabledWhen>
           <reference
                 definitionId="hasROLE_USER_MANAGER">
           pattern="eu\.etaxonomy\.taxeditor\..*/bulkeditor\.input\.group">
     </activityPatternBinding>
     <activity
-          description="ROLE_PROJECT_MANAGER dependent ui contributions"
+          description="%activity.description.3"
           id="eu.etaxonomy.taxeditor.store.activityProjectManagement"
-          name="ProjectManagement">
+          name="%activity.name.3">
        <enabledWhen>
           <reference
                 definitionId="hasROLE_PROJECT_MANAGER">
index 845c252512ff12cb4a585bdc0e27d3ea54f85710,6d63fbd675122e32ac450352a3266913668b9487..a35e64490f9a9f6d3c6879b9d90a08572fc013a8
@@@ -28,8 -28,8 +28,8 @@@ import org.eclipse.swt.widgets.Label
  import org.eclipse.swt.widgets.Text;
  
  import eu.etaxonomy.cdm.model.taxon.Classification;
 -import eu.etaxonomy.cdm.remote.CdmRemoteSourceException;
  import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
 +import eu.etaxonomy.taxeditor.remoting.source.CdmRemoteSourceException;
  import eu.etaxonomy.taxeditor.store.CdmStore;
  
  /**
@@@ -58,14 -58,23 +58,23 @@@ public class ExportToFileDestinationWiz
        public static final String DWCA_EXPORT = "DWCA_EXPORT";
  
        public static final String CSV_EXPORT = "CSV_EXPORT";
+       public static final String CSV_NAME_EXPORT = "CSV_NAME_EXPORT";
  
        public static final String XML = "xml";
  
        public static final String CSV = "csv";
+       
+       
  
        public static final String ZIP = "zip";
  
      private static boolean csvExport = false;
+     
+     private static boolean csvNameExport = false;
+       private static String CSV_PRINT_EXPORT ="CSV_PRINT_EXPORT";
+       private static boolean csvPrintExport = false;
  
        private DirectoryDialog folderDialog;
        private Text text_exportFileName;
                  "Export the contents of the currently selected database into Comma Separated Value format.",
                  CSV);
      }
+     
+     /**
+      * @return
+      */
+     public static ExportToFileDestinationWizardPage CsvNames() {
+       csvNameExport = true;
+         return new ExportToFileDestinationWizardPage(
+                 CSV_NAME_EXPORT,
+                 "csvNames",
+                 "CSV Name Export",
+                 "Export the names of the currently selected database into Semicolon Separated Value format.",
+                 CSV);
+     }
+     
+     /**
+      * @return
+      */
+     public static ExportToFileDestinationWizardPage CsvPrint() {
+       csvPrintExport  = true;
+         return new ExportToFileDestinationWizardPage(
+                 CSV_PRINT_EXPORT,
+                 "csvPrint",
+                 "CSV Print Export",
+                 "Export the content of the currently selected database into Semicolon Separated Value format.",
+                 CSV);
+     }
  
        /*
         * (non-Javadoc)
                    comboBox.setLayoutData(new GridData(SWT.FILL, SWT.FILL,
                                true, false, 2, 1));
                }
+               
+               
  
                Label fileLabel = new Label(composite, SWT.NONE);
                fileLabel.setText("File");
index 2059f5d7a16ee215d9796a719119475b7e685ba9,df90397af4c901336471623a5ae1f7ac5fc24536..d3370b5602609de64bc3f368c3f5305a3a42d199
@@@ -6,7 -6,6 +6,6 @@@ package eu.etaxonomy.taxeditor.parser
  import java.util.ArrayList;
  import java.util.List;
  
- import eu.etaxonomy.cdm.api.service.ICommonService;
  import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
  import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
  import eu.etaxonomy.cdm.model.name.NonViralName;
@@@ -15,7 -14,6 +14,7 @@@ import eu.etaxonomy.cdm.model.name.Taxo
  import eu.etaxonomy.cdm.model.reference.INomenclaturalReference;
  import eu.etaxonomy.cdm.model.reference.Reference;
  import eu.etaxonomy.cdm.strategy.match.MatchException;
 +import eu.etaxonomy.cdm.strategy.match.MatchStrategyConfigurator.MatchStrategy;
  import eu.etaxonomy.cdm.strategy.parser.NonViralNameParserImpl;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@@ -89,8 -87,8 +88,8 @@@ public class ParseHandler
         * @param unparsedNameString a {@link java.lang.String} object.
         * @return a {@link eu.etaxonomy.cdm.model.name.TaxonNameBase} object.
         */
 -      public static TaxonNameBase parseReferencedName(String unparsedNameString, Rank rank){
 -              TaxonNameBase name = nonViralNameParser.parseReferencedName(unparsedNameString,
 +      public static NonViralName parseReferencedName(String unparsedNameString, Rank rank){
 +          NonViralName name = nonViralNameParser.parseReferencedName(unparsedNameString,
                                PreferencesUtil.getPreferredNomenclaturalCode(), rank);
  
  //            if (name.hasProblem()) {
                return name;
        }
  
 -      public static TaxonNameBase parseName(String unparsedNameString, Rank rank){
 -              TaxonNameBase name = nonViralNameParser.parseFullName(unparsedNameString,
 +      public static NonViralName parseName(String unparsedNameString, Rank rank){
 +              NonViralName name = nonViralNameParser.parseFullName(unparsedNameString,
                                PreferencesUtil.getPreferredNomenclaturalCode(), rank);
  
                return name;
         *
         * @return a {@link eu.etaxonomy.cdm.model.name.TaxonNameBase} object.
         */
 -      public static TaxonNameBase createEmptyName(){
 +      public static NonViralName createEmptyName(){
                return nonViralNameParser.getNonViralNameInstance("", PreferencesUtil.getPreferredNomenclaturalCode());
        }
  
              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);
index e0464916882977fa2af2110b02710ad5a38713c3,39e46a4fa366291775432879d4198448a756f71f..804ab05343b56cea5f63f04735025a1eaab9c421
@@@ -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;
@@@ -37,15 -37,13 +38,15 @@@ import eu.etaxonomy.cdm.model.common.La
  import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
  import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
  import eu.etaxonomy.cdm.persistence.hibernate.permission.Role;
 -import eu.etaxonomy.cdm.remote.CdmRemoteSourceException;
  import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
  import eu.etaxonomy.taxeditor.io.ExportManager;
  import eu.etaxonomy.taxeditor.io.ImportManager;
  import eu.etaxonomy.taxeditor.model.AbstractUtility;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
  import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 +import eu.etaxonomy.taxeditor.remoting.cache.CdmRemoteCacheManager;
 +import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
 +import eu.etaxonomy.taxeditor.session.mock.MockCdmEntitySessionManager;
  import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
  import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
  
@@@ -81,6 -79,8 +82,8 @@@ public class CdmStore 
        private static SearchManager searchManager = new SearchManager();
  
        private static EditorManager editorManager = new EditorManager();
+       
+       private static UseObjectStore useObjectInitializer = new UseObjectStore(); 
  
        private static CdmStoreConnector job;
  
@@@ -90,8 -90,6 +93,8 @@@
  
        private boolean isConnected;
  
 +
 +
        /**
         * <p>
         * getDefault
  
                ICdmSource cdmSource;
                try {
 +
                        cdmSource = CdmDataSourceRepository.getCurrentCdmSource();
                        connect(cdmSource);
 -              } catch (CdmRemoteSourceException e) {
 +              } catch (Exception e) {
                        MessagingUtils.messageDialog("Connection to CDM Source Failed", CdmStore.class, "Could not connect to target CDM Source", e);
                }
  
        private static void connect(final ICdmSource cdmSource,
                        final DbSchemaValidation dbSchemaValidation,
                        final Resource applicationContextBean) {
 +          if(isActive()) {
 +              // before we connect we clear the caches and the sessions
 +              CdmRemoteCacheManager.getInstance().getDefaultCacheManager().removalAll();
 +              if(getCurrentSessionManager() != null) {
 +                  getCurrentSessionManager().disposeAll();
 +              }
 +          }
                MessagingUtils.info("Connecting to datasource: " + cdmSource);
  
                job = new CdmStoreConnector(Display.getDefault(), cdmSource,
        public static ConversationHolder createConversation() {
                ConversationHolder conversation = getCurrentApplicationConfiguration()
                                .NewConversation();
 -              try{
 +              try {
                        conversation.startTransaction();
                }catch(Exception e){
                        MessagingUtils.messageDialog("No database connection", CdmStore.class, "No database connection available", e);
                return conversation;
        }
  
 +      //FIXME:Remoting should be removed after moving completely to remoting
 +      private MockCdmEntitySessionManager mockCdmEntitySessionManager;
 +
 +      private ICdmEntitySessionManager getSessionManager() {
 +              //FIXME:Remoting we should only have CdmApplicationRemoteConfiguration after move to remoting
 +              //               bad hack which should be finally removed
 +              if(getCurrentApplicationConfiguration() instanceof CdmApplicationRemoteController) {
 +                      return ((CdmApplicationRemoteController)getCurrentApplicationConfiguration()).getCdmEntitySessionManager();
 +              } else {
 +                      if(mockCdmEntitySessionManager == null) {
 +                              mockCdmEntitySessionManager = new MockCdmEntitySessionManager();
 +                      }
 +                      return mockCdmEntitySessionManager;
 +              }
 +      }
 +
 +      public static  ICdmEntitySessionManager getCurrentSessionManager() {
 +              if (getDefault() != null) {
 +                      return getDefault().getSessionManager();
 +              }
 +              return null;
 +
 +      }
 +
        /**
         * Generic method that will scan the getters of {@link ICdmApplicationConfiguration} for the given service
         * interface. If a matching getter is found the according service implementation is returned by
  
                return service;
        }
+       
+       /**
+        * @see #getService(Class)
+        * As ICommonService is not extending IService we need a specific request here
+        */
+       public static ICommonService getCommonService() {
+               ICdmApplicationConfiguration configuration = getCurrentApplicationConfiguration();
+               return configuration.getCommonService();
+       }
  
        /**
         * <p>
index 1020242aeada94eca558939d49da668341fa6a89,e7c5aa0b74c608e7ec35e6b78ce4149637f486af..f1b5e38ad942d63699da7fbc51c24ca88b6faae3
@@@ -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.
   */
@@@ -28,9 -28,9 +28,9 @@@ import eu.etaxonomy.cdm.config.ICdmSour
  import eu.etaxonomy.cdm.database.DbSchemaValidation;
  import eu.etaxonomy.cdm.database.ICdmDataSource;
  import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
 -import eu.etaxonomy.cdm.remote.ICdmRemoteSource;
  import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
  import eu.etaxonomy.taxeditor.model.MessagingUtils;
 +import eu.etaxonomy.taxeditor.remoting.source.ICdmRemoteSource;
  import eu.etaxonomy.taxeditor.ui.dialog.LoginDialog;
  import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
  
@@@ -64,7 -64,7 +64,7 @@@ class CdmStoreConnector extends Job 
        public IStatus run(final IProgressMonitor monitor) {
  
                monitor.beginTask(getConnectionMessage(), 10);
 -              
 +
                // check if database is up and running
                checkDatabaseReachable(monitor);
  
                        CdmProgressMonitorAdapter subprogressMonitor = CdmProgressMonitorAdapter
                                        .CreateSubMonitor(monitor, 7);
                        // This is where we instantiate the application controller
+                       int oldPriority = Thread.currentThread().getPriority();
                        try {
-                               
+                               Thread.currentThread().setPriority(10);
                                applicationController = getApplicationController(cdmSource,subprogressMonitor);
-                       
                        } catch (Exception e) {
                                if(! causeIsCancelationExceptionRecursive(e)){
                                        return new Status(IStatus.ERROR, "Could not connect to CDM Store", "An error occurred while trying to connect to datasource: " + cdmSource.getName(), e);
                                }
                        } 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);
--              } 
++              }
        }
  }
index b825db51225c03ac02ad2aa8963c0e50dfc85502,4deb39a8f1b75bac21085bb3c7a5d1cdae1404b2..3f3206eccd8fa0be0ef8d865c3277bc8f88c679d
@@@ -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>
++
index f8855335c2b449b69deb9cc02fe1894638072a64,4444e369c811d9af329c8aeedb234464c155c8dd..fb85112f52c5c20d7e68a3ccc2608f21b4a31795
@@@ -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,
@@@ -21,6 -22,3 +23,6 @@@
   eu.etaxonomy.taxeditor.printpublisher,
   eu.etaxonomy.taxeditor.store
  Eclipse-RegisterBuddy: org.apache.log4j
 +Bundle-ClassPath: .,
 + lib/byte-buddy-0.5.1.jar
 +Import-Package: org.apache.http.impl.client