1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.edl.impl.service;
17
18 import javax.xml.namespace.QName;
19
20 import org.apache.log4j.Logger;
21 import org.kuali.rice.core.api.config.module.RunMode;
22 import org.kuali.rice.core.api.config.property.ConfigContext;
23 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
24 import org.kuali.rice.kew.service.KEWServiceLocator;
25 import org.kuali.rice.kew.api.KewApiConstants;
26
27 public class EdlServiceLocator {
28
29 private static final Logger LOG = Logger.getLogger(EdlServiceLocator.class);
30
31 public static final String EDL_RUN_MODE_PROPERTY = "edl.mode";
32 public static final String EDOCLITE_SERVICE = "enEDocLiteService";
33
34
35 static <T> T getService(String serviceName) {
36 return GlobalResourceLoader.<T>getService(serviceName);
37 }
38
39 public static EDocLiteService getEDocLiteService() {
40 return getService(EDOCLITE_SERVICE);
41 }
42
43 public static Object getBean(String serviceName) {
44 if ( LOG.isDebugEnabled() ) {
45 LOG.debug("Fetching service " + serviceName);
46 }
47 return GlobalResourceLoader.getResourceLoader().getService(
48 (RunMode.REMOTE.equals(RunMode.valueOf(ConfigContext.getCurrentContextConfig().getProperty(EDL_RUN_MODE_PROPERTY)))) ?
49 new QName(KewApiConstants.KEW_MODULE_NAMESPACE, serviceName) : new QName(serviceName));
50 }
51
52 }