From a0af009594e3ea89335ab391147613a79ba3c7f8 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Mon, 7 Dec 2015 18:03:56 +0100
Subject: [PATCH] Move getService to CdmStore
---
.../etaxonomy/taxeditor/store/CdmStore.java | 48 +++++++++++++++++++
.../ui/selection/EditFromSelectionWizard.java | 4 +-
.../ui/selection/EntitySelectionElement.java | 46 ------------------
3 files changed, 50 insertions(+), 48 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
index bd594ad19..7439f00a2 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
@@ -28,12 +28,28 @@ import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.api.cache.CdmServiceCacher;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.IAgentService;
+import eu.etaxonomy.cdm.api.service.ICollectionService;
import eu.etaxonomy.cdm.api.service.ICommonService;
+import eu.etaxonomy.cdm.api.service.INameService;
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.api.service.IReferenceService;
import eu.etaxonomy.cdm.api.service.IService;
+import eu.etaxonomy.cdm.api.service.IUserService;
+import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;
+import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;
import eu.etaxonomy.cdm.config.ICdmSource;
import eu.etaxonomy.cdm.database.DbSchemaValidation;
+import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.User;
+import eu.etaxonomy.cdm.model.molecular.Amplification;
+import eu.etaxonomy.cdm.model.molecular.Primer;
+import eu.etaxonomy.cdm.model.name.NonViralName;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
import eu.etaxonomy.cdm.persistence.hibernate.permission.Role;
@@ -598,6 +614,38 @@ public class CdmStore {
}
+ public static IService getService(T cdmBase){
+ IService service = null;
+ if(cdmBase!=null){
+ //get corresponding service
+ if(cdmBase.isInstanceOf(Reference.class)){
+ service = (IService) getService(IReferenceService.class);
+ }
+ else if (cdmBase.isInstanceOf(AgentBase.class)){
+ service = (IService) getService(IAgentService.class);
+ }
+ else if (cdmBase instanceof NonViralName) {
+ service = (IService) getService(INameService.class);
+ }
+ else if (cdmBase instanceof SpecimenOrObservationBase) {
+ service = (IService) getService(IOccurrenceService.class);
+ }
+ else if (cdmBase instanceof Collection) {
+ service = (IService) getService(ICollectionService.class);
+ }
+ else if (cdmBase instanceof User) {
+ service = (IService) getService(IUserService.class);
+ }
+ else if (cdmBase instanceof Primer) {
+ service = (IService) getService(IPrimerService.class);
+ }
+ else if (cdmBase instanceof Amplification) {
+ service = (IService) getService(IAmplificationService.class);
+ }
+ }
+ return service;
+ }
+
public static void setManagedServer(CDMServer server) {
managedServer = server;
}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
index 04771ac13..d40ecf09a 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EditFromSelectionWizard.java
@@ -89,7 +89,7 @@ public class EditFromSelectionWizard extends Wizard implements
CdmFormFactory formFactory = selectionElement.getFormFactory();
CdmBase entity = (CdmBase) HibernateProxyHelper
.deproxy(selectionElement.getEntity());
- IService service = EntitySelectionElement.getService(entity);
+ IService service = CdmStore.getService(entity);
rootElement = service.load(entity.getUuid());
if (rootElement.isInstanceOf(Reference.class)) {
addPage(new ReferenceWizardPage(formFactory,
@@ -165,7 +165,7 @@ public class EditFromSelectionWizard extends Wizard implements
/** {@inheritDoc} */
@Override
public boolean performFinish() {
- IService service = EntitySelectionElement.getService(rootElement);
+ IService service = CdmStore.getService(rootElement);
service.merge(rootElement, true);
previousCdmEntitySession.load(rootElement, true);
return true;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java
index cd600411f..3b5cf35e6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java
@@ -23,27 +23,13 @@ import org.springframework.security.core.GrantedAuthority;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.api.service.IAgentService;
-import eu.etaxonomy.cdm.api.service.ICollectionService;
-import eu.etaxonomy.cdm.api.service.INameService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.IReferenceService;
-import eu.etaxonomy.cdm.api.service.IService;
-import eu.etaxonomy.cdm.api.service.IUserService;
-import eu.etaxonomy.cdm.api.service.molecular.IAmplificationService;
-import eu.etaxonomy.cdm.api.service.molecular.IPrimerService;
import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.molecular.Amplification;
import eu.etaxonomy.cdm.model.molecular.Primer;
-import eu.etaxonomy.cdm.model.name.NonViralName;
-import eu.etaxonomy.cdm.model.occurrence.Collection;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
import eu.etaxonomy.taxeditor.model.ImageResources;
@@ -236,38 +222,6 @@ public class EntitySelectionElement extends
setSelectionInternal(selection);
}
- public static IService getService(T cdmBase){
- IService service = null;
- if(cdmBase!=null){
- //get corresponding service
- if(cdmBase.isInstanceOf(Reference.class)){
- service = (IService) CdmStore.getService(IReferenceService.class);
- }
- else if (cdmBase.isInstanceOf(AgentBase.class)){
- service = (IService) CdmStore.getService(IAgentService.class);
- }
- else if (cdmBase instanceof NonViralName) {
- service = (IService) CdmStore.getService(INameService.class);
- }
- else if (cdmBase instanceof SpecimenOrObservationBase) {
- service = (IService) CdmStore.getService(IOccurrenceService.class);
- }
- else if (cdmBase instanceof Collection) {
- service = (IService) CdmStore.getService(ICollectionService.class);
- }
- else if (cdmBase instanceof User) {
- service = (IService) CdmStore.getService(IUserService.class);
- }
- else if (cdmBase instanceof Primer) {
- service = (IService) CdmStore.getService(IPrimerService.class);
- }
- else if (cdmBase instanceof Amplification) {
- service = (IService) CdmStore.getService(IAmplificationService.class);
- }
- }
- return service;
- }
-
/**
* Return the selected object
*
--
2.34.1