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.Vector;
19
20 import org.apache.juddi.datatype.CategoryBag;
21 import org.apache.juddi.datatype.IdentifierBag;
22 import org.apache.juddi.datatype.RegistryObject;
23 import org.apache.juddi.datatype.binding.BindingTemplate;
24 import org.apache.juddi.datatype.binding.BindingTemplates;
25 import org.apache.juddi.datatype.business.BusinessEntity;
26 import org.apache.juddi.datatype.request.ValidateValues;
27 import org.apache.juddi.datatype.response.DispositionReport;
28 import org.apache.juddi.datatype.response.Result;
29 import org.apache.juddi.datatype.service.BusinessService;
30 import org.apache.juddi.datatype.service.BusinessServices;
31 import org.apache.juddi.datatype.tmodel.TModel;
32 import org.apache.juddi.error.RegistryException;
33 import org.apache.juddi.registry.RegistryEngine;
34 import org.apache.juddi.util.Config;
35
36 /***
37 * @author Steve Viens (sviens@apache.org)
38 */
39 public class ValidateValuesFunction extends AbstractFunction
40 {
41 /***
42 *
43 */
44 public ValidateValuesFunction(RegistryEngine registry)
45 {
46 super(registry);
47 }
48
49 /***
50 *
51 * @param obj
52 * @return RegistryObject
53 * @throws RegistryException
54 */
55 public RegistryObject execute(RegistryObject obj)
56 throws RegistryException
57 {
58 ValidateValues request = (ValidateValues)obj;
59 String generic = request.getGeneric();
60
61 Vector businessVector = request.getBusinessEntityVector();
62 if ((businessVector != null) && (businessVector.size() > 0))
63 validateBusinessVector(businessVector);
64
65 Vector serviceVector = request.getBusinessServiceVector();
66 if ((serviceVector != null) && (serviceVector.size() > 0))
67 validateServiceVector(serviceVector);
68
69 Vector tModelVector = request.getTModelVector();
70 if ((tModelVector != null) && (tModelVector.size() > 0))
71 validateTModelVector(tModelVector);
72
73
74
75
76
77
78
79
80 Result result = new Result(Result.E_SUCCESS);
81 result.setErrCode(Result.lookupErrCode(Result.E_SUCCESS));
82 DispositionReport dispRpt = new DispositionReport();
83 dispRpt.setGeneric(generic);
84 dispRpt.setOperator(Config.getOperator());
85 dispRpt.addResult(result);
86
87 return dispRpt;
88 }
89
90 /***
91 *
92 */
93 private RegistryObject validateBusinessVector(Vector businessVector)
94 {
95 if (businessVector == null)
96 return null;
97
98 for (int i=0; i<businessVector.size(); i++)
99 {
100 BusinessEntity business = (BusinessEntity)businessVector.elementAt(i);
101
102 CategoryBag catBag = business.getCategoryBag();
103 if (catBag != null)
104 {
105 Vector refs = catBag.getKeyedReferenceVector();
106 if ((refs != null) && (refs.size() > 0))
107 validate(refs);
108 }
109
110 IdentifierBag idBag = business.getIdentifierBag();
111 if (idBag != null)
112 {
113 Vector refs = idBag.getKeyedReferenceVector();
114 if ((refs != null) && (refs.size() > 0))
115 validate(refs);
116 }
117
118 BusinessServices services = business.getBusinessServices();
119 if (services != null)
120 {
121 Vector serviceVector = services.getBusinessServiceVector();
122 if (serviceVector != null)
123 validateServiceVector(serviceVector);
124 }
125 }
126
127 return null;
128 }
129
130 /***
131 *
132 */
133 private RegistryObject validateServiceVector(Vector serviceVector)
134 {
135 if (serviceVector == null)
136 return null;
137
138 for (int i=0; i<serviceVector.size(); i++)
139 {
140 BusinessService service = (BusinessService)serviceVector.elementAt(i);
141
142 CategoryBag catBag = service.getCategoryBag();
143 if (catBag != null)
144 {
145 Vector refs = catBag.getKeyedReferenceVector();
146 if ((refs != null) && (refs.size() > 0))
147 validate(refs);
148 }
149
150 BindingTemplates templates = service.getBindingTemplates();
151 if (templates != null)
152 {
153 Vector bindings = templates.getBindingTemplateVector();
154 if (bindings != null)
155 validateBindingVector(bindings);
156 }
157 }
158
159 return null;
160 }
161
162 /***
163 *
164 */
165 private RegistryObject validateBindingVector(Vector bindingVector)
166 {
167 if (bindingVector == null)
168 return null;
169
170 for (int i=0; i<bindingVector.size(); i++)
171 {
172 BindingTemplate binding = (BindingTemplate)bindingVector.elementAt(i);
173
174 CategoryBag catBag = binding.getCategoryBag();
175 if (catBag != null)
176 {
177 Vector refs = catBag.getKeyedReferenceVector();
178 if ((refs != null) && (refs.size() > 0))
179 validate(refs);
180 }
181 }
182
183 return null;
184 }
185
186 /***
187 *
188 */
189 private RegistryObject validateTModelVector(Vector tModelVector)
190 {
191 if (tModelVector == null)
192 return null;
193
194 for (int i=0; i<tModelVector.size(); i++)
195 {
196 TModel tModel = (TModel)tModelVector.elementAt(i);
197
198 CategoryBag catBag = tModel.getCategoryBag();
199 if (catBag != null)
200 {
201 Vector refs = catBag.getKeyedReferenceVector();
202 if ((refs != null) && (refs.size() > 0))
203 validate(refs);
204 }
205
206 IdentifierBag idBag = tModel.getIdentifierBag();
207 if (idBag != null)
208 {
209 Vector refs = idBag.getKeyedReferenceVector();
210 if ((refs != null) && (refs.size() > 0))
211 validate(refs);
212 }
213 }
214
215 return null;
216 }
217
218 /***
219 *
220 * @param args
221 */
222 private RegistryObject validate(Vector refs)
223 {
224 if (refs == null)
225 return null;
226
227 for (int i=0; i<refs.size(); i++)
228 {
229
230
231
232 }
233
234 return null;
235 }
236
237 /****************************************************************************/
238 /****************************** TEST DRIVER *********************************/
239 /****************************************************************************/
240
241
242 public static void main(String[] args)
243 {
244
245 RegistryEngine reg = new RegistryEngine();
246 reg.init();
247
248 try
249 {
250 }
251 catch (Exception ex)
252 {
253
254 ex.printStackTrace();
255 }
256 finally
257 {
258
259 reg.dispose();
260 }
261 }
262 }