cleanup
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / cdm / api / application / CdmApplicationRemoteConfiguration.java
index cdb3a1cdbe9ea76e5aff5e9a489a18c8a21d056b..1055ebdc553d7567c0ae4cc324ccd94e914b9d1c 100644 (file)
@@ -37,6 +37,7 @@ import org.springframework.transaction.TransactionStatus;
 \r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;\r
+import eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService;\r
 import eu.etaxonomy.cdm.api.service.IAgentService;\r
 import eu.etaxonomy.cdm.api.service.IAnnotationService;\r
 import eu.etaxonomy.cdm.api.service.IClassificationService;\r
@@ -46,6 +47,7 @@ import eu.etaxonomy.cdm.api.service.IDatabaseService;
 import eu.etaxonomy.cdm.api.service.IDescriptionService;\r
 import eu.etaxonomy.cdm.api.service.IEntityConstraintViolationService;\r
 import eu.etaxonomy.cdm.api.service.IEntityValidationService;\r
+import eu.etaxonomy.cdm.api.service.IEventBaseService;\r
 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;\r
 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;\r
 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;\r
@@ -58,8 +60,11 @@ import eu.etaxonomy.cdm.api.service.INameService;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;\r
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;\r
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;\r
+import eu.etaxonomy.cdm.api.service.IPreferenceService;\r
 import eu.etaxonomy.cdm.api.service.IProgressMonitorService;\r
 import eu.etaxonomy.cdm.api.service.IReferenceService;\r
+import eu.etaxonomy.cdm.api.service.IRegistrationService;\r
+import eu.etaxonomy.cdm.api.service.IRightsService;\r
 import eu.etaxonomy.cdm.api.service.IService;\r
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;\r
 import eu.etaxonomy.cdm.api.service.ITaxonService;\r
@@ -67,7 +72,7 @@ import eu.etaxonomy.cdm.api.service.ITermService;
 import eu.etaxonomy.cdm.api.service.ITestService;\r
 import eu.etaxonomy.cdm.api.service.IUserService;\r
 import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
-import eu.etaxonomy.cdm.api.service.IWorkingSetService;\r
+import eu.etaxonomy.cdm.api.service.IDescriptiveDataSetService;\r
 import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;\r
 import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;\r
 import eu.etaxonomy.cdm.api.service.molecular.ISequenceService;\r
@@ -98,7 +103,7 @@ import eu.etaxonomy.taxeditor.session.ICdmEntitySessionManager;
  *\r
  */\r
 @Component\r
-public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfiguration, ApplicationContextAware  {\r
+public class CdmApplicationRemoteConfiguration implements ICdmRepository, ApplicationContextAware  {\r
 \r
     @SuppressWarnings("unused")\r
     private static final Logger logger = Logger.getLogger(CdmApplicationRemoteConfiguration.class);\r
@@ -107,7 +112,8 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
 \r
     private ICdmRemoteSource remoteSource;\r
 \r
-    private Map serviceMap = new HashMap<Class<IService>, IService>();\r
+    //TODO should be something like Map<Class<IService>, IService>, but we have no common service base interface yet\r
+    private Map<Class<?>, Object> serviceMap = new HashMap<>();\r
 \r
     private ICdmEntitySessionManager cdmEntitySessionManager;\r
 \r
@@ -128,7 +134,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         this.remoteSource = remoteSource;\r
     }\r
 \r
-    private Object getService(Class<?> clazz, String serviceSuffix, HttpComponentsHttpInvokerRequestExecutor executor) {\r
+    private Object getService(Class<?/* extends IService*/> clazz, String serviceSuffix, HttpComponentsHttpInvokerRequestExecutor executor) {\r
         if(serviceMap.containsKey(clazz)) {\r
             return serviceMap.get(clazz);\r
         }\r
@@ -278,6 +284,11 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         return (ISequenceService) getService(ISequenceService.class, "/remoting/sequence.service", new CdmServiceRequestExecutor());\r
     }\r
 \r
+    @Override\r
+    public IEventBaseService getEventBaseService() {\r
+        return (IEventBaseService) getService(IEventBaseService.class, "/remoting/eventbase.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
     @Override\r
     public IMediaService getMediaService(){\r
         return (IMediaService) getService(IMediaService.class, "/remoting/media.service", new CdmServiceRequestExecutor());\r
@@ -288,6 +299,11 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         return (ITermService) getService(ITermService.class, "/remoting/term.service", new TermServiceRequestExecutor());\r
     }\r
 \r
+    @Override\r
+    public IRightsService getRightsService(){\r
+        return (IRightsService) getService(IRightsService.class, "/remoting/rights.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
     @Override\r
     public ICommonService getCommonService(){\r
         return (ICommonService) getService(ICommonService.class, "/remoting/common.service", new CdmServiceRequestExecutor());\r
@@ -330,11 +346,9 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
 \r
     @Override\r
     public ProviderManager getAuthenticationManager(){\r
-        if(authenticationManager != null) {\r
-            return authenticationManager;\r
+        if(authenticationManager == null) {\r
+               authenticationManager = getAuthenticationManager(getUserService());\r
         }\r
-\r
-        authenticationManager = getAuthenticationManager(getUserService());\r
         return authenticationManager;\r
     }\r
 \r
@@ -399,8 +413,17 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
     }\r
 \r
     @Override\r
-    public IWorkingSetService getWorkingSetService(){\r
-        return (IWorkingSetService) getService(IWorkingSetService.class, "/remoting/workingset.service", new CdmServiceRequestExecutor());\r
+    public IDescriptiveDataSetService getDescriptiveDataSetService(){\r
+        return (IDescriptiveDataSetService) getService(IDescriptiveDataSetService.class, "/remoting/descriptivedataset.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
+    /**\r
+     * {@inheritDoc}\r
+     */\r
+    @Override\r
+    public IRegistrationService getRegistrationService() {\r
+        return (IRegistrationService) getService(IRegistrationService.class, "/remoting/registration.service", new CdmServiceRequestExecutor());\r
+\r
     }\r
 \r
     @Override\r
@@ -408,6 +431,11 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         return (IGroupService) getService(IGroupService.class, "/remoting/group.service", new CdmServiceRequestExecutor());\r
     }\r
 \r
+    @Override\r
+    public IPreferenceService getPreferenceService(){\r
+        return (IPreferenceService) getService(IPreferenceService.class, "/remoting/preference.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
 \r
     @Override\r
     public IEntityValidationService getEntityValidationService(){\r
@@ -426,7 +454,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         if(cdmPermissionEvaluator != null) {\r
             return cdmPermissionEvaluator;\r
         }\r
-        List<AccessDecisionVoter<? extends Object>> decisionVoters = new ArrayList<AccessDecisionVoter<? extends Object>>();\r
+        List<AccessDecisionVoter<? extends Object>> decisionVoters = new ArrayList<>();\r
         decisionVoters.add(new GrantAlwaysVoter());\r
         decisionVoters.add(new TaxonNodeVoter());\r
         decisionVoters.add(new TaxonBaseVoter());\r
@@ -469,6 +497,10 @@ public class CdmApplicationRemoteConfiguration implements ICdmApplicationConfigu
         return (IIOService) getService(IIOService.class, "/remoting/io.service", new CdmServiceRequestExecutor());\r
     }\r
 \r
+    public ILongRunningTasksService getLongRunningTasksService() {\r
+        return (ILongRunningTasksService) getService(ILongRunningTasksService.class, "/remoting/longrunningtasks.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
     public ITestService getTestService() {\r
         return (ITestService) getService(ITestService.class, "/remoting/test.service", new CdmServiceRequestExecutor());\r
     }\r