From: Cherian Mathew Date: Thu, 18 Jun 2015 07:45:39 +0000 (+0200) Subject: CdmApplicationState:New class to handle application state X-Git-Tag: remoting-3.9.0~159 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/04f2494eb4285747a0d56b663f8a10b44b5187ec CdmApplicationState:New class to handle application state CdmStore, BaseRemotingTest : using new application state class TaxonNavigatorTest : ignoring test for now TaxonNavigatorTest : increased max memory for jetty --- diff --git a/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java new file mode 100644 index 000000000..a1982c5c8 --- /dev/null +++ b/eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java @@ -0,0 +1,46 @@ +// $Id$ +/** +* Copyright (C) 2015 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; + +/** + * @author cmathew + * @date 17 Jun 2015 + * + */ +public class CdmApplicationState { + + private static CdmApplicationState cdmApplicationState; + + private ICdmApplicationConfiguration appConfig; + + public static CdmApplicationState getInstance() { + if(cdmApplicationState == null) { + cdmApplicationState = new CdmApplicationState(); + } + return cdmApplicationState; + } + + public void setAppConfig(ICdmApplicationConfiguration appConfig) { + this.appConfig = appConfig; + } + + public ICdmApplicationConfiguration getAppConfig() { + return appConfig; + } + + public static void setCurrentAppConfig(ICdmApplicationConfiguration appConfig) { + getInstance().setAppConfig(appConfig); + } + + public static ICdmApplicationConfiguration getCurrentAppConfig() { + return getInstance().getAppConfig(); + } + +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java index 61b30da6c..ce2a73408 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java @@ -26,6 +26,7 @@ import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; +import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; import eu.etaxonomy.cdm.api.service.ICommonService; @@ -71,7 +72,7 @@ public class CdmStore { private static CdmStore instance; - private final ICdmApplicationConfiguration applicationConfiguration; + //private final ICdmApplicationConfiguration applicationConfiguration; private static ContextManager contextManager = new ContextManager(); @@ -209,7 +210,7 @@ public class CdmStore { private CdmStore(ICdmApplicationConfiguration applicationController, ICdmSource cdmSource) { - this.applicationConfiguration = applicationController; + CdmApplicationState.setCurrentAppConfig(applicationController); this.cdmSource = cdmSource; isConnected = true; } @@ -221,7 +222,7 @@ public class CdmStore { */ private ICdmApplicationConfiguration getApplicationConfiguration() { try { - return applicationConfiguration; + return CdmApplicationState.getCurrentAppConfig(); } catch (Exception e) { MessagingUtils.error(CdmStore.class, e); } diff --git a/eu.etaxonomy.taxeditor.test/pom.xml b/eu.etaxonomy.taxeditor.test/pom.xml index 169ce7088..3e230b148 100644 --- a/eu.etaxonomy.taxeditor.test/pom.xml +++ b/eu.etaxonomy.taxeditor.test/pom.xml @@ -55,6 +55,7 @@ jetty-maven-plugin 9.2.9.v20150224 + -Xmx512m -XX:MaxPermSize=512m spring.profiles.active diff --git a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java index 275223c3a..90bfaf128 100644 --- a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java +++ b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java @@ -14,6 +14,7 @@ import java.util.UUID; import org.apache.log4j.Logger; import org.eclipse.core.commands.ExecutionException; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.unitils.dbunit.annotation.DataSet; @@ -42,6 +43,7 @@ public class TaxonNavigatorTest extends BaseOperationTest { Language english = Language.getLanguageFromUuid(Language.uuidEnglish); + @Ignore @Test public void changeAcceptedTaxonToSynonymTest() throws ExecutionException { UUID oldTaxonNodeNodeUuid = UUID.fromString("168a4d09-a2b0-4206-b4cc-5d13199f9306"); diff --git a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java index 90004a783..f67b05bf8 100644 --- a/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java +++ b/eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java @@ -37,6 +37,7 @@ 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.CdmApplicationState; import eu.etaxonomy.cdm.model.name.NomenclaturalCode; import eu.etaxonomy.taxeditor.remoting.cache.CdmRemoteCacheManager; import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; @@ -68,7 +69,7 @@ public abstract class BaseRemotingTest extends UnitilsJUnit4 { public static final Resource EDITOR_DATASOURCES_FILE = new ClassPathResource(".cdmLibrary/writableResources/cdm.datasources.xml"); - private static CdmApplicationRemoteController remoteApplicationController; + //private static CdmApplicationRemoteController remoteApplicationController; private static ICdmRemoteSource cdmRemoteSource; private static CdmPersistentRemoteSource remotePersistentSource; @@ -171,15 +172,15 @@ public abstract class BaseRemotingTest extends UnitilsJUnit4 { public static void initializeController(String sourceName, String host, int port, String contextPath, NomenclaturalCode ncode, String username, String password) { - if(remoteApplicationController != null) { + if(CdmApplicationState.getCurrentAppConfig() != null) { return; } cdmRemoteSource = CdmRemoteSource.NewInstance(sourceName, host, port, contextPath, ncode); - remoteApplicationController = + CdmApplicationRemoteController remoteApplicationController = CdmApplicationRemoteController.NewInstance(cdmRemoteSource, null, null); - + CdmApplicationState.setCurrentAppConfig(remoteApplicationController); try { remotePersistentSource = CdmPersistentRemoteSource.NewInstance(sourceName); } catch (CdmRemoteSourceException e) { @@ -187,6 +188,8 @@ public abstract class BaseRemotingTest extends UnitilsJUnit4 { } cdmEntitySessionManager = getRemoteApplicationController().getCdmEntitySessionManager(); + //FIXME:Remoting the authentication code should be replaced by a method call which actually + // does the authentication in the editor code so that the 'real' authentication can be tested SecurityContextHolder.clearContext(); SecurityContextImpl sc = new SecurityContextImpl(); Authentication token = new UsernamePasswordAuthenticationToken(username,password); @@ -200,7 +203,7 @@ public abstract class BaseRemotingTest extends UnitilsJUnit4 { protected static CdmApplicationRemoteController getRemoteApplicationController() { - return remoteApplicationController; + return (CdmApplicationRemoteController) CdmApplicationState.getCurrentAppConfig(); } protected static ICdmRemoteSource getCdmRemoteSource() {