01: package net.sf.crispy.extension.hivemind;
02:
03: import java.util.List;
04: import java.util.Properties;
05:
06: import net.sf.crispy.impl.ServiceManager;
07:
08: import org.apache.hivemind.ServiceImplementationFactory;
09: import org.apache.hivemind.ServiceImplementationFactoryParameters;
10:
11: public class CrispyFactory implements ServiceImplementationFactory {
12:
13: private String name = null;
14: private ServiceManager serviceManager = null;
15: private Properties properties = new Properties();
16: public List propertyList;
17:
18: public CrispyFactory() {
19: }
20:
21: public void init() {
22: serviceManager = new ServiceManager(properties);
23: }
24:
25: public void setName(String pvName) {
26: name = pvName;
27: }
28:
29: public String getName() {
30: return name;
31: }
32:
33: public void setProperties(List pvProperties) {
34: propertyList = pvProperties;
35: makeProperties(propertyList);
36:
37: }
38:
39: public List getProperties() {
40: return propertyList;
41: }
42:
43: public Object createCoreServiceImplementation(
44: ServiceImplementationFactoryParameters pvParams) {
45: return serviceManager.createService(pvParams
46: .getServiceInterface());
47: }
48:
49: private void makeProperties(List pvPropList) {
50: for (int i = 0; i < pvPropList.size(); i++) {
51: KeyValue kv = (KeyValue) pvPropList.get(i);
52: // System.out.println(kv);
53: properties.put(kv.getKey(), kv.getValue());
54: }
55: }
56:
57: }
|