1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krms.impl.util;
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
25
26
27
28
29
30
31 public class KRMSServiceLocatorInternal {
32
33 public static final String KRMS_RUN_MODE_PROPERTY = "krms.mode";
34 public static final String KRMS_MODULE_NAMESPACE = "KRMS";
35
36 private static final Logger LOG = Logger.getLogger(KRMSServiceLocatorInternal.class);
37
38
39 @SuppressWarnings("unchecked")
40 public static <A> A getService(String serviceName) {
41 return (A)getBean(serviceName);
42 }
43
44 public static Object getBean(String serviceName) {
45 if ( LOG.isDebugEnabled() ) {
46 LOG.debug("Fetching service " + serviceName);
47 }
48 return GlobalResourceLoader.getResourceLoader().getService(
49 (RunMode.REMOTE.equals(RunMode.valueOf(ConfigContext.getCurrentContextConfig().getProperty(KRMS_RUN_MODE_PROPERTY)))) ?
50 new QName(KRMS_MODULE_NAMESPACE, serviceName) : new QName(serviceName) );
51 }
52
53
54
55
56
57 }