KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > BindingTemplateExample


1 /*
2  * The source code contained herein is licensed under the IBM Public License
3  * Version 1.0, which has been approved by the Open Source Initiative.
4  * Copyright (C) 2001, International Business Machines Corporation
5  * Copyright (C) 2001, Hewlett-Packard Company
6  * All Rights Reserved.
7  *
8  */

9
10 import java.util.Properties JavaDoc;
11 import java.util.Vector JavaDoc;
12
13 import org.uddi4j.UDDIException;
14 import org.uddi4j.client.UDDIProxy;
15 import org.uddi4j.datatype.binding.AccessPoint;
16 import org.uddi4j.datatype.binding.BindingTemplate;
17 import org.uddi4j.datatype.binding.TModelInstanceDetails;
18 import org.uddi4j.datatype.binding.TModelInstanceInfo;
19 import org.uddi4j.datatype.business.BusinessEntity;
20 import org.uddi4j.datatype.service.BusinessService;
21 import org.uddi4j.datatype.service.BusinessServices;
22 import org.uddi4j.datatype.tmodel.TModel;
23 import org.uddi4j.response.AuthToken;
24 import org.uddi4j.response.BindingDetail;
25 import org.uddi4j.response.BusinessDetail;
26 import org.uddi4j.response.DispositionReport;
27 import org.uddi4j.response.Result;
28 import org.uddi4j.response.TModelDetail;
29 import org.uddi4j.util.TModelBag;
30
31 /**
32  * Sample code that exercises the publish API. Attempts
33  * to save a bindingTemplate, finds the bindingTemplate and then
34  * deletes the bindingTemplate.
35  *
36  * <OL>
37  * <LI>Sets up an UDDIProxy object
38  * <LI>Requests an authorization token
39  * <LI>Saves a businessEntity containing a businessService.
40  * <LI>Saves a tModel.
41  * <LI>Saves bindingTemplate refering to the tModel just created
42  * <LI>Finds bindingTemplate using the tModelBag.
43  * <LI>Deletes bindingTemplate using the bindingKey.
44  * <LI>Cleans up all the data structures created.
45  * </OL>
46  *
47  * @author Rajesh Sumra (rajesh_sumra@hp.com)
48  */

