import eu.etaxonomy.cdm.api.service.IIdentificationKeyService;\r
import eu.etaxonomy.cdm.api.service.ILocationService;\r
import eu.etaxonomy.cdm.api.service.IMediaService;\r
+import eu.etaxonomy.cdm.api.service.IMetadataService;\r
import eu.etaxonomy.cdm.api.service.INameService;\r
import eu.etaxonomy.cdm.api.service.IOccurrenceService;\r
import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;\r
\r
private ICdmRemoteSource remoteSource;\r
\r
- private Map serviceMap = new HashMap<Class<IService>, IService>();\r
+ private static Map serviceMap = new HashMap<Class<IService>, IService>();\r
\r
private ICdmEntitySessionManager cdmEntitySessionManager;\r
\r
\r
public CdmApplicationRemoteConfiguration(ICdmRemoteSource remoteSource) {\r
this.remoteSource = remoteSource;\r
+ serviceMap.clear();\r
}\r
\r
public void setRemoteSource(ICdmRemoteSource remoteSource) {\r
}\r
\r
private Object getService(Class<?> clazz, String serviceSuffix, CdmAuthenticatedHttpInvokerRequestExecutor executor) {\r
+ return getService(clazz, serviceSuffix, remoteSource, executor);\r
+ }\r
+\r
+ public static Object getService(Class<?> clazz, String serviceSuffix, ICdmRemoteSource remoteSource, CdmAuthenticatedHttpInvokerRequestExecutor executor) {\r
if(serviceMap.containsKey(clazz)) {\r
return serviceMap.get(clazz);\r
}\r
return (IUserService) getService(IUserService.class, "/remoting-public/user.service", new CdmServiceRequestExecutor());\r
}\r
\r
+ @Override\r
+ public IMetadataService getMetadataService() {\r
+ return (IMetadataService) getService(IMetadataService.class, "/remoting-public/metadata.service", new CdmServiceRequestExecutor());\r
+ }\r
+\r
+ public static IMetadataService getMetadataService(ICdmRemoteSource remoteSource) {\r
+ return (IMetadataService) getService(IMetadataService.class, "/remoting-public/metadata.service", remoteSource, new CdmServiceRequestExecutor());\r
+ }\r
+\r
@Override\r
public IGrantedAuthorityService getGrantedAuthorityService(){\r
return (IGrantedAuthorityService) getService(IGrantedAuthorityService.class, "/remoting/grantedauthority.service", new CdmServiceRequestExecutor());\r