Revision fc09bcdb
Added by Cherian Mathew over 8 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java | ||
---|---|---|
52 | 52 |
import eu.etaxonomy.cdm.api.service.IIdentificationKeyService; |
53 | 53 |
import eu.etaxonomy.cdm.api.service.ILocationService; |
54 | 54 |
import eu.etaxonomy.cdm.api.service.IMediaService; |
55 |
import eu.etaxonomy.cdm.api.service.IMetadataService; |
|
55 | 56 |
import eu.etaxonomy.cdm.api.service.INameService; |
56 | 57 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
57 | 58 |
import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService; |
... | ... | |
105 | 106 |
|
106 | 107 |
private ICdmRemoteSource remoteSource; |
107 | 108 |
|
108 |
private Map serviceMap = new HashMap<Class<IService>, IService>(); |
|
109 |
private static Map serviceMap = new HashMap<Class<IService>, IService>();
|
|
109 | 110 |
|
110 | 111 |
private ICdmEntitySessionManager cdmEntitySessionManager; |
111 | 112 |
|
... | ... | |
119 | 120 |
|
120 | 121 |
public CdmApplicationRemoteConfiguration(ICdmRemoteSource remoteSource) { |
121 | 122 |
this.remoteSource = remoteSource; |
123 |
serviceMap.clear(); |
|
122 | 124 |
} |
123 | 125 |
|
124 | 126 |
public void setRemoteSource(ICdmRemoteSource remoteSource) { |
... | ... | |
126 | 128 |
} |
127 | 129 |
|
128 | 130 |
private Object getService(Class<?> clazz, String serviceSuffix, CdmAuthenticatedHttpInvokerRequestExecutor executor) { |
131 |
return getService(clazz, serviceSuffix, remoteSource, executor); |
|
132 |
} |
|
133 |
|
|
134 |
public static Object getService(Class<?> clazz, String serviceSuffix, ICdmRemoteSource remoteSource, CdmAuthenticatedHttpInvokerRequestExecutor executor) { |
|
129 | 135 |
if(serviceMap.containsKey(clazz)) { |
130 | 136 |
return serviceMap.get(clazz); |
131 | 137 |
} |
... | ... | |
292 | 298 |
return (IUserService) getService(IUserService.class, "/remoting-public/user.service", new CdmServiceRequestExecutor()); |
293 | 299 |
} |
294 | 300 |
|
301 |
@Override |
|
302 |
public IMetadataService getMetadataService() { |
|
303 |
return (IMetadataService) getService(IMetadataService.class, "/remoting-public/metadata.service", new CdmServiceRequestExecutor()); |
|
304 |
} |
|
305 |
|
|
306 |
public static IMetadataService getMetadataService(ICdmRemoteSource remoteSource) { |
|
307 |
return (IMetadataService) getService(IMetadataService.class, "/remoting-public/metadata.service", remoteSource, new CdmServiceRequestExecutor()); |
|
308 |
} |
|
309 |
|
|
295 | 310 |
@Override |
296 | 311 |
public IGrantedAuthorityService getGrantedAuthorityService(){ |
297 | 312 |
return (IGrantedAuthorityService) getService(IGrantedAuthorityService.class, "/remoting/grantedauthority.service", new CdmServiceRequestExecutor()); |
Also available in: Unified diff
#5000 Use new metadata service