1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kns.web.servlet.dwr;
17
18 import org.directwebremoting.spring.SpringCreator;
19 import org.kuali.rice.core.api.config.property.ConfigContext;
20 import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
21 import org.kuali.rice.kew.api.doctype.DocumentTypeService;
22 import org.springframework.beans.factory.BeanFactory;
23
24 import java.lang.reflect.InvocationHandler;
25 import java.lang.reflect.Method;
26 import java.lang.reflect.Proxy;
27
28
29
30
31
32
33
34
35
36
37 @Deprecated
38 public class GlobalResourceDelegatingSpringCreator extends SpringCreator {
39
40 public static final String KEW_RUN_MODE_PROPERTY = "kew.mode";
41 public static final String DOCUMENT_TYPE_SERVICE = "enDocumentTypeService";
42
43 @Override
44 public Object getInstance() throws InstantiationException {
45
46
47 if(ConfigContext.getCurrentContextConfig().getProperty(KEW_RUN_MODE_PROPERTY).equals("REMOTE") &&
48 this.getBeanName().equals(DOCUMENT_TYPE_SERVICE))
49 {
50 return Proxy.newProxyInstance(getClass().getClassLoader(), new Class<?>[]{DocumentTypeService.class},
51
52 new InvocationHandler() {
53 @Override
54 public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
55 return null;
56 }
57 }
58 );
59 }
60
61 Object bean = GlobalResourceLoader.getService(this.getBeanName());
62
63 if (bean == null) {
64 throw new InstantiationException("Unable to find bean " + this.getBeanName() + " in Rice Global Resource Loader");
65 }
66
67 return bean;
68 }
69
70 }