#5000 Use new metadata service
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / cdm / api / application / CdmApplicationRemoteConfiguration.java
index 760b71c90177843c46c732cadb24396c391b1a30..a1ce7e404119ba8aea364ad5525e538ccaa70855 100644 (file)
@@ -52,6 +52,7 @@ import eu.etaxonomy.cdm.api.service.IGroupService;
 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
@@ -105,7 +106,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
 \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
@@ -119,6 +120,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
 \r
     public CdmApplicationRemoteConfiguration(ICdmRemoteSource remoteSource) {\r
         this.remoteSource = remoteSource;\r
+        serviceMap.clear();\r
     }\r
 \r
     public void setRemoteSource(ICdmRemoteSource remoteSource) {\r
@@ -126,6 +128,10 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
     }\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
@@ -292,6 +298,15 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         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