49 public class BindingTemplateExample
50 {
51
52     Properties JavaDoc config = null;
53
54     public static void main (String JavaDoc args[])
55     {
56         BindingTemplateExample app = new BindingTemplateExample();
57         System.out.println("\n*********** Running BindingTemplateExample ***********");
58         app.run();
59         System.exit(0);
60     }
61
62     public void run()
63     {
64         // Load samples configuration
65
config = Configurator.load();
66
67         // Construct a UDDIProxy object
68
UDDIProxy proxy = new UDDIProxy();
69
70         try
71         {
72             // Select the desired UDDI server node
73
proxy.setInquiryURL(config.getProperty("inquiryURL"));
74             proxy.setPublishURL(config.getProperty("publishURL"));
75
76             // Get an authorization token
77
System.out.println("\nGet authtoken");
78
79             // Pass in userid and password registered at the UDDI site
80
AuthToken token = proxy.get_authToken(config.getProperty("userid"),
81                                                                                         config.getProperty("password"));
82
83             System.out.println("Returned authToken:" + token.getAuthInfoString());
84
85             System.out.println("\nSaving a BindingTemplate");
86
87             // Create minimum required data objects
88
Vector JavaDoc entities = new Vector JavaDoc();
89
90             // For saving a Binding Template we need a Business Entity,
91
// Business Service and TModel. Hence create a new business entity
92
// , Business Service and TModel.
93

94             // Name is the business name. BusinessKey must be "" to save a new
95
// business
96
BusinessEntity be =
97             new BusinessEntity("", config.getProperty("businessName"));
98
99             // Create a new business service using BindingTemplates
100
// DefaultName is the service name. ServiceKey must be "" to save a new service
101
BusinessService businessService = new BusinessService("");
102             businessService.setDefaultNameString(config.getProperty("serviceName"),null);
103             businessService.setBusinessKey ("");
104
105
106             Vector JavaDoc services = new Vector JavaDoc();
107             services.addElement(businessService);
108             BusinessServices businessServices = new BusinessServices ();
109             businessServices.setBusinessServiceVector (services);
110
111             // Adding the BusinessServices to the BusinessEntity
112
be.setBusinessServices (businessServices);
113
114             entities.addElement(be);
115
116             // Save business
117
BusinessDetail bd = proxy.save_business(token.getAuthInfoString(),
118                                                                                             entities);
119
120             // Process returned BusinessDetail object to get the
121
// Business Key and Service Key.
122
Vector JavaDoc businessEntities = bd.getBusinessEntityVector();
123             BusinessEntity returnedBusinessEntity =
124             (BusinessEntity)(businessEntities.elementAt(0));
125             String JavaDoc businessKey =
126             returnedBusinessEntity.getBusinessKey();
127             Vector JavaDoc businessServicesReturned =
128             returnedBusinessEntity.getBusinessServices().getBusinessServiceVector();
129             BusinessService businessServiceReturned =
130             (BusinessService)(businessServicesReturned.elementAt(0));
131             String JavaDoc serviceKey = businessServiceReturned.getServiceKey();
132
133             // Saving TModel
134
Vector JavaDoc tModels = new Vector JavaDoc();
135             TModel tModel = new TModel("", config.getProperty("tmodelName"));
136             tModels.add(tModel);
137             TModelDetail tModelDetail = proxy.save_tModel(token.getAuthInfoString(), tModels);
138
139             // Creating TModelInstanceDetails
140
Vector JavaDoc tModelVector = tModelDetail.getTModelVector();
141             String JavaDoc tModelKey = ((TModel)(tModelVector.elementAt(0))).getTModelKey();
142             Vector JavaDoc tModelInstanceInfoVector = new Vector JavaDoc();
143             TModelInstanceInfo tModelInstanceInfo = new TModelInstanceInfo(tModelKey);
144             tModelInstanceInfoVector.add(tModelInstanceInfo);
145             TModelInstanceDetails tModelInstanceDetails = new TModelInstanceDetails();
146             tModelInstanceDetails.setTModelInstanceInfoVector(tModelInstanceInfoVector);
147
148             Vector JavaDoc bindingTemplatesVector = new Vector JavaDoc();
149
150             // Create a new binding templates using required elements constructor
151
// BindingKey must be "" to save a new binding
152
BindingTemplate bindingTemplate = new BindingTemplate("",
153                                                                                                                         tModelInstanceDetails,
154                                                                                                                         new AccessPoint("www.uddi.org","http"));
155             bindingTemplate.setServiceKey(serviceKey);
156             bindingTemplatesVector.addElement(bindingTemplate);
157
158             // **** Save the Binding Template
159
BindingDetail bindingDetail = proxy.save_binding(token.getAuthInfoString(),
160                                                                                                              bindingTemplatesVector);
161
162             // Process returned BindingDetail object
163
Vector JavaDoc bindingTemplateVector = bindingDetail.getBindingTemplateVector();
164             BindingTemplate bindingTemplateReturned = (BindingTemplate)(bindingTemplateVector.elementAt(0));
165             System.out.println("Returned BindingKey: " +
166                                                  bindingTemplateReturned.getBindingKey());
167
168             System.out.println("\nFinding the BindingTemplate saved ");
169
170             // Creating the TModel Bag
171
TModelBag tModelBag = new TModelBag();
172             Vector JavaDoc tModelKeyVector = new Vector JavaDoc();
173             tModelKeyVector.add(tModelKey);
174             tModelBag.setTModelKeyStrings(tModelKeyVector);
175
176             // **** Find the Binding Template .
177
// And setting the maximum rows to be returned as 5.
178
BindingDetail bindingDetailReturned = proxy.find_binding(null, serviceKey, tModelBag, 5);
179
180             // Process returned BindingDetail object
181
Vector JavaDoc bindingTemplatesFound = bindingDetailReturned.getBindingTemplateVector();
182             BindingTemplate bindingTemplateFound = (BindingTemplate)(bindingTemplatesFound.elementAt(0));
183             System.out.println("BindingKey Found: " + bindingTemplateFound.getBindingKey());
184
185
186             System.out.println("\nDeleting the saved BindingTemplate");
187
188             // **** Delete Binding Template using the Binding Key returned
189
DispositionReport dispositionReport =
190             proxy.delete_binding(token.getAuthInfoString(),
191                                                      bindingTemplateReturned.getBindingKey());
192             if( dispositionReport.success() )
193             {
194                 System.out.println("BindingKey : " + bindingTemplateReturned.getBindingKey());
195                 System.out.println("Binding Template successfully deleted");
196             }
197             else
198             {
199                 System.out.println(" Error during deletion of BindingTemplate\n"+
200                                                      "\n operator:" + dispositionReport.getOperator() +
201                                                      "\n generic:" + dispositionReport.getGeneric() );
202
203                 Vector JavaDoc results = dispositionReport.getResultVector();
204                 for( int i=0; i<results.size(); i++ )
205                 {
206                     Result r = (Result)results.elementAt(i);
207                     System.out.println("\n errno:" + r.getErrno() );
208                     if( r.getErrInfo()!=null )
209                     {
210                         System.out.println("\n errCode:" + r.getErrInfo().getErrCode() +
211                                                              "\n errInfoText:" + r.getErrInfo().getText());
212                     }
213                 }
214             }
215
216
217             // Tries to clean up the registry, for the structures we just created
218
//(by deleting the BusinessEntity)
219
System.out.println("\nCleaning the Data Structures added/saved from registry");
220             {
221                 // delete using the authToken and businessKey
222
DispositionReport dr = proxy.delete_business(token.getAuthInfoString(),
223                                                                                                          businessKey);
224
225                 if( !dr.success() )
226                 {
227                     System.out.println(" Error during deletion of Business\n"+
228                                                          "\n operator:" + dr.getOperator() +
229                                                          "\n generic:" + dr.getGeneric() );
230
231                     Vector JavaDoc results = dr.getResultVector();
232                     for( int i=0; i<results.size(); i++ )
233                     {
234                         Result r = (Result)results.elementAt(i);
235                         System.out.println("\n errno:" + r.getErrno() );
236                         if( r.getErrInfo()!=null )
237                         {
238                             System.out.println("\n errCode:" + r.getErrInfo().getErrCode() +
239                                                                  "\n errInfoText:" + r.getErrInfo().getText());
240                         }
241                     }
242                 }
243
244                 // delete TModel using authToken and tModelKey
245
dr = proxy.delete_tModel(token.getAuthInfoString(),
246                                                                  tModelKey);
247                 if( dr.success() )
248                 {
249                     System.out.println("Registry successfully cleaned");
250                 }
251                 else
252                 {
253                     System.out.println(" Error during deletion of tModel\n"+
254                                                          "\n operator:" + dr.getOperator() +
255                                                          "\n generic:" + dr.getGeneric() );
256
257                     Vector JavaDoc results = dr.getResultVector();
258                     for( int i=0; i<results.size(); i++ )
259                     {
260                         Result r = (Result)results.elementAt(i);
261                         System.out.println("\n errno:" + r.getErrno() );
262                         if( r.getErrInfo()!=null )
263                         {
264                             System.out.println("\n errCode:" + r.getErrInfo().getErrCode() +
265                                                                  "\n errInfoText:" + r.getErrInfo().getText());
266                         }
267                     }
268                 }
269             }
270         }
271         // Handle possible errors
272
catch( UDDIException e )
273         {
274             DispositionReport dr = e.getDispositionReport();
275             if( dr!=null )
276             {
277                 System.out.println("UDDIException faultCode:" + e.getFaultCode() +
278                                                      "\n operator:" + dr.getOperator() +
279                                                      "\n generic:" + dr.getGeneric() );
280
281                 Vector JavaDoc results = dr.getResultVector();
282                 for( int i=0; i<results.size(); i++ )
283                 {
284                     Result r = (Result)results.elementAt(i);
285                     System.out.println("\n errno:" + r.getErrno() );
286                     if( r.getErrInfo()!=null )
287                     {
288                         System.out.println("\n errCode:" + r.getErrInfo().getErrCode() +
289                                                              "\n errInfoText:" + r.getErrInfo().getText());
290                     }
291                 }
292             }
293             e.printStackTrace();
294         }
295         // Catch any other exception that may occur
296
catch( Exception JavaDoc e )
297         {
298             e.printStackTrace();
299         }
300     }
301 }
302
Popular Tags