Revision 04f2494e
Added by Cherian Mathew almost 9 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2015 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
package eu.etaxonomy.cdm.api.application; |
|
11 |
|
|
12 |
/** |
|
13 |
* @author cmathew |
|
14 |
* @date 17 Jun 2015 |
|
15 |
* |
|
16 |
*/ |
|
17 |
public class CdmApplicationState { |
|
18 |
|
|
19 |
private static CdmApplicationState cdmApplicationState; |
|
20 |
|
|
21 |
private ICdmApplicationConfiguration appConfig; |
|
22 |
|
|
23 |
public static CdmApplicationState getInstance() { |
|
24 |
if(cdmApplicationState == null) { |
|
25 |
cdmApplicationState = new CdmApplicationState(); |
|
26 |
} |
|
27 |
return cdmApplicationState; |
|
28 |
} |
|
29 |
|
|
30 |
public void setAppConfig(ICdmApplicationConfiguration appConfig) { |
|
31 |
this.appConfig = appConfig; |
|
32 |
} |
|
33 |
|
|
34 |
public ICdmApplicationConfiguration getAppConfig() { |
|
35 |
return appConfig; |
|
36 |
} |
|
37 |
|
|
38 |
public static void setCurrentAppConfig(ICdmApplicationConfiguration appConfig) { |
|
39 |
getInstance().setAppConfig(appConfig); |
|
40 |
} |
|
41 |
|
|
42 |
public static ICdmApplicationConfiguration getCurrentAppConfig() { |
|
43 |
return getInstance().getAppConfig(); |
|
44 |
} |
|
45 |
|
|
46 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java | ||
---|---|---|
26 | 26 |
import org.springframework.security.core.context.SecurityContextHolder; |
27 | 27 |
|
28 | 28 |
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; |
29 |
import eu.etaxonomy.cdm.api.application.CdmApplicationState; |
|
29 | 30 |
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; |
30 | 31 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
31 | 32 |
import eu.etaxonomy.cdm.api.service.ICommonService; |
... | ... | |
71 | 72 |
|
72 | 73 |
private static CdmStore instance; |
73 | 74 |
|
74 |
private final ICdmApplicationConfiguration applicationConfiguration; |
|
75 |
//private final ICdmApplicationConfiguration applicationConfiguration;
|
|
75 | 76 |
|
76 | 77 |
private static ContextManager contextManager = new ContextManager(); |
77 | 78 |
|
... | ... | |
209 | 210 |
|
210 | 211 |
private CdmStore(ICdmApplicationConfiguration applicationController, |
211 | 212 |
ICdmSource cdmSource) { |
212 |
this.applicationConfiguration = applicationController;
|
|
213 |
CdmApplicationState.setCurrentAppConfig(applicationController);
|
|
213 | 214 |
this.cdmSource = cdmSource; |
214 | 215 |
isConnected = true; |
215 | 216 |
} |
... | ... | |
221 | 222 |
*/ |
222 | 223 |
private ICdmApplicationConfiguration getApplicationConfiguration() { |
223 | 224 |
try { |
224 |
return applicationConfiguration;
|
|
225 |
return CdmApplicationState.getCurrentAppConfig();
|
|
225 | 226 |
} catch (Exception e) { |
226 | 227 |
MessagingUtils.error(CdmStore.class, e); |
227 | 228 |
} |
eu.etaxonomy.taxeditor.test/pom.xml | ||
---|---|---|
55 | 55 |
<artifactId>jetty-maven-plugin</artifactId> |
56 | 56 |
<version>9.2.9.v20150224</version> |
57 | 57 |
<configuration> |
58 |
<jvmArgs>-Xmx512m -XX:MaxPermSize=512m</jvmArgs> |
|
58 | 59 |
<systemProperties> |
59 | 60 |
<systemProperty> |
60 | 61 |
<name>spring.profiles.active</name> |
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java | ||
---|---|---|
14 | 14 |
import org.apache.log4j.Logger; |
15 | 15 |
import org.eclipse.core.commands.ExecutionException; |
16 | 16 |
import org.junit.Assert; |
17 |
import org.junit.Ignore; |
|
17 | 18 |
import org.junit.Test; |
18 | 19 |
import org.unitils.dbunit.annotation.DataSet; |
19 | 20 |
|
... | ... | |
42 | 43 |
Language english = Language.getLanguageFromUuid(Language.uuidEnglish); |
43 | 44 |
|
44 | 45 |
|
46 |
@Ignore |
|
45 | 47 |
@Test |
46 | 48 |
public void changeAcceptedTaxonToSynonymTest() throws ExecutionException { |
47 | 49 |
UUID oldTaxonNodeNodeUuid = UUID.fromString("168a4d09-a2b0-4206-b4cc-5d13199f9306"); |
eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/taxeditor/httpinvoker/BaseRemotingTest.java | ||
---|---|---|
37 | 37 |
import org.unitils.spring.annotation.SpringApplicationContext; |
38 | 38 |
|
39 | 39 |
import eu.etaxonomy.cdm.api.application.CdmApplicationRemoteController; |
40 |
import eu.etaxonomy.cdm.api.application.CdmApplicationState; |
|
40 | 41 |
import eu.etaxonomy.cdm.model.name.NomenclaturalCode; |
41 | 42 |
import eu.etaxonomy.taxeditor.remoting.cache.CdmRemoteCacheManager; |
42 | 43 |
import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher; |
... | ... | |
68 | 69 |
public static final Resource EDITOR_DATASOURCES_FILE = |
69 | 70 |
new ClassPathResource(".cdmLibrary/writableResources/cdm.datasources.xml"); |
70 | 71 |
|
71 |
private static CdmApplicationRemoteController remoteApplicationController; |
|
72 |
//private static CdmApplicationRemoteController remoteApplicationController;
|
|
72 | 73 |
private static ICdmRemoteSource cdmRemoteSource; |
73 | 74 |
private static CdmPersistentRemoteSource remotePersistentSource; |
74 | 75 |
|
... | ... | |
171 | 172 |
|
172 | 173 |
public static void initializeController(String sourceName, String host, int port, String contextPath, NomenclaturalCode ncode, String username, String password) { |
173 | 174 |
|
174 |
if(remoteApplicationController != null) {
|
|
175 |
if(CdmApplicationState.getCurrentAppConfig() != null) {
|
|
175 | 176 |
return; |
176 | 177 |
} |
177 | 178 |
cdmRemoteSource = CdmRemoteSource.NewInstance(sourceName, host, port, contextPath, ncode); |
178 |
remoteApplicationController = |
|
179 |
CdmApplicationRemoteController remoteApplicationController =
|
|
179 | 180 |
CdmApplicationRemoteController.NewInstance(cdmRemoteSource, |
180 | 181 |
null, |
181 | 182 |
null); |
182 |
|
|
183 |
CdmApplicationState.setCurrentAppConfig(remoteApplicationController); |
|
183 | 184 |
try { |
184 | 185 |
remotePersistentSource = CdmPersistentRemoteSource.NewInstance(sourceName); |
185 | 186 |
} catch (CdmRemoteSourceException e) { |
... | ... | |
187 | 188 |
} |
188 | 189 |
cdmEntitySessionManager = getRemoteApplicationController().getCdmEntitySessionManager(); |
189 | 190 |
|
191 |
//FIXME:Remoting the authentication code should be replaced by a method call which actually |
|
192 |
// does the authentication in the editor code so that the 'real' authentication can be tested |
|
190 | 193 |
SecurityContextHolder.clearContext(); |
191 | 194 |
SecurityContextImpl sc = new SecurityContextImpl(); |
192 | 195 |
Authentication token = new UsernamePasswordAuthenticationToken(username,password); |
... | ... | |
200 | 203 |
|
201 | 204 |
|
202 | 205 |
protected static CdmApplicationRemoteController getRemoteApplicationController() { |
203 |
return remoteApplicationController;
|
|
206 |
return (CdmApplicationRemoteController) CdmApplicationState.getCurrentAppConfig();
|
|
204 | 207 |
} |
205 | 208 |
|
206 | 209 |
protected static ICdmRemoteSource getCdmRemoteSource() { |
Also available in: Unified diff
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