From: Cherian Mathew Date: Tue, 11 Nov 2014 17:59:01 +0000 (+0000) Subject: merge from trunk X-Git-Tag: remoting-3.9.0~248 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/cd63800b16f4379c7915a15698a55da14fe3a0f6?hp=8ee49799ae6e12a358af8de58bfe95785631b476 merge from trunk --- diff --git a/.gitattributes b/.gitattributes index 7955a88cd..0361e5956 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1004,6 +1004,81 @@ eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/print eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectServiceWizardPage.java -text eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectStylesheetWizardPage.java -text eu.etaxonomy.taxeditor.printpublisher/src/main/java/eu/etaxonomy/taxeditor/printpublisher/wizard/SelectTaxaWizardPage.java -text +eu.etaxonomy.taxeditor.remoting/.classpath -text +eu.etaxonomy.taxeditor.remoting/.project -text +eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.jdt.core.prefs -text +eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.pde.core.prefs -text +eu.etaxonomy.taxeditor.remoting/.svnignore -text +eu.etaxonomy.taxeditor.remoting/META-INF/MANIFEST.MF -text +eu.etaxonomy.taxeditor.remoting/build.properties -text +eu.etaxonomy.taxeditor.remoting/lib/.svnignore -text +eu.etaxonomy.taxeditor.remoting/pom.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CachedCommonServiceImpl.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmClientCacheException.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCacheKey.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCachingUtils.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmModelCacher.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmModelFieldPropertyFromClass.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmRemoteCacheManager.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmTransientEntityCacher.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/ICachedCommonService.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmPersistentRemoteSource.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSource.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceBase.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceException.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/RemotingTestPluginActivator.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmClientSessionException.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySession.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManager.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/ISessionEventListener.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java -text +eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/cdmlib-ehcache.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/.svnignore -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/jetty-runner-9.2.3.v20140905.jar -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/start-9.2.3.v20140905.jar -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/config.properties -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_persistence_security.xml -text +eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_services_security.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmModelGetMethodCacherTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/exception/CDMServerException.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CDMServer.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmPersistentRemoteSourceTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmRemoteSourceTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTestManager.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/HttpInvokerServicesTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmServiceCacherTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemotePersistentCollectionTest.java -text +eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/remoting/session/MockSessionOwner.java -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/cdmlib-ehcache.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/datasources.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/cdm.datasources.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.readPolytmousKeyData.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.xml -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.h2.db -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.trace.db -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/log4j.properties -text +eu.etaxonomy.taxeditor.remoting/src/test/resources/unitils.properties -text eu.etaxonomy.taxeditor.store/.classpath -text eu.etaxonomy.taxeditor.store/.project -text eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF -text diff --git a/.gitignore b/.gitignore index 5c8b928b8..000adc05f 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,12 @@ eu.etaxonomy.taxeditor.navigation/.settings eu.etaxonomy.taxeditor.navigation/target eu.etaxonomy.taxeditor.printpublisher/.settings eu.etaxonomy.taxeditor.printpublisher/target +eu.etaxonomy.taxeditor.remoting/*.log +eu.etaxonomy.taxeditor.remoting/.settings +eu.etaxonomy.taxeditor.remoting/lib +eu.etaxonomy.taxeditor.remoting/lib/*.jar +eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/cdmlib-remote-webapp.war +eu.etaxonomy.taxeditor.remoting/target eu.etaxonomy.taxeditor.store/.settings eu.etaxonomy.taxeditor.store/hibernate.log eu.etaxonomy.taxeditor.store/target diff --git a/eu.etaxonomy.taxeditor.remoting/.classpath b/eu.etaxonomy.taxeditor.remoting/.classpath new file mode 100644 index 000000000..cfd2ac5d0 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/.classpath @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/.project b/eu.etaxonomy.taxeditor.remoting/.project new file mode 100644 index 000000000..a73967e19 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/.project @@ -0,0 +1,28 @@ + + + eu.etaxonomy.taxeditor.remoting + Holds all UI tests for the Taxonomic Editor. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.jdt.core.prefs b/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..c537b6306 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.pde.core.prefs b/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 000000000..f29e940a0 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=false +resolve.requirebundle=false diff --git a/eu.etaxonomy.taxeditor.remoting/.svnignore b/eu.etaxonomy.taxeditor.remoting/.svnignore new file mode 100644 index 000000000..d9c99e99a --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/.svnignore @@ -0,0 +1,4 @@ +lib +*.log +target +.settings diff --git a/eu.etaxonomy.taxeditor.remoting/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.remoting/META-INF/MANIFEST.MF new file mode 100644 index 000000000..0ce27249c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/META-INF/MANIFEST.MF @@ -0,0 +1,77 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: UI Test Bundle +Bundle-SymbolicName: eu.etaxonomy.taxeditor.remoting;singleton:=true +Bundle-Version: 3.4.0.qualifier +Bundle-Activator: eu.etaxonomy.taxeditor.remoting.RemotingTestPluginActivator +Bundle-Vendor: EDIT +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Export-Package: eu.etaxonomy.cdm.api.application, + eu.etaxonomy.cdm.remote, + eu.etaxonomy.taxeditor.httpinvoker, + org.hibernate.collection.internal, + org.hibernate.proxy +Bundle-ClassPath: lib/aspectjrt-1.7.1.jar, + lib/c3p0-0.9.2.jar, + lib/ehcache-core-2.4.3.jar, + lib/hamcrest-core-1.3.jar, + lib/jboss-logging-3.1.3.GA.jar, + lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar, + lib/jdom-1.1.3.jar, + lib/junit-4.11.jar, + lib/log4j-1.2.17.jar, + lib/spring-security-config-3.1.3.RELEASE.jar, + lib/spring-security-core-3.1.3.RELEASE.jar, + lib/spring-security-remoting-3.1.3.RELEASE.jar, + lib/unitils-core-3.4.2.jar, + lib/commons-logging-1.1.1.jar, + lib/commons-lang-2.6.jar, + lib/aopalliance-1.0.jar, + lib/joda-time-2.1.jar, + lib/lsid-client-1.1.2.jar, + lib/lucene-core-3.6.2.jar, + lib/lsid-server-1.1.2.jar, + lib/slf4j-api-1.7.2.jar, + lib/javassist-3.17.1-GA.jar, + lib/unitils-spring-3.4.2.jar, + lib/unitils-database-3.4.2.jar, + lib/commons-dbcp-1.4.jar, + lib/commons-pool-1.5.4.jar, + lib/unitils-dbmaintainer-3.4.2.jar, + lib/h2-1.4.181.jar, + lib/unitils-dbunit-3.4.2.jar, + lib/hibernate-jpa-2.0-api-1.0.1.Final.jar, + lib/hibernate-commons-annotations-4.0.1.Final.jar, + lib/hibernate-core-4.1.10.Final.jar, + lib/hibernate-entitymanager-4.1.10.Final.jar, + lib/hibernate-envers-4.1.10.Final.jar, + lib/hibernate-search-engine-4.2.0.Final.jar, + lib/org.springframework.context-3.2.2.RELEASE.jar, + lib/org.springframework.aop-3.2.2.RELEASE.jar, + lib/org.springframework.aspects-3.2.2.RELEASE.jar, + lib/org.springframework.beans-3.2.2.RELEASE.jar, + lib/org.springframework.core-3.2.2.RELEASE.jar, + lib/org.springframework.expression-3.2.2.RELEASE.jar, + lib/org.springframework.jdbc-3.2.2.RELEASE.jar, + lib/org.springframework.orm-3.2.2.RELEASE.jar, + lib/org.springframework.transaction-3.2.2.RELEASE.jar, + lib/org.springframework.web-3.2.2.RELEASE.jar, + lib/cdmlib-persistence-3.3.8-SNAPSHOT.jar, + lib/dbunit-2.4.9.jar, + lib/opencsv-2.4.jar, + lib/dom4j-1.6.jar, + lib/cdmlib-commons-3.4.0-SNAPSHOT.jar, + lib/cdmlib-ext-3.4.0-SNAPSHOT.jar, + lib/cdmlib-model-3.4.0-SNAPSHOT.jar, + lib/cdmlib-services-3.4.0-SNAPSHOT.jar, + lib/usertype.jodatime-2.0.1.jar, + lib/usertype.spi-2.0.1.jar, + lib/cdmlib-persistence-3.4.0-SNAPSHOT.jar, + lib/wsdl4j-1.6.3.jar, + lib/validation-api-1.1.0.Final.jar, + lib/org.springframework.context.support-3.2.2.RELEASE.jar, + lib/org.springframework.test-3.2.2.RELEASE.jar +Import-Package: org.osgi.framework +Require-Bundle: org.eclipse.osgi + diff --git a/eu.etaxonomy.taxeditor.remoting/build.properties b/eu.etaxonomy.taxeditor.remoting/build.properties new file mode 100644 index 000000000..be9b4390e --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/build.properties @@ -0,0 +1,70 @@ +output.. = target/classes/ +bin.includes = META-INF/,\ + lib/aspectjrt-1.7.1.jar,\ + lib/c3p0-0.9.2.jar,\ + lib/ehcache-core-2.4.3.jar,\ + lib/hamcrest-core-1.3.jar,\ + lib/jboss-logging-3.1.3.GA.jar,\ + lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar,\ + lib/jdom-1.1.3.jar,\ + lib/junit-4.11.jar,\ + lib/log4j-1.2.17.jar,\ + lib/spring-security-config-3.1.3.RELEASE.jar,\ + lib/spring-security-core-3.1.3.RELEASE.jar,\ + lib/spring-security-remoting-3.1.3.RELEASE.jar,\ + lib/unitils-core-3.4.2.jar,\ + lib/commons-logging-1.1.1.jar,\ + lib/commons-lang-2.6.jar,\ + lib/aopalliance-1.0.jar,\ + lib/joda-time-2.1.jar,\ + lib/lsid-client-1.1.2.jar,\ + lib/lucene-core-3.6.2.jar,\ + lib/lsid-server-1.1.2.jar,\ + lib/slf4j-api-1.7.2.jar,\ + lib/javassist-3.17.1-GA.jar,\ + src/main/resources/etc/jetty/cdmlib-remote-webapp.war,\ + lib/unitils-spring-3.4.2.jar,\ + lib/unitils-database-3.4.2.jar,\ + lib/commons-dbcp-1.4.jar,\ + lib/commons-pool-1.5.4.jar,\ + lib/unitils-dbmaintainer-3.4.2.jar,\ + lib/h2-1.4.181.jar,\ + lib/unitils-dbunit-3.4.2.jar,\ + lib/hibernate-jpa-2.0-api-1.0.1.Final.jar,\ + lib/hibernate-commons-annotations-4.0.1.Final.jar,\ + lib/hibernate-core-4.1.10.Final.jar,\ + lib/hibernate-entitymanager-4.1.10.Final.jar,\ + lib/hibernate-envers-4.1.10.Final.jar,\ + lib/hibernate-search-engine-4.2.0.Final.jar,\ + lib/org.springframework.context-3.2.2.RELEASE.jar,\ + lib/org.springframework.aop-3.2.2.RELEASE.jar,\ + lib/org.springframework.aspects-3.2.2.RELEASE.jar,\ + lib/org.springframework.beans-3.2.2.RELEASE.jar,\ + lib/org.springframework.core-3.2.2.RELEASE.jar,\ + lib/org.springframework.expression-3.2.2.RELEASE.jar,\ + lib/org.springframework.jdbc-3.2.2.RELEASE.jar,\ + lib/org.springframework.orm-3.2.2.RELEASE.jar,\ + lib/org.springframework.transaction-3.2.2.RELEASE.jar,\ + lib/org.springframework.web-3.2.2.RELEASE.jar,\ + src/main/resources/etc/jetty/jetty-runner-9.1.5.v20140505.jar,\ + lib/cdmlib-persistence-3.3.8-SNAPSHOT.jar,\ + lib/dbunit-2.4.9.jar,\ + lib/opencsv-2.4.jar,\ + src/test/resources/h2/,\ + src/test/resources/log4j.properties,\ + lib/dom4j-1.6.jar,\ + lib/cdmlib-commons-3.4.0-SNAPSHOT.jar,\ + lib/cdmlib-ext-3.4.0-SNAPSHOT.jar,\ + lib/cdmlib-model-3.4.0-SNAPSHOT.jar,\ + lib/cdmlib-services-3.4.0-SNAPSHOT.jar,\ + lib/usertype.jodatime-2.0.1.jar,\ + lib/usertype.spi-2.0.1.jar,\ + lib/cdmlib-persistence-3.4.0-SNAPSHOT.jar,\ + lib/wsdl4j-1.6.3.jar,\ + lib/validation-api-1.1.0.Final.jar,\ + src/main/resources/eu/etaxonomy/cdmlib/,\ + lib/org.springframework.context.support-3.2.2.RELEASE.jar,\ + src/main/resources/cdmlib-ehcache.xml,\ + src/test/resources/cdmlib-ehcache.xml,\ + lib/org.springframework.test-3.2.2.RELEASE.jar +bin.excludes = src/test/ diff --git a/eu.etaxonomy.taxeditor.remoting/lib/.svnignore b/eu.etaxonomy.taxeditor.remoting/lib/.svnignore new file mode 100644 index 000000000..d392f0e82 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/lib/.svnignore @@ -0,0 +1 @@ +*.jar diff --git a/eu.etaxonomy.taxeditor.remoting/pom.xml b/eu.etaxonomy.taxeditor.remoting/pom.xml new file mode 100644 index 000000000..80d66e075 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/pom.xml @@ -0,0 +1,580 @@ + + + + + eu.etaxonomy + taxeditor-parent + 3.4.0-SNAPSHOT + + 4.0.0 + eu.etaxonomy.taxeditor.remoting + eclipse-plugin + Remoting Bundle + Remoting Plugin Taxonomic Editor + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.7 + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.4 + + + copy-dependencies + validate + + copy-dependencies + + + + cdmlib-remote-webapp + + + cdmlib-services,cdmlib-commons,cdmlib-persistence,cdmlib-ext,cdmlib-model + + ${basedir}/lib + true + true + true + + + + copy-dependency-war + validate + + copy-dependencies + + + + cdmlib-remote-webapp + + + ${basedir}/src/main/resources/etc/jetty + + true + true + true + + + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + update-snapshot-jar-names + validate + + run + + + + Anonymizing war + + + + + + + + + Update cdmlib jars to SNAPSHOT when build with + timestamp + + + + + + + + + + + + + + + + + + + cleanCdmlibJars + + + + maven-clean-plugin + 2.3 + + + + ${basedir}/lib + + cdmlib-* + + false + + + + + + + + + cleanAllJars + + + + maven-clean-plugin + 2.3 + + + + ${basedir}/lib + + * + + false + + + + + + + + + copyAllJars + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.4 + + + copy-all-dependencies + validate + + copy-dependencies + + + + cdmlib-remote-webapp + + ${basedir}/lib + true + true + true + + + + + + + + + + + SpringSource Enterprise Bundle Repository - External Bundle + Milestones + + http://repository.springsource.com/maven/bundles/milestone + + + + SpringSource Enterprise Bundle Repository - SpringSource + Bundle + Releases + + http://repository.springsource.com/maven/bundles/release + + + + SpringSource Enterprise Bundle Repository - External Bundle + Releases + + http://repository.springsource.com/maven/bundles/external + + + + + + eu.etaxonomy + cdmlib-remote-webapp + ${cdmlib.version} + war + + + eu.etaxonomy + cdmlib-services + ${cdmlib.version} + + + eu.etaxonomy + cdmlib-commons + ${cdmlib.version} + + + eu.etaxonomy + cdmlib-persistence + ${cdmlib.version} + + + eu.etaxonomy + cdmlib-ext + ${cdmlib.version} + + + eu.etaxonomy + cdmlib-model + ${cdmlib.version} + + + + org.unitils + unitils-core + 3.4.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + net.sf.ehcache + ehcache-core + 2.4.3 + + + org.hibernate + hibernate-core + 4.1.10.Final + + + org.hibernate.common + hibernate-commons-annotations + 4.0.1.Final + + + org.hibernate + hibernate-search-engine + 4.2.0.Final + + + org.hibernate.javax.persistence + hibernate-jpa-2.0-api + 1.0.1.Final + + + org.hibernate + hibernate-envers + 4.1.10.Final + + + org.hibernate + hibernate-entitymanager + 4.1.10.Final + + + dom4j + dom4j + 1.6 + + + org.jadira.usertype + usertype.jodatime + 2.0.1 + + + org.jadira.usertype + usertype.spi + 2.0.1 + + + + junit + junit + 4.11 + test + + + log4j + log4j + 1.2.17 + + + org.jdom + jdom + 1.1.3 + + + org.springframework + org.springframework.context + 3.2.2.RELEASE + + + org.springframework + org.springframework.context.support + 3.2.2.RELEASE + + + org.springframework + org.springframework.aspects + 3.2.2.RELEASE + + + org.springframework + org.springframework.test + 3.2.2.RELEASE + + + org.springframework + org.springframework.beans + 3.2.2.RELEASE + + + org.springframework + org.springframework.transaction + 3.2.2.RELEASE + + + org.springframework + org.springframework.web + 3.2.2.RELEASE + + + org.springframework + org.springframework.core + 3.2.2.RELEASE + + + org.springframework + org.springframework.aop + 3.2.2.RELEASE + + + org.springframework + org.springframework.expression + 3.2.2.RELEASE + + + org.springframework + org.springframework.orm + 3.2.2.RELEASE + + + org.springframework + org.springframework.jdbc + 3.2.2.RELEASE + + + org.springframework.security + spring-security-core + 3.1.3.RELEASE + + + org.springframework.security + spring-security-config + 3.1.3.RELEASE + + + org.springframework.security + spring-security-remoting + 3.1.3.RELEASE + + + org.jboss.logging + jboss-logging + 3.1.3.GA + + + org.hamcrest + hamcrest-core + 1.3 + + + com.mchange + c3p0 + 0.9.2 + + + org.jboss.spec.javax.transaction + jboss-transaction-api_1.1_spec + 1.0.0.Final + + + org.aspectj + aspectjrt + 1.7.1 + + + commons-logging + commons-logging + 1.1.1 + + + commons-lang + commons-lang + 2.6 + + + aopalliance + aopalliance + 1.0 + + + joda-time + joda-time + 2.1 + + + com.ibm.lsid + lsid-client + 1.1.2 + + + com.ibm.lsid + lsid-server + 1.1.2 + + + org.apache.lucene + lucene-core + 3.6.2 + + + org.slf4j + slf4j-api + 1.7.2 + + + org.javassist + javassist + 3.17.1-GA + + + au.com.bytecode + opencsv + 2.4 + + + + + + org.unitils + unitils-spring + 3.4.2 + + + org.unitils + unitils-database + 3.4.2 + + + commons-dbcp + commons-dbcp + 1.4 + + + commons-pool + commons-pool + 1.5.4 + + + org.unitils + unitils-dbmaintainer + 3.4.2 + + + com.h2database + h2 + 1.4.181 + + + org.unitils + unitils-dbunit + 3.4.2 + + + org.dbunit + dbunit + 2.4.9 + + + + + + wsdl4j + wsdl4j + 1.6.3 + + + javax.validation + validation-api + 1.1.0.Final + + + + \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java new file mode 100644 index 000000000..494194ffa --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java @@ -0,0 +1,134 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + +package eu.etaxonomy.cdm.api.application; + +import javax.sql.DataSource; + +import org.apache.log4j.Logger; +import org.hibernate.SessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionStatus; + +import eu.etaxonomy.cdm.api.cache.ICachedCommonService; +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock; +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.ext.geo.IEditGeoService; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; + + +/** + * CDM Application Configuration class which manages the configuration for remoting + * clients + * + */ +@Component +public class CdmApplicationRemoteConfiguration extends CdmApplicationDefaultConfiguration { + + @SuppressWarnings("unused") + private static final Logger logger = Logger.getLogger(CdmApplicationRemoteConfiguration.class); + + @Autowired + IEditGeoService editGeoService; + + @Autowired + private ICachedCommonService cachedCommonService; + + @Autowired + protected CdmEntitySessionManager cdmEntitySessionManager; + + public CdmApplicationRemoteConfiguration() { + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#getTransactionManager() + */ + @Override + public PlatformTransactionManager getTransactionManager() throws UnsupportedOperationException { + throw new UnsupportedOperationException("getTransactionManager is not implemented for CdmApplicationRemoteConfiguration"); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#startTransaction() + */ + @Override + public TransactionStatus startTransaction() throws UnsupportedOperationException { + throw new UnsupportedOperationException("startTransaction is not implemented for CdmApplicationRemoteConfiguration"); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#startTransaction() + */ + @Override + public TransactionStatus startTransaction(Boolean readOnly) throws UnsupportedOperationException { + throw new UnsupportedOperationException("startTransaction is not implemented for CdmApplicationRemoteConfiguration"); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#commitTransaction(org.springframework.transaction.TransactionStatus) + */ + @Override + public void commitTransaction(TransactionStatus txStatus) throws UnsupportedOperationException { + throw new UnsupportedOperationException("commitTransaction is not implemented for CdmApplicationRemoteConfiguration"); + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#NewConversation() + */ + @Override + public ConversationHolder NewConversation() { + return new ConversationHolderMock(); + } + + /** + * @return + */ + public IEditGeoService getEditGeoService() { + return this.editGeoService; + } + + /** + * @return + */ + public ICachedCommonService getCachedCommonService(){ + return this.cachedCommonService; + } + + + public CdmEntitySessionManager getCdmEntitySessionManager() { + return this.cdmEntitySessionManager; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#setDataSource(javax.sql.DataSource) + */ + @Override + public void setDataSource(DataSource dataSource) { + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#setTransactionManager(org.springframework.transaction.PlatformTransactionManager) + */ + @Override + public void setTransactionManager(PlatformTransactionManager transactionManager) { + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationDefaultConfiguration#setSessionFactory(org.hibernate.SessionFactory) + */ + @Override + public void setSessionFactory(SessionFactory sessionFactory) { + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java new file mode 100644 index 000000000..9253104bd --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java @@ -0,0 +1,201 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + + +package eu.etaxonomy.cdm.api.application; + +import java.util.List; +import java.util.Properties; + +import org.apache.log4j.Logger; +import org.hibernate.collection.internal.AbstractPersistentCollection; +import org.hibernate.proxy.AbstractLazyInitializer; +import org.springframework.beans.MutablePropertyValues; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; +import org.springframework.context.ApplicationListener; +import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +import eu.etaxonomy.cdm.common.monitor.IProgressMonitor; +import eu.etaxonomy.cdm.common.monitor.NullProgressMonitor; +import eu.etaxonomy.cdm.common.monitor.SubProgressMonitor; +import eu.etaxonomy.cdm.remote.ICdmRemoteSource; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; + +/** + * CDM Application Controller class for remoting clients + * + * FIXME:Remoting extending {@link CdmApplicationController} is a temporary workaround. + * The {@link CdmApplicationController} should be split into a CdmApplicationControllerBase + * class with {@link CdmApplicationController} and this class as subclasses + * + */ +public class CdmApplicationRemoteController extends CdmApplicationController { + + private static final Logger logger = Logger.getLogger(CdmApplicationRemoteController.class); + + + public static final Resource DEFAULT_REMOTE_APPLICATION_CONTEXT_RESOURCE = + new ClassPathResource("/eu/etaxonomy/cdm/remotingApplicationContext.xml"); + private final Resource applicationContextResource; + private final IProgressMonitor progressMonitor; + + + /** + * Creates new instance of CdmApplicationRemoteController + * + * @param applicationContextResource + * @param remoteSource + * @param omitTermLoading + * @param progressMonitor + * @param listeners + * @return + */ + public static CdmApplicationRemoteController NewInstance(Resource applicationContextResource, + ICdmRemoteSource remoteSource, + boolean omitTermLoading, + IProgressMonitor progressMonitor, + List listeners) { + return new CdmApplicationRemoteController(applicationContextResource, + remoteSource, + omitTermLoading, + progressMonitor, + listeners); + + } + /** + * Creates new instance of CdmApplicationRemoteController + * + * @param applicationContextResource + * @param remoteSource + * @param omitTermLoading + * @param progressMonitor + * @param listeners + * @return + */ + public static CdmApplicationRemoteController NewInstance(ICdmRemoteSource remoteSource, + boolean omitTermLoading, + IProgressMonitor progressMonitor, + List listeners) { + + return new CdmApplicationRemoteController(DEFAULT_REMOTE_APPLICATION_CONTEXT_RESOURCE, + remoteSource, + omitTermLoading, + progressMonitor, + listeners); + + } + + /** + * Constructs CdmApplicationRemoteController + * + * @param applicationContextResource + * @param remoteSource + * @param omitTermLoading + * @param progressMonitor + * @param listeners + */ + private CdmApplicationRemoteController(Resource applicationContextResource, + ICdmRemoteSource remoteSource, + boolean omitTermLoading, + IProgressMonitor progressMonitor, + List listeners){ + logger.info("Start CdmApplicationRemoteController with remote source: " + remoteSource.getName()); + this.applicationContextResource = + applicationContextResource != null ? applicationContextResource : DEFAULT_REMOTE_APPLICATION_CONTEXT_RESOURCE; + this.progressMonitor = progressMonitor != null ? progressMonitor : new NullProgressMonitor(); + + setNewRemoteSource(remoteSource, omitTermLoading, listeners); + + } + + + + + /** + * Creates and starts a new spring application context + * + * @param remoteSource object for connecting to an http-invoker server + * @param omitTermLoading + * @param listeners + * @return + */ + protected boolean setNewRemoteSource(ICdmRemoteSource remoteSource, + boolean omitTermLoading, + List listeners){ + + logger.info("Connecting to '" + remoteSource.getName() + "'"); + + MonitoredGenericApplicationContext applicationContext = new MonitoredGenericApplicationContext(); + int refreshTasks = 45; + int nTasks = 5 + refreshTasks; + + progressMonitor.beginTask("Connecting to '" + remoteSource.getName() + "'", nTasks); + + progressMonitor.subTask("Registering remote source."); + PropertySourcesPlaceholderConfigurer pspc = new PropertySourcesPlaceholderConfigurer(); + Properties properties = new Properties(); + properties.setProperty("remoteServer", remoteSource.getServer()); + properties.setProperty("remotePort", String.valueOf(remoteSource.getPort())); + properties.setProperty("remoteContext", remoteSource.getContextPath()); + pspc.setProperties(properties); + applicationContext.addBeanFactoryPostProcessor(pspc); + applicationContext.getEnvironment().setActiveProfiles("remoting"); + progressMonitor.worked(1); + + XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(applicationContext); + //xmlReader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_NONE); + progressMonitor.subTask("Registering resources."); + xmlReader.loadBeanDefinitions(applicationContextResource); + progressMonitor.worked(1); + + //omitTerms + if (omitTermLoading == true){ + String initializerName = "persistentTermInitializer"; + BeanDefinition beanDef = applicationContext.getBeanDefinition(initializerName); + MutablePropertyValues values = beanDef.getPropertyValues(); + values.addPropertyValue("omit", omitTermLoading); + } + + if (listeners != null){ + for(ApplicationListener listener : listeners){ + applicationContext.addApplicationListener(listener); + } + } + + + applicationContext.refresh(new SubProgressMonitor(progressMonitor, refreshTasks)); + applicationContext.start(); + + progressMonitor.subTask("Cleaning up."); + setApplicationContext(applicationContext); + progressMonitor.worked(1); + + progressMonitor.done(); + return true; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.application.CdmApplicationController#init() + */ + @Override + protected void init(){ + configuration = (ICdmApplicationConfiguration)applicationContext.getBean("cdmApplicationRemoteConfiguration"); + AbstractLazyInitializer.setConfiguration((CdmApplicationRemoteConfiguration)configuration); + AbstractPersistentCollection.setConfiguration((CdmApplicationRemoteConfiguration)configuration); + + } + + public CdmEntitySessionManager getCdmEntitySessionManager() { + return ((CdmApplicationRemoteConfiguration)configuration).getCdmEntitySessionManager(); + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CachedCommonServiceImpl.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CachedCommonServiceImpl.java new file mode 100644 index 000000000..0a10de107 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CachedCommonServiceImpl.java @@ -0,0 +1,192 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.api.cache; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; + +import org.hibernate.collection.internal.PersistentList; +import org.hibernate.collection.internal.PersistentMap; +import org.hibernate.collection.internal.PersistentSet; +import org.hibernate.collection.internal.PersistentSortedMap; +import org.hibernate.collection.internal.PersistentSortedSet; +import org.hibernate.collection.spi.PersistentCollection; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import eu.etaxonomy.cdm.api.cache.CdmEntityCachingUtils.CollectionType; +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.PersistentMultiLanguageText; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; +import eu.etaxonomy.taxeditor.remoting.CdmRemotingException; + +/** + * @author cmathew + * @date 14 Oct 2014 + * + */ +@Component +public class CachedCommonServiceImpl implements ICachedCommonService { + + + @Autowired + private ICommonService commonService; + + private static boolean cacheEnabled = true; + + @Autowired + private CdmEntitySessionManager cdmEntitySessionManager; + + @Autowired + private CdmEntityCachingUtils cdmEntityCachingUtils; + + + public static boolean isCacheEnabled() { + return cacheEnabled; + } + + public static void setCacheEnabled(boolean cacheEnabled) { + CachedCommonServiceImpl.cacheEnabled = cacheEnabled; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#find(java.lang.Class, int) + */ + @Override + public CdmBase find(Class clazz, int id) { + if(cacheEnabled) { + CdmBase cdmEntity = CdmBase.deproxy(commonService.find(clazz, id),clazz); + return cdmEntitySessionManager.getActiveCdmTransientEntityCacher().load(cdmEntity, true); + } else { + return CdmBase.deproxy(commonService.find(clazz, id),clazz); + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#initializeCollection(org.hibernate.collection.spi.PersistentCollection) + */ + @Override + public PersistentCollection initializeCollection(PersistentCollection col) { + PersistentCollection pc = commonService.initializeCollection(col); + return pc; + } + + @Override + public void updatePersistentCollection(CollectionField colf) { + if(cacheEnabled) { + cdmEntitySessionManager.getActiveCdmTransientEntityCacher().load(colf.getCollection(), true); + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#isEmpty(org.hibernate.collection.spi.PersistentCollection) + */ + @Override + public boolean isEmpty(PersistentCollection col) { + return commonService.isEmpty(col); + + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#size(org.hibernate.collection.spi.PersistentCollection) + */ + @Override + public int size(PersistentCollection col) { + return commonService.size(col); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#get(org.hibernate.collection.spi.PersistentCollection, int) + */ + @Override + public Object get(PersistentCollection col, int index) { + return commonService.get(col, index); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#contains(org.hibernate.collection.spi.PersistentCollection, java.lang.Object) + */ + @Override + public boolean contains(PersistentCollection col, Object element) { + return commonService.contains(col, element); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#containsKey(org.hibernate.collection.spi.PersistentCollection, java.lang.Object) + */ + @Override + public boolean containsKey(PersistentCollection col, Object key) { + return commonService.containsKey(col, key); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.remoting.service.ICachedCommonService#containsValue(org.hibernate.collection.spi.PersistentCollection, java.lang.Object) + */ + @Override + public boolean containsValue(PersistentCollection col, Object element) { + return commonService.containsValue(col, element); + } + + @SuppressWarnings("rawtypes") + @Override + public CollectionField getCollectionField(PersistentCollection pc) { + if(pc != null) { + if(pc instanceof PersistentSet) { + return new CollectionField(new HashSet((Set)pc), CollectionType.SET); + } + if(pc instanceof PersistentSortedSet) { + return new CollectionField(new TreeSet((Set)pc), CollectionType.SET); + } + if(pc instanceof PersistentList) { + return new CollectionField(new ArrayList((List)pc), CollectionType.LIST); + } + if(pc instanceof PersistentMap || pc instanceof PersistentMultiLanguageText) { + return new CollectionField(new HashMap((Map)pc), CollectionType.MAP); + } + if(pc instanceof PersistentSortedMap) { + return new CollectionField(new TreeMap((Map)pc), CollectionType.MAP); + } + throw new CdmRemotingException("Cannot get Collection field for type " + pc.getClass().getName()); + } + return null; + } + + public class CollectionField { + private final Object col; + private final CollectionType type; + public CollectionField(Object col, CollectionType type) { + this.col = col; + this.type = type; + } + + public Object getCollection() { + return this.col; + } + + public CollectionType getType() { + return this.type; + } + } + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmClientCacheException.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmClientCacheException.java new file mode 100644 index 000000000..3b7edba7a --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmClientCacheException.java @@ -0,0 +1,12 @@ +package eu.etaxonomy.cdm.api.cache; + +public class CdmClientCacheException extends RuntimeException { + + public CdmClientCacheException(String message) { + super(message); + } + + public CdmClientCacheException(Exception e) { + super(e); + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCacheKey.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCacheKey.java new file mode 100644 index 000000000..476522af1 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCacheKey.java @@ -0,0 +1,56 @@ +package eu.etaxonomy.cdm.api.cache; + +import eu.etaxonomy.cdm.model.common.CdmBase; + +public class CdmEntityCacheKey { + + private Class persistenceClass; + private int persistenceId; + + public CdmEntityCacheKey(CdmBase cdmBase) { + this.persistenceClass = cdmBase.getClass(); + this.persistenceId = cdmBase.getId(); + } + + public CdmEntityCacheKey(Class clazz, int id) { + this.persistenceClass = clazz; + this.persistenceId = id; + } + + + + public Class getPersistenceClass() { + return persistenceClass; + } + + public int getPersistenceId() { + return persistenceId; + } + @Override + public boolean equals(Object obj) { + if(obj == null || !(obj instanceof CdmEntityCacheKey)) { + return false; + } + + if(this == obj) { + return true; + } + CdmEntityCacheKey that = (CdmEntityCacheKey) obj; + if(this.persistenceClass.equals(that.persistenceClass) && this.persistenceId == that.persistenceId) { + return true; + } + + return false; + } + + @Override + public int hashCode() { + return (this.persistenceClass.getName() + String.valueOf(this.persistenceId)).hashCode(); + } + + @Override + public String toString() { + return this.persistenceClass.getName() + String.valueOf(this.persistenceId); + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCachingUtils.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCachingUtils.java new file mode 100644 index 000000000..1a3b99c14 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmEntityCachingUtils.java @@ -0,0 +1,86 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.api.cache; + +import java.util.Iterator; +import java.util.Map; + +import net.sf.ehcache.Cache; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; + +/** + * @author cmathew + * @date 15 Oct 2014 + * + */ +@Component +public class CdmEntityCachingUtils { + + @Autowired + private CdmEntitySessionManager cdmEntityCacheManager; + + + + public static enum CollectionType { + SET, + LIST, + MAP; + + @Override + public String toString() { + return this.name().toLowerCase(); + } + } + + public void cachify(Map map) { + if(map == null || map.isEmpty()) { + return; + } + + int originalMapSize = map.size(); + Object[] result = new Object[ map.size() * 2 ]; + Iterator> iter = map.entrySet().iterator(); + int i=0; + while ( iter.hasNext() ) { + Map.Entry e = (Map.Entry) iter.next(); + result[i++] = e.getKey(); + result[i++] = e.getValue(); + } + + for(i=0; i cmgmfcList = new ArrayList(); + + public void cacheGetters() { + + Configuration configuration = new Configuration().configure("/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml"); + configuration.buildMappings(); + Iterator classMappingIterator = configuration.getClassMappings(); + + Cache cache = CdmRemoteCacheManager.getInstance().getCdmModelGetMethodsCache(); + cache.removeAll(); + + while(classMappingIterator.hasNext()) { + PersistentClass persistentClass = classMappingIterator.next(); + Class mappedClass = persistentClass.getMappedClass(); + String mappedClassName = mappedClass.getName(); + + CdmModelFieldPropertyFromClass cmgmfc = new CdmModelFieldPropertyFromClass(mappedClassName); + Iterator propertyIt = persistentClass.getPropertyIterator(); + + logger.info("Adding class : " + mappedClassName + " to cache"); + + while(propertyIt.hasNext()) + { + Property property = (Property)propertyIt.next(); + Getter getter = property.getGetter(mappedClass); + if(getter != null && getter.getMember() != null) { + Field field = (Field)getter.getMember(); + String getMethod = getMethodNameFromFieldName(field.getName(), field.getType().getName()); + logger.info(" - getMethod : " + getMethod + " for type " + field.getType().getName()); + cmgmfc.addGetMethods(getMethod); + } + } + cache.put(new Element(mappedClassName, cmgmfc)); + + } + cache.flush(); + } + + public void cacheGetterFields() { + + Configuration configuration = new Configuration().configure("/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml"); + configuration.buildMappings(); + Iterator classMappingIterator = configuration.getClassMappings(); + + Cache cache = CdmRemoteCacheManager.getInstance().getCdmModelGetMethodsCache(); + cache.removeAll(); + + while(classMappingIterator.hasNext()) { + PersistentClass persistentClass = classMappingIterator.next(); + Class mappedClass = persistentClass.getMappedClass(); + String mappedClassName = mappedClass.getName(); + + CdmModelFieldPropertyFromClass cmgmfc = new CdmModelFieldPropertyFromClass(mappedClassName); + Iterator propertyIt = persistentClass.getPropertyIterator(); + + logger.info("Adding class : " + mappedClassName + " to cache"); + + while(propertyIt.hasNext()) + { + Property property = (Property)propertyIt.next(); + Getter getter = property.getGetter(mappedClass); + if(getter != null && getter.getMember() != null) { + Field field = (Field)getter.getMember(); + //String getMethod = getMethodNameFromFieldName(field.getName(), field.getType().getName()); + logger.info(" - contains field '" + field.getName() + "' of type '" + field.getType().getName() + "'"); + cmgmfc.addGetMethods(field.getName()); + } + } + cache.put(new Element(mappedClassName, cmgmfc)); + + } + cache.flush(); + } + + public void checkGetterMethods() { + + Configuration configuration = new Configuration().configure("/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml"); + configuration.buildMappings(); + Iterator classMappingIterator = configuration.getClassMappings(); + + Cache cache = CdmRemoteCacheManager.getInstance().getCdmModelGetMethodsCache(); + cache.removeAll(); + + while(classMappingIterator.hasNext()) { + PersistentClass persistentClass = classMappingIterator.next(); + Class mappedClass = persistentClass.getMappedClass(); + String mappedClassName = mappedClass.getName(); + + Iterator propertyIt = persistentClass.getPropertyIterator(); + + Method[] methods = mappedClass.getMethods(); + + while(propertyIt.hasNext()) + { + Property property = (Property)propertyIt.next(); + Getter getter = property.getGetter(mappedClass); + if(getter != null && getter.getMember() != null) { + Field field = (Field)getter.getMember(); + String getMethod = getMethodNameFromFieldName(field.getName(), field.getType().getName()); + + boolean foundMethod = false; + for(Method method : methods) { + if(method.getName().equals(getMethod)) { + foundMethod = true; + break; + } + } + if(!foundMethod) { + logger.info("Inferred method " + getMethod + " does not exist in class " + mappedClassName); + //throw new CdmClientCacheException("Inferred method " + getMethod + " does not exist in class " + mappedClassName); + } + } + } + + + } + + } + + public List getCdmModelGetMethodFromClassList() { + cmgmfcList.clear(); + Configuration configuration = new Configuration().configure("/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml"); + configuration.buildMappings(); + Iterator classMappingIterator = configuration.getClassMappings(); + + while(classMappingIterator.hasNext()) { + PersistentClass persistentClass = classMappingIterator.next(); + Class mappedClass = persistentClass.getMappedClass(); + String mappedClassName = mappedClass.getName(); + + CdmModelFieldPropertyFromClass cmgmfc = new CdmModelFieldPropertyFromClass(mappedClassName); + Iterator propertyIt = persistentClass.getPropertyIterator(); + + while(propertyIt.hasNext()) + { + Property property = (Property)propertyIt.next(); + Getter getter = property.getGetter(mappedClass); + if(getter != null && getter.getMember() != null) { + Field field = (Field)getter.getMember(); + String getMethod = getMethodNameFromFieldName(getter.getMember().getName(),field.getType().getName()); + cmgmfc.addGetMethods(getMethod); + } + } + cmgmfcList.add(cmgmfc); + } + return cmgmfcList; + + } + + public static String getMethodNameFromFieldName(String fieldName, String type) { + String prefix = type != null && type.toLowerCase().endsWith("boolean") ? "is" : "get"; + String getMethod = prefix + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); + return getMethod; + } + + + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmModelFieldPropertyFromClass.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmModelFieldPropertyFromClass.java new file mode 100644 index 000000000..37cb8128d --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmModelFieldPropertyFromClass.java @@ -0,0 +1,51 @@ +package eu.etaxonomy.cdm.api.cache; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class CdmModelFieldPropertyFromClass implements Serializable { + + private static final long serialVersionUID = 5726395976531887526L; + private String className; + private String parentClassName; + + private List fields = new ArrayList(); + + + public CdmModelFieldPropertyFromClass(String className) { + this.setClassName(className); + } + + public String getParentClassName() { + return parentClassName; + } + + public void setParentClassName(String parentClassName) { + this.parentClassName = parentClassName; + } + + public List getFields() { + return fields; + } + + public void setFields(List fields) { + this.fields = fields; + } + + public void addGetMethods(String getMethod) { + this.fields.add(getMethod); + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmRemoteCacheManager.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmRemoteCacheManager.java new file mode 100644 index 000000000..330a64c5c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmRemoteCacheManager.java @@ -0,0 +1,75 @@ +package eu.etaxonomy.cdm.api.cache; + +import java.io.IOException; + +import net.sf.ehcache.Cache; +import net.sf.ehcache.CacheException; +import net.sf.ehcache.CacheManager; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.stereotype.Component; + + +public class CdmRemoteCacheManager { + + private CacheManager cdmlibModelCacheManager; + private CacheManager defaultCacheManager; + + private static CdmRemoteCacheManager cdmRemoteCacheManager = null; + + public static final Resource CDMLIB_CACHE_MANAGER_CONFIG_RESOURCE = + new ClassPathResource("/cdmlib-ehcache.xml"); + + + public enum CdmCacheManagerType { + CDMLIB_MODEL, + DEFAULT + } + + public static CdmRemoteCacheManager getInstance(){ + if(cdmRemoteCacheManager == null) { + cdmRemoteCacheManager = new CdmRemoteCacheManager(); + } + return cdmRemoteCacheManager; + } + private CdmRemoteCacheManager() { + checkCacheProperties(); + try { + String cacheFilePath = CDMLIB_CACHE_MANAGER_CONFIG_RESOURCE.getFile().getAbsolutePath(); + cdmlibModelCacheManager = new CacheManager(cacheFilePath); + + } catch (CacheException e) { + throw new CdmClientCacheException(e); + } catch (IOException e) { + throw new CdmClientCacheException(e); + } + } + + public Cache getCdmModelGetMethodsCache(){ + return cdmlibModelCacheManager.getCache("cdmModelGetMethodsCache"); + } + + public void shutdown(CdmCacheManagerType ccmt) { + CacheManager cm; + switch(ccmt) { + case CDMLIB_MODEL: + cdmlibModelCacheManager.shutdown(); + break; + case DEFAULT: + cm = CacheManager.create(); + cm.shutdown(); + break; + default: + //do nothing + } + } + + public static void checkCacheProperties() { + String pathToCache = System.getProperty("ehcache.disk.store.dir"); + if(pathToCache == null || pathToCache.isEmpty()) { + throw new CdmClientCacheException("'ehcache.disk.store.dir' property is not set"); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java new file mode 100644 index 000000000..c7d6bac8f --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmServiceCacher.java @@ -0,0 +1,35 @@ +package eu.etaxonomy.cdm.api.cache; + +import java.util.UUID; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import eu.etaxonomy.cdm.api.cache.CdmCacher; +import eu.etaxonomy.cdm.api.service.ITermService; +import eu.etaxonomy.cdm.model.common.CdmBase; + +/** + * Class which uses CDM services to cache cdm entities + * + * FIXME: Currently only handles terms entities. It would be + * interesting to have a generic method which finds the + * correct service to load / cache the entity. + * + * @author cmathew + * + * @param + */ +@Component +public class CdmServiceCacher extends CdmCacher { + + @Autowired + ITermService termService; + + @Override + protected CdmBase findByUuid(UUID uuid) { + CdmBase term = termService.findWithoutFlush(uuid); + return term; + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmTransientEntityCacher.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmTransientEntityCacher.java new file mode 100644 index 000000000..2387c2327 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/CdmTransientEntityCacher.java @@ -0,0 +1,464 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.cdm.api.cache; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +import javassist.util.proxy.ProxyFactory; + +import net.sf.ehcache.Cache; +import net.sf.ehcache.Element; +import net.sf.ehcache.config.CacheConfiguration; +import net.sf.ehcache.store.MemoryStoreEvictionPolicy; + +import org.apache.log4j.Logger; +import org.hibernate.collection.spi.PersistentCollection; +import org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ReflectionUtils; + +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.model.common.CdmBase; + +/** + * + * This cache guarantees that + * - all objects put will be ancestors of CdmBase + * - all CdmBase objects in the cache will be already de-proxied + * - after any CdmBase object is put in the cache, + * all non-null / non-proxy CdmBase objects in the sub-graph + * will also be present in the cache. + * + * @author cmathew + * @date 14 Oct 2014 + * + */ + +public class CdmTransientEntityCacher extends CdmServiceCacher { + + private static final Logger logger = Logger.getLogger(CdmTransientEntityCacher.class); + + @Autowired + private CdmEntityCachingUtils cdmEntityCachingUtils; + + @Autowired + private ICommonService commonService; + + private String cacheId; + + private Cache cache; + + private Cache cdmlibModelCache; + + private static boolean isRecursiveEnabled = true; + + + public CdmTransientEntityCacher(String cacheId) { + this.cacheId = cacheId; + + cache = new Cache(getEntityCacheConfiguration(cacheId)); + getDefaultCacheManager().addCache(cache); + + cdmlibModelCache = CdmRemoteCacheManager.getInstance().getCdmModelGetMethodsCache(); + + } + + public CdmTransientEntityCacher(Object obj) { + this(obj.getClass().getName() + String.valueOf(obj.hashCode())); + } + + /** + * Returns the default cache configuration. + * + * @return + */ + private CacheConfiguration getEntityCacheConfiguration(String cacheId) { + // For a better understanding on how to size caches, refer to + // http://ehcache.org/documentation/configuration/cache-size + return new CacheConfiguration(cacheId, 500) + .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LFU) + .eternal(false) + // default ttl and tti set to 2 hours + .timeToLiveSeconds(60*60*2) + .timeToIdleSeconds(60*60*2); + + } + + + /** + * Returns the cache corresponding to the cache id + * + * @param cacheId + * @return + */ + private Cache getCache() { + return getDefaultCacheManager().getCache(cacheId); + } + + public T load(T obj, boolean recursive) { + if(obj instanceof CdmBase) { + return load(obj, recursive); + } else if (obj instanceof Map) { + return load(obj, recursive); + } + + return obj; + } + + @SuppressWarnings("unchecked") + private T loadRecursive(T obj, Set alreadyVisitedEntities) { + if(obj instanceof CdmBase) { + return loadRecursive(obj, alreadyVisitedEntities); + } else if (obj instanceof Map) { + return (T) load((Map)obj, alreadyVisitedEntities); + } + logger.info("No caching yet for type " + obj.getClass().getName()); + + return obj; + } + + public Map load(Map map, boolean recursive){ + if(isRecursiveEnabled && recursive) { + logger.info("---- starting recursive load for map"); + Set alreadyVisitedEntities = new HashSet(); + Map cachedMap = load(map, alreadyVisitedEntities); + alreadyVisitedEntities.clear(); + logger.info("---- ending recursive load for cdm entity map \n"); + return cachedMap; + } else { + return load(map, null); + } + } + + private Map load(Map map, Set alreadyVisitedEntities){ + if(map == null || map.isEmpty()) { + return map; + } + + int originalMapSize = map.size(); + Object[] result = new Object[ map.size() * 2 ]; + Iterator> iter = map.entrySet().iterator(); + int i=0; + while ( iter.hasNext() ) { + Map.Entry e = (Map.Entry) iter.next(); + result[i++] = e.getKey(); + result[i++] = e.getValue(); + } + + for(i=0; i alreadyVisitedEntities = new HashSet(); + CdmBase cb = loadRecursive(cdmEntity, alreadyVisitedEntities); + alreadyVisitedEntities.clear(); + logger.info("---- ending recursive load for cdm entity " + cdmEntity.getClass().getName() + " with id " + cdmEntity.getId() + "\n"); + return cb; + } else { + return load(cdmEntity); + } + + // split into two methods + // - load(CdmBase cdmBase) + // - recursiveLoad(CdmBase cdmbase, List alreadyVisitedEntities) + // : the entity to be visted should added before the recursive call + // and deleted after the call to end finally with a list + // of size zero at the end + // : entity to recurse should be the original entity and + // not the cached one + + } + + + private CdmBase load(CdmBase cdmEntity) { + logger.info("loading object of type " + cdmEntity.getClass().getName() + " with id " + cdmEntity.getId()); + + // start by looking up the cdm entity in the cache + CdmBase cachedCdmEntity = getFromCache(cdmEntity); + + if(cachedCdmEntity != null) { + // if cdm entity was found in cache then return ... + logger.info(" - object of type " + cdmEntity.getClass().getName() + " with id " + cdmEntity.getId() + " already exists"); + return cachedCdmEntity; + } else { + // ... else save the entity in the cache + getCache().put(new Element(generateKey(cdmEntity), cdmEntity)); + logger.info(" - object of type " + cdmEntity.getClass().getName() + " with id " + cdmEntity.getId() + " put in cache"); + return cdmEntity; + } + } + + private CdmBase loadRecursive(CdmBase cdmEntity, Set alreadyVisitedEntities) { + + CdmBase cachedCdmEntity = load(cdmEntity); + + // we want to recursive through the cdmEntity (and not the cachedCdmEntity) + // since there could be new initialized object in the cdmEntity sub-graph + + // start by getting the fields from the cdm entity + String className = cdmEntity.getClass().getName(); + CdmModelFieldPropertyFromClass cmgmfc = getFromCdmlibModelCache(className); + if(cmgmfc != null) { + alreadyVisitedEntities.add(cdmEntity); + List fields = cmgmfc.getFields(); + for(String field : fields) { + // retrieve the actual object corresponding to the field. + // this object will be either a CdmBase or a Collection / Map + // with CdmBase as the generic type + + // In the case that the returned is either a Collection or a Map + // the individual objects inside these also need to be loaded + // by calling the corresponding cachify method in the + // CdmEntityCachingUtils + + CdmBase cdmEntityInSubGraph = getCdmBaseTypeFieldValue(cdmEntity, cachedCdmEntity, field); + if(cdmEntityInSubGraph != null && !alreadyVisitedEntities.contains(cdmEntityInSubGraph)) { + logger.info("recursive loading object of type " + cdmEntityInSubGraph.getClass().getName() + " with id " + cdmEntityInSubGraph.getId()); + loadRecursive(cdmEntityInSubGraph, alreadyVisitedEntities); + } + } + } + return cachedCdmEntity; + } + + + private CdmBase getCdmBaseTypeFieldValue(CdmBase cdmEntity, CdmBase cachedCdmEntity, String fieldName) { + + + if(cachedCdmEntity == null) { + throw new CdmClientCacheException("When trying to set filed value, the cached cdm entity cannot be null"); + } + + Class clazz = cdmEntity.getClass(); + try { + // this call will search in the provided class as well as + // the super classes until it finds the field + Field field = ReflectionUtils.findField(clazz, fieldName); + // logger.info("Retrieving field " + field + // + " from cdm entity of type " + c.getName() + // + " with id " + cdmEntity.getId()); + + + if(field == null) { + throw new CdmClientCacheException("Field '" + fieldName + + "' not found when searching in class '" + clazz.getName() + "' and its supercalsses"); + } + field.setAccessible(true); + Object o = field.get(cdmEntity); + // if(o == null) { + // logger.info(" - resulting object is null"); + // } else if(ProxyFactory.isProxyClass(o.getClass())) { + // logger.info(" - resulting object is a proxy object"); + // } else if(o instanceof PersistentCollection) { + // logger.info(" - resulting object is a persistent collection object"); + // } else { + // logger.info(" - resulting object is of type " + o.getClass().getName()); + // } + CdmBase cdmEntityInSubGraph = null; + if(o != null + && !ProxyFactory.isProxyClass(o.getClass()) + && !(o instanceof PersistentCollection) + && CdmBase.class.isAssignableFrom(o.getClass())) { + // logger.info("retrieving object of type " + o.getClass().getName() + // + " with id " + ((CdmBase)o).getId()); + + //FIXME:Remoting add case for collection / map + //FIXME:Remoting if cached entity != original entity then + // replace original with cache using + // field.set and return original entity + cdmEntityInSubGraph = (CdmBase)o; + + CdmBase cachedCdmEntityInSubGraph = getFromCache(cdmEntityInSubGraph); + + if(cachedCdmEntityInSubGraph != null) { + if(cachedCdmEntityInSubGraph != cdmEntityInSubGraph) { + field.set(cachedCdmEntity, cachedCdmEntityInSubGraph); + } + } else { + field.set(cachedCdmEntity, cdmEntityInSubGraph); + } + } + // we return the original cdm entity in the sub graph because we + // want to continue to recurse on the input cdm entity graph + // and not the one in the cache + return cdmEntityInSubGraph; + } catch (SecurityException e) { + throw new CdmClientCacheException(e); + } catch (IllegalArgumentException e) { + throw new CdmClientCacheException(e); + } catch (IllegalAccessException e) { + throw new CdmClientCacheException(e); + } + } + + public void put(CdmBase cdmEntity) { + CdmEntityCacheKey id = new CdmEntityCacheKey(cdmEntity); + Element cachedCdmEntityElement = getCacheElement(id); + + if(cachedCdmEntityElement == null) { + cachedCdmEntityElement = getCacheElement(cdmEntity.getUuid()); + if(cachedCdmEntityElement != null) { + logger.info("Cdm Entity with id : " + cdmEntity.getId() + " already exists in permanent cache. Ignoring put."); + return; + } + } + + getCache().put(new Element(id, cdmEntity)); + } + + + private Element getCacheElement(CdmEntityCacheKey key) { + return getCache().get(key); + } + + public CdmModelFieldPropertyFromClass getFromCdmlibModelCache(String className) { + Element e = cdmlibModelCache.get(className); + if (e == null) { + return null; + } else { + return (CdmModelFieldPropertyFromClass) e.getObjectValue(); + } + } + + public CdmBase getFromCache(CdmEntityCacheKey id) { + Element e = getCacheElement(id); + if (e == null) { + return null; + } else { + return (CdmBase) e.getObjectValue(); + } + } + + public CdmBase getFromCache(Class clazz, int id) { + CdmEntityCacheKey cacheId = generateKey(clazz,id); + return getFromCache(cacheId); + } + + public CdmBase getFromCache(CdmBase cdmBase) { + + CdmEntityCacheKey cacheId = generateKey(cdmBase); + + CdmBase cachedCdmEntity = getFromCache(cacheId); + + if(cachedCdmEntity == null) { + // ... then try the permanent (uuid-based) cache + cachedCdmEntity = getFromCache(cdmBase.getUuid()); + } + + return cachedCdmEntity; + } + + public CdmBase getFromCache(CdmBase cdmBase, Class clazz) { + + cdmBase = CdmBase.deproxy(cdmBase, clazz); + + CdmEntityCacheKey cacheId = generateKey(cdmBase); + + CdmBase cachedCdmEntity = getFromCache(cacheId); + + if(cachedCdmEntity == null) { + // ... then try the permanent (uuid-based) cache + cachedCdmEntity = getFromCache(cdmBase.getUuid()); + } + + return cachedCdmEntity; + } + + public List getAllEntities() { + List entities = new ArrayList(); + Map elementsMap = getCache().getAllWithLoader(getCache().getKeys(), null); + for (Map.Entry entry : elementsMap.entrySet()) { + entities.add(entry.getValue()); + } + return entities; + } + + + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.model.ICdmCacher#exists(java.util.UUID) + */ + @Override + public boolean exists(UUID uuid) { + return (getCacheElement(uuid) != null || super.getCacheElement(uuid) != null); + } + + public boolean exists(CdmEntityCacheKey key) { + return (getCacheElement(key) != null); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.model.ICdmCacher#existsAndIsNotNull(java.util.UUID) + */ + @Override + public boolean existsAndIsNotNull(UUID uuid) { + return getFromCache(uuid) != null; + } + + public boolean existsAndIsNotNull(CdmEntityCacheKey id) { + return getFromCache(id) != null; + } + + + public static CdmEntityCacheKey generateKey(Class clazz, int id) { + return new CdmEntityCacheKey(clazz, id); + } + + + public static CdmEntityCacheKey generateKey(CdmBase cdmBase) { + Class entityClass = cdmBase.getClass(); + int id = cdmBase.getId(); + return new CdmEntityCacheKey(entityClass, id); + } + + public static boolean isRecursiveEnabled() { + return isRecursiveEnabled; + } + + public static void setRecursiveEnabled(boolean ire) { + isRecursiveEnabled = ire; + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/ICachedCommonService.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/ICachedCommonService.java new file mode 100644 index 000000000..e3952fdf9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/api/cache/ICachedCommonService.java @@ -0,0 +1,46 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.cdm.api.cache; + +import org.hibernate.collection.spi.PersistentCollection; + +import eu.etaxonomy.cdm.api.cache.CachedCommonServiceImpl.CollectionField; +import eu.etaxonomy.cdm.model.common.CdmBase; + +/** + * @author cmathew + * @date 14 Oct 2014 + * + */ +public interface ICachedCommonService { + + public CdmBase find(Class clazz, int id); + + public PersistentCollection initializeCollection(PersistentCollection col); + + public void updatePersistentCollection(CollectionField colf); + + public boolean isEmpty(PersistentCollection col); + + public int size(PersistentCollection col); + + public Object get(PersistentCollection col, int index); + + public boolean contains(PersistentCollection col, Object element); + + public boolean containsKey(PersistentCollection col, Object key); + + public boolean containsValue(PersistentCollection col, Object element); + + public CollectionField getCollectionField(PersistentCollection pc); + + + +} \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmPersistentRemoteSource.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmPersistentRemoteSource.java new file mode 100644 index 000000000..854643d11 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmPersistentRemoteSource.java @@ -0,0 +1,242 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ + +package eu.etaxonomy.cdm.remote; + +import static eu.etaxonomy.cdm.common.XmlHelp.getBeansRoot; +import static eu.etaxonomy.cdm.common.XmlHelp.insertXmlBean; +import static eu.etaxonomy.cdm.common.XmlHelp.insertXmlValueProperty; +import static eu.etaxonomy.cdm.common.XmlHelp.saveToXml; + +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; +import java.util.Properties; + +import org.apache.log4j.Logger; +import org.jdom.Attribute; +import org.jdom.Element; + +import eu.etaxonomy.cdm.common.CdmUtils; +import eu.etaxonomy.cdm.common.XmlHelp; +import eu.etaxonomy.cdm.config.CdmPersistentSourceUtils; +import eu.etaxonomy.cdm.config.CdmPersistentXMLSource; +import eu.etaxonomy.cdm.config.CdmPersistentXMLSource.CdmSourceProperties; +import eu.etaxonomy.cdm.config.ICdmPersistentSource; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; + +/** + * Class representing a CDM remote source which can be persisted to a source config file + * + */ +public class CdmPersistentRemoteSource extends CdmRemoteSourceBase implements ICdmPersistentSource{ + private static final Logger logger = Logger.getLogger(CdmPersistentRemoteSource.class); + + public static final String REMOTESOURCE_BEAN_POSTFIX = "RemoteSource"; + private String beanName; + private Properties cdmSourceProperties; + private List cdmSourceAttributes; + + /** + * Creates a new instance of CdmPersistentRemoteSource + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + * @return + * @throws CdmRemoteSourceException + */ + public static CdmPersistentRemoteSource NewInstance(String remoteSource) throws CdmRemoteSourceException { + if(exists(remoteSource)) { + return new CdmPersistentRemoteSource(remoteSource); + } else { + throw new CdmRemoteSourceException("Remote source '" + remoteSource + "' does not exist in sources setting file"); + } + + } + + /**S + * Creates a new CdmPersistentRemoteSource + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + * @throws CdmRemoteSourceException + */ + private CdmPersistentRemoteSource(String remoteSource) throws CdmRemoteSourceException { + + CdmPersistentXMLSource cdmPersistentXMLSource = CdmPersistentXMLSource.NewInstance(remoteSource, REMOTESOURCE_BEAN_POSTFIX); + if(cdmPersistentXMLSource.getElement() != null) { + beanName = cdmPersistentXMLSource.getBeanName(); + // properties from the persistent xml file + cdmSourceProperties = cdmPersistentXMLSource.getCdmSourceProperties(); + cdmSourceAttributes = cdmPersistentXMLSource.getCdmSourceAttributes(); + checkProperties(cdmSourceProperties); + } else { + throw new CdmRemoteSourceException("Remote source '" + remoteSource + "' does not exist in settings file"); + } + initDatabaseConnection(); + } + + private static void checkProperties(Properties cdmSourceProperties) throws CdmRemoteSourceException { + if(!cdmSourceProperties.containsKey(CdmSourceProperties.SERVER.toString())) { + throw new CdmRemoteSourceException("Could not initialise remote source. Required property '" + CdmSourceProperties.SERVER.toString() + "' is missing"); + } + String port = (String)cdmSourceProperties.get(CdmSourceProperties.PORT.toString()); + if(port == null || port.isEmpty()) { + throw new CdmRemoteSourceException("Could not initialise remote source. Required property '" + CdmSourceProperties.SERVER.toString() + "' is missing"); + } + if(!cdmSourceProperties.containsKey(CdmSourceProperties.CONTEXTPATH.toString())) { + throw new CdmRemoteSourceException("Could not initialise remote source. Required property '" + CdmSourceProperties.SERVER.toString() + "' is missing"); + } + // default NomenclaturalCode is always ICNAFP + if(!cdmSourceProperties.containsKey(CdmSourceProperties.NOMENCLATURAL_CODE.toString())) { + cdmSourceProperties.put(CdmSourceProperties.NOMENCLATURAL_CODE.toString(), NomenclaturalCode.ICNAFP.name()); + } + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.config.ICdmPersistentSource#getBeanName() + */ + @Override + public String getBeanName() { + return beanName; + } + + @Override + public String getServer() { + return cdmSourceProperties.getProperty(CdmSourceProperties.SERVER.toString()); + } + + @Override + public int getPort() { + String port = CdmUtils.Nz(cdmSourceProperties.getProperty(CdmSourceProperties.PORT.toString())); + if (port == null || "".equals(port)){ + return -1; + }else{ + //TODO exception if non integer + return Integer.valueOf(port); + } + } + + @Override + public String getContextPath() { + return cdmSourceProperties.getProperty(CdmSourceProperties.CONTEXTPATH.toString()); + } + + @Override + public NomenclaturalCode getNomenclaturalCode() { + return NomenclaturalCode.fromString(cdmSourceProperties.getProperty(CdmSourceProperties.NOMENCLATURAL_CODE.toString())); + } + + public static CdmPersistentRemoteSource save(String strRemoteSourceName, ICdmRemoteSource remoteSource) throws CdmRemoteSourceException { + Properties cdmSourceProperties = new Properties(); + cdmSourceProperties.put(CdmSourceProperties.SERVER.toString(), remoteSource.getServer()); + cdmSourceProperties.put(CdmSourceProperties.PORT.toString(), String.valueOf(remoteSource.getPort())); + cdmSourceProperties.put(CdmSourceProperties.CONTEXTPATH.toString(), remoteSource.getContextPath()); + cdmSourceProperties.put(CdmSourceProperties.NOMENCLATURAL_CODE.toString(), remoteSource.getNomenclaturalCode().name()); + checkProperties(cdmSourceProperties); + return save(strRemoteSourceName, cdmSourceProperties); + } + + private static CdmPersistentRemoteSource save(String strRemoteSourceName,Properties cdmSourceProperties) throws CdmRemoteSourceException { + + //root + Element root = getBeansRoot(CdmPersistentSourceUtils.getCdmSourceInputStream()); + if (root == null){ + return null; + } + //bean + Element bean = XmlHelp.getFirstAttributedChild(root, "bean", "id", CdmPersistentSourceUtils.getBeanName(strRemoteSourceName, REMOTESOURCE_BEAN_POSTFIX)); + if (bean != null){ + bean.detach(); //delete old version if necessary + } + bean = insertXmlBean(root, CdmPersistentSourceUtils.getBeanName(strRemoteSourceName, REMOTESOURCE_BEAN_POSTFIX), CdmPersistentRemoteSource.class.getName()); + + + Properties props = cdmSourceProperties; + Enumeration e = props.propertyNames(); + + while (e.hasMoreElements()) { + String key = (String) e.nextElement(); + insertXmlValueProperty(bean, key, props.getProperty(key)); + } + + //save + saveToXml(root.getDocument(), + CdmPersistentSourceUtils.getResourceDirectory(), + CdmPersistentXMLSource.CDMSOURCE_FILE_NAME, + XmlHelp.prettyFormat ); + + return NewInstance(strRemoteSourceName) ; + + } + + /** + * @param strDataSourceName + * @param dataSource + * @param code + * @return + * the updated dataSource, null if not succesful + */ + public static CdmPersistentRemoteSource update(String strRemoteSourceName, + ICdmRemoteSource remoteSource) throws CdmRemoteSourceException { + CdmPersistentSourceUtils.delete(CdmPersistentSourceUtils.getBeanName(strRemoteSourceName,REMOTESOURCE_BEAN_POSTFIX)); + return save(strRemoteSourceName, remoteSource); + } + + /** + * Tests existing of the datsource in the according config file. + * @return true if a datasource with the given name exists in the according datasource config file. + */ + public static boolean exists(String strRemoteSourceName){ + Element bean = CdmPersistentSourceUtils.getCdmSourceBeanXml(strRemoteSourceName, REMOTESOURCE_BEAN_POSTFIX); + return (bean != null); + } + + /** + * Returns a list of all datasources stored in the datasource config file + * @return all existing data sources + * @throws CdmRemoteSourceException + */ + @SuppressWarnings("unchecked") + static public List getAllRemoteSources() throws CdmRemoteSourceException{ + List remoteSources = new ArrayList(); + + Element root = getBeansRoot(CdmPersistentSourceUtils.getCdmSourceInputStream()); + if (root == null){ + return null; + }else{ + List lsChildren = root.getChildren("bean", root.getNamespace()); + + for (Element elBean : lsChildren){ + String strId = elBean.getAttributeValue("id"); + if (strId != null && strId.endsWith(REMOTESOURCE_BEAN_POSTFIX)){ + strId = strId.replace(REMOTESOURCE_BEAN_POSTFIX, ""); + remoteSources.add(new CdmPersistentRemoteSource(strId)); + } + } + } + return remoteSources; + } + + @Override + public String toString(){ + if (getName() != null){ + return getName(); + }else{ + return null; + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSource.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSource.java new file mode 100644 index 000000000..9dbb34b3a --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSource.java @@ -0,0 +1,62 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.remote; + +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; + +/** + * Class representing a CDM remote source + * + */ +public class CdmRemoteSource extends CdmRemoteSourceBase { + + /** + * Creates a new instance of CdmRemoteSource + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + * @return + */ + public static CdmRemoteSource NewInstance() { + return new CdmRemoteSource(DEFAULT_NAME, DEFAULT_SERVER, DEFAULT_PORT, DEFAULT_CONTEXT_PATH, DEFAULT_NOMENCLATURAL_CODE); + } + + /** + * Creates a new instance of CdmRemoteSource + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + * @return + */ + public static CdmRemoteSource NewInstance(String name, String server, int port, String contextPath, NomenclaturalCode nomenclaturalCode) { + return new CdmRemoteSource(name, server, port, contextPath, nomenclaturalCode); + } + + /** + * Creates a new CdmRemoteSource + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + */ + private CdmRemoteSource(String name, String server, int port, String contextPath, NomenclaturalCode nomenclaturalCode) { + super(name, server, port, contextPath, nomenclaturalCode); + + } + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceBase.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceBase.java new file mode 100644 index 000000000..9fbb8d44d --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceBase.java @@ -0,0 +1,173 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.remote; + +import java.util.Map; + +import org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean; + +import eu.etaxonomy.cdm.api.service.IDatabaseService; +import eu.etaxonomy.cdm.config.CdmSource; +import eu.etaxonomy.cdm.config.CdmSourceException; +import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; + +/** + * Base class representing a CDM remote source. + * This class handles all the configuration relating to the remoting aspect of + * a CDM source. + * + */ +public class CdmRemoteSourceBase extends CdmSource implements ICdmRemoteSource { + + protected static final String DEFAULT_NAME = "default"; + protected static final String DEFAULT_SERVER = "127.0.0.1"; + protected static final int DEFAULT_PORT = 8080; + protected static final String DEFAULT_CONTEXT_PATH = ""; + protected static final NomenclaturalCode DEFAULT_NOMENCLATURAL_CODE = NomenclaturalCode.ICNAFP; + private String contextPath; + private String baseUrl; + + private IDatabaseService databaseService; + + /** + * Constructs a CdmRemoteSourceBase object with default values. + * + */ + protected CdmRemoteSourceBase() { + setName(DEFAULT_NAME); + setServer(DEFAULT_SERVER); + setPort(DEFAULT_PORT); + setContextPath(DEFAULT_CONTEXT_PATH); + setNomenclaturalCode(DEFAULT_NOMENCLATURAL_CODE); + } + + /** + * Constructs a CdmRemoteSourceBase + * + * @param name + * @param server + * @param port + * @param contextPath + * @param nomenclaturalCode + */ + public CdmRemoteSourceBase(String name, String server, int port, String contextPath, NomenclaturalCode nomenclaturalCode) { + setName(name); + setServer(server); + setPort(port); + setContextPath(contextPath); + setNomenclaturalCode(nomenclaturalCode); + initDatabaseConnection(); + } + + protected void initDatabaseConnection() { + if(getContextPath() == null || getContextPath().equals("")) { + setBaseUrl("http://" + getServer() + ":" + String.valueOf(getPort())); + } else { + setBaseUrl("http://" + getServer() + ":" + String.valueOf(getPort()) + "/" + getContextPath()); + } + // the database service needs to be initialised (before the spring + // application context initialsation) since it is required to + // to make queries related to the source database + HttpInvokerProxyFactoryBean proxy = new HttpInvokerProxyFactoryBean(); + proxy.setServiceInterface(IDatabaseService.class); + proxy.setServiceUrl(baseUrl + "/remoting/database.service"); + proxy.afterPropertiesSet(); + databaseService = (IDatabaseService) proxy.getObject(); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.remote.ICdmRemoteSource#getBaseUrl() + */ + @Override + public String getBaseUrl() { + return baseUrl; + } + + /** + * Sets the base url for the http-invoker services as listed in + * httpInvokerServicesClients.xml. + * e.g. for 'http://127.0.0.1:8080/col/remoting/common.service', the + * base url would be 'http://127.0.0.1:8080/col' + * + * @param baseUrl + */ + public void setBaseUrl(String baseUrl) { + this.baseUrl = baseUrl; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.remote.ICdmRemoteSource#getContextPath() + */ + @Override + public String getContextPath() { + return contextPath; + } + + /** + * Sets the context path. + * e.g. for 'http://127.0.0.1:8080/col/remoting/common.service', the + * context path would be 'col' + * + * @param contextPath + */ + public void setContextPath(String contextPath) { + this.contextPath = contextPath; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.config.CdmSource#getDbSchemaVersion() + */ + @Override + public String getDbSchemaVersion() throws CdmSourceException { + return databaseService.getDbSchemaVersion(); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.config.CdmSource#isDbEmpty() + */ + @Override + public boolean isDbEmpty() throws CdmSourceException { + return databaseService.isDbEmpty(); + + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.config.CdmSource#checkConnection() + */ + @Override + public boolean checkConnection() throws CdmSourceException { + // assuming that database service works implies + // the connection is up + // if no exception is thrown then we assume that the + // connection is up + // FIXME:Remoting is this really correct? + databaseService.getDbSchemaVersion(); + + return true; + } + + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.config.CdmSource#getConnectionMessage() + */ + @Override + public String getConnectionMessage() { + return "Conncting to Remote CDM Server " + getName(); + } + + + @Override + public Map getMetaDataMap() throws CdmSourceException { + return databaseService.getCdmMetadataMap(); + } + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceException.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceException.java new file mode 100644 index 000000000..3c2d7150e --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/CdmRemoteSourceException.java @@ -0,0 +1,19 @@ +/** + * + */ +package eu.etaxonomy.cdm.remote; + +/** + * + * + */ +public class CdmRemoteSourceException extends Exception { + + public CdmRemoteSourceException(String message) { + super(message); + } + + public CdmRemoteSourceException(Exception e) { + super(e); + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java new file mode 100644 index 000000000..f278c7468 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/cdm/remote/ICdmRemoteSource.java @@ -0,0 +1,34 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.remote; + +import eu.etaxonomy.cdm.config.ICdmSource; + +/** + * Interface representing a CDM remote source + * + */ +public interface ICdmRemoteSource extends ICdmSource { + + /** + * Gets the context path. + * e.g. for 'http://127.0.0.1:8080/col/remoting/common.service', the + * context path would be 'col' + */ + public String getContextPath(); + + /** + * Gets the base url for the http-invoker services as listed in + * httpInvokerServicesClients.xml. + * e.g. for 'http://127.0.0.1:8080/col/remoting/common.service', the + * base url would be 'http://127.0.0.1:8080/col' + */ + public String getBaseUrl(); + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java new file mode 100644 index 000000000..68f5ca01f --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/CdmRemotingException.java @@ -0,0 +1,14 @@ +package eu.etaxonomy.taxeditor.remoting; + +public class CdmRemotingException extends RuntimeException { + + /** + * + */ + private static final long serialVersionUID = -560332689478356360L; + + public CdmRemotingException(String message) { + super(message); + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/RemotingTestPluginActivator.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/RemotingTestPluginActivator.java new file mode 100644 index 000000000..65db6ba48 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/RemotingTestPluginActivator.java @@ -0,0 +1,30 @@ +package eu.etaxonomy.taxeditor.remoting; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class RemotingTestPluginActivator implements BundleActivator { + + private static BundleContext context; + + static BundleContext getContext() { + return context; + } + + /* + * (non-Javadoc) + * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext bundleContext) throws Exception { + RemotingTestPluginActivator.context = bundleContext; + } + + /* + * (non-Javadoc) + * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext bundleContext) throws Exception { + RemotingTestPluginActivator.context = null; + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmClientSessionException.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmClientSessionException.java new file mode 100644 index 000000000..e48017d8f --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmClientSessionException.java @@ -0,0 +1,8 @@ +package eu.etaxonomy.taxeditor.remoting.session; + +public class CdmClientSessionException extends RuntimeException { + + public CdmClientSessionException(String message) { + super(message); + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySession.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySession.java new file mode 100644 index 000000000..e5260247c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySession.java @@ -0,0 +1,59 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.remoting.session; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import eu.etaxonomy.cdm.api.cache.CdmTransientEntityCacher; +import eu.etaxonomy.cdm.model.common.CdmBase; + + +/** + * @author cmathew + * @date 20 Oct 2014 + * + */ + +public class CdmEntitySession { + + + private CdmEntitySessionManager cdmEntitySessionManager; + + private ISessionEventListener sessionOwner; + + private CdmTransientEntityCacher cdmTransientEntityCacher; + + CdmEntitySession(ISessionEventListener sessionOwner, CdmEntitySessionManager cdmEntitySessionManager) { + this.sessionOwner = sessionOwner; + this.cdmTransientEntityCacher = new CdmTransientEntityCacher(sessionOwner); + cdmEntitySessionManager.addToOwnerSessionMap(sessionOwner, this); + } + + public CdmTransientEntityCacher getCdmTransientEntityCacher() { + return cdmTransientEntityCacher; + } + + public CdmBase cachify(CdmBase cdmBase) { + return cdmTransientEntityCacher.load(cdmBase,true); + } + + public void setEntitiesAsLatest() { + List entities = cdmTransientEntityCacher.getAllEntities(); + for(CdmBase entity : entities) { + cdmEntitySessionManager.setEntityAsLatest(entity); + } + } + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManager.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManager.java new file mode 100644 index 000000000..817e430be --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/CdmEntitySessionManager.java @@ -0,0 +1,119 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.remoting.session; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; + +import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; + +import eu.etaxonomy.cdm.api.cache.CachedCommonServiceImpl; +import eu.etaxonomy.cdm.api.cache.CdmClientCacheException; +import eu.etaxonomy.cdm.api.cache.CdmClientCachingTest; +import eu.etaxonomy.cdm.api.cache.CdmTransientEntityCacher; +import eu.etaxonomy.cdm.model.common.CdmBase; + +/** + * @author cmathew + * @date 16 Oct 2014 + * + */ +@Component +public class CdmEntitySessionManager { + private static final Logger logger = Logger.getLogger(CdmEntitySessionManager.class); + + private Map ownerSessionMap = + new HashMap(); + +// private HashMap>> entitiesMap = +// new HashMap>>(); + + private CdmTransientEntityCacher latestEntityCacher = + new CdmTransientEntityCacher("latestEntityCacher"); + + private CdmEntitySession activeSession; + + public CdmEntitySession getActiveSession() { + return activeSession; + } + + public CdmTransientEntityCacher getActiveCdmTransientEntityCacher() { + return activeSession.getCdmTransientEntityCacher(); + } + + public CdmTransientEntityCacher getCdmTransientEntityCacher(ISessionEventListener sessionOwner) { + if(sessionOwner == null) { + throw new CdmClientSessionException("Session owner object cannot be null"); + } + CdmEntitySession session = ownerSessionMap.get(sessionOwner); + if(session == null) { + logger.info("No session exists for session owner with class : " + sessionOwner.getClass().getName()); + return null; + } + return session.getCdmTransientEntityCacher(); + } + + private CdmEntitySession newSession(ISessionEventListener sessionOwner, boolean setAsActive) { + CdmEntitySession session = ownerSessionMap.get(sessionOwner); + if(session == null) { + session = new CdmEntitySession(sessionOwner, this); + addToOwnerSessionMap(sessionOwner, session); + } + + if(setAsActive) { + activeSession = session; + } + return session; + } + + public void bind(ISessionEventListener sessionOwner) { + CdmEntitySession session = ownerSessionMap.get(sessionOwner); + if(session == null) { + session = newSession(sessionOwner,true); + } + activeSession = session; + } + + @SuppressWarnings("unchecked") + public T add(ISessionEventListener sessionOwner, T cdmBase) { + CdmEntitySession session = newSession(sessionOwner,true); + return (T)session.getCdmTransientEntityCacher().load(cdmBase,true); + } + + void addToOwnerSessionMap(ISessionEventListener owner, CdmEntitySession session) { + ownerSessionMap.put(owner, session); + } + +// void addToLinkedEntities(T cdmBase) { +// if(cdmBase == null) { +// return; +// } +// String id = CdmTransientEntityCacher.generateId(cdmBase); +// HashSet> linkedEntities = entitiesMap.get(id); +// if(linkedEntities == null) { +// linkedEntities = new HashSet>(); +// } +// linkedEntities.add(cdmBase); +// } + + void setEntityAsLatest(CdmBase cdmBase) { + latestEntityCacher.put(cdmBase); + } + + void promoteSessionEntitiesToLatest(ISessionEventListener owner) { + CdmEntitySession session = ownerSessionMap.get(owner); + if(session != null) { + session.setEntitiesAsLatest(); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/ISessionEventListener.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/ISessionEventListener.java new file mode 100644 index 000000000..fe008d059 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/eu/etaxonomy/taxeditor/remoting/session/ISessionEventListener.java @@ -0,0 +1,5 @@ +package eu.etaxonomy.taxeditor.remoting.session; + +public interface ISessionEventListener { + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java new file mode 100644 index 000000000..08c6dd59c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/collection/internal/AbstractPersistentCollection.java @@ -0,0 +1,1329 @@ + + +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008-2011, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.collection.internal; + +import java.io.Serializable; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; + +import javax.naming.NamingException; + +import org.hibernate.AssertionFailure; +import org.hibernate.HibernateException; +import org.hibernate.LazyInitializationException; +import org.hibernate.Session; +import org.hibernate.collection.spi.PersistentCollection; +import org.hibernate.engine.internal.ForeignKeys; +import org.hibernate.engine.spi.CollectionEntry; +import org.hibernate.engine.spi.EntityEntry; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.engine.spi.SessionImplementor; +import org.hibernate.engine.spi.Status; +import org.hibernate.engine.spi.TypedValue; +import org.hibernate.internal.SessionFactoryRegistry; +import org.hibernate.internal.util.MarkerObject; +import org.hibernate.internal.util.collections.EmptyIterator; +import org.hibernate.internal.util.collections.IdentitySet; +import org.hibernate.persister.collection.CollectionPersister; +import org.hibernate.persister.entity.EntityPersister; +import org.hibernate.pretty.MessageHelper; +import org.hibernate.type.Type; +import org.jboss.logging.Logger; + +import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration; +import eu.etaxonomy.cdm.api.cache.CachedCommonServiceImpl.CollectionField; +import eu.etaxonomy.cdm.api.cache.ICachedCommonService; + +/** + * Base class implementing {@link org.hibernate.collection.spi.PersistentCollection} + * + * @author Gavin King + */ +public abstract class AbstractPersistentCollection implements Serializable, PersistentCollection { + private static final Logger log = Logger.getLogger( AbstractPersistentCollection.class ); + + private static final long serialVersionUID = -7238232378593030571L; + + private transient SessionImplementor session; + private boolean initialized; + private transient List operationQueue; + private transient boolean directlyAccessible; + private transient boolean initializing; + private Object owner; + private int cachedSize = -1; + + private String role; + private Serializable key; + // collections detect changes made via their public interface and mark + // themselves as dirty as a performance optimization + private boolean dirty; + private Serializable storedSnapshot; + + private String sessionFactoryUuid; + private boolean specjLazyLoad = false; + + @Override + public final String getRole() { + return role; + } + + @Override + public final Serializable getKey() { + return key; + } + + @Override + public final boolean isUnreferenced() { + return role == null; + } + + @Override + public final boolean isDirty() { + return dirty; + } + + @Override + public final void clearDirty() { + dirty = false; + } + + @Override + public final void dirty() { + dirty = true; + } + + @Override + public final Serializable getStoredSnapshot() { + return storedSnapshot; + } + + //Careful: these methods do not initialize the collection. + + /** + * Is the initialized collection empty? + */ + @Override + public abstract boolean empty(); + + /** + * Called by any read-only method of the collection interface + */ + protected final void read() { + initialize( false ); + } + + /** + * Called by the {@link Collection#size} method + */ + @SuppressWarnings({"JavaDoc"}) + protected boolean readSize() { + if ( !initialized ) { + if ( cachedSize != -1 && !hasQueuedOperations() ) { + return true; + } + else { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + log.info("--> readSize, of " + getRole() + " with key " + getKey()); + read(); + } else { + boolean isExtraLazy = withTemporarySessionIfNeeded( + new LazyInitializationWork() { + @Override + public Boolean doWork() { + CollectionEntry entry = session.getPersistenceContext().getCollectionEntry( AbstractPersistentCollection.this ); + + if ( entry != null ) { + CollectionPersister persister = entry.getLoadedPersister(); + if ( persister.isExtraLazy() ) { + if ( hasQueuedOperations() ) { + session.flush(); + } + cachedSize = persister.getSize( entry.getLoadedKey(), session ); + return true; + } + else { + read(); + } + } + else{ + throwLazyInitializationExceptionIfNotConnected(); + } + return false; + } + } + ); + if ( isExtraLazy ) { + return true; + } + } + } + } + return false; + } + + public static interface LazyInitializationWork { + public T doWork(); + } + + private T withTemporarySessionIfNeeded(LazyInitializationWork lazyInitializationWork) { + SessionImplementor originalSession = null; + boolean isTempSession = false; + boolean isJTA = false; + + if ( session == null ) { + if ( specjLazyLoad ) { + session = openTemporarySessionForLoading(); + isTempSession = true; + } + else { + throwLazyInitializationException( "could not initialize proxy - no Session" ); + } + } + else if ( !session.isOpen() ) { + if ( specjLazyLoad ) { + originalSession = session; + session = openTemporarySessionForLoading(); + isTempSession = true; + } + else { + throwLazyInitializationException( "could not initialize proxy - the owning Session was closed" ); + } + } + else if ( !session.isConnected() ) { + if ( specjLazyLoad ) { + originalSession = session; + session = openTemporarySessionForLoading(); + isTempSession = true; + } + else { + throwLazyInitializationException( "could not initialize proxy - the owning Session is disconnected" ); + } + } + + if ( isTempSession ) { + // TODO: On the next major release, add an + // 'isJTA' or 'getTransactionFactory' method to Session. + isJTA = session.getTransactionCoordinator() + .getTransactionContext().getTransactionEnvironment() + .getTransactionFactory() + .compatibleWithJtaSynchronization(); + + if ( !isJTA ) { + // Explicitly handle the transactions only if we're not in + // a JTA environment. A lazy loading temporary session can + // be created even if a current session and transaction are + // open (ex: session.clear() was used). We must prevent + // multiple transactions. + ( ( Session) session ).beginTransaction(); + } + + session.getPersistenceContext().addUninitializedDetachedCollection( + session.getFactory().getCollectionPersister( getRole() ), + this + ); + } + + try { + return lazyInitializationWork.doWork(); + } + finally { + if ( isTempSession ) { + // make sure the just opened temp session gets closed! + try { + if ( !isJTA ) { + ( ( Session) session ).getTransaction().commit(); + } + ( (Session) session ).close(); + } + catch (Exception e) { + log.warn( "Unable to close temporary session used to load lazy collection associated to no session" ); + } + session = originalSession; + } + } + } + + private SessionImplementor openTemporarySessionForLoading() { + if ( sessionFactoryUuid == null ) { + throwLazyInitializationException( "SessionFactory UUID not known to create temporary Session for loading" ); + } + + SessionFactoryImplementor sf = (SessionFactoryImplementor) + SessionFactoryRegistry.INSTANCE.getSessionFactory( sessionFactoryUuid ); + return (SessionImplementor) sf.openSession(); + } + + protected Boolean readIndexExistence(final Object index) { + if ( !initialized ) { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + log.info("--> readIndexExistence, of " + getRole() + " with key " + getKey()); + read(); + } else { + Boolean extraLazyExistenceCheck = withTemporarySessionIfNeeded( + new LazyInitializationWork() { + @Override + public Boolean doWork() { + CollectionEntry entry = session.getPersistenceContext().getCollectionEntry( AbstractPersistentCollection.this ); + CollectionPersister persister = entry.getLoadedPersister(); + if ( persister.isExtraLazy() ) { + if ( hasQueuedOperations() ) { + session.flush(); + } + return persister.indexExists( entry.getLoadedKey(), index, session ); + } + else { + read(); + } + return null; + } + } + ); + if ( extraLazyExistenceCheck != null ) { + return extraLazyExistenceCheck; + } + } + } + return null; + } + + protected Boolean readElementExistence(final Object element) { + if ( !initialized ) { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + log.info("--> readElementExistence, of " + getRole() + " with key " + getKey()); + read(); + + } else { + Boolean extraLazyExistenceCheck = withTemporarySessionIfNeeded( + new LazyInitializationWork() { + @Override + public Boolean doWork() { + CollectionEntry entry = session.getPersistenceContext().getCollectionEntry( AbstractPersistentCollection.this ); + CollectionPersister persister = entry.getLoadedPersister(); + if ( persister.isExtraLazy() ) { + if ( hasQueuedOperations() ) { + session.flush(); + } + return persister.elementExists( entry.getLoadedKey(), element, session ); + } + else { + read(); + } + return null; + } + } + ); + if ( extraLazyExistenceCheck != null ) { + return extraLazyExistenceCheck; + } + } + } + return null; + } + + protected static final Object UNKNOWN = new MarkerObject( "UNKNOWN" ); + + protected Object readElementByIndex(final Object index) { + if ( !initialized ) { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + log.info("--> readElementByIndex, of " + getRole() + " with key " + getKey()); + read(); + + } else { + class ExtraLazyElementByIndexReader implements LazyInitializationWork { + private boolean isExtraLazy; + private Object element; + + @Override + public Object doWork() { + CollectionEntry entry = session.getPersistenceContext().getCollectionEntry( AbstractPersistentCollection.this ); + CollectionPersister persister = entry.getLoadedPersister(); + isExtraLazy = persister.isExtraLazy(); + if ( isExtraLazy ) { + if ( hasQueuedOperations() ) { + session.flush(); + } + element = persister.getElementByIndex( entry.getLoadedKey(), index, session, owner ); + } + else { + read(); + } + return null; + } + } + + ExtraLazyElementByIndexReader reader = new ExtraLazyElementByIndexReader(); + //noinspection unchecked + withTemporarySessionIfNeeded( reader ); + if ( reader.isExtraLazy ) { + return reader.element; + } + } + } + return UNKNOWN; + + } + + protected int getCachedSize() { + return cachedSize; + } + + private boolean isConnectedToSession() { + return session != null && + session.isOpen() && + session.getPersistenceContext().containsCollection( this ); + } + + /** + * Called by any writer method of the collection interface + */ + protected final void write() { + initialize( true ); + dirty(); + } + + /** + * Is this collection in a state that would allow us to + * "queue" operations? + */ + @SuppressWarnings({"JavaDoc"}) + protected boolean isOperationQueueEnabled() { + return !initialized && + isConnectedToSession() && + isInverseCollection(); + } + + /** + * Is this collection in a state that would allow us to + * "queue" puts? This is a special case, because of orphan + * delete. + */ + @SuppressWarnings({"JavaDoc"}) + protected boolean isPutQueueEnabled() { + return !initialized && + isConnectedToSession() && + isInverseOneToManyOrNoOrphanDelete(); + } + + /** + * Is this collection in a state that would allow us to + * "queue" clear? This is a special case, because of orphan + * delete. + */ + @SuppressWarnings({"JavaDoc"}) + protected boolean isClearQueueEnabled() { + return !initialized && + isConnectedToSession() && + isInverseCollectionNoOrphanDelete(); + } + + /** + * Is this the "inverse" end of a bidirectional association? + */ + @SuppressWarnings({"JavaDoc"}) + private boolean isInverseCollection() { + CollectionEntry ce = session.getPersistenceContext().getCollectionEntry( this ); + return ce != null && ce.getLoadedPersister().isInverse(); + } + + /** + * Is this the "inverse" end of a bidirectional association with + * no orphan delete enabled? + */ + @SuppressWarnings({"JavaDoc"}) + private boolean isInverseCollectionNoOrphanDelete() { + CollectionEntry ce = session.getPersistenceContext().getCollectionEntry( this ); + return ce != null && + ce.getLoadedPersister().isInverse() && + !ce.getLoadedPersister().hasOrphanDelete(); + } + + /** + * Is this the "inverse" end of a bidirectional one-to-many, or + * of a collection with no orphan delete? + */ + @SuppressWarnings({"JavaDoc"}) + private boolean isInverseOneToManyOrNoOrphanDelete() { + CollectionEntry ce = session.getPersistenceContext().getCollectionEntry( this ); + return ce != null && ce.getLoadedPersister().isInverse() && ( + ce.getLoadedPersister().isOneToMany() || + !ce.getLoadedPersister().hasOrphanDelete() + ); + } + + /** + * Queue an addition + */ + @SuppressWarnings({"JavaDoc"}) + protected final void queueOperation(DelayedOperation operation) { + if ( operationQueue == null ) { + operationQueue = new ArrayList( 10 ); + } + operationQueue.add( operation ); + dirty = true; //needed so that we remove this collection from the second-level cache + } + + /** + * After reading all existing elements from the database, + * add the queued elements to the underlying collection. + */ + protected final void performQueuedOperations() { + for ( DelayedOperation operation : operationQueue ) { + operation.operate(); + } + } + + /** + * After flushing, re-init snapshot state. + */ + @Override + public void setSnapshot(Serializable key, String role, Serializable snapshot) { + this.key = key; + this.role = role; + this.storedSnapshot = snapshot; + } + + /** + * After flushing, clear any "queued" additions, since the + * database state is now synchronized with the memory state. + */ + @Override + public void postAction() { + operationQueue = null; + cachedSize = -1; + clearDirty(); + } + + /** + * Not called by Hibernate, but used by non-JDK serialization, + * eg. SOAP libraries. + */ + public AbstractPersistentCollection() { + } + + protected AbstractPersistentCollection(SessionImplementor session) { + this.session = session; + } + + /** + * return the user-visible collection (or array) instance + */ + @Override + public Object getValue() { + return this; + } + + /** + * Called just before reading any rows from the JDBC result set + */ + @Override + public void beginRead() { + // override on some subclasses + initializing = true; + } + + /** + * Called after reading all rows from the JDBC result set + */ + @Override + public boolean endRead() { + //override on some subclasses + return afterInitialize(); + } + + @Override + public boolean afterInitialize() { + setInitialized(); + //do this bit after setting initialized to true or it will recurse + if ( operationQueue != null ) { + performQueuedOperations(); + operationQueue = null; + cachedSize = -1; + return false; + } + else { + return true; + } + } + + /** + * Initialize the collection, if possible, wrapping any exceptions + * in a runtime exception + * + * @param writing currently obsolete + * + * @throws LazyInitializationException if we cannot initialize + */ + protected final void initialize(final boolean writing) { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + remoteInitialize(); + } + + if ( initialized ) { + return; + } + + + withTemporarySessionIfNeeded( + new LazyInitializationWork() { + @Override + public Object doWork() { + session.initializeCollection( AbstractPersistentCollection.this, writing ); + return null; + } + } + ); + } + + private void throwLazyInitializationExceptionIfNotConnected() { + if ( !isConnectedToSession() ) { + throwLazyInitializationException( "no session or session was closed" ); + } + if ( !session.isConnected() ) { + throwLazyInitializationException( "session is disconnected" ); + } + } + + private void throwLazyInitializationException(String message) { + throw new LazyInitializationException( + "failed to lazily initialize a collection" + + (role == null ? "" : " of role: " + role) + + ", " + message + ); + } + + protected final void setInitialized() { + this.initializing = false; + this.initialized = true; + } + + protected final void setDirectlyAccessible(boolean directlyAccessible) { + this.directlyAccessible = directlyAccessible; + } + + /** + * Could the application possibly have a direct reference to + * the underlying collection implementation? + */ + @Override + public boolean isDirectlyAccessible() { + return directlyAccessible; + } + + /** + * Disassociate this collection from the given session. + * + * @return true if this was currently associated with the given session + */ + @Override + public final boolean unsetSession(SessionImplementor currentSession) { + prepareForPossibleSpecialSpecjInitialization(); + if ( currentSession == this.session ) { + this.session = null; + return true; + } + else { + return false; + } + } + + protected void prepareForPossibleSpecialSpecjInitialization() { + if ( session != null ) { + specjLazyLoad = session.getFactory().getSettings().isInitializeLazyStateOutsideTransactionsEnabled(); + + if ( specjLazyLoad && sessionFactoryUuid == null ) { + try { + sessionFactoryUuid = (String) session.getFactory().getReference().get( "uuid" ).getContent(); + } + catch (NamingException e) { + //not much we can do if this fails... + } + } + } + } + + + /** + * Associate the collection with the given session. + * + * @return false if the collection was already associated with the session + * + * @throws HibernateException if the collection was already associated + * with another open session + */ + @Override + public final boolean setCurrentSession(SessionImplementor session) throws HibernateException { + if ( session == this.session ) { + return false; + } + else { + if ( isConnectedToSession() ) { + CollectionEntry ce = session.getPersistenceContext().getCollectionEntry( this ); + if ( ce == null ) { + throw new HibernateException( + "Illegal attempt to associate a collection with two open sessions" + ); + } + else { + throw new HibernateException( + "Illegal attempt to associate a collection with two open sessions: " + + MessageHelper.collectionInfoString( + ce.getLoadedPersister(), this, + ce.getLoadedKey(), session + ) + ); + } + } + else { + this.session = session; + return true; + } + } + } + + /** + * Do we need to completely recreate this collection when it changes? + */ + @Override + public boolean needsRecreate(CollectionPersister persister) { + return false; + } + + /** + * To be called internally by the session, forcing + * immediate initialization. + */ + @Override + public final void forceInitialization() throws HibernateException { + if ( !initialized ) { + if ( initializing ) { + throw new AssertionFailure( "force initialize loading collection" ); + } + if ( session == null ) { + throw new HibernateException( "collection is not associated with any session" ); + } + if ( !session.isConnected() ) { + throw new HibernateException( "disconnected session" ); + } + session.initializeCollection( this, false ); + } + } + + + /** + * Get the current snapshot from the session + */ + @SuppressWarnings({"JavaDoc"}) + protected final Serializable getSnapshot() { + return session.getPersistenceContext().getSnapshot( this ); + } + + /** + * Is this instance initialized? + */ + @Override + public final boolean wasInitialized() { + return initialized; + } + + @Override + public boolean isRowUpdatePossible() { + return true; + } + + /** + * Does this instance have any "queued" additions? + */ + @Override + public final boolean hasQueuedOperations() { + return operationQueue != null; + } + + /** + * Iterate the "queued" additions + */ + @Override + public final Iterator queuedAdditionIterator() { + if ( hasQueuedOperations() ) { + return new Iterator() { + int i = 0; + + @Override + public Object next() { + return operationQueue.get( i++ ).getAddedInstance(); + } + + @Override + public boolean hasNext() { + return i < operationQueue.size(); + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } + }; + } + else { + return EmptyIterator.INSTANCE; + } + } + + /** + * Iterate the "queued" additions + */ + @Override + @SuppressWarnings({"unchecked"}) + public final Collection getQueuedOrphans(String entityName) { + if ( hasQueuedOperations() ) { + Collection additions = new ArrayList( operationQueue.size() ); + Collection removals = new ArrayList( operationQueue.size() ); + for ( DelayedOperation operation : operationQueue ) { + additions.add( operation.getAddedInstance() ); + removals.add( operation.getOrphan() ); + } + return getOrphans( removals, additions, entityName, session ); + } + else { + return Collections.EMPTY_LIST; + } + } + + /** + * Called before inserting rows, to ensure that any surrogate keys + * are fully generated + */ + @Override + public void preInsert(CollectionPersister persister) throws HibernateException { + } + + /** + * Called after inserting a row, to fetch the natively generated id + */ + @Override + public void afterRowInsert(CollectionPersister persister, Object entry, int i) throws HibernateException { + } + + /** + * get all "orphaned" elements + */ + @Override + public abstract Collection getOrphans(Serializable snapshot, String entityName) throws HibernateException; + + /** + * Get the current session + */ + @SuppressWarnings({"JavaDoc"}) + public final SessionImplementor getSession() { + return session; + } + + protected final class IteratorProxy implements Iterator { + protected final Iterator itr; + + public IteratorProxy(Iterator itr) { + this.itr = itr; + } + + @Override + public boolean hasNext() { + return itr.hasNext(); + } + + @Override + public Object next() { + return itr.next(); + } + + @Override + public void remove() { + write(); + itr.remove(); + } + + } + + protected final class ListIteratorProxy implements ListIterator { + protected final ListIterator itr; + + public ListIteratorProxy(ListIterator itr) { + this.itr = itr; + } + + @Override + @SuppressWarnings({"unchecked"}) + public void add(Object o) { + write(); + itr.add( o ); + } + + @Override + public boolean hasNext() { + return itr.hasNext(); + } + + @Override + public boolean hasPrevious() { + return itr.hasPrevious(); + } + + @Override + public Object next() { + return itr.next(); + } + + @Override + public int nextIndex() { + return itr.nextIndex(); + } + + @Override + public Object previous() { + return itr.previous(); + } + + @Override + public int previousIndex() { + return itr.previousIndex(); + } + + @Override + public void remove() { + write(); + itr.remove(); + } + + @Override + @SuppressWarnings({"unchecked"}) + public void set(Object o) { + write(); + itr.set( o ); + } + + } + + protected class SetProxy implements java.util.Set { + protected final Collection set; + + public SetProxy(Collection set) { + this.set = set; + } + + @Override + @SuppressWarnings({"unchecked"}) + public boolean add(Object o) { + write(); + return set.add( o ); + } + + @Override + @SuppressWarnings({"unchecked"}) + public boolean addAll(Collection c) { + write(); + return set.addAll( c ); + } + + @Override + public void clear() { + write(); + set.clear(); + } + + @Override + public boolean contains(Object o) { + return set.contains( o ); + } + + @Override + public boolean containsAll(Collection c) { + return set.containsAll( c ); + } + + @Override + public boolean isEmpty() { + return set.isEmpty(); + } + + @Override + public Iterator iterator() { + return new IteratorProxy( set.iterator() ); + } + + @Override + public boolean remove(Object o) { + write(); + return set.remove( o ); + } + + @Override + public boolean removeAll(Collection c) { + write(); + return set.removeAll( c ); + } + + @Override + public boolean retainAll(Collection c) { + write(); + return set.retainAll( c ); + } + + @Override + public int size() { + return set.size(); + } + + @Override + public Object[] toArray() { + return set.toArray(); + } + + @Override + @SuppressWarnings({"unchecked"}) + public Object[] toArray(Object[] array) { + return set.toArray( array ); + } + + } + + protected final class ListProxy implements java.util.List { + protected final List list; + + public ListProxy(List list) { + this.list = list; + } + + @Override + @SuppressWarnings({"unchecked"}) + public void add(int index, Object value) { + write(); + list.add( index, value ); + } + + @Override + @SuppressWarnings({"unchecked"}) + public boolean add(Object o) { + write(); + return list.add( o ); + } + + @Override + @SuppressWarnings({"unchecked"}) + public boolean addAll(Collection c) { + write(); + return list.addAll( c ); + } + + @Override + @SuppressWarnings({"unchecked"}) + public boolean addAll(int i, Collection c) { + write(); + return list.addAll( i, c ); + } + + @Override + public void clear() { + write(); + list.clear(); + } + + @Override + public boolean contains(Object o) { + return list.contains( o ); + } + + @Override + public boolean containsAll(Collection c) { + return list.containsAll( c ); + } + + @Override + public Object get(int i) { + return list.get( i ); + } + + @Override + public int indexOf(Object o) { + return list.indexOf( o ); + } + + @Override + public boolean isEmpty() { + return list.isEmpty(); + } + + @Override + public Iterator iterator() { + return new IteratorProxy( list.iterator() ); + } + + @Override + public int lastIndexOf(Object o) { + return list.lastIndexOf( o ); + } + + @Override + public ListIterator listIterator() { + return new ListIteratorProxy( list.listIterator() ); + } + + @Override + public ListIterator listIterator(int i) { + return new ListIteratorProxy( list.listIterator( i ) ); + } + + @Override + public Object remove(int i) { + write(); + return list.remove( i ); + } + + @Override + public boolean remove(Object o) { + write(); + return list.remove( o ); + } + + @Override + public boolean removeAll(Collection c) { + write(); + return list.removeAll( c ); + } + + @Override + public boolean retainAll(Collection c) { + write(); + return list.retainAll( c ); + } + + @Override + @SuppressWarnings({"unchecked"}) + public Object set(int i, Object o) { + write(); + return list.set( i, o ); + } + + @Override + public int size() { + return list.size(); + } + + @Override + public List subList(int i, int j) { + return list.subList( i, j ); + } + + @Override + public Object[] toArray() { + return list.toArray(); + } + + @Override + @SuppressWarnings({"unchecked"}) + public Object[] toArray(Object[] array) { + return list.toArray( array ); + } + + } + + /** + * Contract for operations which are part of a collection's operation queue. + */ + protected interface DelayedOperation { + public void operate(); + + public Object getAddedInstance(); + + public Object getOrphan(); + } + + /** + * Given a collection of entity instances that used to + * belong to the collection, and a collection of instances + * that currently belong, return a collection of orphans + */ + @SuppressWarnings({"JavaDoc", "unchecked"}) + protected static Collection getOrphans( + Collection oldElements, + Collection currentElements, + String entityName, + SessionImplementor session) throws HibernateException { + + // short-circuit(s) + if ( currentElements.size() == 0 ) { + return oldElements; // no new elements, the old list contains only Orphans + } + if ( oldElements.size() == 0 ) { + return oldElements; // no old elements, so no Orphans neither + } + + final EntityPersister entityPersister = session.getFactory().getEntityPersister( entityName ); + final Type idType = entityPersister.getIdentifierType(); + + // create the collection holding the Orphans + Collection res = new ArrayList(); + + // collect EntityIdentifier(s) of the *current* elements - add them into a HashSet for fast access + java.util.Set currentIds = new HashSet(); + java.util.Set currentSaving = new IdentitySet(); + for ( Object current : currentElements ) { + if ( current != null && ForeignKeys.isNotTransient( entityName, current, null, session ) ) { + EntityEntry ee = session.getPersistenceContext().getEntry( current ); + if ( ee != null && ee.getStatus() == Status.SAVING ) { + currentSaving.add( current ); + } + else { + Serializable currentId = ForeignKeys.getEntityIdentifierIfNotUnsaved( + entityName, + current, + session + ); + currentIds.add( new TypedValue( idType, currentId, entityPersister.getEntityMode() ) ); + } + } + } + + // iterate over the *old* list + for ( Object old : oldElements ) { + if ( !currentSaving.contains( old ) ) { + Serializable oldId = ForeignKeys.getEntityIdentifierIfNotUnsaved( entityName, old, session ); + if ( !currentIds.contains( new TypedValue( idType, oldId, entityPersister.getEntityMode() ) ) ) { + res.add( old ); + } + } + } + + return res; + } + + public static void identityRemove( + Collection list, + Object object, + String entityName, + SessionImplementor session) throws HibernateException { + + if ( object != null && ForeignKeys.isNotTransient( entityName, object, null, session ) ) { + final EntityPersister entityPersister = session.getFactory().getEntityPersister( entityName ); + Type idType = entityPersister.getIdentifierType(); + + Serializable idOfCurrent = ForeignKeys.getEntityIdentifierIfNotUnsaved( entityName, object, session ); + Iterator itr = list.iterator(); + while ( itr.hasNext() ) { + Serializable idOfOld = ForeignKeys.getEntityIdentifierIfNotUnsaved( entityName, itr.next(), session ); + if ( idType.isEqual( idOfCurrent, idOfOld, session.getFactory() ) ) { + itr.remove(); + break; + } + } + + } + } + + @Override + public Object getIdentifier(Object entry, int i) { + throw new UnsupportedOperationException(); + } + + @Override + public Object getOwner() { + return owner; + } + + @Override + public void setOwner(Object owner) { + this.owner = owner; + } + + /** ------ Below is section of code which makes remote service calls ----- */ + // The affected methods are : + // initialize(final boolean writing) + // readSize() + // readIndexExistence(final Object index) + // readElementExistence(final Object element) + // readElementByIndex(final Object index) + + private static CdmApplicationRemoteConfiguration configuration; + private static boolean remoting = false; + + public static void setConfiguration(CdmApplicationRemoteConfiguration conf) { + remoting = true; + configuration = conf; + } + + + private void remoteInitialize() { + + if (getOwner() != null && !initialized) { + + try { + String role = getRole(); + String fieldName = role.substring(role.lastIndexOf(".") + 1); + log.info("--> Remote Lazy Initializing Collection " + getRole() + " , key : " + getKey() + " , field : " + fieldName); + Object owner = getOwner(); + + if(configuration == null) { + throw new HibernateException("CdmApplicationRemoteConfiguration not initialized (null)"); + } + ICachedCommonService cachedCommonService = configuration.getCachedCommonService(); + if(cachedCommonService == null) { + throw new HibernateException("commonService not initialized (null)"); + } + + PersistentCollection col = cachedCommonService.initializeCollection(this); + afterInitialize(); + + Class clazz = getClass(); + if (clazz != null) { + CollectionField cf = cachedCommonService.getCollectionField(col); + cachedCommonService.updatePersistentCollection(cf); + Field field = clazz.getDeclaredField(cf.getType().toString()); + field.setAccessible(true); + field.set(this, cf.getCollection()); + } + } catch (Exception ex) { + log.warn(ex.getMessage()); + } + } + } + + + +} + diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java b/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java new file mode 100644 index 000000000..5c1135453 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/java/org/hibernate/proxy/AbstractLazyInitializer.java @@ -0,0 +1,457 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008-2011, Red Hat Inc. or third-party contributors as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Inc. + * + * This copyrighted material is made available to anyone wishing to use, modify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.proxy; + +import java.io.Serializable; + +import javax.naming.NamingException; + +import org.hibernate.HibernateException; +import org.hibernate.LazyInitializationException; +import org.hibernate.Session; +import org.hibernate.SessionException; +import org.hibernate.TransientObjectException; +import org.hibernate.engine.spi.EntityKey; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.engine.spi.SessionImplementor; +import org.hibernate.internal.SessionFactoryRegistry; +import org.hibernate.persister.entity.EntityPersister; +import org.jboss.logging.Logger; + +import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration; +import eu.etaxonomy.cdm.api.cache.ICachedCommonService; +import eu.etaxonomy.cdm.model.common.CdmBase; + +/** + * Convenience base class for lazy initialization handlers. Centralizes the basic plumbing of doing lazy + * initialization freeing subclasses to acts as essentially adapters to their intended entity mode and/or + * proxy generation strategy. + * + * @author Gavin King + */ +public abstract class AbstractLazyInitializer implements LazyInitializer { + private static final Logger log = Logger.getLogger( AbstractLazyInitializer.class ); + + private String entityName; + private Serializable id; + private Object target; + private boolean initialized; + private boolean readOnly; + private boolean unwrap; + private transient SessionImplementor session; + private Boolean readOnlyBeforeAttachedToSession; + + private String sessionFactoryUuid; + private boolean specjLazyLoad = false; + + /** + * For serialization from the non-pojo initializers (HHH-3309) + */ + protected AbstractLazyInitializer() { + } + + /** + * Main constructor. + * + * @param entityName The name of the entity being proxied. + * @param id The identifier of the entity being proxied. + * @param session The session owning the proxy. + */ + protected AbstractLazyInitializer(String entityName, Serializable id, SessionImplementor session) { + this.entityName = entityName; + this.id = id; + // initialize other fields depending on session state + if ( session == null ) { + unsetSession(); + } + else { + setSession( session ); + } + } + + @Override + public final String getEntityName() { + return entityName; + } + + @Override + public final Serializable getIdentifier() { + return id; + } + + @Override + public final void setIdentifier(Serializable id) { + this.id = id; + } + + @Override + public final boolean isUninitialized() { + return !initialized; + } + + @Override + public final SessionImplementor getSession() { + return session; + } + + @Override + public final void setSession(SessionImplementor s) throws HibernateException { + if ( s != session ) { + // check for s == null first, since it is least expensive + if ( s == null ) { + unsetSession(); + } + else if ( isConnectedToSession() ) { + //TODO: perhaps this should be some other RuntimeException... + throw new HibernateException( "illegally attempted to associate a proxy with two open Sessions" ); + } + else { + // s != null + session = s; + if ( readOnlyBeforeAttachedToSession == null ) { + // use the default read-only/modifiable setting + final EntityPersister persister = s.getFactory().getEntityPersister( entityName ); + setReadOnly( s.getPersistenceContext().isDefaultReadOnly() || !persister.isMutable() ); + } + else { + // use the read-only/modifiable setting indicated during deserialization + setReadOnly( readOnlyBeforeAttachedToSession.booleanValue() ); + readOnlyBeforeAttachedToSession = null; + } + } + } + } + + private static EntityKey generateEntityKeyOrNull(Serializable id, SessionImplementor s, String entityName) { + if ( id == null || s == null || entityName == null ) { + return null; + } + return s.generateEntityKey( id, s.getFactory().getEntityPersister( entityName ) ); + } + + @Override + public final void unsetSession() { + prepareForPossibleSpecialSpecjInitialization(); + session = null; + readOnly = false; + readOnlyBeforeAttachedToSession = null; + } + + @Override + public final void initialize() throws HibernateException { + // In remoting we are sure that session is null + // both when using property paths and switching off conversations + if(session == null && remoting) { + remoteInitialize(); + } + if ( !initialized ) { + if ( specjLazyLoad ) { + specialSpecjInitialization(); + } + else if ( session == null ) { + throw new LazyInitializationException( "could not initialize proxy - no Session" ); + } + else if ( !session.isOpen() ) { + throw new LazyInitializationException( "could not initialize proxy - the owning Session was closed" ); + } + else if ( !session.isConnected() ) { + throw new LazyInitializationException( "could not initialize proxy - the owning Session is disconnected" ); + } + else { + target = session.immediateLoad( entityName, id ); + initialized = true; + checkTargetState(); + } + } + else { + checkTargetState(); + } + } + + protected void specialSpecjInitialization() { + if ( session == null ) { + //we have a detached collection thats set to null, reattach + if ( sessionFactoryUuid == null ) { + throw new LazyInitializationException( "could not initialize proxy - no Session" ); + } + try { + SessionFactoryImplementor sf = (SessionFactoryImplementor) + SessionFactoryRegistry.INSTANCE.getSessionFactory( sessionFactoryUuid ); + SessionImplementor session = (SessionImplementor) sf.openSession(); + + // TODO: On the next major release, add an + // 'isJTA' or 'getTransactionFactory' method to Session. + boolean isJTA = session.getTransactionCoordinator() + .getTransactionContext().getTransactionEnvironment() + .getTransactionFactory() + .compatibleWithJtaSynchronization(); + + if ( !isJTA ) { + // Explicitly handle the transactions only if we're not in + // a JTA environment. A lazy loading temporary session can + // be created even if a current session and transaction are + // open (ex: session.clear() was used). We must prevent + // multiple transactions. + ( ( Session) session ).beginTransaction(); + } + + try { + target = session.immediateLoad( entityName, id ); + } + finally { + // make sure the just opened temp session gets closed! + try { + if ( !isJTA ) { + ( ( Session) session ).getTransaction().commit(); + } + ( (Session) session ).close(); + } + catch (Exception e) { + log.warn( "Unable to close temporary session used to load lazy proxy associated to no session" ); + } + } + initialized = true; + checkTargetState(); + } + catch (Exception e) { + e.printStackTrace(); + throw new LazyInitializationException( e.getMessage() ); + } + } + else if ( session.isOpen() && session.isConnected() ) { + target = session.immediateLoad( entityName, id ); + initialized = true; + checkTargetState(); + } + else { + throw new LazyInitializationException( "could not initialize proxy - Session was closed or disced" ); + } + } + + protected void prepareForPossibleSpecialSpecjInitialization() { + if ( session != null ) { + specjLazyLoad = session.getFactory().getSettings().isInitializeLazyStateOutsideTransactionsEnabled(); + + if ( specjLazyLoad && sessionFactoryUuid == null ) { + try { + sessionFactoryUuid = (String) session.getFactory().getReference().get( "uuid" ).getContent(); + } + catch (NamingException e) { + //not much we can do if this fails... + } + } + } + } + + private void checkTargetState() { + if ( !unwrap ) { + if ( target == null ) { + getSession().getFactory().getEntityNotFoundDelegate().handleEntityNotFound( entityName, id ); + } + } + } + + /** + * Getter for property 'connectedToSession'. + * + * @return Value for property 'connectedToSession'. + */ + protected final boolean isConnectedToSession() { + return getProxyOrNull() != null; + } + + private Object getProxyOrNull() { + final EntityKey entityKey = generateEntityKeyOrNull( getIdentifier(), session, getEntityName() ); + if ( entityKey != null && session != null && session.isOpen() ) { + return session.getPersistenceContext().getProxy( entityKey ); + } + return null; + } + + @Override + public final Object getImplementation() { + initialize(); + return target; + } + + @Override + public final void setImplementation(Object target) { + this.target = target; + initialized = true; + } + + @Override + public final Object getImplementation(SessionImplementor s) throws HibernateException { + final EntityKey entityKey = generateEntityKeyOrNull( getIdentifier(), s, getEntityName() ); + return (entityKey == null ? null : s.getPersistenceContext().getEntity( entityKey )); + } + + /** + * Getter for property 'target'. + *

+ * Same as {@link #getImplementation()} except that this method will not force initialization. + * + * @return Value for property 'target'. + */ + protected final Object getTarget() { + return target; + } + + @Override + public final boolean isReadOnlySettingAvailable() { + return (session != null && !session.isClosed()); + } + + private void errorIfReadOnlySettingNotAvailable() { + if ( session == null ) { + throw new TransientObjectException( + "Proxy is detached (i.e, session is null). The read-only/modifiable setting is only accessible when the proxy is associated with an open session." + ); + } + if ( session.isClosed() ) { + throw new SessionException( + "Session is closed. The read-only/modifiable setting is only accessible when the proxy is associated with an open session." + ); + } + } + + @Override + public final boolean isReadOnly() { + errorIfReadOnlySettingNotAvailable(); + return readOnly; + } + + @Override + public final void setReadOnly(boolean readOnly) { + errorIfReadOnlySettingNotAvailable(); + // only update if readOnly is different from current setting + if ( this.readOnly != readOnly ) { + final EntityPersister persister = session.getFactory().getEntityPersister( entityName ); + if ( !persister.isMutable() && !readOnly ) { + throw new IllegalStateException( "cannot make proxies for immutable entities modifiable" ); + } + this.readOnly = readOnly; + if ( initialized ) { + EntityKey key = generateEntityKeyOrNull( getIdentifier(), session, getEntityName() ); + if ( key != null && session.getPersistenceContext().containsEntity( key ) ) { + session.getPersistenceContext().setReadOnly( target, readOnly ); + } + } + } + } + + /** + * Get the read-only/modifiable setting that should be put in affect when it is + * attached to a session. + *

+ * This method should only be called during serialization when read-only/modifiable setting + * is not available (i.e., isReadOnlySettingAvailable() == false) + * + * @return null, if the default setting should be used; + * true, for read-only; + * false, for modifiable + * + * @throws IllegalStateException if isReadOnlySettingAvailable() == true + */ + protected final Boolean isReadOnlyBeforeAttachedToSession() { + if ( isReadOnlySettingAvailable() ) { + throw new IllegalStateException( + "Cannot call isReadOnlyBeforeAttachedToSession when isReadOnlySettingAvailable == true" + ); + } + return readOnlyBeforeAttachedToSession; + } + + /** + * Set the read-only/modifiable setting that should be put in affect when it is + * attached to a session. + *

+ * This method should only be called during deserialization, before associating + * the proxy with a session. + * + * @param readOnlyBeforeAttachedToSession, the read-only/modifiable setting to use when + * associated with a session; null indicates that the default should be used. + * + * @throws IllegalStateException if isReadOnlySettingAvailable() == true + */ + /* package-private */ + final void setReadOnlyBeforeAttachedToSession(Boolean readOnlyBeforeAttachedToSession) { + if ( isReadOnlySettingAvailable() ) { + throw new IllegalStateException( + "Cannot call setReadOnlyBeforeAttachedToSession when isReadOnlySettingAvailable == true" + ); + } + this.readOnlyBeforeAttachedToSession = readOnlyBeforeAttachedToSession; + } + + @Override + public boolean isUnwrap() { + return unwrap; + } + + @Override + public void setUnwrap(boolean unwrap) { + this.unwrap = unwrap; + } + + /** Below is section of code which makes remote service calls */ + + private static CdmApplicationRemoteConfiguration configuration; + private static boolean remoting = false; + + public static void setConfiguration(CdmApplicationRemoteConfiguration conf) { + remoting = true; + configuration = conf; + } + + + private void remoteInitialize() { + + if(!initialized) { + int classid = ((Integer)getIdentifier()).intValue(); + log.info("--> Remote Lazy Initializing Object " + getEntityName() + " with id " + classid); + Class clazz; + try { + clazz = Class.forName(getEntityName()); + } catch (ClassNotFoundException e) { + throw new HibernateException("Class for " + getEntityName() + " not found", e); + } + if(configuration == null) { + throw new HibernateException("CdmApplicationRemoteConfiguration not initialized (null)"); + } + ICachedCommonService cachedCommonService = configuration.getCachedCommonService(); + if(cachedCommonService == null) { + throw new HibernateException("commonService not initialized (null)"); + } + + CdmBase cdmBase = cachedCommonService.find(clazz,classid); + setImplementation(cdmBase); + + } + } + + public static boolean isInitialized(AbstractLazyInitializer obj) { + return obj.initialized; + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/cdmlib-ehcache.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/cdmlib-ehcache.xml new file mode 100644 index 000000000..7ab604c4d --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/cdmlib-ehcache.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/.svnignore b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/.svnignore new file mode 100644 index 000000000..a09ae971f --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/.svnignore @@ -0,0 +1 @@ +cdmlib-remote-webapp.war diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/jetty-runner-9.2.3.v20140905.jar b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/jetty-runner-9.2.3.v20140905.jar new file mode 100644 index 000000000..91c88d6cd Binary files /dev/null and b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/jetty-runner-9.2.3.v20140905.jar differ diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/start-9.2.3.v20140905.jar b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/start-9.2.3.v20140905.jar new file mode 100644 index 000000000..ef2faaf2a Binary files /dev/null and b/eu.etaxonomy.taxeditor.remoting/src/main/resources/etc/jetty/start-9.2.3.v20140905.jar differ diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/config.properties b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/config.properties new file mode 100644 index 000000000..f706a6e3b --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/config.properties @@ -0,0 +1,2 @@ +serverName=localhost:8080 +contextPath=remoting diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml new file mode 100644 index 000000000..e3c0f9fd8 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml @@ -0,0 +1,480 @@ + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/agent.service + + + eu.etaxonomy.cdm.api.service.IAgentService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/annotation.service + + + eu.etaxonomy.cdm.api.service.IAnnotationService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/auditevent.service + + + eu.etaxonomy.cdm.api.service.IAuditEventService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/classification.service + + + eu.etaxonomy.cdm.api.service.IClassificationService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/collection.service + + + eu.etaxonomy.cdm.api.service.ICollectionService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/common.service + + + eu.etaxonomy.cdm.api.service.ICommonService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/description.service + + + eu.etaxonomy.cdm.api.service.IDescriptionService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/editgeo.service + + + eu.etaxonomy.cdm.ext.geo.IEditGeoService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/featurenode.service + + + eu.etaxonomy.cdm.api.service.IFeatureNodeService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/featuretree.service + + + eu.etaxonomy.cdm.api.service.IFeatureTreeService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/group.service + + + eu.etaxonomy.cdm.api.service.IGroupService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/identificationkey.service + + + eu.etaxonomy.cdm.api.service.IIdentificationKeyService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/location.service + + + eu.etaxonomy.cdm.api.service.ILocationService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/marker.service + + + eu.etaxonomy.cdm.api.service.IMarkerService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/media.service + + + eu.etaxonomy.cdm.api.service.IMediaService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/name.service + + + eu.etaxonomy.cdm.api.service.INameService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/occurrence.service + + + eu.etaxonomy.cdm.api.service.IOccurrenceService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/polytomouskeynode.service + + + eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/polytomouskey.service + + + eu.etaxonomy.cdm.api.service.IPolytomousKeyService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/reference.service + + + eu.etaxonomy.cdm.api.service.IReferenceService + + + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/taxonnode.service + + + eu.etaxonomy.cdm.api.service.ITaxonNodeService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/taxon.service + + + eu.etaxonomy.cdm.api.service.ITaxonService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/term.service + + + eu.etaxonomy.cdm.api.service.ITermService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/user.service + + + eu.etaxonomy.cdm.api.service.IUserService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/vocabulary.service + + + eu.etaxonomy.cdm.api.service.IVocabularyService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/workingset.service + + + eu.etaxonomy.cdm.api.service.IWorkingSetService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/grantedauthority.service + + + eu.etaxonomy.cdm.api.service.IGrantedAuthorityService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/database.service + + + eu.etaxonomy.cdm.api.service.IDatabaseService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/lsidauthoruty.service + + + eu.etaxonomy.cdm.api.service.lsid.LSIDAuthorityService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/lsidmetadata.service + + + eu.etaxonomy.cdm.api.service.lsid.LSIDMetadataService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/lsiddata.service + + + eu.etaxonomy.cdm.api.service.lsid.LSIDDataService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/authenticationManager.service + + + org.springframework.security.authentication.AuthenticationManager + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/primer.service + + + eu.etaxonomy.cdm.api.service.molecular.IPrimerService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/amplification.service + + + eu.etaxonomy.cdm.api.service.molecular.IAmplificationService + + + + + + + + + http://${remoteServer}:${remotePort}/${remoteContext}/remoting/sequence.service + + + eu.etaxonomy.cdm.api.service.molecular.ISequenceService + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml new file mode 100644 index 000000000..11a206b7e --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/localApplicationContext.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml new file mode 100644 index 000000000..986bd16cb --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/mappings/hibernate.cfg.xml @@ -0,0 +1,207 @@ + + + + + + + after_transaction + true + true + true + + + + org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml new file mode 100644 index 000000000..60b8cd27b --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remotingApplicationContext.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_persistence_security.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_persistence_security.xml new file mode 100644 index 000000000..46916f58e --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_persistence_security.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_services_security.xml b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_services_security.xml new file mode 100644 index 000000000..4b5a565b9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/main/resources/eu/etaxonomy/cdm/remoting_services_security.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java new file mode 100644 index 000000000..4d2abf589 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.java @@ -0,0 +1,359 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.api.cache; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.hibernate.collection.spi.PersistentCollection; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.unitils.dbunit.annotation.DataSet; + +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.cdm.model.description.KeyStatement; +import eu.etaxonomy.cdm.model.description.PolytomousKey; +import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; +import eu.etaxonomy.taxeditor.httpinvoker.CDMServer; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; +import eu.etaxonomy.taxeditor.remoting.session.ISessionEventListener; +import eu.etaxonomy.taxeditor.remoting.session.MockSessionOwner; + +/** + * @author cmathew + * @date 7 Oct 2014 + * + */ +@DataSet +public class CdmClientCachingTest extends BaseRemotingTest { + + private static final Logger logger = Logger.getLogger(CdmClientCachingTest.class); + + UUID polytomousKeyUuid = UUID.fromString("0d53ba20-7de4-4baa-bd8a-401048447d66"); + UUID taxon1Uuid = UUID.fromString("2b336df7-29e8-4f79-985f-66502739d22f"); + + + IPolytomousKeyService polytomousKeyService = getRemoteApplicationController().getPolytomousKeyService(); + ICommonService commonService = getRemoteApplicationController().getCommonService(); + ITaxonService taxonService = getRemoteApplicationController().getTaxonService(); + + CdmEntitySessionManager cdmEntitySessionManager = getRemoteApplicationController().getCdmEntitySessionManager(); + + CdmTransientEntityCacher cacher; + + Language english = Language.getLanguageFromUuid(Language.uuidEnglish); + + private static final List PKEY_DEPTH1_INIT_STRATEGY = Arrays.asList(new String[] { + }); + + private static final List PKEY_DEPTH2_INIT_STRATEGY = Arrays.asList(new String[] { + "root"}); + + private static final List PKEY_DEPTH3_INIT_STRATEGY = Arrays.asList(new String[] { + "root.statement"}); + + private ISessionEventListener sessionOwner; + + @BeforeClass + public static void initializePolytomousKeyTest() { + logger.setLevel(Level.INFO); + CDMServer.getInstance().setKeepServerRunning(true); + + CdmModelCacher cmdmc = new CdmModelCacher(); + cmdmc.cacheGetterFields(); + + //initializeController("default", "127.0.0.1", 8080, "", NomenclaturalCode.ICNAFP); + } + + @Before + public void initializeSession() { + sessionOwner = new MockSessionOwner(); + cdmEntitySessionManager.bind(sessionOwner); + cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + } + + @Test + public void whenRecursiveCachingIsDisabledObjectsInSubGraphAreNotLoadedInSessionCache() { + CdmTransientEntityCacher.setRecursiveEnabled(false); + ISessionEventListener sessionOwner = new MockSessionOwner(); + cdmEntitySessionManager.bind(sessionOwner); + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + cdmEntitySessionManager.add(sessionOwner, pkey); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + Assert.assertNull(cacher.getFromCache(pkey)); + CdmTransientEntityCacher.setRecursiveEnabled(true); + } + + + @Test + public void recursiveLoadSubGraphDepth1Test() { + + // this call will load into the session cache the graph + // polytomous key + // |- root : polytomous key node + // in a recursive call + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + // checking to make sure the root object is in the session cache + Assert.assertSame(pkey1.getRoot(), cacher.getFromCache(pkey1.getRoot())); + + } + + + @Test + public void recursiveLoadSubGraphDepth2Test() { + + // this call will load into the session cache the graph + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + // in a recursive call + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + pkey = cdmEntitySessionManager.add(sessionOwner, pkey); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + // checking to make sure the root object is in the session cache + Assert.assertSame(pkey.getRoot(), cacher.getFromCache(pkey.getRoot())); + Assert.assertSame(pkey.getRoot().getStatement(), cacher.getFromCache(pkey.getRoot().getStatement())); + Assert.assertSame(pkey.getRoot().getQuestion(), cacher.getFromCache(pkey.getRoot().getQuestion())); + + } + + /** + * when : retrieving objects using recursive caching of object graphs with different depths + * then : the objects in the sub-graph having the same persistence id should be the same + */ + @Test + public void lazyLoadRecursiveTest() { + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + + } + + + /** + * when : retrieving objects using recursive caching of object graphs with different depths + * then : the objects in the sub-graph having the same persistence id should be the same + */ + @Test + public void differentSubGraphDepthTest1() { + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // in a recursive call + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + pkey2 = cdmEntitySessionManager.add(sessionOwner, pkey2); + + Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); + Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); + Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); + + } + + /** + * when : retrieving objects using recursive caching of object graphs with different depths + * then : the objects in the sub-graph having the same persistence id should be the same + */ + @Test + public void differentSubGraphDepthTest2() { + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH1_INIT_STRATEGY),PolytomousKey.class); + pkey2 = cdmEntitySessionManager.add(sessionOwner, pkey2); + + Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); + Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); + Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); + } + + /** + * when : retrieving objects using (first) recursive load directly and (second) lazy loading in the same session + * then : the objects in the sub-graph having the same persistence id should be the same + */ + @Test + public void recursiveLoadAndLazyLoadTest() { + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + CdmTransientEntityCacher cacher = cdmEntitySessionManager.getCdmTransientEntityCacher(sessionOwner); + + // checking that the root is not null and + // that it exists in the cache and + // that both the original object and the + // cached object are the same + Assert.assertNotNull(pkey1.getRoot().getStatement()); + Assert.assertNotNull(cacher.getFromCache(pkey1.getRoot().getStatement())); + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + pkey2 = cdmEntitySessionManager.add(sessionOwner, pkey2); + + + Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement())); + Assert.assertSame(pkey1.getRoot().getStatement(), pkey2.getRoot().getStatement()); + Assert.assertSame(cacher.getFromCache(pkey1.getRoot().getStatement()), cacher.getFromCache(pkey2.getRoot().getStatement())); + } + + /** + * when : retrieving objects using (first) lazy loading and (second) recursive load directly in the same session + * then : the objects in the sub-graph having the same persistence id should be the same + */ + @Test + public void lazyLoadAndRecursiveLoadTest() { + + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + + PolytomousKey pkey1 = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + pkey1 = cdmEntitySessionManager.add(sessionOwner, pkey1); + + // lazy initialising root.statement + KeyStatement st = CdmBase.deproxy(pkey1.getRoot().getStatement(), KeyStatement.class); + st.getLabel(); + + // checking that the root is not null and + // that it exists in the cache and + // that both the original object and the + // cached object are the same + Assert.assertNotNull(pkey1.getRoot().getStatement()); + Assert.assertSame(CdmBase.deproxy(pkey1.getRoot().getStatement(), KeyStatement.class), + cacher.getFromCache(pkey1.getRoot().getStatement(), KeyStatement.class)); + + // this call will load into the session cache the graph and update the objects in the sub-graph for a + // polytomous key + // |- root : polytomous key node + // |- question : KeyStatement + // |- statement : KeyStatement + + PolytomousKey pkey2 = CdmBase.deproxy(polytomousKeyService.load(polytomousKeyUuid, PKEY_DEPTH2_INIT_STRATEGY),PolytomousKey.class); + pkey2 = cdmEntitySessionManager.add(sessionOwner, pkey2); + + Assert.assertSame(pkey2.getRoot().getStatement(), cacher.getFromCache(pkey2.getRoot().getStatement(), KeyStatement.class)); + Assert.assertSame(st, pkey2.getRoot().getStatement()); + Assert.assertSame(cacher.getFromCache(st), cacher.getFromCache(pkey2.getRoot().getStatement(), KeyStatement.class)); + } + + + + @Test + public void savePolytomousKeyNodeDataWithSameSubKey() { + //CachedCommonServiceImpl.setCacheEnabled(false); + ISessionEventListener sessionOwner = new MockSessionOwner(); + cdmEntitySessionManager.bind(sessionOwner); + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + PolytomousKey subkey1 = pkeynode.getChildAt(0).getSubkey(); + String subkey1title = subkey1.getTitleCache(); + subkey1.setTitleCache(subkey1title + "test", true); + + + PolytomousKey subkey2 = pkeynode.getChildAt(1).getChildAt(0).getSubkey(); + String subkey2title = subkey2.getTitleCache(); + subkey2.setTitleCache(subkey2title + "test", true); + + Assert.assertSame(subkey1, subkey2); + + polytomousKeyService.merge(pkey); + } + + @Test + public void savePolytomousKeyNodeDataWithSameSubKeyUsingService() { + CachedCommonServiceImpl.setCacheEnabled(false); + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + PersistentCollection children = (PersistentCollection) pkeynode.getChildren(); + PolytomousKeyNode childNode0 = (PolytomousKeyNode)commonService.get(children, 0); + PolytomousKey subkey1 = CdmBase.deproxy(childNode0.getSubkey(),PolytomousKey.class); + String subkey1title = subkey1.getTitleCache(); + subkey1.setTitleCache(subkey1title + "test", true); + + PolytomousKeyNode childNode1 = (PolytomousKeyNode)commonService.get(children, 1); + PolytomousKey subkey2 = CdmBase.deproxy(childNode1.getSubkey(),PolytomousKey.class); + String subkey2title = subkey2.getTitleCache(); + subkey2.setTitleCache(subkey2title + "test", true); + + Assert.assertNotSame(subkey1, subkey2); + + polytomousKeyService.merge(pkey); + } + + + @Test + public void savePolytomousKeyNodeDataWithSameLanguageInLabel() { + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + Map label1 = pkeynode.getQuestion().getLabel(); + label1.size(); + //Language lang1 = label1.get(english).getLanguage(); + //String title1 = lang1.getTitleCache(); + + Map label2 = pkeynode.getChildAt(0).getStatement().getLabel(); + label2.size(); + //Language lang2 = label2.get(english).getLanguage(); + //String title2 = lang2.getTitleCache(); + + polytomousKeyService.merge(pkey); + } + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmModelGetMethodCacherTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmModelGetMethodCacherTest.java new file mode 100644 index 000000000..44bced227 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/api/cache/CdmModelGetMethodCacherTest.java @@ -0,0 +1,62 @@ +package eu.etaxonomy.cdm.api.cache; + +import java.io.IOException; +import java.util.List; + +import net.sf.ehcache.Cache; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Test; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; + +import eu.etaxonomy.cdm.api.cache.CdmRemoteCacheManager.CdmCacheManagerType; + + +public class CdmModelGetMethodCacherTest { + + private static final Logger logger = Logger.getLogger(CdmModelGetMethodCacherTest.class); + + public static final Resource CDMLIB_DISK_STORE_RESOURCE = + new ClassPathResource("/eu/etaxonomy/cache"); + + + + @Test + public void cacheGettersTest() { + + Logger.getRootLogger().setLevel(Level.INFO); + try { + System.setProperty("ehcache.disk.store.dir", CDMLIB_DISK_STORE_RESOURCE.getFile().getAbsolutePath()); + } catch (IOException e) { + throw new CdmClientCacheException(e); + } + CdmModelCacher cmdmc = new CdmModelCacher(); + + //cmdmc.checkGetterMethods(); + + cmdmc.cacheGetterFields(); + + + Cache cdmlibCache = CdmRemoteCacheManager.getInstance().getCdmModelGetMethodsCache(); + List cmgmfcList = cmdmc.getCdmModelGetMethodFromClassList(); + + List keys = cdmlibCache.getKeys(); + Assert.assertEquals(cmgmfcList.size(), keys.size()); + + for(CdmModelFieldPropertyFromClass cmgmfc: cmgmfcList) { + String className = cmgmfc.getClassName(); + Assert.assertTrue(keys.contains(className)); + logger.info("Class Name : " + className + " has been cached"); + } + cdmlibCache.removeAll(); + cdmlibCache.flush(); + CdmRemoteCacheManager.getInstance().shutdown(CdmCacheManagerType.CDMLIB_MODEL); + } + + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.java new file mode 100644 index 000000000..648382621 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.java @@ -0,0 +1,289 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.polytomouskey; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.hibernate.collection.spi.PersistentCollection; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.unitils.dbunit.annotation.DataSet; + +import eu.etaxonomy.cdm.api.cache.CachedCommonServiceImpl; +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.model.agent.AgentBase; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.Credit; +import eu.etaxonomy.cdm.model.common.Extension; +import eu.etaxonomy.cdm.model.common.IdentifiableSource; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.cdm.model.description.KeyStatement; +import eu.etaxonomy.cdm.model.description.PolytomousKey; +import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; +import eu.etaxonomy.cdm.model.media.Rights; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; +import eu.etaxonomy.taxeditor.httpinvoker.CDMServer; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; +import eu.etaxonomy.taxeditor.remoting.session.ISessionEventListener; +import eu.etaxonomy.taxeditor.remoting.session.MockSessionOwner; + +/** + * @author cmathew + * @date 7 Oct 2014 + * + */ +@DataSet +public class PolytomousKeyTest extends BaseRemotingTest { + + private static final Logger logger = Logger.getLogger(PolytomousKeyTest.class); + + UUID polytomousKeyUuid = UUID.fromString("0d53ba20-7de4-4baa-bd8a-401048447d66"); + UUID taxon1Uuid = UUID.fromString("2b336df7-29e8-4f79-985f-66502739d22f"); + + + IPolytomousKeyService polytomousKeyService = getRemoteApplicationController().getPolytomousKeyService(); + ICommonService commonService = getRemoteApplicationController().getCommonService(); + ITaxonService taxonService = getRemoteApplicationController().getTaxonService(); + + CdmEntitySessionManager cdmEntitySessionManager = getRemoteApplicationController().getCdmEntitySessionManager(); + + Language english = Language.getLanguageFromUuid(Language.uuidEnglish); + + + @BeforeClass + public static void initializePolytomousKeyTest() { + logger.setLevel(Level.INFO); + CDMServer.getInstance().setKeepServerRunning(true); + + //initializeController("default", "127.0.0.1", 8080, "", NomenclaturalCode.ICNAFP); + } + + @Test + public void readAllPolytomousKeys() { + List pKeys = polytomousKeyService.list(PolytomousKey.class, null, null, null, null); + for(PolytomousKey pKey : pKeys) { + logger.info("Polytomous Key : " + pKey.getTitleCache()); + } + } + + + @Test + //@DataSet("PolytomousKeyTest.readPolytmousKeyData.xml") + public void readPolytmousKeyData() { + PolytomousKey pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + Set taxonomicScope = pKey.getTaxonomicScope(); + Iterator tsItr = taxonomicScope.iterator(); + Taxon taxon = tsItr.next(); + logger.info("taxonomic scope : " + taxon.getTitleCache()); + Assert.assertEquals(taxon.getTitleCache(), "Achillea cretica L. sec. Cyprus"); + taxon = tsItr.next(); + logger.info("taxonomic scope : " + taxon.getTitleCache()); + Assert.assertEquals(taxon.getTitleCache(), "Achillea sec. Cyprus"); + Assert.assertEquals(tsItr.hasNext(), false); + + List credits = pKey.getCredits(); + AgentBase agent = credits.get(0).getAgent(); + Assert.assertEquals(agent.getId(),4809); + Assert.assertEquals(agent.getTitleCache(),"R. A. Graham"); + Assert.assertEquals(credits.get(0).getText(),"Credits Text Test"); + + Set exts = pKey.getExtensions(); + Iterator extItr = exts.iterator(); + Extension ext = extItr.next(); + Assert.assertEquals(ext.getValue(), "http://test.com"); + + Set rights = pKey.getRights(); + Iterator rightsItr = rights.iterator(); + Rights right = rightsItr.next(); + Assert.assertEquals(right.getText(),"Rights Text Test"); + + Set sources = pKey.getSources(); + Iterator sourcesItr = sources.iterator(); + IdentifiableSource source = sourcesItr.next(); + Assert.assertEquals(source.getId(), 23710); + source = sourcesItr.next(); + Assert.assertEquals(source.getId(), 23711); + + // TO DO : Added tests for Annotations , Markers + } + + @Test + public void readPolytomousKeyDataFromNodes() { + PolytomousKey pKey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode rootNode = pKey.getRoot(); + + + Assert.assertEquals(rootNode.getId(), 2750); + + Assert.assertEquals(rootNode.getChildAt(0).getId(), 2751); + Assert.assertEquals(rootNode.getChildAt(0).getParent().getId(), rootNode.getId()); + Assert.assertEquals(rootNode.getKey().getId(), pKey.getId()); + Integer sortIndex = (Integer)getFieldValueViaReflection(rootNode.getChildAt(0), "sortIndex"); + Assert.assertEquals(sortIndex, new Integer(0)); + String statement = "Capitula without ligulate ray-florets; leaves entire or subentire"; + Assert.assertEquals(rootNode.getChildAt(0).getStatement().getLabelText(english), statement); + + Assert.assertEquals(rootNode.getChildAt(1).getId(), 2753); + Assert.assertEquals(rootNode.getChildAt(1).getParent().getId(), rootNode.getId()); + Assert.assertEquals(rootNode.getChildAt(1).getKey().getId(), pKey.getId()); + sortIndex = (Integer)getFieldValueViaReflection(rootNode.getChildAt(1), "sortIndex"); + Assert.assertEquals(sortIndex, new Integer(1)); + statement = "Capitula with ligulate ray-florets; leaves pinnatisect"; + Assert.assertEquals(rootNode.getChildAt(1).getStatement().getLabelText(english), statement); + + Assert.assertEquals(rootNode.getChildAt(1).getChildAt(0).getId(), 2754); + Assert.assertEquals(rootNode.getChildAt(1).getChildAt(0).getParent().getId(), rootNode.getChildAt(1).getId()); + Assert.assertEquals(rootNode.getChildAt(1).getChildAt(0).getKey().getId(), pKey.getId()); + sortIndex = (Integer)getFieldValueViaReflection(rootNode.getChildAt(1).getChildAt(0), "sortIndex"); + Assert.assertEquals(sortIndex, new Integer(0)); + statement = "Ray-florets yellow"; + Assert.assertEquals(rootNode.getChildAt(1).getChildAt(0).getStatement().getLabelText(english), statement); + Assert.assertEquals(rootNode.getChildAt(1).getChildAt(0).getChildAt(0).getTaxon().getTitleCache(), "Achillea arabica Kotschy sec. Cyprus"); + } + + @Test + public void savePolytomousKeyNodeData() { + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + String newQuestion = "New Question"; + String newStatement = "New Statement"; + + Assert.assertEquals("Question 1",pkeynode.getQuestion().getLabel().get(english).getText()); + for(PolytomousKeyNode node : pkeynode.getChildren()) { + + node.setQuestion(null); + node.setStatement(null); + } + //FIXME: Add tests for feature after fixing problem + + //Feature feature = pkeynode.getFeature(); + //Assert.assertEquals(feature.getTitleCache(),"Systematics"); + //pkeynode.setFeature(null); + + Assert.assertEquals(pkeynode.getChildAt(0).getModifyingText().get(english).getText(),"Modifying Text 1a"); + String modifyingText = "Modifying Text 1a updated"; + + //pkeynode.getChildAt(0).putModifyingText(english, modifyingText); + + Assert.assertEquals(pkeynode.getChildAt(0).getSubkey().getId(),751); + Assert.assertEquals(pkeynode.getChildAt(0).getSubkey().getTitleCache(),"Asphodeline"); + Assert.assertNull(pkeynode.getChildAt(1).getTaxon()); + Taxon taxon = CdmBase.deproxy(taxonService.find(taxon1Uuid),Taxon.class); + pkeynode.getChildAt(1).setTaxon(taxon); + + polytomousKeyService.merge(pkey); + + pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + pkeynode = pkey.getRoot(); + for(PolytomousKeyNode node : pkeynode.getChildren()) { + Assert.assertNull(node.getQuestion()); + node.setQuestion(KeyStatement.NewInstance(english,newQuestion)); + Assert.assertNull(node.getStatement()); + node.setStatement(KeyStatement.NewInstance(english,newStatement)); + } + //Assert.assertNull(pkeynode.getFeature()); + //pkeynode.setFeature(feature); + + //Assert.assertEquals(pkeynode.getChildAt(0).getModifyingText().get(english).getText(),modifyingText); + Assert.assertEquals(pkeynode.getChildAt(1).getTaxon(), taxon); + + polytomousKeyService.merge(pkey); + + pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + pkeynode = pkey.getRoot(); + for(PolytomousKeyNode node : pkeynode.getChildren()) { + Assert.assertNotNull(node.getQuestion()); + Map label = node.getQuestion().getLabel(); + Assert.assertEquals(newQuestion, label.get(english).getText()); + Assert.assertNotNull(node.getStatement()); + Assert.assertEquals(newStatement, node.getStatement().getLabel(english).getText()); + } + //Assert.assertEquals(pkeynode.getFeature().getId(), feature.getId()); + + } + + @Test + public void savePolytomousKeyNodeDataWithSameSubKey() { + //CachedCommonServiceImpl.setCacheEnabled(false); + ISessionEventListener sessionOwner = new MockSessionOwner(); + cdmEntitySessionManager.bind(sessionOwner); + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + PolytomousKey subkey1 = pkeynode.getChildAt(0).getSubkey(); + String subkey1title = subkey1.getTitleCache(); + subkey1.setTitleCache(subkey1title + "test", true); + + + PolytomousKey subkey2 = pkeynode.getChildAt(1).getChildAt(0).getSubkey(); + String subkey2title = subkey2.getTitleCache(); + subkey2.setTitleCache(subkey2title + "test", true); + + Assert.assertSame(subkey1, subkey2); + + polytomousKeyService.merge(pkey); + } + + @Test + public void savePolytomousKeyNodeDataWithSameSubKeyUsingService() { + CachedCommonServiceImpl.setCacheEnabled(false); + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + PersistentCollection children = (PersistentCollection) pkeynode.getChildren(); + PolytomousKeyNode childNode0 = (PolytomousKeyNode)commonService.get(children, 0); + PolytomousKey subkey1 = CdmBase.deproxy(childNode0.getSubkey(),PolytomousKey.class); + String subkey1title = subkey1.getTitleCache(); + subkey1.setTitleCache(subkey1title + "test", true); + + PolytomousKeyNode childNode1 = (PolytomousKeyNode)commonService.get(children, 1); + PolytomousKey subkey2 = CdmBase.deproxy(childNode1.getSubkey(),PolytomousKey.class); + String subkey2title = subkey2.getTitleCache(); + subkey2.setTitleCache(subkey2title + "test", true); + + Assert.assertNotSame(subkey1, subkey2); + + polytomousKeyService.merge(pkey); + } + + + @Test + public void savePolytomousKeyNodeDataWithSameLanguageInLabel() { + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + Map label1 = pkeynode.getQuestion().getLabel(); + label1.size(); + //Language lang1 = label1.get(english).getLanguage(); + //String title1 = lang1.getTitleCache(); + + Map label2 = pkeynode.getChildAt(0).getStatement().getLabel(); + label2.size(); + //Language lang2 = label2.get(english).getLanguage(); + //String title2 = lang2.getTitleCache(); + + polytomousKeyService.merge(pkey); + } + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/exception/CDMServerException.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/exception/CDMServerException.java new file mode 100644 index 000000000..ed2b691ae --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/exception/CDMServerException.java @@ -0,0 +1,31 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.exception; + +/** + * @author cmathew + * @date 23 Sep 2014 + * + */ +public class CDMServerException extends Exception { + + public CDMServerException(String message) { + super(message); + } + + public CDMServerException(Exception e) { + super(e); + } + + public CDMServerException(String message,Exception e) { + super(message,e); + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java new file mode 100644 index 000000000..f446ab7f7 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java @@ -0,0 +1,162 @@ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.httpinvoker; + +import java.io.IOException; +import java.lang.reflect.Field; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.unitils.UnitilsJUnit4; +import org.unitils.database.DatabaseUnitils; +import org.unitils.database.annotations.Transactional; +import org.unitils.database.util.TransactionMode; +import org.unitils.spring.annotation.SpringApplicationContext; + +import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; +import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; +import eu.etaxonomy.cdm.api.cache.CdmClientCacheException; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.remote.CdmPersistentRemoteSource; +import eu.etaxonomy.cdm.remote.CdmRemoteSource; +import eu.etaxonomy.cdm.remote.CdmRemoteSourceException; +import eu.etaxonomy.cdm.remote.ICdmRemoteSource; +import eu.etaxonomy.taxeditor.remoting.session.CdmEntitySessionManager; + + +/** + * Base class for remoting tests, responsible for + * - starting / stop the cdm server + * - running some basic connection tests + * - setting up the remote configuration. + * + */ +@Transactional(TransactionMode.DISABLED) +@SpringApplicationContext("file:./target/test-classes/eu/etaxonomy/cdm/testRemotingApplicationContext.xml") +public class BaseRemotingTest extends UnitilsJUnit4 { + //private static final Logger logger = Logger.getLogger(BaseRemotingTest.class); + + private static final Resource TEST_REMOTE_APPLICATION_CONTEXT_RESOURCE = + new ClassPathResource("/eu/etaxonomy/cdm/testRemotingApplicationContext.xml"); + + private static CdmApplicationRemoteController remoteApplicationController; + private static ICdmRemoteSource cdmRemoteSource; + private static CdmPersistentRemoteSource remotePersistentSource; + + public static boolean useManagedServer = true; + + public static final Resource CDMLIB_DISK_STORE_RESOURCE = + new ClassPathResource("/eu/etaxonomy/cache"); + + @BeforeClass + public static void initializeBaseRemotingTest() { + //Logger.getRootLogger().setLevel(Level.INFO); + //DatabaseUnitils.disableConstraints(); + + try { + System.setProperty("ehcache.disk.store.dir", CDMLIB_DISK_STORE_RESOURCE.getFile().getAbsolutePath()); + } catch (IOException e) { + throw new CdmClientCacheException(e); + } + + useManagedServer = (System.getProperty("use.managed.server") == null) ? useManagedServer : Boolean.valueOf(System.getProperty("use.managed.server")); + if(useManagedServer) { + try { + CDMServer.getInstance().start(); + } catch (Exception e) { + e.printStackTrace(); + Assert.fail("Server failed to start. Reason : " + e.getMessage()); + } + + initializeController(CDMServer.getInstance().getName(), + CDMServer.getInstance().getHost(), + CDMServer.getInstance().getPort(), + CDMServer.getInstance().getContextPath(), + NomenclaturalCode.ICNAFP); + } + } + + + @Test + public void disableConstraints() { + // To be run on the src/test/resources/h2/cdmTest h2 db after + // updating the unitils.properties 'database.url' property + DatabaseUnitils.disableConstraints(); + } + public static void initializeController(String sourceName, String host, int port, String contextPath, NomenclaturalCode ncode) { + + cdmRemoteSource = CdmRemoteSource.NewInstance(sourceName, host, port, contextPath, ncode); + remoteApplicationController = + CdmApplicationRemoteController.NewInstance(cdmRemoteSource, + false, + null, + null); + + try { + remotePersistentSource = CdmPersistentRemoteSource.NewInstance(sourceName); + } catch (CdmRemoteSourceException e) { + Assert.fail("Default Remote Persistent Source failed to load. Reason : " + e.getMessage()); + } + + } + + + + protected static CdmApplicationRemoteController getRemoteApplicationController() { + return remoteApplicationController; + } + + protected static ICdmRemoteSource getCdmRemoteSource() { + return cdmRemoteSource; + } + + protected static CdmPersistentRemoteSource getCdmPersistentRemoteSource() { + return remotePersistentSource; + } + + @AfterClass + public static void cleanup() { + try { + CDMServer.getInstance().stop(); + } catch (Exception e) { + Assert.fail("Server could not be stopped. Reason : " + e.getMessage()); + } + } + + + protected static Object getFieldValueViaReflection(Object object, String fieldName) { + Class clazz = object.getClass(); + try { + Field field = clazz.getDeclaredField(fieldName); + field.setAccessible(true); + return field.get(object); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (SecurityException e) { + e.printStackTrace(); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return null; + } + + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CDMServer.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CDMServer.java new file mode 100644 index 000000000..b4b16cc57 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CDMServer.java @@ -0,0 +1,351 @@ +// $Id$ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.httpinvoker; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.Socket; + + +import javax.sql.DataSource; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.unitils.database.annotations.TestDataSource; +import org.unitils.spring.annotation.SpringApplicationContext; + +import eu.etaxonomy.cdm.remote.CdmRemoteSourceBase; +import eu.etaxonomy.taxeditor.exception.CDMServerException; + +/** + * + * (Singleton) Server instance which manages a compatible cdmlib-webapp-war. + * This is done by launching a jetty instance (using jetty-runner) as an + * executed process. The choice of the external process over a more + * preferable 'embedded jetty' instance is due to problems arising from the + * class loading of classes (e.g. from hibernate core) which are needed + * for both the webapp as well as the remoting client. + * + * @author cmathew + * @date 23 Sep 2014 + * + */ + +public class CDMServer { + + public static final Logger logger = Logger.getLogger(CDMServer.class); + + @TestDataSource + protected DataSource dataSource; + + private final String name = "default"; + private final String host = "127.0.0.1"; + private final int port = 9090; + private final int stopPort = 9191; + private final String stopKey = "jetty-cdm-server"; + private final String contextPath = ""; + + private boolean keepServerRunning = false; + + public static final Resource DEFAULT_CDM_WEBAPP_RESOURCE = + new ClassPathResource("/etc/jetty/cdmlib-remote-webapp.war"); + + public static final Resource DEFAULT_JETTY_CONFIG_RESOURCE = + new ClassPathResource("/etc/jetty/jetty.xml"); + + public static final Resource DEFAULT_JETTY_TEMP_RESOURCE = + new ClassPathResource("/etc/jetty/temp"); + + public static final Resource DEFAULT_JETTY_TEMP_WAR_LIB_RESOURCE = + new ClassPathResource("/etc/jetty/temp/webapp/WEB-INF/lib"); + + public static final Resource DEFAULT_DATASOURCE_FILE = + new ClassPathResource("datasources.xml"); + + public static final Resource DEFAULT_JETTY_RUNNER_RESOURCE = + new ClassPathResource("/etc/jetty/jetty-runner-9.2.3.v20140905.jar"); + + public static final Resource DEFAULT_JETTY_RESOURCE = + new ClassPathResource("/etc/jetty/start-9.2.3.v20140905.jar"); + + + + private static CDMServer cdmServer = null; + private static CDMServerException cdmse = null; + + private void CDMServer() { + logger.setLevel(Level.INFO); + } + + public static CDMServer getInstance() { + if(cdmServer == null) { + cdmServer = new CDMServer(); + } + return cdmServer; + } + + public String getName() { + return name; + } + + public String getHost() { + return host; + } + + public int getPort() { + return port; + } + + public String getContextPath() { + return contextPath; + } + + public boolean getKeepServerRunning() { + return keepServerRunning; + } + + public void setKeepServerRunning(boolean keepServerRunning) { + this.keepServerRunning = keepServerRunning; + } + + public static boolean isRunningInEclipse() { + return (System.getProperty("sun.java.command") != null && + System.getProperty("sun.java.command").startsWith("org.eclipse.jdt.internal.junit.runner.RemoteTestRunner")); + } + + private String getVMArgs() throws IOException { + StringBuilder sb = new StringBuilder(); + sb.append(" -Dspring.profiles.active=remoting"); + sb.append(" -Dcdm.beanDefinitionFile=" + DEFAULT_DATASOURCE_FILE.getFile().getAbsolutePath()); + sb.append(" -Dcdm.datasource=cdmTest"); + return sb.toString(); + } + + private String getStartServerArgs() { + StringBuilder sb = new StringBuilder(); + sb.append(" --port "); + sb.append(port); + return sb.toString(); + } + + private String getStopServerSettings() { + StringBuilder sb = new StringBuilder(); + sb.append(" --stop-port "); + sb.append(stopPort); + sb.append(" --stop-key "); + sb.append(stopKey); + return sb.toString(); + } + + private String getStopServerArgs() { + StringBuilder sb = new StringBuilder(); + sb.append(" STOP.PORT="); + sb.append(stopPort); + sb.append(" STOP.KEY="); + sb.append(stopKey); + return sb.toString(); + } + + public void start() throws CDMServerException { + + /** + * First check if the CDM server responds to a service request, which implies that + * the server has started properly. If no response is received then check if the + * server is listening on specific host / port, which implies that the server + * has started but incorrectly, in which case we try to force stop it (if we can) + * and start a new server. + */ + if(isRunning(1)) { + logger.info("[CDM-Server] Server already running @ " + host + ":" + port ); + return; + } else if (isAvailable(1)){ + logger.info("[CDM-Server] Server available, but not started correctly @ " + host + ":" + port ); + logger.info("[CDM-Server] .... trying to force stop server @ " + host + ":" + port ); + try { + stop(true); + } catch (Exception e) { + throw new CDMServerException("CDM Server could not be stopped : " + e.getMessage()); + } + } + + Thread t = new Thread() { + @Override + public void run() { + StringBuffer output = new StringBuffer(); + try{ + Process p; + String command = "java " + + getVMArgs() + + " -jar " + + DEFAULT_JETTY_RUNNER_RESOURCE.getFile().getAbsolutePath() + + getStartServerArgs() + + getStopServerSettings() + + " " + + DEFAULT_CDM_WEBAPP_RESOURCE.getFile().getAbsolutePath(); + logger.info("[CDM-Server] Starting server with Command : " + command); + p = Runtime.getRuntime().exec(command); + + BufferedReader reader = + new BufferedReader(new InputStreamReader(p.getInputStream())); + + String line = ""; + while ((line = reader.readLine())!= null) { + logger.info("[CDM-Server] Start : " + line); + } + + } catch (Exception e) { + e.printStackTrace(); + cdmse = new CDMServerException(e); + } + + } + }; + + t.setDaemon(true); + cdmse = null; + t.start(); + + if(isRunning(50)) { + logger.info("[CDM-Server] Started Server @ " + host + ":" + port ); + } else { + logger.info("[CDM-Server] Server not started within given interval"); + // making sure to kill server if it is not started correctly + try { + stop(true); + } catch (Exception e) { + throw new CDMServerException("CDM Server could not be stopped : " + e.getMessage()); + } + throw new CDMServerException("CDM Server not started : "); + } + + } + + public boolean isAvailable(int checkingIntervals) throws CDMServerException { + int intervalsCount = 0; + do { + try { + Socket s = new Socket(host, port); + logger.info("[CDM-Server] Available @ " + host + ":" + port ); + return true; + } catch (IOException ioe) { + + } + try { + Thread.sleep(1000); + } catch (InterruptedException ie) { + throw new CDMServerException("Error checking CDM Server status", ie); + } + intervalsCount++; + } while (intervalsCount < checkingIntervals); + + return false; + } + + public boolean isStopped(int checkingIntervals) throws CDMServerException { + int intervalsCount = 0; + do { + try { + Socket s = new Socket(host, port); + } catch (IOException ioe) { + logger.info("[CDM-Server] Stopped @ " + host + ":" + port ); + return true; + } + try { + Thread.sleep(1000); + } catch (InterruptedException ie) { + throw new CDMServerException("Error checking CDM Server status", ie); + } + intervalsCount++; + } while (intervalsCount < checkingIntervals); + + return false; + } + + public boolean isRunning(int checkingIntervals) throws CDMServerException { + CdmRemoteSourceBase crsb = new CdmRemoteSourceBase("local-cdm-server", + host, + port, + contextPath, + null); + int intervalsCount = 0; + do { + try { + if(cdmse != null) { + return false; + } + if(crsb.checkConnection()) { + logger.info("[CDM-Server] Running @ " + host + ":" + port ); + return true; + } + } catch (Exception e) { + } + try { + Thread.sleep(1000); + } catch (InterruptedException ie) { + throw new CDMServerException("Error checking CDM Server status", ie); + } + intervalsCount++; + } while (intervalsCount < checkingIntervals); + return false; + } + + public void stop() throws Exception { + stop(false); + } + public void stop(boolean force) throws Exception { + + if(!force) { + if(!getInstance().isAvailable(1)) { + logger.info("[CDM-Server] Server already stopped @ " + host + ":" + port ); + return; + } + + if(getInstance().getKeepServerRunning()) { + logger.info("[CDM-Server] Server @ " + host + ":" + port + " is set to keep running"); + return; + } + } + Thread t = new Thread() { + @Override + public void run() { + StringBuffer output = new StringBuffer(); + try{ + Process p; + String command = "java -jar " + DEFAULT_JETTY_RESOURCE.getFile().getAbsolutePath() + + getStopServerArgs() + " --stop "; + logger.info("[CDM-Server] Stop Command : " + command); + p = Runtime.getRuntime().exec(command); + p.waitFor(); + BufferedReader reader = + new BufferedReader(new InputStreamReader(p.getInputStream())); + String line = ""; + while ((line = reader.readLine())!= null) { + logger.info("CDM-Server Stop : " + line + "\n"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } + }; + + t.setDaemon(true); + t.start(); + + if(isStopped(5)) { + logger.info("[CDM-Server] Stopped Server @ " + host + ":" + port ); + } else { + logger.info("[CDM-Server] Could not stop @ " + host + ":" + port + ". Please kill it manually"); + } + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmPersistentRemoteSourceTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmPersistentRemoteSourceTest.java new file mode 100644 index 000000000..3240c38a6 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmPersistentRemoteSourceTest.java @@ -0,0 +1,221 @@ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.httpinvoker; + + +import static org.hamcrest.CoreMatchers.containsString; + +import java.util.Map; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import eu.etaxonomy.cdm.config.CdmPersistentSourceUtils; +import eu.etaxonomy.cdm.config.CdmPersistentXMLSource.CdmSourceProperties; +import eu.etaxonomy.cdm.config.CdmSourceException; +import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.remote.CdmPersistentRemoteSource; +import eu.etaxonomy.cdm.remote.CdmRemoteSource; +import eu.etaxonomy.cdm.remote.CdmRemoteSourceException; +import eu.etaxonomy.cdm.remote.ICdmRemoteSource; + +/** + * Class to test the cdm persistent source functionality, including + * initialising / saving / updating and deleting + * + * Corresponding test sources settings can be found at + * /src/text/resources/eu.etaxonomy.cdm/cdm.datasources.xml + * + */ +public class CdmPersistentRemoteSourceTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(CdmPersistentRemoteSourceTest.class); + + private CdmPersistentRemoteSource remotePersistentSource; + + @BeforeClass + public static void initialize() { + Logger.getRootLogger().setLevel(Level.INFO); + } + + @Test + public void whenLoadingExistingCompleteRemoteSourceThenLoadIsSuccessful() { + + remotePersistentSource = getCdmPersistentRemoteSource(); + + String expectedServer = "127.0.0.1"; + String expectedPort = "9090"; + String expectedContextPath = ""; + logger.info("Default remote source server : " + remotePersistentSource.getServer()); + Assert.assertTrue("Default server should be " + expectedServer, + expectedServer.equals(remotePersistentSource.getServer())); + + logger.info("Default remote source port : " + remotePersistentSource.getPort()); + Assert.assertTrue("Default port should be 9090", + expectedPort.equals(String.valueOf(remotePersistentSource.getPort()))); + + logger.info("Default remote source context path : " + remotePersistentSource.getContextPath()); + Assert.assertTrue("Default remote source context path should be " + expectedContextPath, + expectedContextPath.equals(remotePersistentSource.getContextPath())); + + logger.info("Default remote source nomenclatural code : " + remotePersistentSource.getNomenclaturalCode().toString()); + Assert.assertTrue("Default NomenclaturalCode should be ICNAFP", + NomenclaturalCode.ICNAFP.equals(remotePersistentSource.getNomenclaturalCode())); + } + + + + + @Test + public void whenConnectingToAnActiveServerThenConnectSuccessfully() { + // check if active server throws the right exception + + remotePersistentSource = getCdmPersistentRemoteSource(); + + String dbSchemaVersion = ""; + try { + dbSchemaVersion = remotePersistentSource.getDbSchemaVersion(); + } catch (CdmSourceException e) { + Assert.fail("getDbSchemaVersion() on active cdm server should not have thrown CdmSourceException"); + } + logger.info("dbSchemaVersion is " + dbSchemaVersion); + + + boolean isDbEmpty = false; + try { + isDbEmpty = remotePersistentSource.isDbEmpty(); + } catch (CdmSourceException e) { + Assert.fail("isDbEmpty() on active cdm server should not have thrown CdmSourceException"); + } + Assert.assertFalse(isDbEmpty); + + + boolean check = false; + try { + check = remotePersistentSource.checkConnection(); + } catch (CdmSourceException e) { + Assert.fail("checkConnection() on active cdm server should not have thrown CdmSourceException"); + } + Assert.assertTrue(check); + + + } + + @Test + public void whenRequestingMetadatFromRemoteSourceThenMetaDataIsRetrieved() { + try { + remotePersistentSource = getCdmPersistentRemoteSource(); + Map cdmMetaDataMap = remotePersistentSource.getMetaDataMap(); + for(MetaDataPropertyName mdpn : cdmMetaDataMap.keySet()) { + String value = cdmMetaDataMap.get(mdpn); + logger.info("MetaData Property " + mdpn.name() + " has value " + value); + Assert.assertNotNull("Meta Data Value for property for " + mdpn.name() + " should not be null", value); + } + } catch (CdmSourceException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + @Test + public void whenLoadingNonExistingRemoteSourceThenThrowException() { + try { + remotePersistentSource = CdmPersistentRemoteSource.NewInstance("nonExistingSource"); + Assert.fail("Initialising a non-existing remote source should throw an exception"); + } catch (CdmRemoteSourceException e) { + logger.info(e.getMessage()); + } + } + + @Test + public void whenLoadingExistingIncompleteRemoteSourceThenThrowException() { + try { + remotePersistentSource = CdmPersistentRemoteSource.NewInstance("incomplete"); + Assert.fail("Initialising an incomplete remote source should throw an exception"); + } catch (CdmRemoteSourceException e) { + Assert.assertThat(e.getMessage(), containsString("Required property '" + CdmSourceProperties.SERVER.toString() + "' is missing")); + } + } + + @Test + public void whenSavingUpdatingDeletingNewCompleteRemoteSourceThenSaveUpdateDeleteIsSuccessful() { + String strRemoteSource = "local"; + Assert.assertFalse("New remote source '" + strRemoteSource + "' should not yet exist in source settings file", + CdmPersistentRemoteSource.exists(strRemoteSource)); + try { + ICdmRemoteSource remoteSource = + CdmRemoteSource.NewInstance(strRemoteSource, + "127.0.0.1", + 8080, + "col", + NomenclaturalCode.ICNAFP); + remotePersistentSource = CdmPersistentRemoteSource.save(strRemoteSource,remoteSource); + + logger.info("Server : " + remotePersistentSource.getServer()); + Assert.assertTrue("Server value should be equal", + remoteSource.getServer().equals(remotePersistentSource.getServer())); + + logger.info("Port : " + remotePersistentSource.getPort()); + Assert.assertTrue("Port value should be equal", + remoteSource.getPort() == remotePersistentSource.getPort()); + + logger.info("Context Path : " + remotePersistentSource.getContextPath()); + Assert.assertTrue("Context Path value should be equal", + remoteSource.getContextPath().equals(remotePersistentSource.getContextPath())); + + logger.info("Nomenclatural Code : " + remotePersistentSource.getNomenclaturalCode().name()); + Assert.assertTrue("Nomenclatural Code value should be equal", + remoteSource.getNomenclaturalCode().name().equals(remotePersistentSource.getNomenclaturalCode().name())); + + Assert.assertTrue("New remote source '" + strRemoteSource + "' should be saved in source settings file", + CdmPersistentRemoteSource.exists(strRemoteSource)); + + remoteSource = CdmRemoteSource.NewInstance(strRemoteSource, + "127.0.0.55", + 9090, + "cyprus", + NomenclaturalCode.ICNB); + remotePersistentSource = CdmPersistentRemoteSource.update(strRemoteSource,remoteSource); + + logger.info("Server : " + remotePersistentSource.getServer()); + Assert.assertTrue("Server value should be equal", + remoteSource.getServer().equals(remotePersistentSource.getServer())); + + logger.info("Port : " + remotePersistentSource.getPort()); + Assert.assertTrue("Port value should be equal", + remoteSource.getPort() == remotePersistentSource.getPort()); + + logger.info("Context Path : " + remotePersistentSource.getContextPath()); + Assert.assertTrue("Context Path value should be equal", + remoteSource.getContextPath().equals(remotePersistentSource.getContextPath())); + + logger.info("Nomenclatural Code : " + remotePersistentSource.getNomenclaturalCode().name()); + Assert.assertTrue("Nomenclatural Code value should be equal", + remoteSource.getNomenclaturalCode().name().equals(remotePersistentSource.getNomenclaturalCode().name())); + + Assert.assertTrue("New remote source '" + strRemoteSource + "' should be saved in source settings file", + CdmPersistentRemoteSource.exists(strRemoteSource)); + + CdmPersistentSourceUtils.delete(remotePersistentSource); + + Assert.assertFalse("New remote source '" + strRemoteSource + "' should no longer exist in source settings file", + CdmPersistentRemoteSource.exists(strRemoteSource)); + + } catch (CdmRemoteSourceException e) { + Assert.fail("Saving a new complete remote source should not throw an exception"); + logger.info(e.getMessage()); + } + } + + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmRemoteSourceTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmRemoteSourceTest.java new file mode 100644 index 000000000..4cbfcf5c3 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmRemoteSourceTest.java @@ -0,0 +1,112 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.httpinvoker; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.springframework.remoting.RemoteAccessException; + +import eu.etaxonomy.cdm.config.CdmSourceException; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.cdm.remote.CdmRemoteSource; +import eu.etaxonomy.taxeditor.lazyloading.RemotePersistentCollectionTest; + +public class CdmRemoteSourceTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(RemotePersistentCollectionTest.class); + + + @BeforeClass + public static void initialize() { + + Logger.getRootLogger().setLevel(Level.INFO); + + } + + @Test + public void whenConnectingToInactiveServerThenFailToConnect() { + // check if non-active server throws the right exception + CdmRemoteSource inactiveCrs = CdmRemoteSource.NewInstance(CDMServer.getInstance().getName(), + CDMServer.getInstance().getHost(), + 808080, + CDMServer.getInstance().getContextPath(), + NomenclaturalCode.ICNAFP); + try { + inactiveCrs.getDbSchemaVersion(); + Assert.fail("getDbSchemaVersion() on inactive cdm server should have thrown RemoteAccessException"); + } catch(CdmSourceException cse) { + Assert.fail("getDbSchemaVersion() on inactive cdm server should have thrown RemoteAccessException and not CdmSourceException"); + } catch(RemoteAccessException rae){ + + } + + try { + inactiveCrs.isDbEmpty(); + Assert.fail("isDbEmpty() on inactive cdm server should have thrown RemoteAccessException"); + } catch(CdmSourceException cse) { + Assert.fail("isDbEmpty() on inactive cdm server should have thrown RemoteAccessException and not CdmSourceException"); + } catch(RemoteAccessException rae){ + + } + + try { + inactiveCrs.checkConnection(); + Assert.fail("checkConnection() on inactive cdm server should have thrown RemoteAccessException"); + } catch(CdmSourceException cse) { + Assert.fail("checkConnection() on inactive cdm server should have thrown RemoteAccessException and not CdmSourceException"); + } catch(RemoteAccessException rae){ + + } + + } + + @Test + public void whenConnectingToAnActiveServerWithServicesBlockedThenFailToAccessServices() { + + } + + @Test + public void whenConnectingToAnActiveServerThenConnectSuccessfully() { + // check if active server throws the right exception + CdmRemoteSource activeCrs = CdmRemoteSource.NewInstance(CDMServer.getInstance().getName(), + CDMServer.getInstance().getHost(), + CDMServer.getInstance().getPort(), + CDMServer.getInstance().getContextPath(), + NomenclaturalCode.ICNAFP); + String dbSchemaVersion = ""; + try { + dbSchemaVersion = activeCrs.getDbSchemaVersion(); + } catch (CdmSourceException e) { + Assert.fail("getDbSchemaVersion() on active cdm server should not have thrown CdmSourceException"); + } + logger.info("dbSchemaVersion is " + dbSchemaVersion); + + + boolean isDbEmpty = false; + try { + isDbEmpty = activeCrs.isDbEmpty(); + } catch (CdmSourceException e) { + Assert.fail("isDbEmpty() on active cdm server should not have thrown CdmSourceException"); + } + Assert.assertFalse(isDbEmpty); + + + boolean check = true; + try { + isDbEmpty = activeCrs.checkConnection(); + } catch (CdmSourceException e) { + Assert.fail("checkConnection() on active cdm server should not have thrown CdmSourceException"); + } + Assert.assertTrue(check); + + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTest.java new file mode 100644 index 000000000..816b18b05 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTest.java @@ -0,0 +1,41 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.httpinvoker; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.unitils.UnitilsJUnit4; + +import eu.etaxonomy.taxeditor.lazyloading.AbstractLazyInitializerTest; + +/** + * @author cmathew + * @date 6 Oct 2014 + * + */ +public class CdmServerTest extends UnitilsJUnit4 { + private static final Logger logger = Logger.getLogger(CdmServerTest.class); + + + @Test + public void stopCdmServer() { + Logger.getRootLogger().setLevel(Level.INFO); + CDMServer.getInstance().setKeepServerRunning(false); + try { + CDMServer.getInstance().stop(true); + } catch (Exception e) { + Assert.fail("Server could not be stopped. Reason : " + e.getMessage()); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTestManager.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTestManager.java new file mode 100644 index 000000000..503cab461 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/CdmServerTestManager.java @@ -0,0 +1,41 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.httpinvoker; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Ignore; +import org.junit.Test; +import org.unitils.UnitilsJUnit4; + +import eu.etaxonomy.taxeditor.lazyloading.AbstractLazyInitializerTest; + +/** + * @author cmathew + * @date 6 Oct 2014 + * + */ +public class CdmServerTestManager extends UnitilsJUnit4 { + private static final Logger logger = Logger.getLogger(CdmServerTestManager.class); + + + @Test + public void stopCdmServer() { + Logger.getRootLogger().setLevel(Level.INFO); + CDMServer.getInstance().setKeepServerRunning(true); + try { + CDMServer.getInstance().stop(); + } catch (Exception e) { + Assert.fail("Server could not be stopped. Reason : " + e.getMessage()); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/HttpInvokerServicesTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/HttpInvokerServicesTest.java new file mode 100644 index 000000000..b05d362e9 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/HttpInvokerServicesTest.java @@ -0,0 +1,34 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.httpinvoker; + +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Test; + +import eu.etaxonomy.cdm.config.CdmSourceException; + +/** + * Class to test the HttpInvoker services exposed by the CDM Sever + * + */ +public class HttpInvokerServicesTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(HttpInvokerServicesTest.class); + + @Test + public void whenCallingMethodsOnRemoteServicesThenSuceed() { + try { + String dbSchemaVersion = getRemoteApplicationController().getDatabaseService().getDbSchemaVersion(); + logger.info("dbSchemaVersion is " + dbSchemaVersion); + } catch (CdmSourceException e) { + Assert.fail("pinging database service on active cdm server should not have thrown CdmSourceException"); + } + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java new file mode 100644 index 000000000..9bfdc0d60 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.java @@ -0,0 +1,214 @@ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ +package eu.etaxonomy.taxeditor.lazyloading; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.UUID; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; +import org.unitils.dbunit.annotation.DataSet; + +import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; +import eu.etaxonomy.cdm.api.service.IClassificationService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.model.agent.Person; +import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.name.BotanicalName; +import eu.etaxonomy.cdm.model.name.NonViralName; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.taxon.Classification; +import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; + + + + +/** + * Class to test the {@link CdmApplicationRemoteController} + * + */ +@DataSet +public class AbstractLazyInitializerTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(AbstractLazyInitializerTest.class); + + private static IClassificationService classificationService; + private static ITaxonService taxonService; + + private static List taxonNodes; + + private final UUID taxonUuid1 = UUID.fromString("8217ef77-2ab1-4318-bd67-ccd0cdef07c4"); + private final UUID taxonUuid2 = UUID.fromString("ef96fafa-7750-4141-b31b-1ad1daab3e76"); + + + @BeforeClass + public void initializeRemoteLazyLoading() { + + Logger.getRootLogger().setLevel(Level.DEBUG); + + taxonService = getRemoteApplicationController().getTaxonService(); + classificationService= getRemoteApplicationController().getClassificationService(); + List classifications = classificationService.listClassifications(1,0,null,null); + Assert.assertFalse(classifications.isEmpty()); + + Classification classification = classifications.get(0); + Assert.assertNotNull(classification); + taxonNodes = classificationService.getAllNodes(); + Assert.assertFalse(taxonNodes.isEmpty()); + + } + + + + @Test + public void testCDMEntityGet() { + //ITaxonService taxonService = getRemoteApplicationController().getTaxonService(); + Iterator taxonNodeItr = taxonNodes.iterator(); + int maxcount = 30; + int count = 0; + while(taxonNodeItr.hasNext() && count <= maxcount) { + TaxonNode taxonNode = taxonNodeItr.next(); + Assert.assertNotNull(taxonNode); + + Taxon taxon = taxonNode.getTaxon(); + Assert.assertNotNull(taxon); + + String taxonTitle = taxon.getTitleCache(); + logger.info("Taxon : " + taxonTitle); + + TaxonNameBase name = taxon.getName(); + Assert.assertNotNull(name); + + String nameTitle = name.getTitleCache(); + logger.info("Taxon Name : " + nameTitle); + + count++; + } + } + + @Test + public void taxonReadTest() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + } + + + @Test + public void testCDMEntitySave() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + String oldTitleCache = taxon.getTitleCache(); + + System.out.println("Taxon title : " + oldTitleCache); + + taxon.setTitleCache(oldTitleCache + ":updated", true); + taxonService.merge(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + System.out.println("New Taxon Title : " + taxonNew.getTitleCache()); + + Assert.assertNotEquals("Title caches should not be equal",oldTitleCache,taxonNew.getTitleCache()); + + taxonNew.setTitleCache(oldTitleCache, true); + taxonService.merge(taxonNew); + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + System.out.println("Old Taxon Title : " + taxonOld.getTitleCache()); + + Assert.assertEquals("Title caches should be equal",oldTitleCache,taxonOld.getTitleCache()); + + } + + + @Test + public void testCDMEntitySaveLazyNew() { + Team combAuthor = Team.NewInstance(); + combAuthor.addTeamMember(Person.NewTitledInstance("test member")); + BotanicalName name = BotanicalName.NewInstance(null, "Test1", null, null, null, null, null, null, null); + name.setCombinationAuthorTeam(combAuthor); + Taxon tax1 = Taxon.NewInstance(name, null); + UUID taxonUuid1 = taxonService.save(tax1); + + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + NonViralName nvn = CdmBase.deproxy(taxon.getName(),NonViralName.class); + String oldTitleCache = nvn.getTitleCache(); + logger.info("Taxon Name Title : " + oldTitleCache); + nvn.setTitleCache(oldTitleCache + ":updated",false); + taxonService.update(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + NonViralName nvnNew = CdmBase.deproxy(taxon.getName(),NonViralName.class); + logger.info("New Taxon Name Title : " + nvnNew.getTitleCache()); + + Assert.assertNotEquals("Title caches should not be equal",oldTitleCache,nvnNew.getTitleCache()); + + nvnNew.setTitleCache(oldTitleCache, true); + taxonService.update(taxon); + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + NonViralName nvnOld = CdmBase.deproxy(taxon.getName(),NonViralName.class); + logger.info("Old Taxon Name Title : " + nvnNew.getTitleCache()); + + Assert.assertEquals("Title caches should be equal",oldTitleCache,nvnOld.getTitleCache()); + } + + @Ignore + @Test + public void testCDMEntitySaveCollection() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + Set synRelations = taxon.getSynonymRelations(); + Set relToTitles = new HashSet(); + Iterator srItr = synRelations.iterator(); + while(srItr.hasNext()) { + SynonymRelationship sr = srItr.next(); + System.out.println("Synonym Title Cache : " + sr.getSynonym().getTitleCache()); + relToTitles.add(sr.getSynonym().getTitleCache()); + sr.getSynonym().setTitleCache(sr.getSynonym().getTitleCache() + ":updated"); + + } + taxonService.merge(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + Set synRelationsNew = taxonNew.getSynonymRelations(); + + Iterator srItrNew = synRelationsNew.iterator(); + Iterator relToTitlesItr = relToTitles.iterator(); + while(srItrNew.hasNext() && relToTitlesItr.hasNext()) { + SynonymRelationship srNew = srItrNew.next(); + String relToTitle = relToTitlesItr.next(); + System.out.println("New Synonym Title Cache: " + srNew.getSynonym().getTitleCache()); + Assert.assertNotEquals("Synonym Title caches should not be equal", srNew.getSynonym().getTitleCache(), relToTitle); + srNew.getSynonym().setTitleCache(relToTitle); + } + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + + Set synRelationsOld = taxonNew.getSynonymRelations(); + Iterator srItrOld = synRelationsOld.iterator(); + relToTitlesItr = relToTitles.iterator(); + while(srItrOld.hasNext() && relToTitlesItr.hasNext()) { + SynonymRelationship srOld = srItrOld.next(); + String relToTitle = relToTitlesItr.next(); + System.out.println("New Synonym Title Cache: " + srOld.getSynonym().getTitleCache()); + Assert.assertEquals("Synonym Title caches should be equal", srOld.getSynonym().getTitleCache(), relToTitle); + + } + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.java new file mode 100644 index 000000000..f9954998b --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.java @@ -0,0 +1,89 @@ +// $Id$ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.lazyloading; + +import java.util.UUID; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.hibernate.collection.spi.PersistentCollection; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.description.PolytomousKey; +import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; +import eu.etaxonomy.cdm.model.name.NomenclaturalCode; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; +import eu.etaxonomy.taxeditor.httpinvoker.CDMServer; + +/** + * @author cmathew + * @date 16 Oct 2014 + * + */ +public class CdmEntityCacherTest extends BaseRemotingTest { + + private static final Logger logger = Logger.getLogger(CdmEntityCacherTest.class); + + UUID polytomousKeyUuid = UUID.fromString("0d53ba20-7de4-4baa-bd8a-401048447d66"); + UUID taxon1Uuid = UUID.fromString("2b336df7-29e8-4f79-985f-66502739d22f"); + + + IPolytomousKeyService polytomousKeyService = getRemoteApplicationController().getPolytomousKeyService(); + ICommonService commonService = getRemoteApplicationController().getCommonService(); + ITaxonService taxonService = getRemoteApplicationController().getTaxonService(); + + Language english = Language.getLanguageFromUuid(Language.uuidEnglish); + + @BeforeClass + public static void initializePolytomousKeyTest() { + logger.setLevel(Level.INFO); + CDMServer.getInstance().setKeepServerRunning(true); + + initializeController("default", "127.0.0.1", 8080, "", NomenclaturalCode.ICNAFP); + } + + @Test + public void testSimpleCache() { + + + } + + @Test + public void testCachingCdmEntities() { + PolytomousKey pkey = CdmBase.deproxy(polytomousKeyService.find(polytomousKeyUuid),PolytomousKey.class); + PolytomousKeyNode pkeynode = pkey.getRoot(); + + PersistentCollection children = (PersistentCollection) pkeynode.getChildren(); + PolytomousKeyNode childNode0 = (PolytomousKeyNode)commonService.get(children, 0); + PolytomousKey subkey1 = CdmBase.deproxy(childNode0.getSubkey(),PolytomousKey.class); + String subkey1title = subkey1.getTitleCache(); + subkey1.setTitleCache(subkey1title + "test", true); + + PolytomousKeyNode childNode1 = (PolytomousKeyNode)commonService.get(children, 1); + PolytomousKey subkey2 = CdmBase.deproxy(childNode1.getSubkey(),PolytomousKey.class); + String subkey2title = subkey2.getTitleCache(); + subkey2.setTitleCache(subkey2title + "test", true); + + Assert.assertNotSame(subkey1, subkey2); + + polytomousKeyService.merge(pkey); + + + } + + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmServiceCacherTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmServiceCacherTest.java new file mode 100644 index 000000000..be649badb --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/CdmServiceCacherTest.java @@ -0,0 +1,38 @@ +package eu.etaxonomy.taxeditor.lazyloading; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import eu.etaxonomy.cdm.api.cache.CdmServiceCacher; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; + +public class CdmServiceCacherTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(CdmServiceCacherTest.class); + + + private static CdmServiceCacher cdmServiceCacher; + + @BeforeClass + public void initialize() { + Logger.getRootLogger().setLevel(Level.INFO); + cdmServiceCacher = (CdmServiceCacher)getRemoteApplicationController().getBean("cdmServiceCacher"); + } + + @Test + public void testLanguageCache() { + Language defaultLanguage = Language.getDefaultLanguage(); + + Language defaultLanguageInCache = (Language)cdmServiceCacher.getFromCache(defaultLanguage.getUuid()); + Assert.assertEquals("Loaded Language Term should match Language Term in Cache",defaultLanguage,defaultLanguageInCache); + + Language language = Language.getLanguageFromUuid(Language.uuidFrench); + Language languageInCache = (Language)cdmServiceCacher.getFromCache(language.getUuid()); + Assert.assertEquals("Loaded Language Term should match Language Term in Cache",language,languageInCache); + + } + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java new file mode 100644 index 000000000..30fe70bf1 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemoteLazyLoadingTest.java @@ -0,0 +1,278 @@ +/** + * Copyright (C) 2014 EDIT + * European Distributed Institute of Taxonomy + * http://www.e-taxonomy.eu + * + * The contents of this file are subject to the Mozilla Public License Version 1.1 + * See LICENSE.TXT at the top of this package for the full license terms. + */ + +package eu.etaxonomy.taxeditor.lazyloading; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.UUID; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +import eu.etaxonomy.cdm.api.service.IClassificationService; +import eu.etaxonomy.cdm.api.service.ITaxonService; +import eu.etaxonomy.cdm.model.agent.Person; +import eu.etaxonomy.cdm.model.agent.Team; +import eu.etaxonomy.cdm.model.common.CdmBase; +import eu.etaxonomy.cdm.model.name.BotanicalName; +import eu.etaxonomy.cdm.model.name.NonViralName; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.taxon.Classification; +import eu.etaxonomy.cdm.model.taxon.SynonymRelationship; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; + + + +/** + * Test class which tests remoting for persistent cdm entities. + * + * FIXME:Remoting saving tests are ignored until the merge development is underway + * @author c.mathew + * + */ +//@DataSet +public class RemoteLazyLoadingTest extends BaseRemotingTest { + + private static final Logger logger = Logger.getLogger(RemoteLazyLoadingTest.class); + + private static IClassificationService classificationService; + private static ITaxonService taxonService; + + private static List taxonNodes; + + private final UUID taxonUuid1 = UUID.fromString("8217ef77-2ab1-4318-bd67-ccd0cdef07c4"); + private final UUID taxonUuid2 = UUID.fromString("ef96fafa-7750-4141-b31b-1ad1daab3e76"); + + + @BeforeClass + public static void initializeRemoteLazyLoading() { + + Logger.getRootLogger().setLevel(Level.DEBUG); + taxonService = getRemoteApplicationController().getTaxonService(); + + classificationService= getRemoteApplicationController().getClassificationService(); + //List classifications = classificationService.listClassifications(1,0,null,null); +// Assert.assertFalse(classifications.isEmpty()); +// +// Classification classification = classifications.get(0); +// Assert.assertNotNull(classification); + taxonNodes = classificationService.getAllNodes(); + Assert.assertFalse(taxonNodes.isEmpty()); + + } + + + + @Test + public void testCDMEntityGet() { + Iterator taxonNodeItr = taxonNodes.iterator(); + int maxcount = 30; + int count = 0; + while(taxonNodeItr.hasNext() && count <= maxcount) { + TaxonNode taxonNode = taxonNodeItr.next(); + Assert.assertNotNull(taxonNode); + + Taxon taxon = taxonNode.getTaxon(); + Assert.assertNotNull(taxon); + + String taxonTitle = taxon.getTitleCache(); + logger.info("Taxon : " + taxonTitle); + + TaxonNameBase name = taxon.getName(); + Assert.assertNotNull(name); + + String nameTitle = name.getTitleCache(); + logger.info("Taxon Name : " + nameTitle); + + count++; + } + + + } + + @Test + public void test() { + + } + + @Test + public void testCDMEntitySaveEager() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + String oldTitleCache = taxon.getTitleCache(); + + System.out.println("Taxon title : " + oldTitleCache); + + taxon.setTitleCache(oldTitleCache + ":updated"); + taxonService.merge(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + System.out.println("New Taxon Title : " + taxonNew.getTitleCache()); + + Assert.assertNotEquals("Title caches should not be equal",oldTitleCache,taxonNew.getTitleCache()); + + taxonNew.setTitleCache(oldTitleCache); + taxonService.merge(taxonNew); + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + System.out.println("Old Taxon Title : " + taxonOld.getTitleCache()); + + Assert.assertEquals("Title caches should be equal",oldTitleCache,taxonOld.getTitleCache()); + + } + + + @Test + public void testCDMEntityUpdate() { + + Team combAuthor = Team.NewInstance(); + combAuthor.addTeamMember(Person.NewTitledInstance("test member")); + BotanicalName name = BotanicalName.NewInstance(null, "Test1", null, null, null, null, null, null, null); + name.setCombinationAuthorTeam(combAuthor); + Taxon taxon = Taxon.NewInstance(name, null); + UUID taxonUuid = taxonService.save(taxon); + + // Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + // NonViralName nvn = CdmBase.deproxy(taxon.getName(),NonViralName.class); + // String oldTitleCache = nvn.getTitleCache(); + // System.out.println("Taxon Name Title : " + oldTitleCache); + // nvn.setTitleCache(oldTitleCache + ":updated", true); + // + // taxon.setTitleCache(oldTitleCache + ":updated",true); + // try { + // taxonService.update(taxon); + // } catch (LazyInitializationException lie) { + // lie.printStackTrace(); + // } + + List TAXON_INIT_STRATEGY = Arrays.asList(new String[] { + "name" + }); + Taxon taxonNew = (Taxon)taxonService.findTaxonByUuid(taxonUuid,TAXON_INIT_STRATEGY); + NonViralName nvn = CdmBase.deproxy(taxonNew.getName(),NonViralName.class); + Team team = CdmBase.deproxy(nvn.getCombinationAuthorTeam(),Team.class); + String oldTitleCache = nvn.getTitleCache(); + System.out.println("Taxon Name Title : " + oldTitleCache); + nvn.setTitleCache(oldTitleCache + ":updated", true); + taxonService.update(taxonNew); + + } + + + @Test + public void testCDMEntitySaveLazy() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + NonViralName nvn = CdmBase.deproxy(taxon.getName(),NonViralName.class); + String oldTitleCache = nvn.getTitleCache(); + System.out.println("Taxon Name Title : " + oldTitleCache); + nvn.setTitleCache(oldTitleCache + ":updated", true); + taxonService.update(taxon); + + // Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + // NonViralName nvnNew = CdmBase.deproxy(taxon.getName(),NonViralName.class); + // System.out.println("New Taxon Name Title : " + nvnNew.getTitleCache()); + // + // Assert.assertNotEquals("Title caches should not be equal",oldTitleCache,nvnNew.getTitleCache()); + // + // nvnNew.setTitleCache(oldTitleCache, true); + // taxonService.update(taxon); + // + // Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + // NonViralName nvnOld = CdmBase.deproxy(taxon.getName(),NonViralName.class); + // System.out.println("Old Taxon Name Title : " + nvnNew.getTitleCache()); + // + // Assert.assertEquals("Title caches should be equal",oldTitleCache,nvnOld.getTitleCache()); + } + + @Test + public void testCDMEntitySaveLazyNew() { + Team combAuthor = Team.NewInstance(); + combAuthor.addTeamMember(Person.NewTitledInstance("test member")); + BotanicalName name = BotanicalName.NewInstance(null, "Test1", null, null, null, null, null, null, null); + name.setCombinationAuthorTeam(combAuthor); + Taxon tax1 = Taxon.NewInstance(name, null); + UUID taxonUuid1 = taxonService.save(tax1); + + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + NonViralName nvn = CdmBase.deproxy(taxon.getName(),NonViralName.class); + String oldTitleCache = nvn.getTitleCache(); + logger.info("Taxon Name Title : " + oldTitleCache); + nvn.setTitleCache(oldTitleCache + ":updated",false); + taxonService.update(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + NonViralName nvnNew = CdmBase.deproxy(taxon.getName(),NonViralName.class); + logger.info("New Taxon Name Title : " + nvnNew.getTitleCache()); + + Assert.assertNotEquals("Title caches should not be equal",oldTitleCache,nvnNew.getTitleCache()); + + nvnNew.setTitleCache(oldTitleCache, true); + taxonService.update(taxon); + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + NonViralName nvnOld = CdmBase.deproxy(taxon.getName(),NonViralName.class); + logger.info("Old Taxon Name Title : " + nvnNew.getTitleCache()); + + Assert.assertEquals("Title caches should be equal",oldTitleCache,nvnOld.getTitleCache()); + } + @Ignore + @Test + public void testCDMEntitySaveCollection() { + Taxon taxon = (Taxon)taxonService.find(taxonUuid1); + + Set synRelations = taxon.getSynonymRelations(); + Set relToTitles = new HashSet(); + Iterator srItr = synRelations.iterator(); + while(srItr.hasNext()) { + SynonymRelationship sr = srItr.next(); + System.out.println("Synonym Title Cache : " + sr.getSynonym().getTitleCache()); + relToTitles.add(sr.getSynonym().getTitleCache()); + sr.getSynonym().setTitleCache(sr.getSynonym().getTitleCache() + ":updated"); + + } + taxonService.merge(taxon); + + Taxon taxonNew = (Taxon)taxonService.find(taxonUuid1); + Set synRelationsNew = taxonNew.getSynonymRelations(); + + Iterator srItrNew = synRelationsNew.iterator(); + Iterator relToTitlesItr = relToTitles.iterator(); + while(srItrNew.hasNext() && relToTitlesItr.hasNext()) { + SynonymRelationship srNew = srItrNew.next(); + String relToTitle = relToTitlesItr.next(); + System.out.println("New Synonym Title Cache: " + srNew.getSynonym().getTitleCache()); + Assert.assertNotEquals("Synonym Title caches should not be equal", srNew.getSynonym().getTitleCache(), relToTitle); + srNew.getSynonym().setTitleCache(relToTitle); + } + + Taxon taxonOld = (Taxon)taxonService.find(taxonUuid1); + + Set synRelationsOld = taxonNew.getSynonymRelations(); + Iterator srItrOld = synRelationsOld.iterator(); + relToTitlesItr = relToTitles.iterator(); + while(srItrOld.hasNext() && relToTitlesItr.hasNext()) { + SynonymRelationship srOld = srItrOld.next(); + String relToTitle = relToTitlesItr.next(); + System.out.println("New Synonym Title Cache: " + srOld.getSynonym().getTitleCache()); + Assert.assertEquals("Synonym Title caches should be equal", srOld.getSynonym().getTitleCache(), relToTitle); + + } + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemotePersistentCollectionTest.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemotePersistentCollectionTest.java new file mode 100644 index 000000000..a3c94b9af --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/lazyloading/RemotePersistentCollectionTest.java @@ -0,0 +1,226 @@ +/** +* Copyright (C) 2014 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.lazyloading; + +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.hibernate.collection.internal.AbstractPersistentCollection; +import org.hibernate.collection.spi.PersistentCollection; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + +import eu.etaxonomy.cdm.api.service.IClassificationService; +import eu.etaxonomy.cdm.api.service.ICommonService; +import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.LanguageString; +import eu.etaxonomy.cdm.model.description.DescriptionElementBase; +import eu.etaxonomy.cdm.model.description.TaxonDescription; +import eu.etaxonomy.cdm.model.description.TextData; +import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.taxon.Classification; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.httpinvoker.BaseRemotingTest; + +/** + * Test class which tests remoting for persistent collections. + * + * @author c.mathew + * @created 13.03.2014 + */ +public class RemotePersistentCollectionTest extends BaseRemotingTest { + private static final Logger logger = Logger.getLogger(RemotePersistentCollectionTest.class); + + private static IClassificationService classificationService; + private static ICommonService commonService; + + @BeforeClass + public void initializeServices() { + Logger.getRootLogger().setLevel(Level.INFO); + classificationService = getRemoteApplicationController().getClassificationService(); + commonService = getRemoteApplicationController().getCommonService(); + } + + /** + * Test method which checks remoting for persistent lists. + * + */ + @Test + public void persistentListTest() { + + List taxonNodes = classificationService.getAllNodes(); + int size = taxonNodes.size(); + logger.debug("classificationService.getAllNodes() size : " + size); + TaxonNode taxonNode = null; + if(size > 0) { + Assert.assertFalse(taxonNodes.isEmpty()); + + taxonNode = taxonNodes.get(0); + Assert.assertNotNull(taxonNode); + Assert.assertTrue(taxonNodes.contains(taxonNode)); + + // get the list of child nodes, which will give a + // proxy list which is not yet initialised + List childNodes = taxonNode.getChildNodes(); + // this size call will first initialise the list locally by internally + // calling the ICommonService.initializeCollection method and then + // call size on the initialised list + int childCount = childNodes.size(); + + // this size call will initialise the list remotely and only return the + // size of the list + int remoteChildCount = commonService.size((PersistentCollection)childNodes); + Assert.assertEquals(childCount, remoteChildCount); + + String firstNodeTaxonTitle = taxonNode.getTaxon().getTitleCache(); + Assert.assertNotNull(firstNodeTaxonTitle); + + if(childCount > 0) { + Assert.assertFalse(childNodes.isEmpty()); + // this get call will use the already initialised list to get the + // 0th element + TaxonNode localTaxonNode = childNodes.get(0); + + // this get call will initialise the list remotely and only return the + // 0th element from the list + TaxonNode remoteTaxonNode = (TaxonNode)commonService.get((PersistentCollection)childNodes,0); + + // the locally and remotely retrieved taxon node should exist in the + // (local and remote) child nodes list, should be not-null and should be equal to each other + Assert.assertTrue(taxonNode.getChildNodes().contains(localTaxonNode)); + Assert.assertTrue(taxonNode.getChildNodes().contains(remoteTaxonNode)); + Assert.assertTrue(commonService.contains((PersistentCollection)childNodes, localTaxonNode)); + Assert.assertTrue(commonService.contains((PersistentCollection)childNodes, remoteTaxonNode)); + Assert.assertNotNull(remoteTaxonNode); + Assert.assertNotNull(localTaxonNode); + Assert.assertEquals(remoteTaxonNode,localTaxonNode); + } + } + } + +// @Test +// public void persistentSetTest() { +// List classifications = classificationService.listClassifications(1,0,null,null); +// int size = classifications.size(); +// if(size > 0) { +// Assert.assertFalse(classifications.isEmpty()); +// +// Classification classification = classifications.get(0); +// Assert.assertNotNull(classification); +// Assert.assertTrue(classifications.contains(classification)); +// +// TaxonNode rootTaxonNode = classification.getRootNode(); +// // get the list of child nodes, which will give a +// // proxy list which is not yet initialised +// List childNodes = rootTaxonNode.getChildNodes(); +// +// // this size call will initialise the list locally by internally +// // calling the ICommonService.initializeCollection method +// int childCount = childNodes.size(); +// +// if(childCount > 0) { +// Assert.assertFalse(childNodes.isEmpty()); +// +// // this get call will use the already initialised list to get the +// // 0th element +// Taxon localTaxon = childNodes.get(0).getTaxon(); +// Assert.assertNotNull(localTaxon); +// +// TaxonNameBase taxonName = localTaxon.getName(); +// Assert.assertNotNull(taxonName); +// +// // get the list of taxa, which will give a +// // proxy set which is not yet initialised +// Set taxa = taxonName.getTaxonBases(); +// +// // this size call will initialise the list locally by internally +// // calling the ICommonService.initializeCollection method +// int taxaCount = taxa.size(); +// Assert.assertNotEquals(taxaCount,-1); +// +// if(taxaCount > 0) { +// Assert.assertFalse(taxa.isEmpty()); +// // the locally retrieved taxon should exist in the +// // (local and remote) taxon list and should be not-null +// Assert.assertTrue(taxa.contains(localTaxon)); +// Assert.assertNotNull(localTaxon); +// Assert.assertTrue(commonService.contains((PersistentCollection)taxa, localTaxon)); +// } +// } +// } +// } + + @Test + public void persistentMapTest() { + List taxonNodes = classificationService.getAllNodes(); + // calling iterator will initialise the collection + Iterator taxonNodesItr = taxonNodes.iterator(); + while(taxonNodesItr.hasNext()) { + TaxonNode taxonNode = taxonNodesItr.next(); + Taxon taxon = taxonNode.getTaxon(); + + if(taxon != null) { + Set descriptions = taxon.getDescriptions(); + Iterator descriptionsItr = descriptions.iterator(); + while(descriptionsItr.hasNext()) { + TaxonDescription desc = descriptionsItr.next(); + if(desc != null) { + for (DescriptionElementBase element : desc.getElements()){ + if (element.isInstanceOf(TextData.class)){ + // usually a call to 'get' collections should not initialise the collection, + // but the 'getMultilanguageText' call internally calls readSize on the collection + // which triggers the initialisation + Map multilanguagetextMap = ((TextData)element).getMultilanguageText(); + //boolean init = AbstractPersistentCollection.isInitialized(multilanguagetextMap); + //Assert.assertTrue(init); + + if(!multilanguagetextMap.isEmpty()) { + // found a map whcih we can test! + logger.info("Found Non-empty multilanguagetextMap"); + boolean empty = commonService.isEmpty((PersistentCollection)multilanguagetextMap); + Assert.assertFalse(empty); + // test retrieval of key set, which should already by initialised + Set langKeySet = multilanguagetextMap.keySet(); + Iterator langKeySetItr = langKeySet.iterator(); + while(langKeySetItr.hasNext()) { + Language key = langKeySetItr.next(); + // testing 'containsKey' on locally initialised collection + boolean localContainsKey = multilanguagetextMap.containsKey(key); + Assert.assertTrue(localContainsKey); + // testing 'containsKey' on remotely initialised collection + boolean remoteContainsKey = + commonService.containsKey((PersistentCollection)multilanguagetextMap, key); + Assert.assertTrue(remoteContainsKey); + + LanguageString value = multilanguagetextMap.get(key); + // testing 'containsValue' on locally initialised collection + boolean localContainsValue = multilanguagetextMap.containsValue(value); + Assert.assertTrue(localContainsValue); + // testing 'containsValue' on remotely initialised collection + boolean remoteContainsValue = + commonService.containsValue((PersistentCollection)multilanguagetextMap, value); + Assert.assertTrue(remoteContainsValue); + + } + return; + } + } + } + } + } + } + } + } +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/remoting/session/MockSessionOwner.java b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/remoting/session/MockSessionOwner.java new file mode 100644 index 000000000..542900a25 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/java/eu/etaxonomy/taxeditor/remoting/session/MockSessionOwner.java @@ -0,0 +1,5 @@ +package eu.etaxonomy.taxeditor.remoting.session; + +public class MockSessionOwner implements ISessionEventListener { + +} diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/cdmlib-ehcache.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/cdmlib-ehcache.xml new file mode 100644 index 000000000..7ab604c4d --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/cdmlib-ehcache.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/datasources.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/datasources.xml new file mode 100644 index 000000000..7a6ff1425 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/datasources.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.xml new file mode 100644 index 000000000..c068d69c2 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/api/cache/CdmClientCachingTest.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/cdm.datasources.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/cdm.datasources.xml new file mode 100644 index 000000000..f5d1afb0e --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/cdm.datasources.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.readPolytmousKeyData.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.readPolytmousKeyData.xml new file mode 100644 index 000000000..293407c52 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.readPolytmousKeyData.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.xml new file mode 100644 index 000000000..fb48dac44 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/polytomouskey/PolytomousKeyTest.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml new file mode 100644 index 000000000..dda9952c1 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/cdm/testRemotingApplicationContext.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.xml new file mode 100644 index 000000000..59cfc00f3 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/AbstractLazyInitializerTest.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.xml b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.xml new file mode 100644 index 000000000..ba231751c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/eu/etaxonomy/taxeditor/lazyloading/CdmEntityCacherTest.xml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.h2.db b/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.h2.db new file mode 100644 index 000000000..a500c66a3 Binary files /dev/null and b/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.h2.db differ diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.trace.db b/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.trace.db new file mode 100644 index 000000000..ffc6811d4 --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/h2/cdmTest.trace.db @@ -0,0 +1,6494 @@ +10-29 15:49:12 jdbc[4]: exception +org.h2.jdbc.JdbcSQLException: Table "CDMMETADATA" not found; SQL statement: +SELECT value FROM CdmMetaData WHERE propertyname=0 [42102-170] +10-29 15:49:14 jdbc[7]: exception +org.h2.jdbc.JdbcSQLException: Table "CDMMETADATA" not found; SQL statement: +SELECT value FROM CdmMetaData WHERE propertyname=0 [42102-170] +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:40 jdbc[8]: null +org.h2.message.DbException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.message.DbException.get(DbException.java:135) + at org.h2.jdbc.JdbcConnection.closeOld(JdbcConnection.java:175) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:120) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:93) + at org.h2.Driver.connect(Driver.java:72) + at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) + at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at eu.etaxonomy.cdm.database.LocalH2.createDataSource(LocalH2.java:88) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242) + at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117) + at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159) + at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) + at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77) + at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2276) + at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2272) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1741) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +Caused by: org.h2.jdbc.JdbcSQLException: The connection was not closed by the application and is garbage collected [90018-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + ... 60 more +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ADDRESS" not found; SQL statement: +alter table Address drop constraint FK1ED033D44FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ADDRESS" not found; SQL statement: +alter table Address drop constraint FK1ED033D4BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ADDRESS" not found; SQL statement: +alter table Address drop constraint FK1ED033D4CDD3C17E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ADDRESS" not found; SQL statement: +alter table Address drop constraint FK1ED033D4132A2FE8 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ADDRESS_AUD" not found; SQL statement: +alter table Address_AUD drop constraint FK115657A534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE" not found; SQL statement: +alter table AgentBase drop constraint FK1205D3564FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE" not found; SQL statement: +alter table AgentBase drop constraint FK1205D356BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE" not found; SQL statement: +alter table AgentBase drop constraint FK1205D356A830578 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_AUD" not found; SQL statement: +alter table AgentBase_AUD drop constraint FK29CC662734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ADDRESS" not found; SQL statement: +alter table AgentBase_Address drop constraint FK1EDFF7EB50751EC5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ADDRESS" not found; SQL statement: +alter table AgentBase_Address drop constraint FK1EDFF7EB86EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ADDRESS_AUD" not found; SQL statement: +alter table AgentBase_Address_AUD drop constraint FK3D28383C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_AGENTBASE" not found; SQL statement: +alter table AgentBase_AgentBase drop constraint FK4D34EDADE9E535F9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_AGENTBASE" not found; SQL statement: +alter table AgentBase_AgentBase drop constraint FK4D34EDAD1C0E9907 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_AGENTBASE_AUD" not found; SQL statement: +alter table AgentBase_AgentBase_AUD drop constraint FKA8A87CFE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ANNOTATION" not found; SQL statement: +alter table AgentBase_Annotation drop constraint FK44D5F7D81E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ANNOTATION" not found; SQL statement: +alter table AgentBase_Annotation drop constraint FK44D5F7D886EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ANNOTATION_AUD" not found; SQL statement: +alter table AgentBase_Annotation_AUD drop constraint FK771279A934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CREDIT" not found; SQL statement: +alter table AgentBase_Credit drop constraint FK2636742232D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CREDIT" not found; SQL statement: +alter table AgentBase_Credit drop constraint FK2636742286EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CREDIT_AUD" not found; SQL statement: +alter table AgentBase_Credit_AUD drop constraint FK7FE7C0F334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_DEFINEDTERMBASE" not found; SQL statement: +alter table AgentBase_DefinedTermBase drop constraint FK6665C77DF116FEB0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_DEFINEDTERMBASE" not found; SQL statement: +alter table AgentBase_DefinedTermBase drop constraint FK6665C77D8D9AB196 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_DEFINEDTERMBASE_AUD" not found; SQL statement: +alter table AgentBase_DefinedTermBase_AUD drop constraint FKA737EECE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_EXTENSION" not found; SQL statement: +alter table AgentBase_Extension drop constraint FK8E1E5676927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_EXTENSION" not found; SQL statement: +alter table AgentBase_Extension drop constraint FK8E1E567686EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_EXTENSION_AUD" not found; SQL statement: +alter table AgentBase_Extension_AUD drop constraint FK11AE594734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_IDENTIFIER" not found; SQL statement: +alter table AgentBase_Identifier drop constraint FK410EB952E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_IDENTIFIER" not found; SQL statement: +alter table AgentBase_Identifier drop constraint FK410EB95286EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table AgentBase_Identifier_AUD drop constraint FK3DB9EE2334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MARKER" not found; SQL statement: +alter table AgentBase_Marker drop constraint FK365D5D63777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MARKER" not found; SQL statement: +alter table AgentBase_Marker drop constraint FK365D5D6386EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MARKER_AUD" not found; SQL statement: +alter table AgentBase_Marker_AUD drop constraint FKE40621B434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MEDIA" not found; SQL statement: +alter table AgentBase_Media drop constraint FKE8FC5D9BC2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MEDIA" not found; SQL statement: +alter table AgentBase_Media drop constraint FKE8FC5D9B86EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_MEDIA_AUD" not found; SQL statement: +alter table AgentBase_Media_AUD drop constraint FK323A45EC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table AgentBase_OriginalSourceBase drop constraint FKB482C5E63A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table AgentBase_OriginalSourceBase drop constraint FKB482C5E686EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table AgentBase_OriginalSourceBase_AUD drop constraint FK886D90B734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_RIGHTSINFO" not found; SQL statement: +alter table AgentBase_RightsInfo drop constraint FK4FD6A3CEC13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_RIGHTSINFO" not found; SQL statement: +alter table AgentBase_RightsInfo drop constraint FK4FD6A3CE86EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table AgentBase_RightsInfo_AUD drop constraint FK79503A9F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_EMAILADDRESSES" not found; SQL statement: +alter table AgentBase_contact_emailaddresses drop constraint FK4BD2B08E86EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_EMAILADDRESSES_AUD" not found; SQL statement: +alter table AgentBase_contact_emailaddresses_AUD drop constraint FKCAF7E75F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_FAXNUMBERS" not found; SQL statement: +alter table AgentBase_contact_faxnumbers drop constraint FK52E1AD9586EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_FAXNUMBERS_AUD" not found; SQL statement: +alter table AgentBase_contact_faxnumbers_AUD drop constraint FK88A308E634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_PHONENUMBERS" not found; SQL statement: +alter table AgentBase_contact_phonenumbers drop constraint FKC171CC2486EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_PHONENUMBERS_AUD" not found; SQL statement: +alter table AgentBase_contact_phonenumbers_AUD drop constraint FKDDD347F534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_URLS" not found; SQL statement: +alter table AgentBase_contact_urls drop constraint FK9A9643EC86EFC5D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AGENTBASE_CONTACT_URLS_AUD" not found; SQL statement: +alter table AgentBase_contact_urls_AUD drop constraint FK1CE69BBD34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B4164FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B416BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B4163DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B416DEC4385F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B4166D2CE418 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B416E671A9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B4163781DA30 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B416825BDDD3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B416AFCA96F8 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION" not found; SQL statement: +alter table Amplification drop constraint FK9DA6B4161600EAB3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_AUD" not found; SQL statement: +alter table Amplification_AUD drop constraint FK448EE6E734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_ANNOTATION" not found; SQL statement: +alter table Amplification_Annotation drop constraint FK6B251F181E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_ANNOTATION" not found; SQL statement: +alter table Amplification_Annotation drop constraint FK6B251F18614CEB1F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_ANNOTATION_AUD" not found; SQL statement: +alter table Amplification_Annotation_AUD drop constraint FK6FC00E934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_MARKER" not found; SQL statement: +alter table Amplification_Marker drop constraint FK46E224A3777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_MARKER" not found; SQL statement: +alter table Amplification_Marker drop constraint FK46E224A3614CEB1F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_MARKER_AUD" not found; SQL statement: +alter table Amplification_Marker_AUD drop constraint FKA5548F434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_SINGLEREAD" not found; SQL statement: +alter table Amplification_SingleRead drop constraint FKFE4921E7BBC12E3E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_SINGLEREAD" not found; SQL statement: +alter table Amplification_SingleRead drop constraint FKFE4921E7614CEB1F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "AMPLIFICATION_SINGLEREAD_AUD" not found; SQL statement: +alter table Amplification_SingleRead_AUD drop constraint FK8FB4043834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION" not found; SQL statement: +alter table Annotation drop constraint FK1A21C74F4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION" not found; SQL statement: +alter table Annotation drop constraint FK1A21C74FBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION" not found; SQL statement: +alter table Annotation drop constraint FK1A21C74FE8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION" not found; SQL statement: +alter table Annotation drop constraint FK1A21C74FDF299D00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION" not found; SQL statement: +alter table Annotation drop constraint FK1A21C74FE7692740 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_AUD" not found; SQL statement: +alter table Annotation_AUD drop constraint FK1A6BB5A034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_ANNOTATION" not found; SQL statement: +alter table Annotation_Annotation drop constraint FKC99DFE3F1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_ANNOTATION" not found; SQL statement: +alter table Annotation_Annotation drop constraint FKC99DFE3F994CCE20 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_ANNOTATION_AUD" not found; SQL statement: +alter table Annotation_Annotation_AUD drop constraint FKB212F49034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_MARKER" not found; SQL statement: +alter table Annotation_Marker drop constraint FKB17EAF4A777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_MARKER" not found; SQL statement: +alter table Annotation_Marker drop constraint FKB17EAF4A994CCE20 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ANNOTATION_MARKER_AUD" not found; SQL statement: +alter table Annotation_Marker_AUD drop constraint FK68CE281B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CDMMETADATA" not found; SQL statement: +alter table CdmMetaData drop constraint FK6EA78F7B4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION" not found; SQL statement: +alter table Classification drop constraint FKDB1100064FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION" not found; SQL statement: +alter table Classification drop constraint FKDB110006BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION" not found; SQL statement: +alter table Classification drop constraint FKDB11000677E2F09E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION" not found; SQL statement: +alter table Classification drop constraint FKDB1100068D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION" not found; SQL statement: +alter table Classification drop constraint FKDB110006D1E08681 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_AUD" not found; SQL statement: +alter table Classification_AUD drop constraint FKEB11BAD734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ANNOTATION" not found; SQL statement: +alter table Classification_Annotation drop constraint FKC978FD281E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ANNOTATION" not found; SQL statement: +alter table Classification_Annotation drop constraint FKC978FD2884A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ANNOTATION_AUD" not found; SQL statement: +alter table Classification_Annotation_AUD drop constraint FK3D1256F934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_CREDIT" not found; SQL statement: +alter table Classification_Credit drop constraint FK4950A17232D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_CREDIT" not found; SQL statement: +alter table Classification_Credit drop constraint FK4950A17284A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_CREDIT_AUD" not found; SQL statement: +alter table Classification_Credit_AUD drop constraint FK48AC64334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_DESCRIPTION" not found; SQL statement: +alter table Classification_Description drop constraint FK382EB1232BEBA58D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_DESCRIPTION" not found; SQL statement: +alter table Classification_Description drop constraint FK382EB12328459272 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_DESCRIPTION" not found; SQL statement: +alter table Classification_Description drop constraint FK382EB12384A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_DESCRIPTION_AUD" not found; SQL statement: +alter table Classification_Description_AUD drop constraint FK3187957434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_EXTENSION" not found; SQL statement: +alter table Classification_Extension drop constraint FK715D6726927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_EXTENSION" not found; SQL statement: +alter table Classification_Extension drop constraint FK715D672684A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_EXTENSION_AUD" not found; SQL statement: +alter table Classification_Extension_AUD drop constraint FK289591F734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_GEOSCOPE" not found; SQL statement: +alter table Classification_GeoScope drop constraint FK379FE5BC86D04E74 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_GEOSCOPE" not found; SQL statement: +alter table Classification_GeoScope drop constraint FK379FE5BC84A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_GEOSCOPE_AUD" not found; SQL statement: +alter table Classification_GeoScope_AUD drop constraint FKF5AAD58D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_IDENTIFIER" not found; SQL statement: +alter table Classification_Identifier drop constraint FKC5B1BEA2E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_IDENTIFIER" not found; SQL statement: +alter table Classification_Identifier drop constraint FKC5B1BEA284A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_IDENTIFIER_AUD" not found; SQL statement: +alter table Classification_Identifier_AUD drop constraint FK3B9CB7334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_MARKER" not found; SQL statement: +alter table Classification_Marker drop constraint FK59778AB3777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_MARKER" not found; SQL statement: +alter table Classification_Marker drop constraint FK59778AB384A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_MARKER_AUD" not found; SQL statement: +alter table Classification_Marker_AUD drop constraint FK68A9270434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Classification_OriginalSourceBase drop constraint FK91B37B363A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Classification_OriginalSourceBase drop constraint FK91B37B3684A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table Classification_OriginalSourceBase_AUD drop constraint FK48A31E0734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_RIGHTSINFO" not found; SQL statement: +alter table Classification_RightsInfo drop constraint FKD479A91EC13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_RIGHTSINFO" not found; SQL statement: +alter table Classification_RightsInfo drop constraint FKD479A91E84A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CLASSIFICATION_RIGHTSINFO_AUD" not found; SQL statement: +alter table Classification_RightsInfo_AUD drop constraint FK3F5017EF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION" not found; SQL statement: +alter table Collection drop constraint FKF078ABE4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION" not found; SQL statement: +alter table Collection drop constraint FKF078ABEBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION" not found; SQL statement: +alter table Collection drop constraint FKF078ABE16B9CA77 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION" not found; SQL statement: +alter table Collection drop constraint FKF078ABECEB38EFF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_AUD" not found; SQL statement: +alter table Collection_AUD drop constraint FKD6D4298F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ANNOTATION" not found; SQL statement: +alter table Collection_Annotation drop constraint FKEA970F701E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ANNOTATION" not found; SQL statement: +alter table Collection_Annotation drop constraint FKEA970F70EB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ANNOTATION_AUD" not found; SQL statement: +alter table Collection_Annotation_AUD drop constraint FKA0CE054134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_CREDIT" not found; SQL statement: +alter table Collection_Credit drop constraint FKE0A317BA32D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_CREDIT" not found; SQL statement: +alter table Collection_Credit drop constraint FKE0A317BAEB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_CREDIT_AUD" not found; SQL statement: +alter table Collection_Credit_AUD drop constraint FK25A8D88B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_EXTENSION" not found; SQL statement: +alter table Collection_Extension drop constraint FKF68FEBDE927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_EXTENSION" not found; SQL statement: +alter table Collection_Extension drop constraint FKF68FEBDEEB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_EXTENSION_AUD" not found; SQL statement: +alter table Collection_Extension_AUD drop constraint FK1306FAAF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_IDENTIFIER" not found; SQL statement: +alter table Collection_Identifier drop constraint FKE6CFD0EAE12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_IDENTIFIER" not found; SQL statement: +alter table Collection_Identifier drop constraint FKE6CFD0EAEB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_IDENTIFIER_AUD" not found; SQL statement: +alter table Collection_Identifier_AUD drop constraint FK677579BB34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MARKER" not found; SQL statement: +alter table Collection_Marker drop constraint FKF0CA00FB777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MARKER" not found; SQL statement: +alter table Collection_Marker drop constraint FKF0CA00FBEB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MARKER_AUD" not found; SQL statement: +alter table Collection_Marker_AUD drop constraint FK89C7394C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MEDIA" not found; SQL statement: +alter table Collection_Media drop constraint FK7320E703C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MEDIA" not found; SQL statement: +alter table Collection_Media drop constraint FK7320E703EB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_MEDIA_AUD" not found; SQL statement: +alter table Collection_Media_AUD drop constraint FK9AABDB5434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Collection_OriginalSourceBase drop constraint FK37DEC57E3A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Collection_OriginalSourceBase drop constraint FK37DEC57EEB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table Collection_OriginalSourceBase_AUD drop constraint FKF810044F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_RIGHTSINFO" not found; SQL statement: +alter table Collection_RightsInfo drop constraint FKF597BB66C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_RIGHTSINFO" not found; SQL statement: +alter table Collection_RightsInfo drop constraint FKF597BB66EB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "COLLECTION_RIGHTSINFO_AUD" not found; SQL statement: +alter table Collection_RightsInfo_AUD drop constraint FKA30BC63734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT" not found; SQL statement: +alter table Credit drop constraint FK78CA97194FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT" not found; SQL statement: +alter table Credit drop constraint FK78CA9719BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT" not found; SQL statement: +alter table Credit drop constraint FK78CA9719E8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT" not found; SQL statement: +alter table Credit drop constraint FK78CA9719F7976FC5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_AUD" not found; SQL statement: +alter table Credit_AUD drop constraint FK5533906A34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_ANNOTATION" not found; SQL statement: +alter table Credit_Annotation drop constraint FKE8DA4C351E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_ANNOTATION" not found; SQL statement: +alter table Credit_Annotation drop constraint FKE8DA4C354CF694E0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_ANNOTATION_AUD" not found; SQL statement: +alter table Credit_Annotation_AUD drop constraint FK1DEB578634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_MARKER" not found; SQL statement: +alter table Credit_Marker drop constraint FK10CC6840777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_MARKER" not found; SQL statement: +alter table Credit_Marker drop constraint FK10CC68404CF694E0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "CREDIT_MARKER_AUD" not found; SQL statement: +alter table Credit_Marker_AUD drop constraint FK880A761134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A664FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A66BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A663B0DA0EF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A66D040DBF0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A6647AF954C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A6624AF3F70 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A6636C6F6F6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A66CC0240B6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE" not found; SQL statement: +alter table DefinedTermBase drop constraint FK2E340A6688206484 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_AUD" not found; SQL statement: +alter table DefinedTermBase_AUD drop constraint FK86E8953734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ANNOTATION" not found; SQL statement: +alter table DefinedTermBase_Annotation drop constraint FK589B6C81E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ANNOTATION" not found; SQL statement: +alter table DefinedTermBase_Annotation drop constraint FK589B6C8C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ANNOTATION_AUD" not found; SQL statement: +alter table DefinedTermBase_Annotation_AUD drop constraint FK28ED409934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CONTINENT" not found; SQL statement: +alter table DefinedTermBase_Continent drop constraint FK45F60AFB9AEE7205 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CONTINENT" not found; SQL statement: +alter table DefinedTermBase_Continent drop constraint FK45F60AFB901A60CE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CONTINENT_AUD" not found; SQL statement: +alter table DefinedTermBase_Continent_AUD drop constraint FKF5DE434C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_COUNTRY" not found; SQL statement: +alter table DefinedTermBase_Country drop constraint FKA2ADDA9D47CE41A0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_COUNTRY" not found; SQL statement: +alter table DefinedTermBase_Country drop constraint FKA2ADDA9DCE5C0F9E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_COUNTRY_AUD" not found; SQL statement: +alter table DefinedTermBase_Country_AUD drop constraint FK8D0171EE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CREDIT" not found; SQL statement: +alter table DefinedTermBase_Credit drop constraint FK78FF2B1232D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CREDIT" not found; SQL statement: +alter table DefinedTermBase_Credit drop constraint FK78FF2B12C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_CREDIT_AUD" not found; SQL statement: +alter table DefinedTermBase_Credit_AUD drop constraint FK409B7FE334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_EXTENSION" not found; SQL statement: +alter table DefinedTermBase_Extension drop constraint FK397EF986927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_EXTENSION" not found; SQL statement: +alter table DefinedTermBase_Extension drop constraint FK397EF986C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_EXTENSION_AUD" not found; SQL statement: +alter table DefinedTermBase_Extension_AUD drop constraint FK6E6F45734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_IDENTIFIER" not found; SQL statement: +alter table DefinedTermBase_Identifier drop constraint FK1C27842E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_IDENTIFIER" not found; SQL statement: +alter table DefinedTermBase_Identifier drop constraint FK1C27842C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table DefinedTermBase_Identifier_AUD drop constraint FKEF94B51334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MARKER" not found; SQL statement: +alter table DefinedTermBase_Marker drop constraint FK89261453777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MARKER" not found; SQL statement: +alter table DefinedTermBase_Marker drop constraint FK89261453C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MARKER_AUD" not found; SQL statement: +alter table DefinedTermBase_Marker_AUD drop constraint FKA4B9E0A434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEASUREMENTUNIT" not found; SQL statement: +alter table DefinedTermBase_MeasurementUnit drop constraint FKE9D17767F3BB39BD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEASUREMENTUNIT" not found; SQL statement: +alter table DefinedTermBase_MeasurementUnit drop constraint FKE9D17767D0BDAE9B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEASUREMENTUNIT_AUD" not found; SQL statement: +alter table DefinedTermBase_MeasurementUnit_AUD drop constraint FK2C1599B834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEDIA" not found; SQL statement: +alter table DefinedTermBase_Media drop constraint FK6FC908ABC2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEDIA" not found; SQL statement: +alter table DefinedTermBase_Media drop constraint FK6FC908ABC0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_MEDIA_AUD" not found; SQL statement: +alter table DefinedTermBase_Media_AUD drop constraint FKDD9AE8FC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DefinedTermBase_OriginalSourceBase drop constraint FKDCC094D63A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DefinedTermBase_OriginalSourceBase drop constraint FKDCC094D6C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table DefinedTermBase_OriginalSourceBase_AUD drop constraint FKAE4A67A734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" not found; SQL statement: +alter table DefinedTermBase_RecommendedModifierEnumeration drop constraint FKA72FB5AE5255EAFD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION" not found; SQL statement: +alter table DefinedTermBase_RecommendedModifierEnumeration drop constraint FKA72FB5AED0BDAE9B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RECOMMENDEDMODIFIERENUMERATION_AUD" not found; SQL statement: +alter table DefinedTermBase_RecommendedModifierEnumeration_AUD drop constraint FK780D5C7F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_REPRESENTATION" not found; SQL statement: +alter table DefinedTermBase_Representation drop constraint FKAAC8AFE6B31C4747 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_REPRESENTATION" not found; SQL statement: +alter table DefinedTermBase_Representation drop constraint FKAAC8AFE6C0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_REPRESENTATION_AUD" not found; SQL statement: +alter table DefinedTermBase_Representation_AUD drop constraint FKB5AE7AB734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RIGHTSINFO" not found; SQL statement: +alter table DefinedTermBase_RightsInfo drop constraint FK108A62BEC13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RIGHTSINFO" not found; SQL statement: +alter table DefinedTermBase_RightsInfo drop constraint FK108A62BEC0DB4934 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table DefinedTermBase_RightsInfo_AUD drop constraint FK2B2B018F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_STATISTICALMEASURE" not found; SQL statement: +alter table DefinedTermBase_StatisticalMeasure drop constraint FK6FF15DFCC9CD5B57 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_STATISTICALMEASURE" not found; SQL statement: +alter table DefinedTermBase_StatisticalMeasure drop constraint FK6FF15DFCD0BDAE9B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_STATISTICALMEASURE_AUD" not found; SQL statement: +alter table DefinedTermBase_StatisticalMeasure_AUD drop constraint FK3C062DCD34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION" not found; SQL statement: +alter table DefinedTermBase_SupportedCategoricalEnumeration drop constraint FK2170B25C5AF2C74 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION" not found; SQL statement: +alter table DefinedTermBase_SupportedCategoricalEnumeration drop constraint FK2170B25CD0BDAE9B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DEFINEDTERMBASE_SUPPORTEDCATEGORICALENUMERATION_AUD" not found; SQL statement: +alter table DefinedTermBase_SupportedCategoricalEnumeration_AUD drop constraint FKBB04522D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT" not found; SQL statement: +alter table DerivationEvent drop constraint FK426BC034FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT" not found; SQL statement: +alter table DerivationEvent drop constraint FK426BC03BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT" not found; SQL statement: +alter table DerivationEvent drop constraint FK426BC033DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT" not found; SQL statement: +alter table DerivationEvent drop constraint FK426BC038524B89D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_AUD" not found; SQL statement: +alter table DerivationEvent_AUD drop constraint FKDABF305434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_ANNOTATION" not found; SQL statement: +alter table DerivationEvent_Annotation drop constraint FKEFA0D10B1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_ANNOTATION" not found; SQL statement: +alter table DerivationEvent_Annotation drop constraint FKEFA0D10B4AAB411A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_ANNOTATION_AUD" not found; SQL statement: +alter table DerivationEvent_Annotation_AUD drop constraint FKA197815C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_MARKER" not found; SQL statement: +alter table DerivationEvent_Marker drop constraint FKE412C816777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_MARKER" not found; SQL statement: +alter table DerivationEvent_Marker drop constraint FKE412C8164AAB411A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DERIVATIONEVENT_MARKER_AUD" not found; SQL statement: +alter table DerivationEvent_Marker_AUD drop constraint FK8ED0FAE734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE" not found; SQL statement: +alter table DescriptionBase drop constraint FKFF4D58CD4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE" not found; SQL statement: +alter table DescriptionBase drop constraint FKFF4D58CDBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE" not found; SQL statement: +alter table DescriptionBase drop constraint FKFF4D58CDB56856A4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE" not found; SQL statement: +alter table DescriptionBase drop constraint FKFF4D58CDDE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE" not found; SQL statement: +alter table DescriptionBase drop constraint FKFF4D58CDDA935185 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_AUD" not found; SQL statement: +alter table DescriptionBase_AUD drop constraint FK7456581E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ANNOTATION" not found; SQL statement: +alter table DescriptionBase_Annotation drop constraint FKF3AD32011E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ANNOTATION" not found; SQL statement: +alter table DescriptionBase_Annotation drop constraint FKF3AD3201F1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ANNOTATION_AUD" not found; SQL statement: +alter table DescriptionBase_Annotation_AUD drop constraint FK15FE775234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_CREDIT" not found; SQL statement: +alter table DescriptionBase_Credit drop constraint FK510B2ACB32D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_CREDIT" not found; SQL statement: +alter table DescriptionBase_Credit drop constraint FK510B2ACBF1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_CREDIT_AUD" not found; SQL statement: +alter table DescriptionBase_Credit_AUD drop constraint FK2EBEFB1C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_EXTENSION" not found; SQL statement: +alter table DescriptionBase_Extension drop constraint FKD5D2B32D927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_EXTENSION" not found; SQL statement: +alter table DescriptionBase_Extension drop constraint FKD5D2B32DF1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_EXTENSION_AUD" not found; SQL statement: +alter table DescriptionBase_Extension_AUD drop constraint FK79E7827E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_GEOSCOPE" not found; SQL statement: +alter table DescriptionBase_GeoScope drop constraint FK3ADD7CD586D04E74 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_GEOSCOPE" not found; SQL statement: +alter table DescriptionBase_GeoScope drop constraint FK3ADD7CD5D86445CE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_GEOSCOPE_AUD" not found; SQL statement: +alter table DescriptionBase_GeoScope_AUD drop constraint FK63A5382634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_IDENTIFIER" not found; SQL statement: +alter table DescriptionBase_Identifier drop constraint FKEFE5F37BE12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_IDENTIFIER" not found; SQL statement: +alter table DescriptionBase_Identifier drop constraint FKEFE5F37BF1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table DescriptionBase_Identifier_AUD drop constraint FKDCA5EBCC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_MARKER" not found; SQL statement: +alter table DescriptionBase_Marker drop constraint FK6132140C777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_MARKER" not found; SQL statement: +alter table DescriptionBase_Marker drop constraint FK6132140CF1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_MARKER_AUD" not found; SQL statement: +alter table DescriptionBase_Marker_AUD drop constraint FK92DD5BDD34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DescriptionBase_OriginalSourceBase drop constraint FKDC75C70F3A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DescriptionBase_OriginalSourceBase drop constraint FKDC75C70FF1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table DescriptionBase_OriginalSourceBase_AUD drop constraint FK8F39D56034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_REFERENCE" not found; SQL statement: +alter table DescriptionBase_Reference drop constraint FKC330D6395C601E49 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_REFERENCE" not found; SQL statement: +alter table DescriptionBase_Reference drop constraint FKC330D639F1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_REFERENCE_AUD" not found; SQL statement: +alter table DescriptionBase_Reference_AUD drop constraint FK76253F8A34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_RIGHTSINFO" not found; SQL statement: +alter table DescriptionBase_RightsInfo drop constraint FKFEADDDF7C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_RIGHTSINFO" not found; SQL statement: +alter table DescriptionBase_RightsInfo drop constraint FKFEADDDF7F1DDBFAB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table DescriptionBase_RightsInfo_AUD drop constraint FK183C384834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_SCOPE" not found; SQL statement: +alter table DescriptionBase_Scope drop constraint FKB9257C4294E290CA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_SCOPE" not found; SQL statement: +alter table DescriptionBase_Scope drop constraint FKB9257C42D86445CE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONBASE_SCOPE_AUD" not found; SQL statement: +alter table DescriptionBase_Scope_AUD drop constraint FK75D5B91334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76714FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE7671BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76714220AFEB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE767134AF0E81 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76711C3C3FF7 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE7671E8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76715E9914B8 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76716561D9B1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE767110A80E07 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76719108D9B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE" not found; SQL statement: +alter table DescriptionElementBase drop constraint FK38FE76716D0D7A56 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_AUD" not found; SQL statement: +alter table DescriptionElementBase_AUD drop constraint FKF3803C234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ANNOTATION" not found; SQL statement: +alter table DescriptionElementBase_Annotation drop constraint FK7EE5E5DD1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ANNOTATION" not found; SQL statement: +alter table DescriptionElementBase_Annotation drop constraint FK7EE5E5DD3B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ANNOTATION_AUD" not found; SQL statement: +alter table DescriptionElementBase_Annotation_AUD drop constraint FK2BC1DD2E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_LANGUAGESTRING" not found; SQL statement: +alter table DescriptionElementBase_LanguageString drop constraint FKC753F137ACF5F60B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_LANGUAGESTRING" not found; SQL statement: +alter table DescriptionElementBase_LanguageString drop constraint FKC753F137C6D55834 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_LANGUAGESTRING" not found; SQL statement: +alter table DescriptionElementBase_LanguageString drop constraint FKC753F137C086B46F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_LANGUAGESTRING_AUD" not found; SQL statement: +alter table DescriptionElementBase_LanguageString_AUD drop constraint FK2D26AB8834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MARKER" not found; SQL statement: +alter table DescriptionElementBase_Marker drop constraint FK1CB715E8777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MARKER" not found; SQL statement: +alter table DescriptionElementBase_Marker drop constraint FK1CB715E83B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MARKER_AUD" not found; SQL statement: +alter table DescriptionElementBase_Marker_AUD drop constraint FK1E160FB934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MEDIA" not found; SQL statement: +alter table DescriptionElementBase_Media drop constraint FK21F70076C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MEDIA" not found; SQL statement: +alter table DescriptionElementBase_Media drop constraint FK21F700763B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MEDIA_AUD" not found; SQL statement: +alter table DescriptionElementBase_Media_AUD drop constraint FK5522034734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFIER" not found; SQL statement: +alter table DescriptionElementBase_Modifier drop constraint FK97E0D105F4E35BCD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFIER" not found; SQL statement: +alter table DescriptionElementBase_Modifier drop constraint FK97E0D1053B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFIER_AUD" not found; SQL statement: +alter table DescriptionElementBase_Modifier_AUD drop constraint FK2982F45634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFYINGTEXT" not found; SQL statement: +alter table DescriptionElementBase_ModifyingText drop constraint FK522D90C7F05D08D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFYINGTEXT" not found; SQL statement: +alter table DescriptionElementBase_ModifyingText drop constraint FK522D90C79682414B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFYINGTEXT" not found; SQL statement: +alter table DescriptionElementBase_ModifyingText drop constraint FK522D90C73B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_MODIFYINGTEXT_AUD" not found; SQL statement: +alter table DescriptionElementBase_ModifyingText_AUD drop constraint FK6C06031834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DescriptionElementBase_OriginalSourceBase drop constraint FKF41ADEEBA6473CCC [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table DescriptionElementBase_OriginalSourceBase drop constraint FKF41ADEEB3B8BB609 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table DescriptionElementBase_OriginalSourceBase_AUD drop constraint FK9C979F3C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATEDATA" not found; SQL statement: +alter table DescriptionElementBase_StateData drop constraint FK592D6F6D8E7BF9AB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATEDATA" not found; SQL statement: +alter table DescriptionElementBase_StateData drop constraint FK592D6F6D987CC6A4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATEDATA_AUD" not found; SQL statement: +alter table DescriptionElementBase_StateData_AUD drop constraint FK1D0A1EBE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" not found; SQL statement: +alter table DescriptionElementBase_StatisticalMeasurementValue drop constraint FK8AF511C2D883945E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE" not found; SQL statement: +alter table DescriptionElementBase_StatisticalMeasurementValue drop constraint FK8AF511C28F213219 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DESCRIPTIONELEMENTBASE_STATISTICALMEASUREMENTVALUE_AUD" not found; SQL statement: +alter table DescriptionElementBase_StatisticalMeasurementValue_AUD drop constraint FK2DE8E9334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB24974FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB2497BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB24973DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB24974B251DAD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB2497BD54CF92 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT" not found; SQL statement: +alter table DeterminationEvent drop constraint FK1DB2497AEC8CCAA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_AUD" not found; SQL statement: +alter table DeterminationEvent_AUD drop constraint FKA0252EE834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_ANNOTATION" not found; SQL statement: +alter table DeterminationEvent_Annotation drop constraint FKB74F03F71E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_ANNOTATION" not found; SQL statement: +alter table DeterminationEvent_Annotation drop constraint FKB74F03F76BE0BFDA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_ANNOTATION_AUD" not found; SQL statement: +alter table DeterminationEvent_Annotation_AUD drop constraint FKAFDA5E4834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_MARKER" not found; SQL statement: +alter table DeterminationEvent_Marker drop constraint FK5C475102777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_MARKER" not found; SQL statement: +alter table DeterminationEvent_Marker drop constraint FK5C4751026BE0BFDA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_MARKER_AUD" not found; SQL statement: +alter table DeterminationEvent_Marker_AUD drop constraint FK567F2DD334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_REFERENCE" not found; SQL statement: +alter table DeterminationEvent_Reference drop constraint FK8FB1ED8355A53F64 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_REFERENCE" not found; SQL statement: +alter table DeterminationEvent_Reference drop constraint FK8FB1ED836BE0BFDA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DETERMINATIONEVENT_REFERENCE_AUD" not found; SQL statement: +alter table DeterminationEvent_Reference_AUD drop constraint FK6255A1D434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DNAQUALITY" not found; SQL statement: +alter table DnaQuality drop constraint FK7F4518084FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DNAQUALITY" not found; SQL statement: +alter table DnaQuality drop constraint FK7F451808BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DNAQUALITY" not found; SQL statement: +alter table DnaQuality drop constraint FK7F45180823A844FA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DNAQUALITY" not found; SQL statement: +alter table DnaQuality drop constraint FK7F451808AEA19BFE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "DNAQUALITY_AUD" not found; SQL statement: +alter table DnaQuality_AUD drop constraint FKA79601D934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ENTITYCONSTRAINTVIOLATION" not found; SQL statement: +alter table EntityConstraintViolation drop constraint FK8970AEC54FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ENTITYCONSTRAINTVIOLATION" not found; SQL statement: +alter table EntityConstraintViolation drop constraint FK8970AEC5403EC952 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ENTITYVALIDATIONRESULT" not found; SQL statement: +alter table EntityValidationResult drop constraint FK637AAC194FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "EXTENSION" not found; SQL statement: +alter table Extension drop constraint FK52EF3C1F4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "EXTENSION" not found; SQL statement: +alter table Extension drop constraint FK52EF3C1FBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "EXTENSION" not found; SQL statement: +alter table Extension drop constraint FK52EF3C1FAD392BD3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "EXTENSION_AUD" not found; SQL statement: +alter table Extension_AUD drop constraint FK92D2427034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE" not found; SQL statement: +alter table FeatureNode drop constraint FK4CEED9F84FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE" not found; SQL statement: +alter table FeatureNode drop constraint FK4CEED9F8BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE" not found; SQL statement: +alter table FeatureNode drop constraint FK4CEED9F84220AFEB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE" not found; SQL statement: +alter table FeatureNode drop constraint FK4CEED9F847C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE" not found; SQL statement: +alter table FeatureNode drop constraint FK4CEED9F8E0AD2C59 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_AUD" not found; SQL statement: +alter table FeatureNode_AUD drop constraint FK25AD4BC934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_INAPPLICABLEIF" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_InapplicableIf drop constraint FK56833D011128E63B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_INAPPLICABLEIF" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_InapplicableIf drop constraint FK56833D0152FCC4B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_INAPPLICABLEIF_AUD" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_InapplicableIf_AUD drop constraint FKB8D7025234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_ONLYAPPLICABLE" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_OnlyApplicable drop constraint FK6AE876AB57FA94D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_ONLYAPPLICABLE" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_OnlyApplicable drop constraint FK6AE876AB52FCC4B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURENODE_DEFINEDTERMBASE_ONLYAPPLICABLE_AUD" not found; SQL statement: +alter table FeatureNode_DefinedTermBase_OnlyApplicable_AUD drop constraint FK3F5356FC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE" not found; SQL statement: +alter table FeatureTree drop constraint FK4CF19F944FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE" not found; SQL statement: +alter table FeatureTree drop constraint FK4CF19F94BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE" not found; SQL statement: +alter table FeatureTree drop constraint FK4CF19F94B7892921 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_AUD" not found; SQL statement: +alter table FeatureTree_AUD drop constraint FK355BE36534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ANNOTATION" not found; SQL statement: +alter table FeatureTree_Annotation drop constraint FK5D8B8DA1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ANNOTATION" not found; SQL statement: +alter table FeatureTree_Annotation drop constraint FK5D8B8DA47C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ANNOTATION_AUD" not found; SQL statement: +alter table FeatureTree_Annotation_AUD drop constraint FK86E8E9AB34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_CREDIT" not found; SQL statement: +alter table FeatureTree_Credit drop constraint FK7536062432D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_CREDIT" not found; SQL statement: +alter table FeatureTree_Credit drop constraint FK7536062447C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_CREDIT_AUD" not found; SQL statement: +alter table FeatureTree_Credit_AUD drop constraint FK40EA81F534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_EXTENSION" not found; SQL statement: +alter table FeatureTree_Extension drop constraint FKAD1E6D34927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_EXTENSION" not found; SQL statement: +alter table FeatureTree_Extension drop constraint FKAD1E6D3447C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_EXTENSION_AUD" not found; SQL statement: +alter table FeatureTree_Extension_AUD drop constraint FKF128E10534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_IDENTIFIER" not found; SQL statement: +alter table FeatureTree_Identifier drop constraint FK2117A54E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_IDENTIFIER" not found; SQL statement: +alter table FeatureTree_Identifier drop constraint FK2117A5447C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_IDENTIFIER_AUD" not found; SQL statement: +alter table FeatureTree_Identifier_AUD drop constraint FK4D905E2534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_MARKER" not found; SQL statement: +alter table FeatureTree_Marker drop constraint FK855CEF65777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_MARKER" not found; SQL statement: +alter table FeatureTree_Marker drop constraint FK855CEF6547C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_MARKER_AUD" not found; SQL statement: +alter table FeatureTree_Marker_AUD drop constraint FKA508E2B634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table FeatureTree_OriginalSourceBase drop constraint FK13BD64E83A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table FeatureTree_OriginalSourceBase drop constraint FK13BD64E847C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table FeatureTree_OriginalSourceBase_AUD drop constraint FK7B5CDEB934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_REPRESENTATION" not found; SQL statement: +alter table FeatureTree_Representation drop constraint FK8C458F8B31C4747 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_REPRESENTATION" not found; SQL statement: +alter table FeatureTree_Representation drop constraint FK8C458F847C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_REPRESENTATION_AUD" not found; SQL statement: +alter table FeatureTree_Representation_AUD drop constraint FKECAB4AC934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_RIGHTSINFO" not found; SQL statement: +alter table FeatureTree_RightsInfo drop constraint FK10D964D0C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_RIGHTSINFO" not found; SQL statement: +alter table FeatureTree_RightsInfo drop constraint FK10D964D047C496CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "FEATURETREE_RIGHTSINFO_AUD" not found; SQL statement: +alter table FeatureTree_RightsInfo_AUD drop constraint FK8926AAA134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F34FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F3BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F33DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F3C15704E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F3F55AFD89 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT" not found; SQL statement: +alter table GatheringEvent drop constraint FK6F1286F38B455EC6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_AUD" not found; SQL statement: +alter table GatheringEvent_AUD drop constraint FK3EC034434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_ANNOTATION" not found; SQL statement: +alter table GatheringEvent_Annotation drop constraint FK76DDD01B1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_ANNOTATION" not found; SQL statement: +alter table GatheringEvent_Annotation drop constraint FK76DDD01BF95F225A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_ANNOTATION_AUD" not found; SQL statement: +alter table GatheringEvent_Annotation_AUD drop constraint FK351E786C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_DEFINEDTERMBASE" not found; SQL statement: +alter table GatheringEvent_DefinedTermBase drop constraint FK69D9A11A7C34B6D6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_DEFINEDTERMBASE" not found; SQL statement: +alter table GatheringEvent_DefinedTermBase drop constraint FK69D9A11AF95F225A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_DEFINEDTERMBASE_AUD" not found; SQL statement: +alter table GatheringEvent_DefinedTermBase_AUD drop constraint FKB3BBB1EB34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_MARKER" not found; SQL statement: +alter table GatheringEvent_Marker drop constraint FK7B49CF26777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_MARKER" not found; SQL statement: +alter table GatheringEvent_Marker drop constraint FK7B49CF26F95F225A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GATHERINGEVENT_MARKER_AUD" not found; SQL statement: +alter table GatheringEvent_Marker_AUD drop constraint FK160DF9F734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "GRANTEDAUTHORITYIMPL" not found; SQL statement: +alter table GrantedAuthorityImpl drop constraint FKB05CF9284FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP" not found; SQL statement: +alter table HomotypicalGroup drop constraint FK7DECCC184FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP" not found; SQL statement: +alter table HomotypicalGroup drop constraint FK7DECCC18BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_AUD" not found; SQL statement: +alter table HomotypicalGroup_AUD drop constraint FKE4252DE934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_ANNOTATION" not found; SQL statement: +alter table HomotypicalGroup_Annotation drop constraint FK7A0351D61E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_ANNOTATION" not found; SQL statement: +alter table HomotypicalGroup_Annotation drop constraint FK7A0351D6BFEAE500 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_ANNOTATION_AUD" not found; SQL statement: +alter table HomotypicalGroup_Annotation_AUD drop constraint FK41E6A4A734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_MARKER" not found; SQL statement: +alter table HomotypicalGroup_Marker drop constraint FK97D36661777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_MARKER" not found; SQL statement: +alter table HomotypicalGroup_Marker drop constraint FK97D36661BFEAE500 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HOMOTYPICALGROUP_MARKER_AUD" not found; SQL statement: +alter table HomotypicalGroup_Marker_AUD drop constraint FK19337BB234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE744FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE74BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE74AEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE749DD57A93 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE74AF4F9F62 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP" not found; SQL statement: +alter table HybridRelationship drop constraint FK9033CE7455F241D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_AUD" not found; SQL statement: +alter table HybridRelationship_AUD drop constraint FK9C2BA24534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table HybridRelationship_Annotation drop constraint FK2C7E7DFA1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table HybridRelationship_Annotation drop constraint FK2C7E7DFA59832240 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_ANNOTATION_AUD" not found; SQL statement: +alter table HybridRelationship_Annotation_AUD drop constraint FKACE71ECB34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_MARKER" not found; SQL statement: +alter table HybridRelationship_Marker drop constraint FKCEF24485777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_MARKER" not found; SQL statement: +alter table HybridRelationship_Marker drop constraint FKCEF2448559832240 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "HYBRIDRELATIONSHIP_MARKER_AUD" not found; SQL statement: +alter table HybridRelationship_Marker_AUD drop constraint FKCBAEA7D634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "IDENTIFIER" not found; SQL statement: +alter table Identifier drop constraint FK165A88C94FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "IDENTIFIER" not found; SQL statement: +alter table Identifier drop constraint FK165A88C9BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "IDENTIFIER" not found; SQL statement: +alter table Identifier drop constraint FK165A88C9E67FC44F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "IDENTIFIER_AUD" not found; SQL statement: +alter table Identifier_AUD drop constraint FKE1132A1A34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INDIVIDUALASSOCIATION_LANGUAGESTRING" not found; SQL statement: +alter table IndividualAssociation_LanguageString drop constraint FKB5C75EC02BEBA58D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INDIVIDUALASSOCIATION_LANGUAGESTRING" not found; SQL statement: +alter table IndividualAssociation_LanguageString drop constraint FKB5C75EC028459272 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INDIVIDUALASSOCIATION_LANGUAGESTRING" not found; SQL statement: +alter table IndividualAssociation_LanguageString drop constraint FKB5C75EC084FF3EDF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INDIVIDUALASSOCIATION_LANGUAGESTRING_AUD" not found; SQL statement: +alter table IndividualAssociation_LanguageString_AUD drop constraint FKB1A62C9134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INSTITUTIONALMEMBERSHIP" not found; SQL statement: +alter table InstitutionalMembership drop constraint FK3C8E1FF94FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INSTITUTIONALMEMBERSHIP" not found; SQL statement: +alter table InstitutionalMembership drop constraint FK3C8E1FF9BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INSTITUTIONALMEMBERSHIP" not found; SQL statement: +alter table InstitutionalMembership drop constraint FK3C8E1FF916B9CA77 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INSTITUTIONALMEMBERSHIP" not found; SQL statement: +alter table InstitutionalMembership drop constraint FK3C8E1FF9AAC1B820 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "INSTITUTIONALMEMBERSHIP_AUD" not found; SQL statement: +alter table InstitutionalMembership_AUD drop constraint FK847A94A34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT" not found; SQL statement: +alter table KeyStatement drop constraint FK7125B9F04FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT" not found; SQL statement: +alter table KeyStatement drop constraint FK7125B9F0BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT_AUD" not found; SQL statement: +alter table KeyStatement_AUD drop constraint FK93036FC134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT_LANGUAGESTRING" not found; SQL statement: +alter table KeyStatement_LanguageString drop constraint FK70BB5FD89C782795 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT_LANGUAGESTRING" not found; SQL statement: +alter table KeyStatement_LanguageString drop constraint FK70BB5FD8DA0C376A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT_LANGUAGESTRING" not found; SQL statement: +alter table KeyStatement_LanguageString drop constraint FK70BB5FD8AAA67049 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "KEYSTATEMENT_LANGUAGESTRING_AUD" not found; SQL statement: +alter table KeyStatement_LanguageString_AUD drop constraint FKE203E1A934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LSIDAUTHORITY" not found; SQL statement: +alter table LSIDAuthority drop constraint FK759DB8814FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LSIDAUTHORITY_NAMESPACES" not found; SQL statement: +alter table LSIDAuthority_namespaces drop constraint FKB04948F64FFCFD94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING" not found; SQL statement: +alter table LanguageString drop constraint FKB5FDC9A94FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING" not found; SQL statement: +alter table LanguageString drop constraint FKB5FDC9A9BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING" not found; SQL statement: +alter table LanguageString drop constraint FKB5FDC9A9E8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_AUD" not found; SQL statement: +alter table LanguageString_AUD drop constraint FK896AFAFA34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_ANNOTATION" not found; SQL statement: +alter table LanguageString_Annotation drop constraint FK8400DFA51E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_ANNOTATION" not found; SQL statement: +alter table LanguageString_Annotation drop constraint FK8400DFA537998500 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_ANNOTATION_AUD" not found; SQL statement: +alter table LanguageString_Annotation_AUD drop constraint FKD3BAB2F634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_MARKER" not found; SQL statement: +alter table LanguageString_Marker drop constraint FK8DA633B0777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_MARKER" not found; SQL statement: +alter table LanguageString_Marker drop constraint FK8DA633B037998500 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "LANGUAGESTRING_MARKER_AUD" not found; SQL statement: +alter table LanguageString_Marker_AUD drop constraint FK2331098134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MARKER" not found; SQL statement: +alter table Marker drop constraint FK88F1805A4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MARKER" not found; SQL statement: +alter table Marker drop constraint FK88F1805ABC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MARKER" not found; SQL statement: +alter table Marker drop constraint FK88F1805AD64DC020 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MARKER_AUD" not found; SQL statement: +alter table Marker_AUD drop constraint FKB951F12B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264FBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F3DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F14D2C695 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F3781DA30 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F1600EAB3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT" not found; SQL statement: +alter table MaterialOrMethodEvent drop constraint FK458A264F9A129634 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_AUD" not found; SQL statement: +alter table MaterialOrMethodEvent_AUD drop constraint FK8C8C94A034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_ANNOTATION" not found; SQL statement: +alter table MaterialOrMethodEvent_Annotation drop constraint FKD9943F3F1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_ANNOTATION" not found; SQL statement: +alter table MaterialOrMethodEvent_Annotation drop constraint FKD9943F3F2F50355A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_ANNOTATION_AUD" not found; SQL statement: +alter table MaterialOrMethodEvent_Annotation_AUD drop constraint FK6B00B59034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_MARKER" not found; SQL statement: +alter table MaterialOrMethodEvent_Marker drop constraint FKF0BD704A777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_MARKER" not found; SQL statement: +alter table MaterialOrMethodEvent_Marker drop constraint FKF0BD704A2F50355A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MATERIALORMETHODEVENT_MARKER_AUD" not found; SQL statement: +alter table MaterialOrMethodEvent_Marker_AUD drop constraint FK78C4691B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA" not found; SQL statement: +alter table Media drop constraint FK46C7FC44FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA" not found; SQL statement: +alter table Media drop constraint FK46C7FC4BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA" not found; SQL statement: +alter table Media drop constraint FK46C7FC4C2445443 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_NAMEDAREA" not found; SQL statement: +alter table MediaKey_NamedArea drop constraint FK31E7D4023FF8E7B2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_NAMEDAREA" not found; SQL statement: +alter table MediaKey_NamedArea drop constraint FK31E7D402BE59D760 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_NAMEDAREA_AUD" not found; SQL statement: +alter table MediaKey_NamedArea_AUD drop constraint FK922630D334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_SCOPE" not found; SQL statement: +alter table MediaKey_Scope drop constraint FKBFFEE8F05431B96E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_SCOPE" not found; SQL statement: +alter table MediaKey_Scope drop constraint FKBFFEE8F0BE59D760 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_SCOPE_AUD" not found; SQL statement: +alter table MediaKey_Scope_AUD drop constraint FK63AD1EC134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_TAXON" not found; SQL statement: +alter table MediaKey_Taxon drop constraint FKC00C3966DE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_TAXON" not found; SQL statement: +alter table MediaKey_Taxon drop constraint FKC00C3966815C7E9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAKEY_TAXON_AUD" not found; SQL statement: +alter table MediaKey_Taxon_AUD drop constraint FK311443734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATION" not found; SQL statement: +alter table MediaRepresentation drop constraint FK1966BDB14FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATION" not found; SQL statement: +alter table MediaRepresentation drop constraint FK1966BDB1BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATION" not found; SQL statement: +alter table MediaRepresentation drop constraint FK1966BDB1C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATIONPART" not found; SQL statement: +alter table MediaRepresentationPart drop constraint FK67A455444FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATIONPART" not found; SQL statement: +alter table MediaRepresentationPart drop constraint FK67A45544BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATIONPART" not found; SQL statement: +alter table MediaRepresentationPart drop constraint FK67A45544E3818E37 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATIONPART_AUD" not found; SQL statement: +alter table MediaRepresentationPart_AUD drop constraint FKA75C411534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATION_AUD" not found; SQL statement: +alter table MediaRepresentation_AUD drop constraint FK67AAAB0234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIAREPRESENTATION_MEDIAREPRESENTATIONPART_AUD" not found; SQL statement: +alter table MediaRepresentation_MediaRepresentationPart_AUD drop constraint FK3544378734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_AUD" not found; SQL statement: +alter table Media_AUD drop constraint FKF70B2B9534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ANNOTATION" not found; SQL statement: +alter table Media_Annotation drop constraint FKA020DAAA1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ANNOTATION" not found; SQL statement: +alter table Media_Annotation drop constraint FKA020DAAAC2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ANNOTATION_AUD" not found; SQL statement: +alter table Media_Annotation_AUD drop constraint FK99ABA37B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_CREDIT" not found; SQL statement: +alter table Media_Credit drop constraint FKC1F78FF432D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_CREDIT" not found; SQL statement: +alter table Media_Credit drop constraint FKC1F78FF4C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_CREDIT_AUD" not found; SQL statement: +alter table Media_Credit_AUD drop constraint FKDB32A3C534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_DESCRIPTION" not found; SQL statement: +alter table Media_Description drop constraint FK368283E12BEBA58D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_DESCRIPTION" not found; SQL statement: +alter table Media_Description drop constraint FK368283E128459272 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_DESCRIPTION" not found; SQL statement: +alter table Media_Description drop constraint FK368283E1C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_DESCRIPTION_AUD" not found; SQL statement: +alter table Media_Description_AUD drop constraint FK6817D93234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_EXTENSION" not found; SQL statement: +alter table Media_Extension drop constraint FKDB62D164927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_EXTENSION" not found; SQL statement: +alter table Media_Extension drop constraint FKDB62D164C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_EXTENSION_AUD" not found; SQL statement: +alter table Media_Extension_AUD drop constraint FKE13FAD3534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_IDENTIFIER" not found; SQL statement: +alter table Media_Identifier drop constraint FK9C599C24E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_IDENTIFIER" not found; SQL statement: +alter table Media_Identifier drop constraint FK9C599C24C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_IDENTIFIER_AUD" not found; SQL statement: +alter table Media_Identifier_AUD drop constraint FK605317F534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_LANGUAGESTRING" not found; SQL statement: +alter table Media_LanguageString drop constraint FK353DB784A1CA19B1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_LANGUAGESTRING" not found; SQL statement: +alter table Media_LanguageString drop constraint FK353DB784A0A6EDCE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_LANGUAGESTRING" not found; SQL statement: +alter table Media_LanguageString drop constraint FK353DB784C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_LANGUAGESTRING_AUD" not found; SQL statement: +alter table Media_LanguageString_AUD drop constraint FK68FA835534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_MARKER" not found; SQL statement: +alter table Media_Marker drop constraint FKD21E7935777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_MARKER" not found; SQL statement: +alter table Media_Marker drop constraint FKD21E7935C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_MARKER_AUD" not found; SQL statement: +alter table Media_Marker_AUD drop constraint FK3F51048634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Media_OriginalSourceBase drop constraint FK2FEEB6B83A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Media_OriginalSourceBase drop constraint FK2FEEB6B8C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table Media_OriginalSourceBase_AUD drop constraint FK97F0C88934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_REPRESENTATION" not found; SQL statement: +alter table Media_Representation drop constraint FK1B8712C88F6CABE6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_REPRESENTATION" not found; SQL statement: +alter table Media_Representation drop constraint FK1B8712C8BE59D760 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_REPRESENTATION_AUD" not found; SQL statement: +alter table Media_Representation_AUD drop constraint FK8DC9C9934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_RIGHTSINFO" not found; SQL statement: +alter table Media_RightsInfo drop constraint FKAB2186A0C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_RIGHTSINFO" not found; SQL statement: +alter table Media_RightsInfo drop constraint FKAB2186A0C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_RIGHTSINFO_AUD" not found; SQL statement: +alter table Media_RightsInfo_AUD drop constraint FK9BE9647134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_SEQUENCE" not found; SQL statement: +alter table Media_Sequence drop constraint FK61D09FCF29B4761 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_SEQUENCE" not found; SQL statement: +alter table Media_Sequence drop constraint FK61D09FC3282B64 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_SEQUENCE_AUD" not found; SQL statement: +alter table Media_Sequence_AUD drop constraint FK3C7BD9CD34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_TAXONBASE" not found; SQL statement: +alter table Media_TaxonBase drop constraint FK1ABD49E07C3D0017 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_TAXONBASE" not found; SQL statement: +alter table Media_TaxonBase drop constraint FK1ABD49E0BE59D760 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MEDIA_TAXONBASE_AUD" not found; SQL statement: +alter table Media_TaxonBase_AUD drop constraint FK857187B134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_NAMEDAREA" not found; SQL statement: +alter table MultiAccessKey_NamedArea drop constraint FK1F5A74893FF8E7B2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_NAMEDAREA" not found; SQL statement: +alter table MultiAccessKey_NamedArea drop constraint FK1F5A7489B4555A9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_NAMEDAREA_AUD" not found; SQL statement: +alter table MultiAccessKey_NamedArea_AUD drop constraint FK4CB735DA34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_SCOPE" not found; SQL statement: +alter table MultiAccessKey_Scope drop constraint FKCC6CE4F75431B96E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_SCOPE" not found; SQL statement: +alter table MultiAccessKey_Scope drop constraint FKCC6CE4F7B4555A9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_SCOPE_AUD" not found; SQL statement: +alter table MultiAccessKey_Scope_AUD drop constraint FK511FBF4834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_TAXON" not found; SQL statement: +alter table MultiAccessKey_Taxon drop constraint FKCC7A356DDE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_TAXON" not found; SQL statement: +alter table MultiAccessKey_Taxon drop constraint FKCC7A356DB64A7B29 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "MULTIACCESSKEY_TAXON_AUD" not found; SQL statement: +alter table MultiAccessKey_Taxon_AUD drop constraint FKF083E4BE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E510834FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E51083BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E51083AEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E5108316CDFF85 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E5108328482454 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP" not found; SQL statement: +alter table NameRelationship drop constraint FK5E51083AF619DE3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_AUD" not found; SQL statement: +alter table NameRelationship_AUD drop constraint FK743F44D434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table NameRelationship_Annotation drop constraint FK2E38AC8B1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table NameRelationship_Annotation drop constraint FK2E38AC8B7B4CB560 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_ANNOTATION_AUD" not found; SQL statement: +alter table NameRelationship_Annotation_AUD drop constraint FKD1D59CDC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_MARKER" not found; SQL statement: +alter table NameRelationship_Marker drop constraint FKE3E46396777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_MARKER" not found; SQL statement: +alter table NameRelationship_Marker drop constraint FKE3E463967B4CB560 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NAMERELATIONSHIP_MARKER_AUD" not found; SQL statement: +alter table NameRelationship_Marker_AUD drop constraint FKCD68D66734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS" not found; SQL statement: +alter table NomenclaturalStatus drop constraint FK1FFEC88B4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS" not found; SQL statement: +alter table NomenclaturalStatus drop constraint FK1FFEC88BBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS" not found; SQL statement: +alter table NomenclaturalStatus drop constraint FK1FFEC88BAEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS" not found; SQL statement: +alter table NomenclaturalStatus drop constraint FK1FFEC88B7029BD9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_AUD" not found; SQL statement: +alter table NomenclaturalStatus_AUD drop constraint FKFB2DB8DC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_ANNOTATION" not found; SQL statement: +alter table NomenclaturalStatus_Annotation drop constraint FKE6E91F831E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_ANNOTATION" not found; SQL statement: +alter table NomenclaturalStatus_Annotation drop constraint FKE6E91F838D2CB1D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_ANNOTATION_AUD" not found; SQL statement: +alter table NomenclaturalStatus_Annotation_AUD drop constraint FK6A3D3D434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_MARKER" not found; SQL statement: +alter table NomenclaturalStatus_Marker drop constraint FK2F5128E777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_MARKER" not found; SQL statement: +alter table NomenclaturalStatus_Marker drop constraint FK2F5128E8D2CB1D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "NOMENCLATURALSTATUS_MARKER_AUD" not found; SQL statement: +alter table NomenclaturalStatus_Marker_AUD drop constraint FK8619495F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE" not found; SQL statement: +alter table OriginalSourceBase drop constraint FK505F2E5D4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE" not found; SQL statement: +alter table OriginalSourceBase drop constraint FK505F2E5DBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE" not found; SQL statement: +alter table OriginalSourceBase drop constraint FK505F2E5DAEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE" not found; SQL statement: +alter table OriginalSourceBase drop constraint FK505F2E5D966B96B2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table OriginalSourceBase_AUD drop constraint FK9662E5AE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_ANNOTATION" not found; SQL statement: +alter table OriginalSourceBase_Annotation drop constraint FK208142711E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_ANNOTATION" not found; SQL statement: +alter table OriginalSourceBase_Annotation drop constraint FK20814271B029DDA0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_ANNOTATION_AUD" not found; SQL statement: +alter table OriginalSourceBase_Annotation_AUD drop constraint FKA074CFC234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_MARKER" not found; SQL statement: +alter table OriginalSourceBase_Marker drop constraint FKB3FFDC7C777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_MARKER" not found; SQL statement: +alter table OriginalSourceBase_Marker drop constraint FKB3FFDC7CB029DDA0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "ORIGINALSOURCEBASE_MARKER_AUD" not found; SQL statement: +alter table OriginalSourceBase_Marker_AUD drop constraint FKBFB16C4D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PERMISSIONGROUP" not found; SQL statement: +alter table PermissionGroup drop constraint FK629941D04FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" not found; SQL statement: +alter table PermissionGroup_GrantedAuthorityImpl drop constraint FK53114371857F6C2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PERMISSIONGROUP_GRANTEDAUTHORITYIMPL" not found; SQL statement: +alter table PermissionGroup_GrantedAuthorityImpl drop constraint FK5311437CA0971A3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY" not found; SQL statement: +alter table PolytomousKey drop constraint FKA9E6B1384FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY" not found; SQL statement: +alter table PolytomousKey drop constraint FKA9E6B138BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY" not found; SQL statement: +alter table PolytomousKey drop constraint FKA9E6B138576595C3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775ABC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A4220AFEB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775AC73A7584 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A4FEE4393 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A808998FB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A9D3C2E93 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A4382686A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775A1C0483C4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE" not found; SQL statement: +alter table PolytomousKeyNode drop constraint FK860775ADE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE_AUD" not found; SQL statement: +alter table PolytomousKeyNode_AUD drop constraint FK6A6D682B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE_LANGUAGESTRING" not found; SQL statement: +alter table PolytomousKeyNode_LanguageString drop constraint FK5574E12EF05D08D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE_LANGUAGESTRING" not found; SQL statement: +alter table PolytomousKeyNode_LanguageString drop constraint FK5574E12E9682414B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE_LANGUAGESTRING" not found; SQL statement: +alter table PolytomousKeyNode_LanguageString drop constraint FK5574E12EF135C42B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEYNODE_LANGUAGESTRING_AUD" not found; SQL statement: +alter table PolytomousKeyNode_LanguageString_AUD drop constraint FKE0D0C7FF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_AUD" not found; SQL statement: +alter table PolytomousKey_AUD drop constraint FK867830934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ANNOTATION" not found; SQL statement: +alter table PolytomousKey_Annotation drop constraint FK278CF8B61E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ANNOTATION" not found; SQL statement: +alter table PolytomousKey_Annotation drop constraint FK278CF8B689D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ANNOTATION_AUD" not found; SQL statement: +alter table PolytomousKey_Annotation_AUD drop constraint FK3281DB8734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_CREDIT" not found; SQL statement: +alter table PolytomousKey_Credit drop constraint FKADC940032D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_CREDIT" not found; SQL statement: +alter table PolytomousKey_Credit drop constraint FKADC940089D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_CREDIT_AUD" not found; SQL statement: +alter table PolytomousKey_Credit_AUD drop constraint FK629EC1D134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_EXTENSION" not found; SQL statement: +alter table PolytomousKey_Extension drop constraint FKAE34C1D8927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_EXTENSION" not found; SQL statement: +alter table PolytomousKey_Extension drop constraint FKAE34C1D889D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_EXTENSION_AUD" not found; SQL statement: +alter table PolytomousKey_Extension_AUD drop constraint FK1FFC43A934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_IDENTIFIER" not found; SQL statement: +alter table PolytomousKey_Identifier drop constraint FK23C5BA30E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_IDENTIFIER" not found; SQL statement: +alter table PolytomousKey_Identifier drop constraint FK23C5BA3089D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_IDENTIFIER_AUD" not found; SQL statement: +alter table PolytomousKey_Identifier_AUD drop constraint FKF929500134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_MARKER" not found; SQL statement: +alter table PolytomousKey_Marker drop constraint FK1B037D41777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_MARKER" not found; SQL statement: +alter table PolytomousKey_Marker drop constraint FK1B037D4189D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_MARKER_AUD" not found; SQL statement: +alter table PolytomousKey_Marker_AUD drop constraint FKC6BD229234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_NAMEDAREA" not found; SQL statement: +alter table PolytomousKey_NamedArea drop constraint FK1C727CFF3FF8E7B2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_NAMEDAREA" not found; SQL statement: +alter table PolytomousKey_NamedArea drop constraint FK1C727CFF89D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_NAMEDAREA_AUD" not found; SQL statement: +alter table PolytomousKey_NamedArea_AUD drop constraint FK750A135034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ORIGINALSOURCEBASE" not found; SQL statement: +alter table PolytomousKey_OriginalSourceBase drop constraint FK839208C43A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ORIGINALSOURCEBASE" not found; SQL statement: +alter table PolytomousKey_OriginalSourceBase drop constraint FK839208C489D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table PolytomousKey_OriginalSourceBase_AUD drop constraint FKE644349534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_RIGHTSINFO" not found; SQL statement: +alter table PolytomousKey_RightsInfo drop constraint FK328DA4ACC13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_RIGHTSINFO" not found; SQL statement: +alter table PolytomousKey_RightsInfo drop constraint FK328DA4AC89D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_RIGHTSINFO_AUD" not found; SQL statement: +alter table PolytomousKey_RightsInfo_AUD drop constraint FK34BF9C7D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_SCOPE" not found; SQL statement: +alter table PolytomousKey_Scope drop constraint FK8D97986D5431B96E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_SCOPE" not found; SQL statement: +alter table PolytomousKey_Scope drop constraint FK8D97986D89D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_SCOPE_AUD" not found; SQL statement: +alter table PolytomousKey_Scope_AUD drop constraint FK4E37C7BE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXON" not found; SQL statement: +alter table PolytomousKey_Taxon drop constraint FK8DA4E8E3DE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXON" not found; SQL statement: +alter table PolytomousKey_Taxon drop constraint FK8DA4E8E389D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXONBASE" not found; SQL statement: +alter table PolytomousKey_TaxonBase drop constraint FKED8F3A547C3D0017 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXONBASE" not found; SQL statement: +alter table PolytomousKey_TaxonBase drop constraint FKED8F3A5489D97CB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXONBASE_AUD" not found; SQL statement: +alter table PolytomousKey_TaxonBase_AUD drop constraint FKC42E1E2534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "POLYTOMOUSKEY_TAXON_AUD" not found; SQL statement: +alter table PolytomousKey_Taxon_AUD drop constraint FKED9BED3434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER" not found; SQL statement: +alter table Primer drop constraint FK8EFB89F34FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER" not found; SQL statement: +alter table Primer drop constraint FK8EFB89F3BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER" not found; SQL statement: +alter table Primer drop constraint FK8EFB89F3D0374392 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_AUD" not found; SQL statement: +alter table Primer_AUD drop constraint FK319B864434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_ANNOTATION" not found; SQL statement: +alter table Primer_Annotation drop constraint FK9044ED1B1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_ANNOTATION" not found; SQL statement: +alter table Primer_Annotation drop constraint FK9044ED1B48BD1F55 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_ANNOTATION_AUD" not found; SQL statement: +alter table Primer_Annotation_AUD drop constraint FKDBAF156C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_MARKER" not found; SQL statement: +alter table Primer_Marker drop constraint FKF6C76C26777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_MARKER" not found; SQL statement: +alter table Primer_Marker drop constraint FKF6C76C2648BD1F55 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "PRIMER_MARKER_AUD" not found; SQL statement: +alter table Primer_Marker_AUD drop constraint FK2F7516F734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2B4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2BBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2BD741CE1F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2BAD54327F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2B403E17F4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE" not found; SQL statement: +alter table Reference drop constraint FK404D5F2BAEC3B8B8 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_AUD" not found; SQL statement: +alter table Reference_AUD drop constraint FK8F0FFF7C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ANNOTATION" not found; SQL statement: +alter table Reference_Annotation drop constraint FKFC824E31E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ANNOTATION" not found; SQL statement: +alter table Reference_Annotation drop constraint FKFC824E38D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ANNOTATION_AUD" not found; SQL statement: +alter table Reference_Annotation_AUD drop constraint FKF3C1293434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_CREDIT" not found; SQL statement: +alter table Reference_Credit drop constraint FK5BC6DEAD32D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_CREDIT" not found; SQL statement: +alter table Reference_Credit drop constraint FK5BC6DEAD8D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_CREDIT_AUD" not found; SQL statement: +alter table Reference_Credit_AUD drop constraint FK4AD9EDFE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_EXTENSION" not found; SQL statement: +alter table Reference_Extension drop constraint FKDEFCDC0B927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_EXTENSION" not found; SQL statement: +alter table Reference_Extension drop constraint FKDEFCDC0B8D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_EXTENSION_AUD" not found; SQL statement: +alter table Reference_Extension_AUD drop constraint FK1DF60C5C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_IDENTIFIER" not found; SQL statement: +alter table Reference_Identifier drop constraint FKC00E65DE12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_IDENTIFIER" not found; SQL statement: +alter table Reference_Identifier drop constraint FKC00E65D8D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_IDENTIFIER_AUD" not found; SQL statement: +alter table Reference_Identifier_AUD drop constraint FKBA689DAE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MARKER" not found; SQL statement: +alter table Reference_Marker drop constraint FK6BEDC7EE777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MARKER" not found; SQL statement: +alter table Reference_Marker drop constraint FK6BEDC7EE8D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MARKER_AUD" not found; SQL statement: +alter table Reference_Marker_AUD drop constraint FKAEF84EBF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MEDIA" not found; SQL statement: +alter table Reference_Media drop constraint FKBBEF5B0C2C29593 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MEDIA" not found; SQL statement: +alter table Reference_Media drop constraint FKBBEF5B08D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_MEDIA_AUD" not found; SQL statement: +alter table Reference_Media_AUD drop constraint FK8318CB8134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Reference_OriginalSourceBase drop constraint FKD3E8B7F13A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table Reference_OriginalSourceBase drop constraint FKD3E8B7F18D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table Reference_OriginalSourceBase_AUD drop constraint FKC025854234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_RIGHTSINFO" not found; SQL statement: +alter table Reference_RightsInfo drop constraint FK1AC8D0D9C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_RIGHTSINFO" not found; SQL statement: +alter table Reference_RightsInfo drop constraint FK1AC8D0D98D0FB4DA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REFERENCE_RIGHTSINFO_AUD" not found; SQL statement: +alter table Reference_RightsInfo_AUD drop constraint FKF5FEEA2A34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RELATIONSHIPTERMBASE_INVERSEREPRESENTATION" not found; SQL statement: +alter table RelationshipTermBase_inverseRepresentation drop constraint FK98592F33473FB677 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RELATIONSHIPTERMBASE_INVERSEREPRESENTATION" not found; SQL statement: +alter table RelationshipTermBase_inverseRepresentation drop constraint FK98592F33ECEEF4AF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RELATIONSHIPTERMBASE_INVERSEREPRESENTATION_AUD" not found; SQL statement: +alter table RelationshipTermBase_inverseRepresentation_AUD drop constraint FK5D248B8434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION" not found; SQL statement: +alter table Representation drop constraint FK9C4724ED4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION" not found; SQL statement: +alter table Representation drop constraint FK9C4724EDBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION" not found; SQL statement: +alter table Representation drop constraint FK9C4724EDE8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_AUD" not found; SQL statement: +alter table Representation_AUD drop constraint FK294D143E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_ANNOTATION" not found; SQL statement: +alter table Representation_Annotation drop constraint FK371091E11E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_ANNOTATION" not found; SQL statement: +alter table Representation_Annotation drop constraint FK371091E147E8AE60 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_ANNOTATION_AUD" not found; SQL statement: +alter table Representation_Annotation_AUD drop constraint FK36EEE73234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_MARKER" not found; SQL statement: +alter table Representation_Marker drop constraint FK560063EC777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_MARKER" not found; SQL statement: +alter table Representation_Marker drop constraint FK560063EC47E8AE60 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "REPRESENTATION_MARKER_AUD" not found; SQL statement: +alter table Representation_Marker_AUD drop constraint FKD640BBBD34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO" not found; SQL statement: +alter table RightsInfo drop constraint FK252273454FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO" not found; SQL statement: +alter table RightsInfo drop constraint FK25227345BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO" not found; SQL statement: +alter table RightsInfo drop constraint FK25227345E8D36B00 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO" not found; SQL statement: +alter table RightsInfo drop constraint FK25227345F7976FC5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO" not found; SQL statement: +alter table RightsInfo drop constraint FK25227345E6D2D338 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_AUD" not found; SQL statement: +alter table RightsInfo_AUD drop constraint FK1CA9769634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_ANNOTATION" not found; SQL statement: +alter table RightsInfo_Annotation drop constraint FKECC95C891E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_ANNOTATION" not found; SQL statement: +alter table RightsInfo_Annotation drop constraint FKECC95C89EFE62333 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_ANNOTATION_AUD" not found; SQL statement: +alter table RightsInfo_Annotation_AUD drop constraint FK78721DDA34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_MARKER" not found; SQL statement: +alter table RightsInfo_Marker drop constraint FK81D8C294777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_MARKER" not found; SQL statement: +alter table RightsInfo_Marker drop constraint FK81D8C294EFE62333 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "RIGHTSINFO_MARKER_AUD" not found; SQL statement: +alter table RightsInfo_Marker_AUD drop constraint FK8BF9866534869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE" not found; SQL statement: +alter table Sequence drop constraint FK544ADBE14FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE" not found; SQL statement: +alter table Sequence drop constraint FK544ADBE1BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE" not found; SQL statement: +alter table Sequence drop constraint FK544ADBE19F65E72B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE" not found; SQL statement: +alter table Sequence drop constraint FK544ADBE16D2CE418 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE" not found; SQL statement: +alter table Sequence drop constraint FK544ADBE1E671A9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_AUD" not found; SQL statement: +alter table Sequence_AUD drop constraint FK39F4313234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_ANNOTATION" not found; SQL statement: +alter table Sequence_Annotation drop constraint FK1010BA6D1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_ANNOTATION" not found; SQL statement: +alter table Sequence_Annotation drop constraint FK1010BA6DD57FFDD5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_ANNOTATION_AUD" not found; SQL statement: +alter table Sequence_Annotation_AUD drop constraint FKCB4FE9BE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_MARKER" not found; SQL statement: +alter table Sequence_Marker drop constraint FK3D22B278777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_MARKER" not found; SQL statement: +alter table Sequence_Marker drop constraint FK3D22B278D57FFDD5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_MARKER_AUD" not found; SQL statement: +alter table Sequence_Marker_AUD drop constraint FKAF40E44934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_REFERENCE" not found; SQL statement: +alter table Sequence_Reference drop constraint FK6944904D1DDDC219 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_REFERENCE" not found; SQL statement: +alter table Sequence_Reference drop constraint FK6944904DD57FFDD5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_REFERENCE_AUD" not found; SQL statement: +alter table Sequence_Reference_AUD drop constraint FK18E5CF9E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_SINGLEREAD" not found; SQL statement: +alter table Sequence_SingleRead drop constraint FKA334BD3CBBC12E3E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_SINGLEREAD" not found; SQL statement: +alter table Sequence_SingleRead drop constraint FKA334BD3CD57FFDD5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SEQUENCE_SINGLEREAD_AUD" not found; SQL statement: +alter table Sequence_SingleRead_AUD drop constraint FK5407ED0D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1E4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1EBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1E3DA462D5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1E614CEB1F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1EE0EBCFFE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1E55DDFE96 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD" not found; SQL statement: +alter table SingleRead drop constraint FKAD45CA1E48BD1F55 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_AUD" not found; SQL statement: +alter table SingleRead_AUD drop constraint FKA323B8EF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_ANNOTATION" not found; SQL statement: +alter table SingleRead_Annotation drop constraint FK33E974101E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_ANNOTATION" not found; SQL statement: +alter table SingleRead_Annotation drop constraint FK33E974103A5A5E15 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_ANNOTATION_AUD" not found; SQL statement: +alter table SingleRead_Annotation_AUD drop constraint FK7B1D19E134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_MARKER" not found; SQL statement: +alter table SingleRead_Marker drop constraint FKCF47B59B777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_MARKER" not found; SQL statement: +alter table SingleRead_Marker drop constraint FKCF47B59B3A5A5E15 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SINGLEREAD_MARKER_AUD" not found; SQL statement: +alter table SingleRead_Marker_AUD drop constraint FKD3199DEC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA32724FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272F53E6AFA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA32728C35BD07 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272E35D77A3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272EB62BE9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272156CF96 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272C8505DB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA32727CC340C5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA327295CC5995 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA32724FF2F98B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272F95F225A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE" not found; SQL statement: +alter table SpecimenOrObservationBase drop constraint FK21CA3272DADF76EA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_AUD drop constraint FKF3D3D74334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ANNOTATION" not found; SQL statement: +alter table SpecimenOrObservationBase_Annotation drop constraint FK365E4F3C1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ANNOTATION" not found; SQL statement: +alter table SpecimenOrObservationBase_Annotation drop constraint FK365E4F3C3B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ANNOTATION_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Annotation_AUD drop constraint FK34187F0D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_CREDIT" not found; SQL statement: +alter table SpecimenOrObservationBase_Credit drop constraint FK7E3A1D8632D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_CREDIT" not found; SQL statement: +alter table SpecimenOrObservationBase_Credit drop constraint FK7E3A1D863B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_CREDIT_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Credit_AUD drop constraint FK7170185734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" not found; SQL statement: +alter table SpecimenOrObservationBase_DerivationEvent drop constraint FK20132036BD59A1AD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT" not found; SQL statement: +alter table SpecimenOrObservationBase_DerivationEvent drop constraint FK2013203654C216AA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_DERIVATIONEVENT_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_DerivationEvent_AUD drop constraint FKA4A8430734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_EXTENSION" not found; SQL statement: +alter table SpecimenOrObservationBase_Extension drop constraint FKE03B8292927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_EXTENSION" not found; SQL statement: +alter table SpecimenOrObservationBase_Extension drop constraint FKE03B82923B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_EXTENSION_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Extension_AUD drop constraint FK7AE0176334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_IDENTIFIER" not found; SQL statement: +alter table SpecimenOrObservationBase_Identifier drop constraint FK329710B6E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_IDENTIFIER" not found; SQL statement: +alter table SpecimenOrObservationBase_Identifier drop constraint FK329710B63B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Identifier_AUD drop constraint FKFABFF38734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_LANGUAGESTRING" not found; SQL statement: +alter table SpecimenOrObservationBase_LanguageString drop constraint FKCFAA9316CD55E0D6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_LANGUAGESTRING" not found; SQL statement: +alter table SpecimenOrObservationBase_LanguageString drop constraint FKCFAA93168028C309 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_LANGUAGESTRING" not found; SQL statement: +alter table SpecimenOrObservationBase_LanguageString drop constraint FKCFAA93163B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_LANGUAGESTRING_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_LanguageString_AUD drop constraint FK38B45E734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_MARKER" not found; SQL statement: +alter table SpecimenOrObservationBase_Marker drop constraint FK8E6106C7777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_MARKER" not found; SQL statement: +alter table SpecimenOrObservationBase_Marker drop constraint FK8E6106C73B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_MARKER_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Marker_AUD drop constraint FKD58E791834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table SpecimenOrObservationBase_OriginalSourceBase drop constraint FKCA7F794A3A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table SpecimenOrObservationBase_OriginalSourceBase drop constraint FKCA7F794A3B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_OriginalSourceBase_AUD drop constraint FK2059F21B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_RIGHTSINFO" not found; SQL statement: +alter table SpecimenOrObservationBase_RightsInfo drop constraint FK415EFB32C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_RIGHTSINFO" not found; SQL statement: +alter table SpecimenOrObservationBase_RightsInfo drop constraint FK415EFB323B8A5ABA [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_RightsInfo_AUD drop constraint FK3656400334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_SEQUENCE" not found; SQL statement: +alter table SpecimenOrObservationBase_Sequence drop constraint FKBBF27B0E35B10F24 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_SEQUENCE" not found; SQL statement: +alter table SpecimenOrObservationBase_Sequence drop constraint FKBBF27B0E7EE2770E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SPECIMENOROBSERVATIONBASE_SEQUENCE_AUD" not found; SQL statement: +alter table SpecimenOrObservationBase_Sequence_AUD drop constraint FK392E71DF34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA" not found; SQL statement: +alter table StateData drop constraint FKFB1697BB4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA" not found; SQL statement: +alter table StateData drop constraint FKFB1697BBBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA" not found; SQL statement: +alter table StateData drop constraint FKFB1697BB682A4E4B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_AUD" not found; SQL statement: +alter table StateData_AUD drop constraint FKDA6A700C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_DEFINEDTERMBASE" not found; SQL statement: +alter table StateData_DefinedTermBase drop constraint FK107321E2F4E35BCD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_DEFINEDTERMBASE" not found; SQL statement: +alter table StateData_DefinedTermBase drop constraint FK107321E28E7BF9AB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_DEFINEDTERMBASE_AUD" not found; SQL statement: +alter table StateData_DefinedTermBase_AUD drop constraint FK7C978EB334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_LANGUAGESTRING" not found; SQL statement: +alter table StateData_LanguageString drop constraint FK93FFD2ADF05D08D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_LANGUAGESTRING" not found; SQL statement: +alter table StateData_LanguageString drop constraint FK93FFD2AD9682414B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_LANGUAGESTRING" not found; SQL statement: +alter table StateData_LanguageString drop constraint FK93FFD2AD8E7BF9AB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATEDATA_LANGUAGESTRING_AUD" not found; SQL statement: +alter table StateData_LanguageString_AUD drop constraint FK1578E1FE34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE" not found; SQL statement: +alter table StatisticalMeasurementValue drop constraint FK2DCE02904FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE" not found; SQL statement: +alter table StatisticalMeasurementValue drop constraint FK2DCE0290BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE" not found; SQL statement: +alter table StatisticalMeasurementValue drop constraint FK2DCE02904C428112 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE_AUD" not found; SQL statement: +alter table StatisticalMeasurementValue_AUD drop constraint FKBB16686134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" not found; SQL statement: +alter table StatisticalMeasurementValue_DefinedTermBase drop constraint FK686C42B7F4E35BCD [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE" not found; SQL statement: +alter table StatisticalMeasurementValue_DefinedTermBase drop constraint FK686C42B75C9F4F2B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "STATISTICALMEASUREMENTVALUE_DEFINEDTERMBASE_AUD" not found; SQL statement: +alter table StatisticalMeasurementValue_DefinedTermBase_AUD drop constraint FKFEBA3D0834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB34FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB3BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB3AEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB34BAC703F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB3F8991B9D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP" not found; SQL statement: +alter table SynonymRelationship drop constraint FKF483ADB380924EEC [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_AUD" not found; SQL statement: +alter table SynonymRelationship_AUD drop constraint FK8AEBCA0434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table SynonymRelationship_Annotation drop constraint FKF494F15B1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table SynonymRelationship_Annotation drop constraint FKF494F15B260A8379 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_ANNOTATION_AUD" not found; SQL statement: +alter table SynonymRelationship_Annotation_AUD drop constraint FKD3E2F9AC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_MARKER" not found; SQL statement: +alter table SynonymRelationship_Marker drop constraint FK7A439066777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_MARKER" not found; SQL statement: +alter table SynonymRelationship_Marker drop constraint FK7A439066260A8379 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "SYNONYMRELATIONSHIP_MARKER_AUD" not found; SQL statement: +alter table SynonymRelationship_Marker_AUD drop constraint FK93C51B3734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE" not found; SQL statement: +alter table TaxonBase drop constraint FK9249B49B4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE" not found; SQL statement: +alter table TaxonBase drop constraint FK9249B49BBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE" not found; SQL statement: +alter table TaxonBase drop constraint FK9249B49B8492378F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE" not found; SQL statement: +alter table TaxonBase drop constraint FK9249B49B74FED214 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE" not found; SQL statement: +alter table TaxonBase drop constraint FK9249B49B7C7B5AED [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_AUD" not found; SQL statement: +alter table TaxonBase_AUD drop constraint FK37041CEC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ANNOTATION" not found; SQL statement: +alter table TaxonBase_Annotation drop constraint FK41ED09731E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ANNOTATION" not found; SQL statement: +alter table TaxonBase_Annotation drop constraint FK41ED09739C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ANNOTATION_AUD" not found; SQL statement: +alter table TaxonBase_Annotation_AUD drop constraint FK8C145C434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_CREDIT" not found; SQL statement: +alter table TaxonBase_Credit drop constraint FK4CB48B3D32D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_CREDIT" not found; SQL statement: +alter table TaxonBase_Credit drop constraint FK4CB48B3D9C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_CREDIT_AUD" not found; SQL statement: +alter table TaxonBase_Credit_AUD drop constraint FK7CFED28E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_EXTENSION" not found; SQL statement: +alter table TaxonBase_Extension drop constraint FKF961257B927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_EXTENSION" not found; SQL statement: +alter table TaxonBase_Extension drop constraint FKF961257B9C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_EXTENSION_AUD" not found; SQL statement: +alter table TaxonBase_Extension_AUD drop constraint FK71381DCC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_IDENTIFIER" not found; SQL statement: +alter table TaxonBase_Identifier drop constraint FK3E25CAEDE12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_IDENTIFIER" not found; SQL statement: +alter table TaxonBase_Identifier drop constraint FK3E25CAED9C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table TaxonBase_Identifier_AUD drop constraint FKCF68BA3E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_MARKER" not found; SQL statement: +alter table TaxonBase_Marker drop constraint FK5CDB747E777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_MARKER" not found; SQL statement: +alter table TaxonBase_Marker drop constraint FK5CDB747E9C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_MARKER_AUD" not found; SQL statement: +alter table TaxonBase_Marker_AUD drop constraint FKE11D334F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TaxonBase_OriginalSourceBase drop constraint FKFB680C813A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TaxonBase_OriginalSourceBase drop constraint FKFB680C819C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table TaxonBase_OriginalSourceBase_AUD drop constraint FKB7C811D234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_RIGHTSINFO" not found; SQL statement: +alter table TaxonBase_RightsInfo drop constraint FK4CEDB569C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_RIGHTSINFO" not found; SQL statement: +alter table TaxonBase_RightsInfo drop constraint FK4CEDB5699C9D39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table TaxonBase_RightsInfo_AUD drop constraint FKAFF06BA34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONINTERACTION_LANGUAGESTRING" not found; SQL statement: +alter table TaxonInteraction_LanguageString drop constraint FK579A1DC02BEBA58D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONINTERACTION_LANGUAGESTRING" not found; SQL statement: +alter table TaxonInteraction_LanguageString drop constraint FK579A1DC028459272 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONINTERACTION_LANGUAGESTRING" not found; SQL statement: +alter table TaxonInteraction_LanguageString drop constraint FK579A1DC086C86FE0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONINTERACTION_LANGUAGESTRING_AUD" not found; SQL statement: +alter table TaxonInteraction_LanguageString_AUD drop constraint FK9E016B9134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C64FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C6BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C6BFEAE500 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C6617E62B3 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C6D7BE55A0 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C62B4FEDD6 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C6B14B73EF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C67F90DF03 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE" not found; SQL statement: +alter table TaxonNameBase drop constraint FKB4870C662AD57A2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_AUD" not found; SQL statement: +alter table TaxonNameBase_AUD drop constraint FK5CA2CB9734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ANNOTATION" not found; SQL statement: +alter table TaxonNameBase_Annotation drop constraint FK9E7794681E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ANNOTATION" not found; SQL statement: +alter table TaxonNameBase_Annotation drop constraint FK9E7794688C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ANNOTATION_AUD" not found; SQL statement: +alter table TaxonNameBase_Annotation_AUD drop constraint FKB6734E3934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_CREDIT" not found; SQL statement: +alter table TaxonNameBase_Credit drop constraint FK29BCD8B232D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_CREDIT" not found; SQL statement: +alter table TaxonNameBase_Credit drop constraint FK29BCD8B28C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_CREDIT_AUD" not found; SQL statement: +alter table TaxonNameBase_Credit_AUD drop constraint FKD9895D8334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_EXTENSION" not found; SQL statement: +alter table TaxonNameBase_Extension drop constraint FKC28EE7E6927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_EXTENSION" not found; SQL statement: +alter table TaxonNameBase_Extension drop constraint FKC28EE7E68C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_EXTENSION_AUD" not found; SQL statement: +alter table TaxonNameBase_Extension_AUD drop constraint FK8F98B2B734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_IDENTIFIER" not found; SQL statement: +alter table TaxonNameBase_Identifier drop constraint FK9AB055E2E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_IDENTIFIER" not found; SQL statement: +alter table TaxonNameBase_Identifier drop constraint FK9AB055E28C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_IDENTIFIER_AUD" not found; SQL statement: +alter table TaxonNameBase_Identifier_AUD drop constraint FK7D1AC2B334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_MARKER" not found; SQL statement: +alter table TaxonNameBase_Marker drop constraint FK39E3C1F3777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_MARKER" not found; SQL statement: +alter table TaxonNameBase_Marker drop constraint FK39E3C1F38C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_MARKER_AUD" not found; SQL statement: +alter table TaxonNameBase_Marker_AUD drop constraint FK3DA7BE4434869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_NOMENCLATURALSTATUS" not found; SQL statement: +alter table TaxonNameBase_NomenclaturalStatus drop constraint FK560BA7926615E90D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_NOMENCLATURALSTATUS" not found; SQL statement: +alter table TaxonNameBase_NomenclaturalStatus drop constraint FK560BA7928C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_NOMENCLATURALSTATUS_AUD" not found; SQL statement: +alter table TaxonNameBase_NomenclaturalStatus_AUD drop constraint FK9215BC6334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TaxonNameBase_OriginalSourceBase drop constraint FKF746D2763A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TaxonNameBase_OriginalSourceBase drop constraint FKF746D2768C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table TaxonNameBase_OriginalSourceBase_AUD drop constraint FK7A38D54734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_RIGHTSINFO" not found; SQL statement: +alter table TaxonNameBase_RightsInfo drop constraint FKA978405EC13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_RIGHTSINFO" not found; SQL statement: +alter table TaxonNameBase_RightsInfo drop constraint FKA978405E8C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_RIGHTSINFO_AUD" not found; SQL statement: +alter table TaxonNameBase_RightsInfo_AUD drop constraint FKB8B10F2F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TaxonNameBase_TypeDesignationBase drop constraint FKC0D6BBB5C7DF530C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TaxonNameBase_TypeDesignationBase drop constraint FKC0D6BBB58C85CF94 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNAMEBASE_TYPEDESIGNATIONBASE_AUD" not found; SQL statement: +alter table TaxonNameBase_TypeDesignationBase_AUD drop constraint FKBB24070634869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCC4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCCBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCC84A3CE1B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCC39DB2DFB [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCC381381B5 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCCCC05993E [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE" not found; SQL statement: +alter table TaxonNode drop constraint FK924F5BCCDE9A3E39 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_AUD" not found; SQL statement: +alter table TaxonNode_AUD drop constraint FKE090C39D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_ANNOTATION" not found; SQL statement: +alter table TaxonNode_Annotation drop constraint FKD8A9A9A21E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_ANNOTATION" not found; SQL statement: +alter table TaxonNode_Annotation drop constraint FKD8A9A9A2927D8399 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_ANNOTATION_AUD" not found; SQL statement: +alter table TaxonNode_Annotation_AUD drop constraint FKB2C4367334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_MARKER" not found; SQL statement: +alter table TaxonNode_Marker drop constraint FK395842D777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_MARKER" not found; SQL statement: +alter table TaxonNode_Marker drop constraint FK395842D927D8399 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONNODE_MARKER_AUD" not found; SQL statement: +alter table TaxonNode_Marker_AUD drop constraint FK77D9D37E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA024FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA02BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA02AEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA02E71EF6CE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA02F8991B9D [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP" not found; SQL statement: +alter table TaxonRelationship drop constraint FK7482BA02F11BD77B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_AUD" not found; SQL statement: +alter table TaxonRelationship_AUD drop constraint FKA0DE16D334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table TaxonRelationship_Annotation drop constraint FK82C86DAC1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_ANNOTATION" not found; SQL statement: +alter table TaxonRelationship_Annotation drop constraint FK82C86DAC2BD180D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_ANNOTATION_AUD" not found; SQL statement: +alter table TaxonRelationship_Annotation_AUD drop constraint FKE86DE57D34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_MARKER" not found; SQL statement: +alter table TaxonRelationship_Marker drop constraint FK69FBDD37777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_MARKER" not found; SQL statement: +alter table TaxonRelationship_Marker drop constraint FK69FBDD372BD180D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TAXONRELATIONSHIP_MARKER_AUD" not found; SQL statement: +alter table TaxonRelationship_Marker_AUD drop constraint FK21F8978834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY" not found; SQL statement: +alter table TermVocabulary drop constraint FK487AA6924FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY" not found; SQL statement: +alter table TermVocabulary drop constraint FK487AA692BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_AUD" not found; SQL statement: +alter table TermVocabulary_AUD drop constraint FKA6ED3B6334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ANNOTATION" not found; SQL statement: +alter table TermVocabulary_Annotation drop constraint FK76D2071C1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ANNOTATION" not found; SQL statement: +alter table TermVocabulary_Annotation drop constraint FK76D2071C258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ANNOTATION_AUD" not found; SQL statement: +alter table TermVocabulary_Annotation_AUD drop constraint FK222D46ED34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_CREDIT" not found; SQL statement: +alter table TermVocabulary_Credit drop constraint FK7604C56632D1B9F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_CREDIT" not found; SQL statement: +alter table TermVocabulary_Credit drop constraint FK7604C566258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_CREDIT_AUD" not found; SQL statement: +alter table TermVocabulary_Credit_AUD drop constraint FKB1E3D03734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_EXTENSION" not found; SQL statement: +alter table TermVocabulary_Extension drop constraint FKA8814EB2927DE9DF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_EXTENSION" not found; SQL statement: +alter table TermVocabulary_Extension drop constraint FKA8814EB2258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_EXTENSION_AUD" not found; SQL statement: +alter table TermVocabulary_Extension_AUD drop constraint FKD522D38334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_IDENTIFIER" not found; SQL statement: +alter table TermVocabulary_Identifier drop constraint FK730AC896E12073FF [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_IDENTIFIER" not found; SQL statement: +alter table TermVocabulary_Identifier drop constraint FK730AC896258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_IDENTIFIER_AUD" not found; SQL statement: +alter table TermVocabulary_Identifier_AUD drop constraint FKE8D4BB6734869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_MARKER" not found; SQL statement: +alter table TermVocabulary_Marker drop constraint FK862BAEA7777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_MARKER" not found; SQL statement: +alter table TermVocabulary_Marker drop constraint FK862BAEA7258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_MARKER_AUD" not found; SQL statement: +alter table TermVocabulary_Marker_AUD drop constraint FK160230F834869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TermVocabulary_OriginalSourceBase drop constraint FK8F2D512A3A6735D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ORIGINALSOURCEBASE" not found; SQL statement: +alter table TermVocabulary_OriginalSourceBase drop constraint FK8F2D512A258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_ORIGINALSOURCEBASE_AUD" not found; SQL statement: +alter table TermVocabulary_OriginalSourceBase_AUD drop constraint FKA898D9FB34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_REPRESENTATION" not found; SQL statement: +alter table TermVocabulary_Representation drop constraint FKA408B63AB31C4747 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_REPRESENTATION" not found; SQL statement: +alter table TermVocabulary_Representation drop constraint FKA408B63A258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_REPRESENTATION_AUD" not found; SQL statement: +alter table TermVocabulary_Representation_AUD drop constraint FK681B370B34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_RIGHTSINFO" not found; SQL statement: +alter table TermVocabulary_RightsInfo drop constraint FK81D2B312C13F7B21 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_RIGHTSINFO" not found; SQL statement: +alter table TermVocabulary_RightsInfo drop constraint FK81D2B312258E060 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TERMVOCABULARY_RIGHTSINFO_AUD" not found; SQL statement: +alter table TermVocabulary_RightsInfo_AUD drop constraint FK246B07E334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAE4FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAEBC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAEAEB7F3BE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAE9E3ED08 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAE4CB0F315 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE" not found; SQL statement: +alter table TypeDesignationBase drop constraint FK8AC9DCAEFBFA41D9 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_AUD" not found; SQL statement: +alter table TypeDesignationBase_AUD drop constraint FK243C037F34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_ANNOTATION" not found; SQL statement: +alter table TypeDesignationBase_Annotation drop constraint FK4D7327801E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_ANNOTATION" not found; SQL statement: +alter table TypeDesignationBase_Annotation drop constraint FK4D73278044E9E6D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_ANNOTATION_AUD" not found; SQL statement: +alter table TypeDesignationBase_Annotation_AUD drop constraint FK88BF955134869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_MARKER" not found; SQL statement: +alter table TypeDesignationBase_Marker drop constraint FKB914A10B777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_MARKER" not found; SQL statement: +alter table TypeDesignationBase_Marker drop constraint FKB914A10B44E9E6D4 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "TYPEDESIGNATIONBASE_MARKER_AUD" not found; SQL statement: +alter table TypeDesignationBase_Marker_AUD drop constraint FKECA3515C34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT" not found; SQL statement: +alter table UserAccount drop constraint FKB3F13C24FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT" not found; SQL statement: +alter table UserAccount drop constraint FKB3F13C2AAC1B820 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT_AUD" not found; SQL statement: +alter table UserAccount_AUD drop constraint FK6A57909334869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT_GRANTEDAUTHORITYIMPL" not found; SQL statement: +alter table UserAccount_GrantedAuthorityImpl drop constraint FKFD724D851857F6C2 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT_GRANTEDAUTHORITYIMPL" not found; SQL statement: +alter table UserAccount_GrantedAuthorityImpl drop constraint FKFD724D855EA5DD89 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT_PERMISSIONGROUP" not found; SQL statement: +alter table UserAccount_PermissionGroup drop constraint FK812DE753DA9DCB5F [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "USERACCOUNT_PERMISSIONGROUP" not found; SQL statement: +alter table UserAccount_PermissionGroup drop constraint FK812DE753887E3D12 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET" not found; SQL statement: +alter table WorkingSet drop constraint FK668D5B914FF2DB2C [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET" not found; SQL statement: +alter table WorkingSet drop constraint FK668D5B91BC5DA539 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET" not found; SQL statement: +alter table WorkingSet drop constraint FK668D5B9123DB7F04 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_AUD" not found; SQL statement: +alter table WorkingSet_AUD drop constraint FK628F58E234869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_ANNOTATION" not found; SQL statement: +alter table WorkingSet_Annotation drop constraint FKCBBA8CBD1E403E0B [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_ANNOTATION" not found; SQL statement: +alter table WorkingSet_Annotation drop constraint FKCBBA8CBDBBD2C869 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_ANNOTATION_AUD" not found; SQL statement: +alter table WorkingSet_Annotation_AUD drop constraint FK1E28140E34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_DESCRIPTIONBASE" not found; SQL statement: +alter table WorkingSet_DescriptionBase drop constraint FK731CC81F33B8A841 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_DESCRIPTIONBASE" not found; SQL statement: +alter table WorkingSet_DescriptionBase drop constraint FK731CC81FBBD2C869 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_DESCRIPTIONBASE_AUD" not found; SQL statement: +alter table WorkingSet_DescriptionBase_AUD drop constraint FK8959CE7034869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_MARKER" not found; SQL statement: +alter table WorkingSet_Marker drop constraint FK9CB22CC8777265A1 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_MARKER" not found; SQL statement: +alter table WorkingSet_Marker drop constraint FK9CB22CC8BBD2C869 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_MARKER_AUD" not found; SQL statement: +alter table WorkingSet_Marker_AUD drop constraint FK6AEAB69934869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_REPRESENTATION" not found; SQL statement: +alter table WorkingSet_Representation drop constraint FKA003835BB31C4747 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_REPRESENTATION" not found; SQL statement: +alter table WorkingSet_Representation drop constraint FKA003835BBBD2C869 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_REPRESENTATION_AUD" not found; SQL statement: +alter table WorkingSet_Representation_AUD drop constraint FK21B88BAC34869AAE [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_TAXONBASE" not found; SQL statement: +alter table WorkingSet_TaxonBase drop constraint FK34EB896D7C3D0017 [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_TAXONBASE" not found; SQL statement: +alter table WorkingSet_TaxonBase drop constraint FK34EB896DB4555A9A [42102-170] +10-29 15:49:59 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Table "WORKINGSET_TAXONBASE_AUD" not found; SQL statement: +alter table WorkingSet_TaxonBase_AUD drop constraint FK582B38BE34869AAE [42102-170] +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table AgentBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Amplification add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Annotation add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table CdmMetaData add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Classification add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Collection add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Credit add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DefinedTermBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DerivationEvent add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DescriptionBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DescriptionElementBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DeterminationEvent add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table DnaQuality add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table EntityConstraintViolation add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table EntityValidationResult add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Extension add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table FeatureNode add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table FeatureTree add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table GatheringEvent add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table GrantedAuthorityImpl add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table HomotypicalGroup add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table HybridRelationship add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Identifier add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table InstitutionalMembership add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table KeyStatement add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table LSIDAuthority add constraint _UniqueKey unique (uuid, authority) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table LanguageString add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Marker add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table MaterialOrMethodEvent add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Media add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table MediaRepresentation add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table MediaRepresentationPart add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table NameRelationship add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table NomenclaturalStatus add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table OriginalSourceBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table PermissionGroup add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table PolytomousKey add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table PolytomousKeyNode add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Primer add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Reference add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Representation add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:00 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table RightsInfo add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table Sequence add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table SingleRead add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table SpecimenOrObservationBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table StateData add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table StatisticalMeasurementValue add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table SynonymRelationship add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TaxonBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TaxonNameBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TaxonNode add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TaxonRelationship add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TermVocabulary add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table TypeDesignationBase add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table UserAccount add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 15:50:01 jdbc[2]: exception +org.h2.jdbc.JdbcSQLException: Constraint "_UNIQUEKEY" already exists; SQL statement: +alter table WorkingSet add constraint _UniqueKey unique (uuid) [90045-170] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) + at org.h2.message.DbException.get(DbException.java:169) + at org.h2.message.DbException.get(DbException.java:146) + at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:89) + at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:68) + at org.h2.command.CommandContainer.update(CommandContainer.java:75) + at org.h2.command.Command.executeUpdate(Command.java:230) + at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125) + at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228) + at org.hibernate.tool.hbm2ddl.DatabaseExporter.export(DatabaseExporter.java:64) + at org.hibernate.tool.hbm2ddl.SchemaExport.perform(SchemaExport.java:418) + at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:375) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:304) + at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:293) + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:498) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1743) + at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1781) + at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373) + at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323) + at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.createBean(MonitoredListableBeanFactory.java:106) + at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) + at eu.etaxonomy.cdm.api.application.MonitoredListableBeanFactory.preInstantiateSingletons(MonitoredListableBeanFactory.java:70) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.finishBeanFactoryInitialization(MonitoredGenericApplicationContext.java:74) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) + at eu.etaxonomy.cdm.api.application.MonitoredGenericApplicationContext.refresh(MonitoredGenericApplicationContext.java:102) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.setNewDataSource(CdmApplicationController.java:248) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.(CdmApplicationController.java:191) + at eu.etaxonomy.cdm.api.application.CdmApplicationController.NewInstance(CdmApplicationController.java:141) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.getApplicationController(CdmStoreConnector.java:154) + at eu.etaxonomy.taxeditor.store.CdmStoreConnector.run(CdmStoreConnector.java:102) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) +10-29 16:15:11 database: close +java.lang.ArrayIndexOutOfBoundsException: 2048 + at org.h2.store.Data.writeValue(Data.java:415) + at org.h2.index.PageDataLeaf.writeData(PageDataLeaf.java:528) + at org.h2.index.PageDataLeaf.moveTo(PageDataLeaf.java:568) + at org.h2.store.PageStore.compact(PageStore.java:724) + at org.h2.store.PageStore.compact(PageStore.java:538) + at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1316) + at org.h2.engine.Database.close(Database.java:1266) + at org.h2.engine.DatabaseCloser.run(DatabaseCloser.java:63) +10-29 16:15:33 database: close +java.lang.ArrayIndexOutOfBoundsException: 2048 + at org.h2.store.Data.writeValue(Data.java:415) + at org.h2.index.PageDataLeaf.writeData(PageDataLeaf.java:528) + at org.h2.index.PageDataLeaf.moveTo(PageDataLeaf.java:568) + at org.h2.store.PageStore.compact(PageStore.java:724) + at org.h2.store.PageStore.compact(PageStore.java:538) + at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1316) + at org.h2.engine.Database.close(Database.java:1266) + at org.h2.engine.Database.removeSession(Database.java:1137) + at org.h2.engine.Session.close(Session.java:676) + at org.h2.jdbc.JdbcConnection.close(JdbcConnection.java:384) + at org.apache.commons.dbcp.DelegatingConnection.close(DelegatingConnection.java:247) + at org.apache.commons.dbcp.PoolableConnection.reallyClose(PoolableConnection.java:122) + at org.apache.commons.dbcp.PoolableConnectionFactory.destroyObject(PoolableConnectionFactory.java:628) + at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1562) + at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) + at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) + at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) + at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:203) + at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372) + at org.unitils.database.transaction.impl.DefaultUnitilsTransactionManager.doStartTransaction(DefaultUnitilsTransactionManager.java:119) + at org.unitils.database.transaction.impl.DefaultUnitilsTransactionManager.startTransaction(DefaultUnitilsTransactionManager.java:99) + at org.unitils.database.DatabaseModule.startTransaction(DatabaseModule.java:395) + at org.unitils.database.DatabaseModule.startTransactionForTestMethod(DatabaseModule.java:368) + at org.unitils.database.DatabaseModule$DatabaseTestListener.beforeTestSetUp(DatabaseModule.java:474) + at org.unitils.core.Unitils$UnitilsTestListener.beforeTestSetUp(Unitils.java:273) + at org.unitils.UnitilsJUnit4TestClassRunner$TestListenerInvokingMethodRoadie.runBeforesThenTestThenAfters(UnitilsJUnit4TestClassRunner.java:181) + at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86) + at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) + at org.unitils.UnitilsJUnit4TestClassRunner.invokeTestMethod(UnitilsJUnit4TestClassRunner.java:95) + at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:61) + at org.unitils.UnitilsJUnit4TestClassRunner.access$000(UnitilsJUnit4TestClassRunner.java:42) + at org.unitils.UnitilsJUnit4TestClassRunner$1.run(UnitilsJUnit4TestClassRunner.java:60) + at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33) + at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45) + at org.unitils.UnitilsJUnit4TestClassRunner.run(UnitilsJUnit4TestClassRunner.java:67) + at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) + at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) + at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/log4j.properties b/eu.etaxonomy.taxeditor.remoting/src/test/resources/log4j.properties new file mode 100644 index 000000000..96951aa8a --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/log4j.properties @@ -0,0 +1,17 @@ +### ************ APPENDER ***********************************### + +### direct log messages to stdout ### +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n + + +### ************* LOG LEVELS *********************************### + +### set log levels - for more verbose logging change 'info' to 'debug' ### +### levels: error, warn, debug, info +log4j.rootLogger=INFO, stdout + +### set directory-specific levels below +log4j.logger.eu.etaxonomy.taxeditor = INFO \ No newline at end of file diff --git a/eu.etaxonomy.taxeditor.remoting/src/test/resources/unitils.properties b/eu.etaxonomy.taxeditor.remoting/src/test/resources/unitils.properties new file mode 100644 index 000000000..d722e699c --- /dev/null +++ b/eu.etaxonomy.taxeditor.remoting/src/test/resources/unitils.properties @@ -0,0 +1,69 @@ +# +# NOTE: this is the unitils.properties file for the cdmlib-persistence module +# a separate unitils.properties exists for cdmlib-io and for cdmlib-services +# +# +# the list of all properties is found in +# http://unitils.org/unitils-default.properties +# + +### Unitils Modules ### +# List of modules that is loaded. Overloading this list is normally not useful, unless you want to add a custom +# module. Disabling a module can be performed by setting unitils.module..enabled to false. +# If a module's specific dependencies are not found (e.g. hibernate is not in you classpath), this module is not loaded, +# even if it is in this list and the enabled property is set to true. It's therefore not strictly necessary to disable +# any of these modules. +#DEFAULT: unitils.modules=database,dbunit,hibernate,mock,easymock,inject,spring,jpa +unitils.module.easymock.enabled=false +unitils.module.mock.enabled=false + + +### Database ### +# +# Name or path of the user specific properties file. This file should contain the necessary parameters to connect to the +# developer's own unit test schema. It is recommended to override the name of this file in the project specific properties +# file, to include the name of the project. The system will try to find this file in the classpath, the user home folder +# (recommended) or the local filesystem. +# +unitils.configuration.localFileName=unitils-cdmlib-local.properties + +# H2 # +# +database.driverClassName=org.h2.Driver +#database.url=jdbc:h2:file:./src/test/resources/h2/cdmTest;AUTO_SERVER=TRUE +database.url=jdbc:h2:file:./target/test-classes/h2/cdmTest;AUTO_SERVER=TRUE +database.dialect=h2 +database.userName=sa +database.password= +database.schemaNames=PUBLIC +org.dbunit.dataset.datatype.IDataTypeFactory.implClassName.h2=org.dbunit.ext.h2.H2DataTypeFactory +org.unitils.core.dbsupport.DbSupport.implClassName.h2=eu.etaxonomy.cdm.database.H2DbSupport +database.storedIndentifierCase.h2=auto +database.identifierQuoteString.h2=auto + + +#### Transaction mode ### +# +# If set to commit or rollback, each test is run in a transaction, +# which is committed or rolled back after the test is finished. +# Since we have many tests with incomplete data these tests would be +# failing during commit so it is better use rollback as default +# and set commit for individual test where necessary +DatabaseModule.Transactional.value.default=rollback + +# org.unitils.database.transaction.impl.DefaultUnitilsTransactionManager is used by default: +# +# Implements transactions for unit tests, by delegating to a spring PlatformTransactionManager. +# The concrete implementation of PlatformTransactionManager that is used depends on the test class. +# If a custom PlatformTransactionManager was configured in a spring ApplicationContext, this one is used. +# If not, a suitable subclass of PlatformTransactionManager is created, depending on the configuration +# of a test. E.g. if some ORM persistence unit was configured on the test, a PlatformTransactionManager +# that can offer transactional behavior for such a persistence unit is used. +# If no such configuration is found, a DataSourceTransactionManager is used. +# +# org.unitils.database.transaction.UnitilsTransactionManager.implClassName=org.unitils.database.transaction.impl.SpringTransactionManager + +### Hibernate ### +# +HibernateModule.configuration.implClassName=org.hibernate.cfg.Configuration +