1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.function;
17
18 import java.util.HashMap;
19
20 import org.apache.commons.logging.Log;
21 import org.apache.commons.logging.LogFactory;
22 import org.apache.juddi.datatype.request.AddPublisherAssertions;
23 import org.apache.juddi.datatype.request.DeleteBinding;
24 import org.apache.juddi.datatype.request.DeleteBusiness;
25 import org.apache.juddi.datatype.request.DeletePublisher;
26 import org.apache.juddi.datatype.request.DeletePublisherAssertions;
27 import org.apache.juddi.datatype.request.DeleteService;
28 import org.apache.juddi.datatype.request.DeleteSubscription;
29 import org.apache.juddi.datatype.request.DeleteTModel;
30 import org.apache.juddi.datatype.request.DiscardAuthToken;
31 import org.apache.juddi.datatype.request.FindBinding;
32 import org.apache.juddi.datatype.request.FindBusiness;
33 import org.apache.juddi.datatype.request.FindPublisher;
34 import org.apache.juddi.datatype.request.FindRelatedBusinesses;
35 import org.apache.juddi.datatype.request.FindService;
36 import org.apache.juddi.datatype.request.FindTModel;
37 import org.apache.juddi.datatype.request.GetAssertionStatusReport;
38 import org.apache.juddi.datatype.request.GetAuthToken;
39 import org.apache.juddi.datatype.request.GetBindingDetail;
40 import org.apache.juddi.datatype.request.GetBusinessDetail;
41 import org.apache.juddi.datatype.request.GetBusinessDetailExt;
42 import org.apache.juddi.datatype.request.GetPublisherAssertions;
43 import org.apache.juddi.datatype.request.GetPublisherDetail;
44 import org.apache.juddi.datatype.request.GetRegisteredInfo;
45 import org.apache.juddi.datatype.request.GetRegistryInfo;
46 import org.apache.juddi.datatype.request.GetServiceDetail;
47 import org.apache.juddi.datatype.request.GetSubscriptionResults;
48 import org.apache.juddi.datatype.request.GetSubscriptions;
49 import org.apache.juddi.datatype.request.GetTModelDetail;
50 import org.apache.juddi.datatype.request.SaveBinding;
51 import org.apache.juddi.datatype.request.SaveBusiness;
52 import org.apache.juddi.datatype.request.SavePublisher;
53 import org.apache.juddi.datatype.request.SaveService;
54 import org.apache.juddi.datatype.request.SaveSubscription;
55 import org.apache.juddi.datatype.request.SaveTModel;
56 import org.apache.juddi.datatype.request.SetPublisherAssertions;
57 import org.apache.juddi.datatype.request.ValidateValues;
58 import org.apache.juddi.registry.RegistryEngine;
59
60 /***
61 * Holds a static HashMap linking the string representation of operations to
62 * instantances of the appropriate maker class (BusinessDetail to
63 * BusinessDetailHandler). Returns a reference to an instance of a maker object.
64 * HandlerMaker follows the Singleton pattern (GoF p.127). Use getInstance
65 * instead of the 'new' operator to get an instance of this class.
66 *
67 * @author Steve Viens (sviens@apache.org)
68 */
69 public class FunctionMaker
70 {
71
72 private static Log log = LogFactory.getLog(FunctionMaker.class);
73
74
75 private HashMap functions = null;
76
77 /***
78 *
79 */
80 public FunctionMaker(RegistryEngine registry)
81 {
82 functions = new HashMap();
83 IFunction function = null;
84
85 function = new AddPublisherAssertionsFunction(registry);
86 functions.put(AddPublisherAssertions.class.getName(),function);
87
88 function = new DeleteBindingFunction(registry);
89 functions.put(DeleteBinding.class.getName(),function);
90
91 function = new DeleteBusinessFunction(registry);
92 functions.put(DeleteBusiness.class.getName(),function);
93
94 function = new DeletePublisherAssertionsFunction(registry);
95 functions.put(DeletePublisherAssertions.class.getName(),function);
96
97 function = new DeletePublisherFunction(registry);
98 functions.put(DeletePublisher.class.getName(),function);
99
100 function = new DeleteServiceFunction(registry);
101 functions.put(DeleteService.class.getName(),function);
102
103 function = new DeleteSubscriptionFunction(registry);
104 functions.put(DeleteSubscription.class.getName(),function);
105
106 function = new DeleteTModelFunction(registry);
107 functions.put(DeleteTModel.class.getName(),function);
108
109 function = new DiscardAuthTokenFunction(registry);
110 functions.put(DiscardAuthToken.class.getName(),function);
111
112 function = new FindBindingFunction(registry);
113 functions.put(FindBinding.class.getName(),function);
114
115 function = new FindBusinessFunction(registry);
116 functions.put(FindBusiness.class.getName(),function);
117
118 function = new FindPublisherFunction(registry);
119 functions.put(FindPublisher.class.getName(),function);
120
121 function = new FindRelatedBusinessesFunction(registry);
122 functions.put(FindRelatedBusinesses.class.getName(),function);
123
124 function = new FindServiceFunction(registry);
125 functions.put(FindService.class.getName(),function);
126
127 function = new FindTModelFunction(registry);
128 functions.put(FindTModel.class.getName(),function);
129
130 function = new GetAssertionStatusReportFunction(registry);
131 functions.put(GetAssertionStatusReport.class.getName(),function);
132
133 function = new GetAuthTokenFunction(registry);
134 functions.put(GetAuthToken.class.getName(),function);
135
136 function = new GetBindingDetailFunction(registry);
137 functions.put(GetBindingDetail.class.getName(),function);
138
139 function = new GetBusinessDetailFunction(registry);
140 functions.put(GetBusinessDetail.class.getName(),function);
141
142 function = new GetBusinessDetailExtFunction(registry);
143 functions.put(GetBusinessDetailExt.class.getName(),function);
144
145 function = new GetPublisherAssertionsFunction(registry);
146 functions.put(GetPublisherAssertions.class.getName(),function);
147
148 function = new GetPublisherDetailFunction(registry);
149 functions.put(GetPublisherDetail.class.getName(),function);
150
151 function = new GetRegisteredInfoFunction(registry);
152 functions.put(GetRegisteredInfo.class.getName(),function);
153
154 function = new GetRegisteryInfoFunction(registry);
155 functions.put(GetRegistryInfo.class.getName(),function);
156
157 function = new GetServiceDetailFunction(registry);
158 functions.put(GetServiceDetail.class.getName(),function);
159
160 function = new GetSubscriptionResultsFunction(registry);
161 functions.put(GetSubscriptionResults.class.getName(),function);
162
163 function = new GetSubscriptionsFunction(registry);
164 functions.put(GetSubscriptions.class.getName(),function);
165
166 function = new GetTModelDetailFunction(registry);
167 functions.put(GetTModelDetail.class.getName(),function);
168
169 function = new SaveBindingFunction(registry);
170 functions.put(SaveBinding.class.getName(),function);
171
172 function = new SaveBusinessFunction(registry);
173 functions.put(SaveBusiness.class.getName(),function);
174
175 function = new SavePublisherFunction(registry);
176 functions.put(SavePublisher.class.getName(),function);
177
178 function = new SaveServiceFunction(registry);
179 functions.put(SaveService.class.getName(),function);
180
181 function = new SaveSubscriptionFunction(registry);
182 functions.put(SaveSubscription.class.getName(),function);
183
184 function = new SaveTModelFunction(registry);
185 functions.put(SaveTModel.class.getName(),function);
186
187 function = new SetPublisherAssertionsFunction(registry);
188 functions.put(SetPublisherAssertions.class.getName(),function);
189
190 function = new ValidateValuesFunction(registry);
191 functions.put(ValidateValues.class.getName(),function);
192 }
193
194 /***
195 *
196 */
197 public final IFunction lookup(String className)
198 {
199 IFunction function = (IFunction)functions.get(className);
200 if (function == null)
201 log.error("can't find function for class name \"" + className + "\"");
202
203 return function;
204 }
205 }