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
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
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
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.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
+<<<<<<< HEAD
+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/OpenHandler.java -text
+>>>>>>> 02176688eaa23a31ff5b71c317cb5ee685483aa4
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
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/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/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/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
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
/.project
+eu.etaxonomy.taxeditor.cdmlib/src/main/resources/etc/jetty/*
eu.etaxonomy.taxeditor.application/.settings
eu.etaxonomy.taxeditor.application/target
eu.etaxonomy.taxeditor.bulkeditor/.settings
eu.etaxonomy.taxeditor.cdmlib/cdmlib-*.jar
eu.etaxonomy.taxeditor.cdmlib/cdmlib-*.zip
eu.etaxonomy.taxeditor.cdmlib/dist
+eu.etaxonomy.taxeditor.cdmlib/lib/cdm-server*
eu.etaxonomy.taxeditor.cdmlib/lib/cdmlib*
eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.servletbridge.extensionbundle-1.2.0.v20100503.jar
eu.etaxonomy.taxeditor.cdmlib/lib/org.eclipse.equinox.transforms.hook-1.0.300.v20100719.jar
<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/main/java"/>
- <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Bundle-ManifestVersion: 2
Bundle-Name: Application
Bundle-SymbolicName: eu.etaxonomy.taxeditor.application;singleton:=true
-Bundle-Version: 3.8.0.qualifier
+Bundle-Version: 3.12.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.TaxonomicEditorPlugin
Bundle-Vendor: EDIT
Bundle-Localization: OSGI-INF/l10n/plugin
Export-Package: eu.etaxonomy.taxeditor
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: org.apache.log4j,
+Import-Package: eu.etaxonomy.cdm.database,
+ org.apache.log4j,
org.eclipse.equinox.app,
org.eclipse.equinox.p2.repository.metadata,
org.osgi.framework,
-<?xml version="1.0" encoding="UTF-8"?>\r
-<?eclipse version="3.2"?>\r
-<plugin>\r
- <extension\r
- id="application"\r
- name="%extension.name"\r
- point="org.eclipse.core.runtime.applications">\r
- <application\r
- cardinality="singleton-global"\r
- thread="main"\r
- visible="true">\r
- <run\r
- class="eu.etaxonomy.taxeditor.Application">\r
- </run>\r
- </application>\r
- </extension>\r
- <extension\r
- point="org.eclipse.ui.perspectives">\r
- <perspective\r
- class="eu.etaxonomy.taxeditor.perspective.Taxonomic"\r
- id="eu.etaxonomy.taxeditor.application.perspective.taxonomic"\r
- name="%perspective.name">\r
- </perspective>\r
- <!--perspective\r
- class="eu.etaxonomy.taxeditor.perspective.BulkEditing"\r
- id="eu.etaxonomy.taxeditor.application.perspective.bulkeditor"\r
- name="Bulk Editing">\r
- </perspective-->\r
- <perspective\r
- class="eu.etaxonomy.taxeditor.perspective.PolytomousKey"\r
- id="eu.etaxonomy.taxeditor.application.perspective.polytomous"\r
- name="%perspective.name.0">\r
- </perspective>\r
- <perspective\r
- class="eu.etaxonomy.taxeditor.perspective.Uses"\r
- id="eu.etaxonomy.taxeditor.application.perspective.uses"\r
- name="%perspective.name.1">\r
- </perspective>\r
- <perspective\r
- class="eu.etaxonomy.taxeditor.perspective.DerivatePerspective"\r
- icon="icons/specimen_derivate-16x16-32.png"\r
- id="eu.etaxonomy.taxeditor.application.perspective.derivates"\r
- name="%perspective.name.2">\r
- </perspective>\r
- <perspective\r
- class="eu.etaxonomy.taxeditor.perspective.ChecklistPerspective"\r
- icon="icons/check.png"\r
- id="eu.etaxonomy.taxeditor.perspective.checklistperspective"\r
- name="Checklist">\r
- </perspective>\r
- \r
- </extension>\r
- <!--extension\r
- point="org.eclipse.ui.views">\r
- <view\r
- class="eu.etaxonomy.taxeditor.navigation.taxonomictree.TaxonomicTreeView"\r
- id="eu.etaxonomy.taxeditor.navigation.taxonomictree.treeView"\r
- name="Taxonomic Tree">\r
- </view>\r
- <view\r
- allowMultiple="true"\r
- class="eu.etaxonomy.taxeditor.navigation.search.SearchResultView"\r
- id="eu.etaxonomy.taxeditor.navigation.search.searchResultView"\r
- name="Search Result"\r
- restorable="true">\r
- </view>\r
- </extension-->\r
- <extension\r
- point="org.eclipse.ui.perspectiveExtensions">\r
- <perspectiveExtension\r
- targetID="eu.etaxonomy.taxeditor.application.perspective.bulkeditor">\r
- <showInPart\r
- id="eu.etaxonomy.taxeditor.editor.forms.detailsView">\r
- </showInPart>\r
- <showInPart\r
- id="eu.etaxonomy.taxeditor.bulkeditor.referencingobjectsview">\r
- </showInPart>\r
- </perspectiveExtension>\r
- <perspectiveExtension\r
- targetID="eu.etaxonomy.taxeditor.application.perspective.polytomous">\r
- <showInPart\r
- id="eu.etaxonomy.taxeditor.editor.forms.detailsView">\r
- </showInPart>\r
- </perspectiveExtension>\r
- <perspectiveExtension\r
- targetID="eu.etaxonomy.taxeditor.application.perspective.uses">\r
- <showInPart\r
- id="eu.etaxonomy.taxeditor.editor.forms.detailsView">\r
- </showInPart>\r
- </perspectiveExtension>\r
- </extension>\r
- <extension\r
- point="org.eclipse.ui.menus">\r
- <menuContribution\r
- locationURI="menu:org.eclipse.ui.main.menu">\r
- <menu\r
- id="org.eclipse.ui.main.menu.file"\r
- label="%menu.label">\r
- </menu>\r
- <menu\r
- id="org.eclipse.ui.main.menu.edit"\r
- label="%menu.label.0">\r
- </menu>\r
- <menu\r
- id="org.eclipse.ui.main.menu.window"\r
- label="%menu.label.1">\r
- </menu>\r
- <menu\r
- id="org.eclipse.ui.main.menu.help"\r
- label="%menu.label.2">\r
- </menu>\r
- </menuContribution>\r
- <menuContribution\r
- locationURI="menu:org.eclipse.ui.main.menu.file">\r
- <menu\r
- id="eu.etaxonomy.navigation.menu.new"\r
- label="%menu.label.3">\r
- </menu>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.application.filemenu.new"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.file.close"\r
- label="%command.label"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.file.closeAll"\r
- label="%command.label.0"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.application.filemenu.close"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.file.save"\r
- label="%command.label.1"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.file.saveAll"\r
- label="%command.label.2"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.application.filemenu.save"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.file.import"\r
- label="%command.label.3"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.file.export"\r
- label="%command.label.4"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.application.filemenu.io"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.file.exit"\r
- id="eu.etaxonomy.taxeditor.application.menu.exit"\r
- label="%command.label.5"\r
- style="push">\r
- </command>\r
- </menuContribution>\r
- <menuContribution\r
- locationURI="menu:org.eclipse.ui.main.menu.edit">\r
- <command\r
- commandId="org.eclipse.ui.edit.undo"\r
- label="%command.label.6">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.edit.redo"\r
- label="%command.label.7"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.ui.edit.separator1"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.edit.cut"\r
- label="%command.label.8"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.edit.copy"\r
- label="%command.label.9"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.edit.paste"\r
- label="%command.label.10"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.ui.edit.separator2"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.edit.delete"\r
- label="%command.label.11"\r
- style="push">\r
- </command>\r
- </menuContribution>\r
- <menuContribution\r
- locationURI="menu:org.eclipse.ui.main.menu.window">\r
- <separator\r
- name="eu.etaxonomy.taxeditor.application.windowMenu.last"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.window.preferences"\r
- label="%command.label.12"\r
- style="push">\r
- </command>\r
- </menuContribution>\r
- <menuContribution\r
- locationURI="menu:org.eclipse.ui.main.menu.help">\r
- <command\r
- commandId="org.eclipse.ui.help.helpContents"\r
- label="%command.label.13"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.help.helpSearch"\r
- label="%command.label.14"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.ui.help.separator0"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.help.dynamicHelp"\r
- label="%command.label.15"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="eu.etaxonomy.taxeditor.application.help.parser"\r
- label="%command.label.16"\r
- style="push">\r
- </command>\r
- <separator\r
- name="eu.etaxonomy.taxeditor.ui.help.separator1"\r
- visible="true">\r
- </separator>\r
- <!--command\r
- commandId="eu.etaxonomy.taxeditor.install"\r
- label="%command.label.18"\r
- style="push"/-->\r
- <command\r
- commandId="eu.etaxonomy.taxeditor.update"\r
- label="%command.label.17"\r
- style="push"/> \r
- <separator\r
- name="eu.etaxonomy.taxeditor.ui.help.separator2"\r
- visible="true">\r
- </separator>\r
- <command\r
- commandId="org.eclipse.ui.help.aboutAction"\r
- label="%command.label.19">\r
- </command>\r
- <command\r
- commandId="eu.etaxonomy.taxeditor.application.help.aboutPlatform"\r
- label="%command.label.20"\r
- style="push">\r
- </command>\r
- </menuContribution>\r
- <menuContribution\r
- locationURI="toolbar:org.eclipse.ui.main.toolbar">\r
- <toolbar\r
- id="eu.etaxonomy.taxeditor.editor.main">\r
- <command\r
- commandId="org.eclipse.ui.newWizard"\r
- label="%command.label.21"\r
- style="push">\r
- </command>\r
- <command\r
- commandId="org.eclipse.ui.file.save"\r
- label="%command.label.22"\r
- style="push">\r
- </command>\r
- </toolbar>\r
- </menuContribution>\r
- </extension>\r
- <extension\r
- id="product"\r
- point="org.eclipse.core.runtime.products">\r
- <product\r
- application="eu.etaxonomy.taxeditor.application.application"\r
- name="%product.name">\r
- <property\r
- name="windowImages"\r
- value="icons/256color_16x16.gif,icons/256color_32x32.gif,icons/256color_48x48.gif">\r
- </property>\r
- <property\r
- name="aboutText"\r
- value="%productBlurb">\r
- </property>\r
- <!--property\r
- name="startupForegroundColor"\r
- value="#C8D5EA"-->\r
- <property\r
- name="startupForegroundColor"\r
- value="000000">\r
- </property>\r
- <property\r
- name="startupProgressRect"\r
- value="5,447,366,15">\r
- </property>\r
- <property\r
- name="startupMessageRect"\r
- value="7,432,360,20">\r
- </property>\r
- <property\r
- name="appName"\r
- value="EDIT Taxonomic Editor">\r
- </property>\r
- <property\r
- name="preferenceCustomization"\r
- value="plugin_customization.ini">\r
- </property>\r
- <property\r
- name="aboutImage"\r
- value="icons/256color_48x48.gif">\r
- </property>\r
- </product>\r
- </extension>\r
- <extension\r
- point="org.eclipse.ui.commands">\r
- <command\r
- defaultHandler="eu.etaxonomy.taxeditor.OpenExternalParserHelpHandler"\r
- id="eu.etaxonomy.taxeditor.application.help.parser"\r
- name="%command.name">\r
- </command>\r
- <command\r
- defaultHandler="eu.etaxonomy.taxeditor.OpenExternalAboutPlatformHandler"\r
- id="eu.etaxonomy.taxeditor.application.help.aboutPlatform"\r
- name="%command.name.0">\r
- </command>\r
- <command\r
- defaultHandler="eu.etaxonomy.taxeditor.update.UpdateHandler"\r
- id="eu.etaxonomy.taxeditor.update"\r
- name="%command.label.17">\r
- </command>\r
- <command\r
- defaultHandler="eu.etaxonomy.taxeditor.update.InstallNewSoftwareHandler"\r
- id="eu.etaxonomy.taxeditor.install"\r
- name="%command.label.18">\r
- </command>\r
- </extension>\r
- \r
- \r
- <extension\r
- point="org.eclipse.ui.activities">\r
- <activity\r
- description="%activity.description"\r
- id="eu.etaxonomy.taxeditor.disable"\r
- name="%activity.name">\r
- </activity>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.project">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.file">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.folder">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.ui\.editors/org\.eclipse\.ui\.editors\.wizards\.UntitledTextFileWizard">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\..*externaltools.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.debug.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.team.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.ant.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.pde.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.jdt.*">\r
- </activityPatternBinding>\r
- <activityPatternBinding\r
- activityId="eu.etaxonomy.taxeditor.disable"\r
- pattern="org\.eclipse\.search.*">\r
- </activityPatternBinding>\r
- </extension>\r
- <extension\r
- id="eu_etaxonomy_taxeditor_product"\r
- point="org.eclipse.core.runtime.products">\r
- <product\r
- application="eu.etaxonomy.taxeditor.editor.application"\r
- name="EDIT Taxonomic Editor">\r
- <property\r
- name="appName"\r
- value="EDIT Taxonomic Editor">\r
- </property>\r
- <property\r
- name="aboutImage"\r
- value="icons/256color_48x48.gif">\r
- </property>\r
- <property\r
- name="aboutText"\r
- value="%productBlurb">\r
- </property>\r
- <property\r
- name="windowImages"\r
- value="icons/256color_16x16.gif,icons/256color_32x32.gif,icons/256color_48x48.gif">\r
- </property>\r
- <property\r
- name="startupForegroundColor"\r
- value="000000">\r
- </property>\r
- <property\r
- name="startupMessageRect"\r
- value="7,432,360,20">\r
- </property>\r
- <property\r
- name="startupProgressRect"\r
- value="5,447,366,15">\r
- </property>\r
- <property\r
- name="preferenceCustomization"\r
- value="plugin_customization.ini">\r
- </property>\r
- </product>\r
- </extension>\r
-\r
-</plugin>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ id="application"
+ name="%extension.name"
+ point="org.eclipse.core.runtime.applications">
+ <application
+ cardinality="singleton-global"
+ thread="main"
+ visible="true">
+ <run
+ class="eu.etaxonomy.taxeditor.Application">
+ </run>
+ </application>
+ </extension>
+ <extension
+ point="org.eclipse.ui.perspectives">
+ <perspective
+ class="eu.etaxonomy.taxeditor.perspective.Taxonomic"
+ id="eu.etaxonomy.taxeditor.application.perspective.taxonomic"
+ name="%perspective.name">
+ </perspective>
+ <!--perspective
+ class="eu.etaxonomy.taxeditor.perspective.BulkEditing"
+ id="eu.etaxonomy.taxeditor.application.perspective.bulkeditor"
+ name="Bulk Editing">
+ </perspective-->
+ <perspective
+ class="eu.etaxonomy.taxeditor.perspective.PolytomousKey"
+ id="eu.etaxonomy.taxeditor.application.perspective.polytomous"
+ name="%perspective.name.0">
+ </perspective>
+ <perspective
+ class="eu.etaxonomy.taxeditor.perspective.Uses"
+ id="eu.etaxonomy.taxeditor.application.perspective.uses"
+ name="%perspective.name.1">
+ </perspective>
+ <perspective
+ class="eu.etaxonomy.taxeditor.perspective.DerivatePerspective"
+ icon="icons/specimen_derivate-16x16-32.png"
+ id="eu.etaxonomy.taxeditor.application.perspective.derivates"
+ name="%perspective.name.2">
+ </perspective>
+ <perspective
+ class="eu.etaxonomy.taxeditor.perspective.ChecklistPerspective"
+ icon="icons/check.png"
+ id="eu.etaxonomy.taxeditor.perspective.checklistperspective"
+ name="Checklist">
+ </perspective>
+
+ </extension>
+ <!--extension
+ point="org.eclipse.ui.views">
+ <view
+ class="eu.etaxonomy.taxeditor.navigation.taxonomictree.TaxonomicTreeView"
+ id="eu.etaxonomy.taxeditor.navigation.taxonomictree.treeView"
+ name="Taxonomic Tree">
+ </view>
+ <view
+ allowMultiple="true"
+ class="eu.etaxonomy.taxeditor.navigation.search.SearchResultView"
+ id="eu.etaxonomy.taxeditor.navigation.search.searchResultView"
+ name="Search Result"
+ restorable="true">
+ </view>
+ </extension-->
+ <extension
+ point="org.eclipse.ui.perspectiveExtensions">
+ <perspectiveExtension
+ targetID="eu.etaxonomy.taxeditor.application.perspective.bulkeditor">
+ <showInPart
+ id="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+ </showInPart>
+ <showInPart
+ id="eu.etaxonomy.taxeditor.bulkeditor.referencingobjectsview">
+ </showInPart>
+ </perspectiveExtension>
+ <perspectiveExtension
+ targetID="eu.etaxonomy.taxeditor.application.perspective.polytomous">
+ <showInPart
+ id="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+ </showInPart>
+ </perspectiveExtension>
+ <perspectiveExtension
+ targetID="eu.etaxonomy.taxeditor.application.perspective.uses">
+ <showInPart
+ id="eu.etaxonomy.taxeditor.editor.forms.detailsView">
+ </showInPart>
+ </perspectiveExtension>
+ </extension>
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="menu:org.eclipse.ui.main.menu">
+ <menu
+ id="org.eclipse.ui.main.menu.file"
+ label="%menu.label">
+ </menu>
+ <menu
+ id="org.eclipse.ui.main.menu.edit"
+ label="%menu.label.0">
+ </menu>
+ <menu
+ id="org.eclipse.ui.main.menu.window"
+ label="%menu.label.1">
+ </menu>
+ <menu
+ id="org.eclipse.ui.main.menu.help"
+ label="%menu.label.2">
+ </menu>
+ </menuContribution>
+ <menuContribution
+ locationURI="menu:org.eclipse.ui.main.menu.file">
+ <menu
+ id="eu.etaxonomy.navigation.menu.new"
+ label="%menu.label.3">
+ </menu>
+ <separator
+ name="eu.etaxonomy.taxeditor.application.filemenu.new"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.file.close"
+ label="%command.label"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.file.closeAll"
+ label="%command.label.0"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.application.filemenu.close"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.file.save"
+ label="%command.label.1"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.file.saveAll"
+ label="%command.label.2"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.application.filemenu.save"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.file.import"
+ label="%command.label.3"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isCdmStoreConnected">
+ </reference>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.eclipse.ui.file.export"
+ label="%command.label.4"
+ style="push">
+ <visibleWhen
+ checkEnabled="true">
+ <reference
+ definitionId="isCdmStoreConnected">
+ </reference>
+ </visibleWhen>
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.application.filemenu.io"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.file.exit"
+ id="eu.etaxonomy.taxeditor.application.menu.exit"
+ label="%command.label.5"
+ style="push">
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="menu:org.eclipse.ui.main.menu.edit">
+ <command
+ commandId="org.eclipse.ui.edit.undo"
+ label="%command.label.6">
+ </command>
+ <command
+ commandId="org.eclipse.ui.edit.redo"
+ label="%command.label.7"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.ui.edit.separator1"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.edit.cut"
+ label="%command.label.8"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.edit.copy"
+ label="%command.label.9"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.edit.paste"
+ label="%command.label.10"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.ui.edit.separator2"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.edit.delete"
+ label="%command.label.11"
+ style="push">
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="menu:org.eclipse.ui.main.menu.window">
+ <separator
+ name="eu.etaxonomy.taxeditor.application.windowMenu.last"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.window.preferences"
+ label="%command.label.12"
+ style="push">
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="menu:org.eclipse.ui.main.menu.help">
+ <command
+ commandId="org.eclipse.ui.help.helpContents"
+ label="%command.label.13"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.help.helpSearch"
+ label="%command.label.14"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.ui.help.separator0"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.help.dynamicHelp"
+ label="%command.label.15"
+ style="push">
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.application.help.parser"
+ label="%command.label.16"
+ style="push">
+ </command>
+ <separator
+ name="eu.etaxonomy.taxeditor.ui.help.separator1"
+ visible="true">
+ </separator>
+ <!--command
+ commandId="eu.etaxonomy.taxeditor.install"
+ label="%command.label.18"
+ style="push"/-->
+ <command
+ commandId="eu.etaxonomy.taxeditor.update"
+ label="%command.label.17"
+ style="push"/>
+ <separator
+ name="eu.etaxonomy.taxeditor.ui.help.separator2"
+ visible="true">
+ </separator>
+ <command
+ commandId="org.eclipse.ui.help.aboutAction"
+ label="%command.label.19">
+ </command>
+ <command
+ commandId="eu.etaxonomy.taxeditor.application.help.aboutPlatform"
+ label="%command.label.20"
+ style="push">
+ </command>
+ </menuContribution>
+ <menuContribution
+ locationURI="toolbar:org.eclipse.ui.main.toolbar">
+ <toolbar
+ id="eu.etaxonomy.taxeditor.editor.main">
+ <command
+ commandId="org.eclipse.ui.newWizard"
+ label="%command.label.21"
+ style="push">
+ </command>
+ <command
+ commandId="org.eclipse.ui.file.save"
+ label="%command.label.22"
+ style="push">
+ </command>
+ </toolbar>
+ </menuContribution>
+ </extension>
+ <extension
+ id="product"
+ point="org.eclipse.core.runtime.products">
+ <product
+ application="eu.etaxonomy.taxeditor.application.application"
+ name="%product.name">
+ <property
+ name="windowImages"
+ value="icons/256color_16x16.gif,icons/256color_32x32.gif,icons/256color_48x48.gif">
+ </property>
+ <property
+ name="aboutText"
+ value="%productBlurb">
+ </property>
+ <!--property
+ name="startupForegroundColor"
+ value="#C8D5EA"-->
+ <property
+ name="startupForegroundColor"
+ value="000000">
+ </property>
+ <property
+ name="startupProgressRect"
+ value="5,447,366,15">
+ </property>
+ <property
+ name="startupMessageRect"
+ value="7,432,360,20">
+ </property>
+ <property
+ name="appName"
+ value="EDIT Taxonomic Editor">
+ </property>
+ <property
+ name="preferenceCustomization"
+ value="plugin_customization.ini">
+ </property>
+ <property
+ name="aboutImage"
+ value="icons/256color_48x48.gif">
+ </property>
+ </product>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.OpenExternalParserHelpHandler"
+ id="eu.etaxonomy.taxeditor.application.help.parser"
+ name="%command.name">
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.OpenExternalAboutPlatformHandler"
+ id="eu.etaxonomy.taxeditor.application.help.aboutPlatform"
+ name="%command.name.0">
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.update.UpdateHandler"
+ id="eu.etaxonomy.taxeditor.update"
+ name="%command.label.17">
+ </command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.update.InstallNewSoftwareHandler"
+ id="eu.etaxonomy.taxeditor.install"
+ name="%command.label.18">
+ </command>
+ </extension>
+
+
+ <extension
+ point="org.eclipse.ui.activities">
+ <activity
+ description="%activity.description"
+ id="eu.etaxonomy.taxeditor.disable"
+ name="%activity.name">
+ </activity>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.project">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.file">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.wizards\.new\.folder">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.ui\.editors/org\.eclipse\.ui\.editors\.wizards\.UntitledTextFileWizard">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\..*externaltools.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.debug.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.team.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.ant.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.pde.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.jdt.*">
+ </activityPatternBinding>
+ <activityPatternBinding
+ activityId="eu.etaxonomy.taxeditor.disable"
+ pattern="org\.eclipse\.search.*">
+ </activityPatternBinding>
+ </extension>
+ <extension
+ id="eu_etaxonomy_taxeditor_product"
+ point="org.eclipse.core.runtime.products">
+ <product
+ application="eu.etaxonomy.taxeditor.application.application"
+ name="EDIT Taxonomic Editor">
+ <property
+ name="appName"
+ value="EDIT Taxonomic Editor">
+ </property>
+ <property
+ name="aboutImage"
+ value="icons/256color_48x48.gif">
+ </property>
+ <property
+ name="aboutText"
+ value="%productBlurb">
+ </property>
+ <property
+ name="windowImages"
+ value="icons/256color_16x16.gif,icons/256color_32x32.gif,icons/256color_48x48.gif">
+ </property>
+ <property
+ name="startupForegroundColor"
+ value="000000">
+ </property>
+ <property
+ name="startupMessageRect"
+ value="7,432,360,20">
+ </property>
+ <property
+ name="startupProgressRect"
+ value="5,447,366,15">
+ </property>
+ <property
+ name="preferenceCustomization"
+ value="plugin_customization.ini">
+ </property>
+ </product>
+ </extension>
+
+</plugin>
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.8.0-SNAPSHOT</version>
+ <version>3.12.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.dialog.LoginDialog;
import eu.etaxonomy.taxeditor.update.P2Util;
+import eu.etaxonomy.taxeditor.util.ApplicationUtil;
/**
* <p>ApplicationWorkbenchWindowAdvisor class.</p>
configurer.setShowCoolBar(true);
configurer.setShowStatusLine(true);
configurer.setShowPerspectiveBar(true);
- configurer.setTitle("EDIT Taxonomic Editor " + ApplicationUtil.getVersion());
+ configurer.setTitle(ApplicationUtil.getTitle());
configurer.setShowProgressIndicator(true);
CdmDataSourceRepository.createDefaultH2DataSource();
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.equinox.internal.p2.ui.ProvUI;
import org.eclipse.equinox.internal.p2.ui.model.ElementUtils;
import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement;
-import org.eclipse.equinox.p2.repository.IRepository;
-import org.eclipse.equinox.p2.repository.IRepositoryManager;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
-import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.operations.ProvisioningJob;
import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.operations.RepositoryTracker;
import org.eclipse.equinox.p2.operations.Update;
import org.eclipse.equinox.p2.operations.UpdateOperation;
+import org.eclipse.equinox.p2.repository.IRepository;
+import org.eclipse.equinox.p2.repository.IRepositoryManager;
+import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
import org.eclipse.equinox.p2.ui.ProvisioningUI;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
-import eu.etaxonomy.taxeditor.ApplicationUtil;
import eu.etaxonomy.taxeditor.TaxonomicEditorPlugin;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.util.ApplicationUtil;
/**
* This class is a utility class for updating the editor from a p2 update site,
*
*/
public static void checkForUpdates() {
- // the main job which performs the update
+
Job updateJob = new Job("Update Job") {
@Override
public IStatus run(IProgressMonitor monitor) {
*/
private static IStatus doCheckForUpdates(IProgressMonitor monitor) {
+ // force refresh all the caches before
+ IMetadataRepositoryManager metaManager = ProvUI.getMetadataRepositoryManager(ProvisioningUI.getDefaultUI().getSession());
+ URI[] repos = metaManager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL);
+ for(URI repo : repos) {
+ try {
+ metaManager.refreshRepository(repo, monitor);
+ } catch (ProvisionException pe) {
+ IStatus errorStatus = new Status(IStatus.ERROR, TaxonomicEditorPlugin.PLUGIN_ID,
+ "Error occured while reloading cache.", pe);
+
+ } catch (OperationCanceledException oce) {
+ IStatus errorStatus = new Status(IStatus.ERROR, TaxonomicEditorPlugin.PLUGIN_ID,
+ "Error occured while reloading cache.", oce);
+ }
+ }
BundleContext bundleContext = TaxonomicEditorPlugin.getContext();
ServiceReference reference = bundleContext.getServiceReference(IProvisioningAgent.SERVICE_NAME);
if (reference == null) {
+++ /dev/null
-### ************ APPENDER ***********************************###\r
-\r
-### direct log messages to stdout ###\r
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
-log4j.appender.stdout.Target=System.out\r
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
-log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n\r
-\r
-### direct messages to file hibernate.log ###\r
-log4j.appender.file=org.apache.log4j.FileAppender\r
-log4j.appender.file.File=taxeditor.log\r
-log4j.appender.file.layout=org.apache.log4j.PatternLayout\r
-log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n\r
-\r
-### ************* LOG LEVELS *********************************###\r
-\r
-### set log levels - for more verbose logging change 'info' to 'debug' ###\r
-### levels: error, warn, debug, info\r
-log4j.rootLogger=INFO, stdout\r
-\r
-### set directory-specific levels below\r
-\r
-### basic level for editor directory\r
-log4j.logger.eu.etaxonomy.taxeditor.editor = WARN, stdout \r
-\r
-log4j.logger.eu.etaxonomy.taxeditor.editor.handler = DEBUG, stdout\r
-\r
-### log level for conversation handler\r
-#log4j.logger.eu.etaxonomy.cdm.api.application = DEBUG, stdout\r
-<?xml version="1.0" encoding="UTF-8"?>\r
-<classpath>\r
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
- <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
- <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\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/main/java"/>
+ <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Bundle-ManifestVersion: 2
Bundle-Name: Bulkeditor Bundle
Bundle-SymbolicName: eu.etaxonomy.taxeditor.bulkeditor;singleton:=true
-Bundle-Version: 3.8.0.qualifier
+Bundle-Version: 3.12.0.qualifier
Bundle-Activator: eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin
Bundle-Vendor: EDIT
Export-Package: eu.etaxonomy.taxeditor.annotatedlineeditor,
eu.etaxonomy.taxeditor.cdmlib
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.core.runtime,
+Import-Package: eu.etaxonomy.taxeditor.editor,
+ org.eclipse.core.runtime,
org.eclipse.equinox.app,
org.eclipse.jface.text,
org.eclipse.jface.text.presentation,
<parent>
<groupId>eu.etaxonomy</groupId>
<artifactId>taxeditor-parent</artifactId>
- <version>3.8.0-SNAPSHOT</version>
+ <version>3.12.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
if (annotation instanceof IEntityContainer<?>) {
IEntityContainer<?> container = (IEntityContainer<?>) annotation;
if (container.isMarkedAsNew() || container.isDirty()) {
- persistenceService.save(container.getEntity()); // save
+ Object entity = persistenceService.save(container.getEntity()); // save
+ container.setEntity(entity);
container.setDirty(false);
container.markAsNew(false);
}
// $Id$
/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
package eu.etaxonomy.taxeditor.annotatedlineeditor;
import java.util.Iterator;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
*/
public class AnnotatedLineEditor extends TextEditor implements IConversationEnabled, IPostOperationEnabled {
- protected ConversationHolder conversation;
-
- private IEntityPersistenceService persistenceService;
- protected ILineDisplayStrategy lineDisplayStrategy;
-
-
- /**
- * <p>Constructor for AnnotatedLineEditor.</p>
- *
- * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- public AnnotatedLineEditor(ConversationHolder conversation) {
- this.conversation = conversation;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.editors.text.TextEditor#doSetInput(org.eclipse.ui.IEditorInput)
- */
- /** {@inheritDoc} */
- @Override
- protected void doSetInput(IEditorInput input) throws CoreException {
-
- AnnotatedLineDocumentProvider provider = new AnnotatedLineDocumentProvider(input);
-
- provider.setLineDisplayStrategy(lineDisplayStrategy, input);
- setDocumentProvider(provider);
-
- super.doSetInput(input);
- }
-
- /**
- * <p>Setter for the field <code>persistenceService</code>.</p>
- *
- * @param persistenceService a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService} object.
- */
- protected void setPersistenceService(
- IEntityPersistenceService persistenceService) {
- this.persistenceService = persistenceService;
- }
-
- /**
- * <p>Getter for the field <code>persistenceService</code>.</p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService} object.
- */
- protected IEntityPersistenceService getPersistenceService() {
- return persistenceService;
- }
-
- /**
- * <p>Setter for the field <code>lineDisplayStrategy</code>.</p>
- *
- * @param lineDisplayStrategy a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy} object.
- */
- protected void setLineDisplayStrategy(
- ILineDisplayStrategy lineDisplayStrategy) {
- this.lineDisplayStrategy = lineDisplayStrategy;
- }
-
- /** {@inheritDoc} */
- @Override
- protected ISourceViewer createSourceViewer(Composite parent,
- IVerticalRuler ruler, int styles) {
-
- fAnnotationAccess= getAnnotationAccess();
- fOverviewRuler= createOverviewRuler(getSharedColors());
- LineSelectionViewer viewer = new LineSelectionViewer(parent, ruler, getOverviewRuler(),
- isOverviewRulerVisible(), styles);
-// isOverviewRulerVisible(), styles | SWT.WRAP);
- getSourceViewerDecorationSupport(viewer);
-
- return viewer;
- }
-
- /**
- * Create an annotated line with an "empty" entity, i.e. using the editor
- * input's default entity type and a zero-length title cache.
- *
- * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
- */
- public LineAnnotation createAnnotatedLineNewObject() {
-
- // Create new object
-
- AnnotatedLineDocumentProvider documentProvider = (AnnotatedLineDocumentProvider) getDocumentProvider();
- IEntityCreator entityCreator = documentProvider.getEntityCreator(getEditorInput());
- Object entity = entityCreator.createEntity(null);
-
- LineAnnotation annotation = createAnnotatedLine(entity);
- if (annotation != null) {
- annotation.markAsNew(true);
- }
- return annotation;
- }
-
- /**
- * Create an annotated line, first creating an entity of type "key" - this key
- * must be recognized by the editor's entity creator.
- *
- * @param key a {@link java.lang.Object} object.
- * @param titleCache a {@link java.lang.String} object.
- * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
- */
- public LineAnnotation createAnnotatedLineNewObject(Object key, String titleCache) {
-
-
-
- // Create new object
- Object entity = ((AnnotatedLineDocumentProvider) getDocumentProvider()).
- getEntityCreator(getEditorInput()).createEntity(key, titleCache);
- // checks if the creator also saves the entity (in a different conversation), in which case
- // we need to bind back this editors conversation
- // we also need to reload the entity because the conversation used to
- // to create / save the entity may have been closed
- if(entity != null && ((AnnotatedLineDocumentProvider) getDocumentProvider()).getEntityCreator(getEditorInput()).savesEntity()) {
- getConversationHolder().bind();
- Object object = CdmStore.getService(IOccurrenceService.class).load(((CdmBase)entity).getUuid());
- entity = HibernateProxyHelper.deproxy(object);
- }
-
- if(entity == null) {
- return null;
- }
- LineAnnotation annotation = createAnnotatedLine(entity);
- if (annotation != null) {
- annotation.markAsNew(true);
- }
-
- return annotation;
-
- }
-
- @Override
- public boolean isDirty() {
- return super.isDirty();
- }
-
- /**
- * Creates an annotated line at the end of the document. The annotation contains the entity.
- *
- * @param entity a {@link java.lang.Object} object.
- * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
- */
- public LineAnnotation createAnnotatedLine(Object entity) {
-
- IEditorInput input = getEditorInput();
- AnnotatedLineDocumentProvider provider = (AnnotatedLineDocumentProvider) getDocumentProvider();
-
- LineAnnotation annotation = null;
- try {
- annotation = provider.createAnnotatedLine(input, entity);
-
- // Jump to new line
- IAnnotationModel model = provider.getAnnotationModel(input);
- if(model != null){
- int start= model.getPosition(annotation).getOffset();
- selectAndReveal(start, 0);
- }
-
- } catch (BadLocationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return annotation;
- }
-
- /**
- * <p>removeAnnotatedLine</p>
- *
- * @param lineno a int.
- */
- public void removeAnnotatedLine(int lineno) {
- ((AnnotatedLineDocumentProvider) getDocumentProvider()).removeAnnotatedLine(lineno);
- }
-
- /**
- * <p>removeAnnotatedLine</p>
- *
- * @param annotation a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
- */
- public void removeAnnotatedLine(LineAnnotation annotation) {
- ((AnnotatedLineDocumentProvider) getDocumentProvider()).removeAnnotatedLine(annotation);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSave(org.eclipse.core.runtime.IProgressMonitor)
- */
- /** {@inheritDoc} */
- @Override
- public void doSave(IProgressMonitor progressMonitor) {
- if (getConversationHolder() != null) {
- if( ! getConversationHolder().isBound()){
- getConversationHolder().bind();
- }
- super.doSave(progressMonitor);
- getConversationHolder().commit(true);
- } else {
- super.doSave(progressMonitor);
- }
- firePropertyChange(PROP_DIRTY);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.AbstractTextEditor#setFocus()
- */
- /** {@inheritDoc} */
- @Override
- public void setFocus() {
- super.setFocus();
- if (getConversationHolder() != null) {
- getConversationHolder().bind();
- }
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setFocus();
- // TODO pass focus to underlying widgets
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.conversation.IConversationEnabled#getConversationHolder()
- */
- /**
- * <p>getConversationHolder</p>
- *
- * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- */
- @Override
+ protected ConversationHolder conversation;
+
+ private IEntityPersistenceService persistenceService;
+ protected ILineDisplayStrategy lineDisplayStrategy;
+
+
+ /**
+ * <p>Constructor for AnnotatedLineEditor.</p>
+ *
+ * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ */
+ public AnnotatedLineEditor(ConversationHolder conversation) {
+ this.conversation = conversation;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.editors.text.TextEditor#doSetInput(org.eclipse.ui.IEditorInput)
+ */
+ /** {@inheritDoc} */
+ @Override
+ protected void doSetInput(IEditorInput input) throws CoreException {
+
+ AnnotatedLineDocumentProvider provider = new AnnotatedLineDocumentProvider(input);
+
+ provider.setLineDisplayStrategy(lineDisplayStrategy, input);
+ setDocumentProvider(provider);
+
+ super.doSetInput(input);
+ }
+
+ /**
+ * <p>Setter for the field <code>persistenceService</code>.</p>
+ *
+ * @param persistenceService a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService} object.
+ */
+ protected void setPersistenceService(
+ IEntityPersistenceService persistenceService) {
+ this.persistenceService = persistenceService;
+ }
+
+ /**
+ * <p>Getter for the field <code>persistenceService</code>.</p>
+ *
+ * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService} object.
+ */
+ protected IEntityPersistenceService getPersistenceService() {
+ return persistenceService;
+ }
+
+ /**
+ * <p>Setter for the field <code>lineDisplayStrategy</code>.</p>
+ *
+ * @param lineDisplayStrategy a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy} object.
+ */
+ protected void setLineDisplayStrategy(
+ ILineDisplayStrategy lineDisplayStrategy) {
+ this.lineDisplayStrategy = lineDisplayStrategy;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected ISourceViewer createSourceViewer(Composite parent,
+ IVerticalRuler ruler, int styles) {
+
+ fAnnotationAccess= getAnnotationAccess();
+ fOverviewRuler= createOverviewRuler(getSharedColors());
+ LineSelectionViewer viewer = new LineSelectionViewer(parent, ruler, getOverviewRuler(),
+ isOverviewRulerVisible(), styles);
+ // isOverviewRulerVisible(), styles | SWT.WRAP);
+ getSourceViewerDecorationSupport(viewer);
+
+ return viewer;
+ }
+
+ /**
+ * Create an annotated line with an "empty" entity, i.e. using the editor
+ * input's default entity type and a zero-length title cache.
+ *
+ * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
+ */
+ public LineAnnotation createAnnotatedLineNewObject() {
+
+ // Create new object
+
+ AnnotatedLineDocumentProvider documentProvider = (AnnotatedLineDocumentProvider) getDocumentProvider();
+ IEntityCreator entityCreator = documentProvider.getEntityCreator(getEditorInput());
+ Object entity = entityCreator.createEntity(null);
+
+ LineAnnotation annotation = createAnnotatedLine(entity);
+ if (annotation != null) {
+ annotation.markAsNew(true);
+ }
+ return annotation;
+ }
+
+ /**
+ * Create an annotated line, first creating an entity of type "key" - this key
+ * must be recognized by the editor's entity creator.
+ *
+ * @param key a {@link java.lang.Object} object.
+ * @param titleCache a {@link java.lang.String} object.
+ * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
+ */
+ public LineAnnotation createAnnotatedLineNewObject(Object key, String titleCache) {
+
+
+
+ // Create new object
+ Object entity = ((AnnotatedLineDocumentProvider) getDocumentProvider()).
+ getEntityCreator(getEditorInput()).createEntity(key, titleCache);
+ // checks if the creator also saves the entity (in a different conversation), in which case
+ // we need to bind back this editors conversation
+ // we also need to reload the entity because the conversation used to
+ // to create / save the entity may have been closed
+ if(entity != null && ((AnnotatedLineDocumentProvider) getDocumentProvider()).getEntityCreator(getEditorInput()).savesEntity()) {
+ getConversationHolder().bind();
+ Object object = CdmStore.getService(IOccurrenceService.class).load(((CdmBase)entity).getUuid());
+ entity = HibernateProxyHelper.deproxy(object);
+ }
+
+ if(entity == null) {
+ return null;
+ }
+ LineAnnotation annotation = createAnnotatedLine(entity);
+ if (annotation != null) {
+ annotation.markAsNew(true);
+ }
+
+ return annotation;
+
+ }
+
+ @Override
+ public boolean isDirty() {
+ return super.isDirty();
+ }
+
+ /**
+ * Creates an annotated line at the end of the document. The annotation contains the entity.
+ *
+ * @param entity a {@link java.lang.Object} object.
+ * @return a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
+ */
+ public LineAnnotation createAnnotatedLine(Object entity) {
+
+ IEditorInput input = getEditorInput();
+ AnnotatedLineDocumentProvider provider = (AnnotatedLineDocumentProvider) getDocumentProvider();
+
+ LineAnnotation annotation = null;
+ try {
+ annotation = provider.createAnnotatedLine(input, entity);
+
+ // Jump to new line
+ IAnnotationModel model = provider.getAnnotationModel(input);
+ if(model != null){
+ int start= model.getPosition(annotation).getOffset();
+ selectAndReveal(start, 0);
+ }
+
+ } catch (BadLocationException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return annotation;
+ }
+
+ /**
+ * <p>removeAnnotatedLine</p>
+ *
+ * @param lineno a int.
+ */
+ public void removeAnnotatedLine(int lineno) {
+ ((AnnotatedLineDocumentProvider) getDocumentProvider()).removeAnnotatedLine(lineno);
+ }
+
+ /**
+ * <p>removeAnnotatedLine</p>
+ *
+ * @param annotation a {@link eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation} object.
+ */
+ public void removeAnnotatedLine(LineAnnotation annotation) {
+ ((AnnotatedLineDocumentProvider) getDocumentProvider()).removeAnnotatedLine(annotation);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSave(org.eclipse.core.runtime.IProgressMonitor)
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void doSave(IProgressMonitor progressMonitor) {
+ if (getConversationHolder() != null) {
+ if( ! getConversationHolder().isBound()){
+ getConversationHolder().bind();
+ }
+ super.doSave(progressMonitor);
+ getConversationHolder().commit(true);
+ } else {
+ super.doSave(progressMonitor);
+ }
+ firePropertyChange(PROP_DIRTY);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.texteditor.AbstractTextEditor#setFocus()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void setFocus() {
+ super.setFocus();
+ if (getConversationHolder() != null) {
+ getConversationHolder().bind();
+ }
+ ((AbstractBulkEditorInput)getEditorInput()).bind();
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().setFocus();
+ // TODO pass focus to underlying widgets
+ }
+
+ /* (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;
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
- */
- /** {@inheritDoc} */
- @Override
+ return conversation;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.cdm.persistence.hibernate.ICdmPostDataChangeObserver#update(eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap)
+ */
+ /** {@inheritDoc} */
+ @Override
public void update(CdmDataChangeMap changeEvents) {}
- /**
- * Refreshes text in all lines.
- */
- protected void refreshLineDisplay() {
- IDocumentProvider provider = getDocumentProvider();
- IEditorInput input = getEditorInput();
- IAnnotationModel model = provider.getAnnotationModel(input);
- Iterator iter = getDocumentProvider().getAnnotationModel(getEditorInput()).getAnnotationIterator();
- while (iter.hasNext()) {
- Object next = iter.next();
- if (next instanceof LineAnnotation) {
- LineAnnotation annotation = (LineAnnotation) next;
- ((AnnotatedLineDocumentProvider) getDocumentProvider()).
- updateLineFromAnnotation(annotation);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.operations.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
- */
- /** {@inheritDoc} */
- @Override
+ /**
+ * Refreshes text in all lines.
+ */
+ protected void refreshLineDisplay() {
+ IDocumentProvider provider = getDocumentProvider();
+ IEditorInput input = getEditorInput();
+ IAnnotationModel model = provider.getAnnotationModel(input);
+ Iterator iter = getDocumentProvider().getAnnotationModel(getEditorInput()).getAnnotationIterator();
+ while (iter.hasNext()) {
+ Object next = iter.next();
+ if (next instanceof LineAnnotation) {
+ LineAnnotation annotation = (LineAnnotation) next;
+ ((AnnotatedLineDocumentProvider) getDocumentProvider()).
+ updateLineFromAnnotation(annotation);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.operations.IPostOperationEnabled#postOperation(eu.etaxonomy.cdm.model.common.CdmBase)
+ */
+ /** {@inheritDoc} */
+ @Override
public boolean postOperation(CdmBase objectAffectedByOperation) {
- refreshLineDisplay();
-
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.editors.text.TextEditor#dispose()
- */
- /** {@inheritDoc} */
- @Override
- public void dispose() {
- super.dispose();
- conversation.close();
- }
-
- /**
- * <p>onComplete</p>
- *
- * @return a boolean.
- */
- @Override
+ refreshLineDisplay();
+
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.editors.text.TextEditor#dispose()
+ */
+ /** {@inheritDoc} */
+ @Override
+ public void dispose() {
+ super.dispose();
+ conversation.close();
+ ((AbstractBulkEditorInput)getEditorInput()).dispose();
+ }
+
+ /**
+ * <p>onComplete</p>
+ *
+ * @return a boolean.
+ */
+ @Override
public boolean onComplete() {
- // TODO Auto-generated method stub
- return false;
- }
+ // TODO Auto-generated method stub
+ return false;
+ }
+
}
// $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.
*/
* @return a T object.
*/
T getEntity();
-
+
+ void setEntity(Object entity);
+
/**
* <p>getEditableText</p>
*
* @return a {@link java.lang.String} object.
*/
String getEditableText();
-
+
/**
* <p>getAttachedEntities</p>
*
* @return a {@link java.util.Set} object.
*/
Set<T> getAttachedEntities();
-
+
/**
* <p>markAsMerged</p>
*
* @param mergeTarget a T object.
*/
void markAsMerged(T mergeTarget);
-
+
/**
* <p>markAsDeleted</p>
*/
void markAsDeleted();
-
+
/**
* <p>markAsNew</p>
*
* @param isNew a boolean.
*/
void markAsNew(boolean isNew);
-
+
/**
* <p>isMarkedAsMerged</p>
*
* @return a boolean.
*/
boolean isMarkedAsMerged();
-
+
/**
* <p>isMarkedAsDeleted</p>
*
* @return a boolean.
*/
boolean isMarkedAsDeleted();
-
+
/**
* <p>isMarkedAsNew</p>
*
// $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.
*/
* @version 1.0
*/
public interface IEntityPersistenceService<T> {
-
+
/**
* <p>create</p>
*
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean create(T entity);
-
+ T create(T entity);
+
/**
* <p>save</p>
*
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
*/
- boolean save(T entity);
-
+ T save(T entity);
+
/**
* <p>merge</p>
*
* @return a boolean.
*/
boolean merge(T entity, T mergeTarget);
-
+
/**
* <p>delete</p>
*
* @param entity a {@link java.lang.Object} object.
* @return a boolean.
- * @throws ReferencedObjectUndeletableException
+ * @throws ReferencedObjectUndeletableException
*/
boolean delete(T entity) throws ReferencedObjectUndeletableException;
}
// $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.
*/
/** Constant <code>TYPE_GENERIC="Annotation.TYPE_UNKNOWN"</code> */
public static final String TYPE_GENERIC = Annotation.TYPE_UNKNOWN;
-
+
private T entity;
private ILineDisplayStrategy lineDisplayStrategy;
private boolean markedAsNew;
private T mergeTarget;
-
+
/**
* <p>Constructor for LineAnnotation.</p>
*
this.lineDisplayStrategy = lineDisplayStrategy;
setType(TYPE_GENERIC);
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.text.source.Annotation#getText()
*/
public String getText() {
return getEditableText();
}
-
+
/* (non-Javadoc)
* @see org.eclipse.jface.text.source.Annotation#setText(java.lang.String)
*/
@Override
public void setText(String text) {
lineDisplayStrategy.setText(text, entity);
- dirty = true;
+ dirty = true;
super.setText(text);
}
-
+
/** {@inheritDoc} */
@Override
public String toString() {
// For debugging
return getText();
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#getAttachedEntities()
*/
*
* @return a {@link java.util.Set} object.
*/
- public Set getAttachedEntities() {
+ @Override
+ public Set getAttachedEntities() {
// TODO Auto-generated method stub
return null;
}
*
* @return a T object.
*/
- public T getEntity() {
+ @Override
+ public T getEntity() {
return entity;
}
*
* @return a {@link java.lang.String} object.
*/
- public String getEditableText() {
+ @Override
+ public String getEditableText() {
return lineDisplayStrategy.getText(entity);
}
*
* @return a T object.
*/
- public T getMergeTarget() {
+ @Override
+ public T getMergeTarget() {
return mergeTarget;
}
*
* @return a boolean.
*/
- public boolean isMarkedAsDeleted() {
+ @Override
+ public boolean isMarkedAsDeleted() {
return super.isMarkedDeleted();
}
*
* @return a boolean.
*/
- public boolean isMarkedAsMerged() {
+ @Override
+ public boolean isMarkedAsMerged() {
return markedAsMerged;
}
*
* @return a boolean.
*/
- public boolean isMarkedAsNew() {
+ @Override
+ public boolean isMarkedAsNew() {
return markedAsNew;
}
/**
* <p>markAsDeleted</p>
*/
- public void markAsDeleted() {
+ @Override
+ public void markAsDeleted() {
super.markDeleted(true);
if (!isMarkedAsMerged()) {
lineDisplayStrategy.setStatusMessage(entity + " deleted.", entity);
*
* @param mergeTarget a T object.
*/
- public void markAsMerged(T mergeTarget) {
+ @Override
+ public void markAsMerged(T mergeTarget) {
this.mergeTarget = mergeTarget;
markedAsMerged = true;
lineDisplayStrategy.setStatusMessage("'" + entity + "' merged into '" + mergeTarget + "'.", entity);
* @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#markAsNew()
*/
/** {@inheritDoc} */
- public void markAsNew(boolean isNew) {
+ @Override
+ public void markAsNew(boolean isNew) {
markedAsNew = isNew;
lineDisplayStrategy.setStatusMessage("New entity created.", entity);
}
* @see eu.etaxonomy.taxeditor.bulkeditor.IEntityContainer#setDirty(boolean)
*/
/** {@inheritDoc} */
- public void setDirty(boolean dirty) {
+ @Override
+ public void setDirty(boolean dirty) {
this.dirty = dirty;
}
*
* @return a boolean.
*/
- public boolean isDirty() {
+ @Override
+ public boolean isDirty() {
return dirty;
}
public String getHoverText() {
return lineDisplayStrategy.getHoverText(entity);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityContainer#setEntity(java.lang.Object)
+ */
+ @Override
+ public void setEntity(Object entity) {
+ this.entity = (T) entity;
+ }
}
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IViewPart;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.texteditor.ITextEditorActionConstants;
import eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineDocumentProvider;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
+import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
import eu.etaxonomy.taxeditor.model.IDerivedUnitFacadePart;
import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
- * <p>
- * BulkEditor class.
- * </p>
- *
* @author p.ciardelli
* @created 07.07.2009
* @version 1.0
private boolean isDirty;
- /**
- * <p>Constructor for BulkEditor.</p>
- */
public BulkEditor() {
super(CdmStore.createConversation());
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.editors.text.TextEditor#initializeEditor()
- */
/** {@inheritDoc} */
@Override
protected void initializeEditor() {
setSourceViewerConfiguration(new BulkEditorViewerConfiguration(lineDisplayStrategy));
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.ListEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int)
- */
/** {@inheritDoc} */
@Override
protected ISourceViewer createSourceViewer(Composite parent,
return viewer;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.AnnotatedLineEditor#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
- */
/** {@inheritDoc} */
@Override
public void init(IEditorSite site, IEditorInput input)
super.init(site, input);
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite)
- */
/** {@inheritDoc} */
@Override
public void createPartControl(Composite parent) {
}
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.editors.text.TextEditor#dispose()
- */
/** {@inheritDoc} */
@Override
public void dispose() {
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#isEditable()
- */
/** {@inheritDoc} */
@Override
public boolean isEditable() {
return false;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#setFocus()
- */
/** {@inheritDoc} */
@Override
public void setFocus() {
displayWarningDialog();
isInitialFocus = false;
}
+ super.setFocus();
}
- /**
- *
- */
private void displayWarningDialog() {
IPreferenceStore prefs = PreferencesUtil.getPreferenceStore();
if (!prefs.getBoolean(PreferencesUtil.HIDE_BULKEDITOR_INFO)) {
}
}
- /**
- * @param control
- */
private void addToggleMergeCandidateListener(Control control) {
control.addMouseListener(new MouseAdapter() {
@Override
});
}
- /**
- * <p>toggleMergeCandidateAnnotation</p>
- *
- * @param line a int.
- */
public void toggleMergeCandidateAnnotation(int line) {
IDocument document = getSourceViewer().getDocument();
}
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#isDirty()
- */
@Override
public boolean isDirty() {
if(isDirty){
firePropertyChange(PROP_DIRTY);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.annotatedlineeditor.AnnotatedLineEditor#doSave(org.eclipse.core.runtime.IProgressMonitor)
- */
@Override
public void doSave(IProgressMonitor progressMonitor) {
isDirty = false;
-
+
super.doSave(progressMonitor);
-
+
selectFirstItem();
-
+
getSourceViewer().getTextWidget().setFocus();
}
// firePropertyChange(PROP_DIRTY);
}
- /* (non-Javadoc)
- * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
- */
/** {@inheritDoc} */
public void performSearch(BulkEditorQuery query) {
if (query != null) {
}
conversation.commit();
conversation.clear();
-
+
getEditorInput().performSearch(query);
refresh();
getSelectionProvider().setSelection(selection);
}
- /**
- *
- */
public void refresh() {
if(getDocumentProvider().getAnnotationModel(getEditorInput()) != null){
((AnnotationModel) getDocumentProvider().getAnnotationModel(getEditorInput())).removeAllAnnotations();
menu.remove(ITextEditorActionConstants.SHIFT_LEFT);
menu.remove(ITextEditorActionConstants.CONTEXT_PREFERENCES);
}
+
+ @Override
+ public boolean canAttachMedia() {
+ return getEditorInput() instanceof TaxonEditorInput?true:false;
+ }
}
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.action.IStatusLineManager;
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.Marker;
-import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.annotatedlineeditor.EntityListener;
import eu.etaxonomy.taxeditor.annotatedlineeditor.ILineDisplayStrategy;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
/**
* <p>BulkEditorLineDisplay class.</p>
if (entity instanceof IAnnotatableEntity) {
IAnnotatableEntity annotatableEntity = (IAnnotatableEntity) HibernateProxyHelper.deproxy(entity);
- Map<MarkerType, Boolean> editMarkerTypePreferences = PreferencesUtil.getEditMarkerTypePreferences();
-
String markerText = "";
List<String> markers = new ArrayList<String>();
for (Marker marker : annotatableEntity.getMarkers()) {
// $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.
*/
* @version 1.0
*/
public class BulkEditorQuery {
-
- private String searchString;
- private Comparator<?> comparator;
- private IIdentifiableEntityServiceConfigurator searchConfigurator;
+
+ private final String searchString;
+ private final Comparator<?> comparator;
+ private final IIdentifiableEntityServiceConfigurator searchConfigurator;
public BulkEditorQuery (String searchString, Comparator comparator) {
this.searchString = searchString;
searchConfigurator.setTitleSearchString(searchString);
searchConfigurator.setMatchMode(null);
searchConfigurator.setPropertyPaths(propertyPath);
-
+
if(searchString != null && searchString.trim().equals("*")){
searchConfigurator.setPageSize(1000);
}
-
+
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getComparator()
- */
public Comparator getComparator() {
return comparator;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchString()
- */
public String getSearchString() {
return searchString;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorQuery#getSearchConfigurator()
- */
public IIdentifiableEntityServiceConfigurator getSearchConfigurator() {
return searchConfigurator;
}
// $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.
*/
import eu.etaxonomy.taxeditor.store.SearchManager;
/**
- * <p>BulkEditorSearchComposite class.</p>
- *
* @author p.ciardelli
* @author e.-m.lee
* @author n.hoffmann
* @version 1.0
*/
public class BulkEditorSearch {
-
- /**
- *
- */
+
private static final String SEARCH = "Search";
-
+
private static final String DEFAULT_TEXT = String.format("Use \'%s\' for wildcard searching", SearchManager.WILDCARD);
-
+
private final BulkEditor editor;
-
+
private Text text;
private BulkEditorSortCombo sortCombo;
-
+
private Button button;
-
-
+
+
public Object ORDER_BY = new Object();
-
- /**
- * <p>Constructor for BulkEditorSearchComposite.</p>
- *
- * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
- * @param style a int.
- * @param editor a {@link org.eclipse.ui.IEditorPart} object.
- */
+
public BulkEditorSearch(BulkEditor editor, Composite parent, int style) {
this.editor = editor;
-
+
createControl(parent, style);
}
- /*
- * Creates the search control.
- */
/**
- * <p>createControl</p>
+ * Creates the search control.
*/
protected void createControl(Composite parent, int style) {
-
+
final Composite container = new Composite(parent, style);
GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
container.setLayoutData(gridData);
container.setLayout(new GridLayout(5, false));
-
+
createSearchTextField(container, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
-
+
createSortCombo(container, style);
-
+
button = new Button(container, SWT.PUSH);
button.setText(SEARCH);
button.addSelectionListener(new SelectionAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
@Override
public void widgetSelected(SelectionEvent e) {
updateEditorInput();
}
});
-
+
registerAtFocusService();
}
- /**
- * @param container
- * @param style
- */
private void createSortCombo(Composite parent, int style) {
sortCombo = new BulkEditorSortCombo(parent, editor.getEditorInput().getSortProviders());
-
+
}
/**
* Handles focus changes for the textfield.
*/
private void registerAtFocusService() {
- IFocusService focusService =
+ IFocusService focusService =
(IFocusService) PlatformUI.getWorkbench().getService(IFocusService.class);
if (focusService != null) {
focusService.addFocusTracker(text, "bulkeditor.textControlId");
private void createSearchTextField(Composite parent, int style) {
final Label label = new Label(parent, SWT.NONE);
label.setText("Title Cache");
-
+
text = new Text(parent, style);
text.setText(DEFAULT_TEXT);
text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
-
+
text.addFocusListener(new FocusListener() {
- public void focusGained(FocusEvent e) {
+ @Override
+ public void focusGained(FocusEvent e) {
text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOCUS));
if (DEFAULT_TEXT.equals(text.getText())) {
text.setText("");
}
}
- public void focusLost(FocusEvent e) {
+ @Override
+ public void focusLost(FocusEvent e) {
if (CdmUtils.isEmpty(text.getText())) {
text.setForeground(BulkEditorUtil.getColor(Resources.SEARCH_VIEW_FOREGROUND));
- text.setText(DEFAULT_TEXT);
- }
+ text.setText(DEFAULT_TEXT);
+ }
}
});
-
+
text.addKeyListener(new KeyAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.KeyAdapter#keyReleased(org.eclipse.swt.events.KeyEvent)
- */
@Override
public void keyReleased(KeyEvent e) {
if (e.keyCode == SWT.CR) {
}
}
});
-
+
GridData gridData = new GridData(SWT.FILL, SWT.CENTER, true, false);
text.setLayoutData(gridData);
}
- /*
+ /**
* Shows the results of the search.
*/
private void updateEditorInput() {
-
+
String searchString = getSearchString().trim();
-
- if(DEFAULT_TEXT.equals(searchString) || CdmUtils.isEmpty(searchString)){
+
+ if(DEFAULT_TEXT.equals(searchString) || CdmUtils.isBlank(searchString)){
return;
- }
-
- BulkEditorQuery query = new BulkEditorQuery(getSearchString(), getComparator());
+ }
+
+ BulkEditorQuery query = new BulkEditorQuery(searchString, getComparator());
editor.performSearch(query);
}
-
- /*
+
+ /**
* Returns the current string in the search textfield.
* @return the content of the textfield
*/
- /**
- * <p>getSearchString</p>
- *
- * @return a {@link java.lang.String} object.
- */
public String getSearchString() {
return text.getText().trim();
}
-
- /*
- *
- */
- /**
- * <p>getComparator</p>
- *
- * @return a {@link java.util.Comparator} object.
- */
+
public Comparator getComparator() {
return sortCombo.getSelection();
- };
-
- /*
- *
- */
+ }
- /**
- *
- */
public void setFocus() {
if(text != null && ! text.isDisposed()){
text.setFocus();
@Override\r
public Object execute(ExecutionEvent event) throws ExecutionException {\r
ISelection selection = HandlerUtil.getCurrentSelection(event);\r
- \r
+\r
IEditorPart editor = HandlerUtil.getActiveEditor(event);\r
- \r
+\r
IEditorInput input = editor.getEditorInput();\r
if (editor.isDirty()){\r
boolean proceed = MessageDialog.openQuestion(null,\r
}\r
}\r
if((input instanceof IEntityPersistenceService) && (selection instanceof IStructuredSelection)){\r
- \r
- \r
+\r
+\r
IDocumentProvider provider = ((BulkEditor) editor).getDocumentProvider();\r
- LineAnnotationModel model = \r
+ LineAnnotationModel model =\r
(LineAnnotationModel) provider.getAnnotationModel(input);\r
- \r
- \r
+\r
+\r
IStructuredSelection structuredSelection = (IStructuredSelection) selection;\r
- \r
+\r
IEntityPersistenceService persistenceService = (IEntityPersistenceService) input;\r
- \r
+\r
Team team ;\r
for(Object object : structuredSelection.toList()){\r
LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);\r
} catch (IllegalArgumentException e) {\r
MessagingUtils.errorDialog("Can not convert Person into a Team", null, e.getLocalizedMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID,e, true);\r
} catch (MergeException e) {\r
- MessagingUtils.errorDialog("Can not convert Person into a Team", null, e.getMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID,e, true);\r
+ MessagingUtils.informationDialog("Convert not possible", "Person can not be transformed into team as it is referenced in a way that does not allow converting");\r
}\r
}else{\r
MessagingUtils.informationDialog("Can not convert Person into a Team", "convert Person to Team can only be called on a person.");\r
}\r
- \r
+\r
if (team != null){\r
((BulkEditor) editor).removeAnnotatedLine(annotation);\r
((BulkEditor) editor).createAnnotatedLine(team);\r
// $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.
*/
package eu.etaxonomy.taxeditor.bulkeditor.handler;
-import java.util.Iterator;
-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.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.IWorkbenchPage;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.IUserService;
import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator;
-import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
-import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Group;
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
-import eu.etaxonomy.cdm.persistence.dao.hibernate.HibernateBeanInitializer;
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
-import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
-import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
*/
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
-
+
ISelection selection = HandlerUtil.getCurrentSelection(event);
-
+
IEditorPart editor = HandlerUtil.getActiveEditor(event);
-
+
IEditorInput input = editor.getEditorInput();
-
+
if((input instanceof IEntityPersistenceService) && (selection instanceof IStructuredSelection)){
-
-
+
+
IDocumentProvider provider = ((BulkEditor) editor).getDocumentProvider();
- LineAnnotationModel model =
+ LineAnnotationModel model =
(LineAnnotationModel) provider.getAnnotationModel(input);
-
-
+
+
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-
+
IEntityPersistenceService persistenceService = (IEntityPersistenceService) input;
-
-
+
+
for(Object object : structuredSelection.toList()){
-
+
LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);
- DeleteResult result = new DeleteResult();
+ DeleteResult result = new DeleteResult();
//result.setError();
try {
ICdmApplicationConfiguration controller;
- controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
- //persistenceService.delete(object);
+ controller = CdmStore.getCurrentApplicationConfiguration();
+
if (object instanceof SpecimenOrObservationBase){
-
IOccurrenceService service = controller.getOccurrenceService();
- SpecimenOrObservationBase persistedObject = service.load(((SpecimenOrObservationBase) object).getUuid());
- if (persistedObject != null){
- result = service.delete(persistedObject);
- }
+ if (object != null){
+ result = service.delete(((SpecimenOrObservationBase) object).getUuid());
+ }
} else if (object instanceof Reference){
IReferenceService service = controller.getReferenceService();
-
- Reference persistedObject = service.load(((Reference) object).getUuid());
- if (persistedObject != null){
- result = service.delete(persistedObject);
+ if (object != null){
+ result = service.delete(((Reference) object).getUuid());
}
-
+
} else if (object instanceof Group){
IGroupService service = controller.getGroupService();
- Group persistedObject = service.load(((Group) object).getUuid());
- if (persistedObject != null){
- result = service.delete(persistedObject);
+ if (object != null){
+ result = service.delete(((Group) object).getUuid());
}
}else if (object instanceof User){
IUserService service = controller.getUserService();
- User persistedObject = service.load(((User) object).getUuid());
- if (persistedObject != null){
- result = service.delete(persistedObject);
+ if (object != null){
+ result = service.delete(((User) object).getUuid());
}
} else if (object instanceof TaxonNameBase){
INameService service = controller.getNameService();
- TaxonNameBase name = service.load(((TaxonNameBase) object).getUuid());
- if (name != null){
+ if (object != null){
NameDeletionConfigurator config = new NameDeletionConfigurator();
-
- result = service.delete(name.getUuid(), config);
- }
+ result = service.delete(((TaxonNameBase) object).getUuid(), config);
+ }
} else if (object instanceof TaxonBase){
ITaxonService service = controller.getTaxonService();
- TaxonBase taxonBase = service.load(((TaxonBase) object).getUuid());
- if (taxonBase != null){
+ if (object != null){
if (object instanceof Taxon){
result = service.deleteTaxon(((TaxonBase) object).getUuid(), null, null);
}else{
- result = service.deleteSynonym((Synonym)object, null);
+ result = service.deleteSynonym(((Synonym)object).getUuid(), null);
}
}
} else if (object instanceof TeamOrPersonBase){
IAgentService service = controller.getAgentService();
- TeamOrPersonBase teamOrPerson = (TeamOrPersonBase)service.load(((TeamOrPersonBase) object).getUuid());
- result = service.delete((TeamOrPersonBase)object);
+ //TeamOrPersonBase teamOrPerson = (TeamOrPersonBase)service.load(((TeamOrPersonBase) object).getUuid());
+ result = service.delete(((TeamOrPersonBase)object).getUuid());
}
} catch (Exception e){
MessagingUtils.errorDialog("Exception occured. Delete not possible", getClass(), e.getMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID, null, true);
message+= ", ";
}
}
-
-
+
+
MessagingUtils.messageDialog("Delete not possible", getClass(), result.getExceptions().toString(), null);
}else{
MessagingUtils.messageDialog("Delete not possible", getClass(), "The object could not be deleted. An exception occured.", null);
-
}
}
if (result.isOk() ){
}
}
-
- }
+
+ }
}
-
-
+
+
return null;
}
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
import org.eclipse.jface.resource.ImageDescriptor;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.MarkerType;
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.CdmBaseSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.TitleCacheComparator;
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
+import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
* @version 1.0
* @param <T>
*/
-public abstract class AbstractBulkEditorInput<T extends ICdmBase> implements IEditorInput, IEntityPersistenceService<T> {
+public abstract class AbstractBulkEditorInput<T extends ICdmBase> extends CdmEntitySessionInput implements IEditorInput ,
+ IEntityPersistenceService<T> {
private UUID entityUuid;
private static Class serviceClass;
+ public AbstractBulkEditorInput() {
+ super(true);
+ }
+
/**
* <p>NewInstance</p>
*
public boolean merge(T entity, T mergeTarget) {
if (entity instanceof IMergable) {
try {
- CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity);
+ CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), (Class<? extends CdmBase>)entity.getClass());
} catch (MergeException e) {
MessagingUtils.errorDialog("Bulk Editor Merge Error",
this,
/** {@inheritDoc} */
@Override
- public boolean create(T entity) {
+ public T create(T entity) {
return save(entity);
}
/**
* @return
*/
- public List<?> getModel() {
+ public List<T> getModel() {
return model;
}
+ protected boolean replaceInModel(T entity) {
+ int index = model.indexOf(entity);
+ if(index >= 0) {
+ model.set(index, entity);
+ return true;
+ } else {
+ return false;
+ }
+ }
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
+ */
+ @Override
+ public List<T> getRootEntities() {
+ return getModel();
+ }
+
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
+ */
+ @Override
+ public Map<Object, List<String>> getPropertyPathsMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
// $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.
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
-
-import org.eclipse.core.commands.ExecutionException;
import eu.etaxonomy.cdm.api.service.IAgentService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.strategy.merge.MergeMode;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
-import eu.etaxonomy.taxeditor.bulkeditor.handler.MergeGroupHandler;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.AgentCreator;
import eu.etaxonomy.taxeditor.bulkeditor.input.sortprovider.IdentifiableEntitySortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
/**
- * <p>AgentEditorInput class.</p>
- *
* @author p.ciardelli
* @created 25.06.2009
* @version 1.0
*/
public class AgentEditorInput extends AbstractBulkEditorInput<TeamOrPersonBase> {
- /**
- *
- */
private static final long serialVersionUID = 3387950621617078479L;
- /** Constant <code>ID="bulkeditor.input.author"</code> */
public static final String ID = "bulkeditor.input.author";
-
+
private static AgentEditorInput instance;
- /**
- * <p>getID</p>
- *
- * @return the iD
- */
public static String getID() {
return ID;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getName()
- */
- /**
- * <p>getName</p>
- *
- * @return a {@link java.lang.String} object.
- */
- public String getName() {
+
+
+ @Override
+ public String getName() {
return BulkEditorInputType.AGENT.label;
}
- /* (non-Javadoc)
- * @see org.eclipse.ui.IEditorInput#getToolTipText()
- */
- /**
- * <p>getToolTipText</p>
- *
- * @return a {@link java.lang.String} object.
- */
- public String getToolTipText() {
+
+ @Override
+ public String getToolTipText() {
return getName();
}
- /**
- * <p>Getter for the field <code>instance</code>.</p>
- *
- * @return a {@link eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput} object.
- */
public static AbstractBulkEditorInput getInstance() {
if (instance == null) {
instance = new AgentEditorInput();
return instance;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
- */
/** {@inheritDoc} */
@Override
public boolean isMergingEnabled() {
return true;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()
- */
+
+
/** {@inheritDoc} */
@Override
public boolean isConvertingEnabled() {
return true;
}
-
+
/** {@inheritDoc} */
@Override
public boolean merge(TeamOrPersonBase entity, TeamOrPersonBase mergeTarget) {
if (entity instanceof IMergable) {
try {
- IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(Person.class);
- strategy.setMergeMode("institutionalMemberships", MergeMode.FIRST);
- CdmStore.getCommonService().merge((IMergable)mergeTarget, (IMergable)entity, strategy);
+ if(entity instanceof Person && mergeTarget instanceof Person) {
+ IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(Person.class);
+ strategy.setMergeMode("institutionalMemberships", MergeMode.FIRST);
+ CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), Person.class);
+ } else {
+ IMergeStrategy strategy = DefaultMergeStrategy.NewInstance(TeamOrPersonBase.class);
+ CdmStore.getCommonService().merge(mergeTarget.getId(), entity.getId(), TeamOrPersonBase.class);
+ }
} catch (MergeException e) {
MessagingUtils.errorDialog("Bulk Editor Merge Error",
this,
public List<TeamOrPersonBase> listEntities(IIdentifiableEntityServiceConfigurator configurator) {
return CdmStore.getSearchManager().findTeamOrPersons(configurator);
}
-
- /** {@inheritDoc}
+
+ /** {@inheritDoc}
@Override
public AgentBase loadEntity(UUID uuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(IAgentService.class).load(uuid, propertyPaths);
}*/
-
+
public boolean delete(AgentBase entity) throws ReferencedObjectUndeletableException {
-
- return CdmStore.getService(IAgentService.class).delete(entity) != null;
-
+ return CdmStore.getService(IAgentService.class).delete(entity) != null;
+
}
/** {@inheritDoc} */
public boolean save(AgentBase entity) {
-
+
return CdmStore.getService(IAgentService.class).saveOrUpdate(entity) != null;
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
- */
@Override
public List<IBulkEditorSortProvider<TeamOrPersonBase>> getSortProviders() {
List<IBulkEditorSortProvider<TeamOrPersonBase>> sortProviders = super.getSortProviders();
-
+
sortProviders.add(0, new IdentifiableEntitySortProvider<TeamOrPersonBase>());
-
+
return sortProviders;
}
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#createEntityCreator()
- */
+
+
@Override
protected IEntityCreator<TeamOrPersonBase> createEntityCreator() {
return new AgentCreator();
}
@Override
- public boolean save(TeamOrPersonBase entity) {
- return CdmStore.getService(IAgentService.class).saveOrUpdate(entity) != null;
+ public TeamOrPersonBase save(TeamOrPersonBase entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return (TeamOrPersonBase) CdmStore.getService(IAgentService.class).merge(entity, true);
+ } else {
+ CdmStore.getService(IAgentService.class).saveOrUpdate(entity) ;
+ return entity;
+ }
}
@Override
return false;
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
+
+
}
// $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.
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IGroupService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
public class GroupEditorInput extends AbstractBulkEditorInput<Group> {
public static final String ID = "bulkeditor.input.group";
-
+
private static GroupEditorInput instance;
-
+
/**
* @return the instance
*/
}
return instance;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
*/
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#save(java.lang.Object)
*/
@Override
- public boolean save(Group entity) {
- return CdmStore.getService(IGroupService.class).saveOrUpdate(entity) != null;
+ public Group save(Group entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return CdmStore.getService(IGroupService.class).merge(entity, true) ;
+ } else {
+ CdmStore.getService(IGroupService.class).saveOrUpdate(entity);
+ return entity;
+ }
}
/* (non-Javadoc)
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID)
-
+
@Override
protected Group loadEntity(UUID entityUuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(IGroupService.class).load(entityUuid, propertyPaths);
}
*/
protected IEntityCreator<Group> createEntityCreator() {
return new GroupCreator();
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getText(eu.etaxonomy.cdm.model.common.ICdmBase)
*/
return entity.getName();
}
-
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
+
+
}
// $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.
*/
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
import eu.etaxonomy.cdm.api.service.INameService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
-import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
public class NameEditorInput extends AbstractBulkEditorInput<TaxonNameBase> {
/**
- *
+ *
*/
private static final long serialVersionUID = -3085029575759626823L;
private static NameEditorInput instance;
/** Constant <code>ID="bulkeditor.input.name"</code> */
public static final String ID = "bulkeditor.input.name";
-
+
/**
* <p>Getter for the field <code>instance</code>.</p>
*
}
return instance;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
*/
*
* @return a {@link java.lang.String} object.
*/
- public String getName() {
+ @Override
+ public String getName() {
return BulkEditorInputType.NAME.label;
}
*
* @return a {@link java.lang.String} object.
*/
- public String getToolTipText() {
+ @Override
+ public String getToolTipText() {
return getName();
}
return CdmStore.getSearchManager().findNames(configurator);
}
- /** {@inheritDoc}
+ /** {@inheritDoc}
@Override
public TaxonNameBase loadEntity(UUID uuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return CdmStore.getService(INameService.class).load(uuid, propertyPaths);
}
*/
- /** {@inheritDoc}
+ /** {@inheritDoc}
**/
- public boolean delete(TaxonNameBase entity) {
+ @Override
+ public boolean delete(TaxonNameBase entity) {
return CdmStore.getService(INameService.class).delete(entity) != null;
}
/** {@inheritDoc} */
- public boolean save(TaxonNameBase entity) {
- return CdmStore.getService(INameService.class).saveOrUpdate(entity) != null;
+ @Override
+ public TaxonNameBase save(TaxonNameBase entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return CdmStore.getService(INameService.class).merge(entity, true) ;
+ } else {
+ CdmStore.getService(INameService.class).saveOrUpdate(entity);
+ return entity;
+ }
}
/* (non-Javadoc)
@Override
public List<IBulkEditorSortProvider<TaxonNameBase>> getSortProviders() {
List<IBulkEditorSortProvider<TaxonNameBase>> sortProviders = super.getSortProviders();
-
+
sortProviders.add(0, new IdentifiableEntitySortProvider<TaxonNameBase>());
-
+
return sortProviders;
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
*/
}
return super.getTypeText(entity);
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getText(eu.etaxonomy.cdm.model.common.ICdmBase)
*/
return (entity).getFullTitleCache();
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
+
}
// $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.
*/
public class NameRelationshipEditorInput extends AbstractBulkEditorInput<NameRelationship> {
/**
- *
+ *
*/
private static final long serialVersionUID = -7453923697752787687L;
}
return instance;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
*/
*/
/** {@inheritDoc} */
@Override
- public boolean save(NameRelationship entity) {
+ public NameRelationship save(NameRelationship entity) {
// TODO Auto-generated method stub
- return false;
+ return null;
}
/* (non-Javadoc)
/** {@inheritDoc} */
@Override
protected NameRelationship loadEntity(UUID entityUuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{});
+ List<String> propertyPaths = Arrays.asList(new String[]{});
return null; // CdmStore.getNameService().load(entityUuid, propertyPaths);
}
MessagingUtils.notImplementedMessage(getClass());
return null;
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
*/
if(entity instanceof NameRelationship){
return ((NameRelationship) entity).getType().getTitleCache();
}
-
+
return super.getTypeText(entity);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
+
}
package eu.etaxonomy.taxeditor.bulkeditor.input;
-import java.util.Arrays;
import java.util.List;
-import java.util.UUID;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;
import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorSortProvider;
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.OccurrenceCreator;
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#loadEntity(java.util.UUID)
*/
- /** {@inheritDoc}
+ /** {@inheritDoc}
@Override
protected SpecimenOrObservationBase loadEntity(UUID entityUuid) {
List<String> propertyPaths = Arrays.asList(new String[]{});
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService#delete(java.lang.Object)
*/
- /** {@inheritDoc}
+ /** {@inheritDoc}
* @throws ReferencedObjectUndeletableException */
@Override
public boolean delete(SpecimenOrObservationBase entity) throws ReferencedObjectUndeletableException {
*/
/** {@inheritDoc} */
@Override
- public boolean save(SpecimenOrObservationBase entity) {
- return CdmStore.getService(IOccurrenceService.class).save(entity) != null;
+ public SpecimenOrObservationBase<IIdentifiableEntityCacheStrategy> save(SpecimenOrObservationBase entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return CdmStore.getService(IOccurrenceService.class).merge(entity, true) ;
+ } else {
+ CdmStore.getService(IOccurrenceService.class).save(entity);
+ return entity;
+ }
}
return sortProviders;
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
}
// $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.
*/
public class ReferenceEditorInput extends AbstractBulkEditorInput<Reference> {
/**
- *
+ *
*/
private static final long serialVersionUID = 3806243517765126749L;
/** Constant <code>ID="bulkeditor.input.reference"</code> */
public static final String ID = "bulkeditor.input.reference";
-
+
private static ReferenceEditorInput instance;
/**
public static String getID() {
return ID;
}
-
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
*/
*
* @return a {@link java.lang.String} object.
*/
- public String getName() {
+ @Override
+ public String getName() {
return BulkEditorInputType.REFERENCE.label;
}
*
* @return a {@link java.lang.String} object.
*/
- public String getToolTipText() {
+ @Override
+ public String getToolTipText() {
return getName();
}
public boolean isMergingEnabled() {
return true;
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMarkerTypeEditingEnabled(eu.etaxonomy.cdm.model.common.MarkerType)
*/
return super.isMarkerTypeEditingEnabled(markerType);
}
-
+
/** {@inheritDoc} */
@Override
public List listEntities(IIdentifiableEntityServiceConfigurator configurator) {
return CdmStore.getSearchManager().findReferences(configurator);
}
-
+
// Entity persistence
-
+
/** {@inheritDoc} */
@Override
public Reference loadEntity(UUID entityUuid) {
- List<String> propertyPaths = Arrays.asList(new String[]{"*", "inReference.*", "authorTeam.*"});
+ List<String> propertyPaths = Arrays.asList(new String[]{"*", "inReference.*", "authorTeam.*"});
return CdmStore.getService(IReferenceService.class).load(entityUuid, propertyPaths);
}
- /** {@inheritDoc}
+ /** {@inheritDoc}
* @throws ReferencedObjectUndeletableException */
- public boolean delete(Reference entity) throws ReferencedObjectUndeletableException {
+ @Override
+ public boolean delete(Reference entity) throws ReferencedObjectUndeletableException {
return CdmStore.getService(IReferenceService.class).delete(entity) != null;
}
/** {@inheritDoc} */
- public boolean save(Reference entity) {
- return CdmStore.getService(IReferenceService.class).saveOrUpdate(entity) != null;
+ @Override
+ public Reference save(Reference entity) {
+ if(CdmStore.getCurrentSessionManager().isRemoting()) {
+ return CdmStore.getService(IReferenceService.class).merge(entity, true);
+ } else {
+ CdmStore.getService(IReferenceService.class).saveOrUpdate(entity);
+ return entity;
+ }
}
/* (non-Javadoc)
protected IEntityCreator<Reference> createEntityCreator() {
return new ReferenceCreator();
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getSortProviders()
*/
@Override
public List<IBulkEditorSortProvider<Reference>> getSortProviders() {
List<IBulkEditorSortProvider<Reference>> sortProviders = super.getSortProviders();
-
+
sortProviders.add(0, new IdentifiableEntitySortProvider<Reference>());
sortProviders.add(1, new ReferenceSortProvider());
-
+
return sortProviders;
}
-
+
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput#getTypeText(java.lang.Object)
*/
return super.getTypeText(entity);
}
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput#merge()
+ */
+ @Override
+ public void merge() {
+
+ }
+
}
import java.util.List;\r
import java.util.UUID;\r
\r
-import eu.etaxonomy.cdm.api.service.INameService;\r
import eu.etaxonomy.cdm.api.service.ITaxonService;\r
import eu.etaxonomy.cdm.api.service.config.FindTaxaAndNamesConfiguratorImpl;\r
import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;\r
import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator;\r
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;\r
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.taxon.Synonym;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
import eu.etaxonomy.cdm.persistence.query.MatchMode;\r
import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityCreator;\r
-import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.NameCreator;\r
import eu.etaxonomy.taxeditor.bulkeditor.input.entitycreator.TaxonCreator;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
\r
private static TaxonEditorInput instance;\r
/** Constant <code>ID="bulkeditor.input.taxon"</code> */\r
public static final String ID = "bulkeditor.input.taxon";\r
- \r
- \r
- \r
+\r
+\r
+\r
/**\r
* <p>Getter for the field <code>instance</code>.</p>\r
*\r
if (instance == null) {\r
instance = new TaxonEditorInput();\r
}\r
- \r
+\r
return instance;\r
}\r
- \r
- \r
+\r
+\r
@Override\r
public String getName() {\r
return BulkEditorInputType.TAXON.label;\r
return getName();\r
}\r
\r
- \r
+\r
/**\r
* <p>getID</p>\r
*\r
public static Object getID() {\r
return ID;\r
}\r
- \r
+\r
/* (non-Javadoc)\r
* @see eu.etaxonomy.taxeditor.bulkeditor.input.BulkEditorInput#isMergingEnabled()\r
*/\r
return false;\r
}\r
@Override\r
- public boolean save(TaxonBase entity) {\r
- return CdmStore.getService(ITaxonService.class).saveOrUpdate(entity) != null;\r
+ &nbs