This project has retired. For details please refer to its
Attic page.
TckBusinessService xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.apache.juddi.v3.tck;
16
17 import static junit.framework.Assert.assertEquals;
18
19 import java.util.List;
20
21 import org.apache.commons.logging.Log;
22 import org.apache.commons.logging.LogFactory;
23 import org.apache.juddi.jaxb.EntityCreator;
24 import org.junit.Assert;
25 import org.uddi.api_v3.BindingTemplate;
26 import org.uddi.api_v3.BusinessService;
27 import org.uddi.api_v3.DeleteService;
28 import org.uddi.api_v3.GetServiceDetail;
29 import org.uddi.api_v3.SaveService;
30 import org.uddi.api_v3.ServiceDetail;
31 import org.uddi.v3_service.UDDIInquiryPortType;
32 import org.uddi.v3_service.UDDIPublicationPortType;
33
34
35
36
37 public class TckBusinessService
38 {
39
40 public final static String NOTIFIER_SERVICE_XML = "uddi_data/subscriptionnotifier/businessService.xml";
41 public final static String NOTIFIER_SERVICE_KEY = "uddi:uddi.joepublisher.com:notifierone";
42 public final static String JOE_SERVICE_XML = "uddi_data/joepublisher/businessService.xml";
43 public final static String JOE_SERVICE_KEY = "uddi:uddi.joepublisher.com:serviceone";
44 public final static String JOE_SERVICE_XML_2 = "uddi_data/joepublisher/businessService2.xml";
45 public final static String JOE_SERVICE_KEY_2 = "uddi:uddi.joepublisher.com:servicetwo";
46 public final static String SAM_SERVICE_XML = "uddi_data/samsyndicator/businessService.xml";
47 public final static String SAM_SERVICE_KEY = "uddi:www.samco.com:listingservice";
48 public final static String SAM_SERVICE_BINDING_KEY="uddi:www.samco.com:listservice-accesspoint";
49 public final static String RIFTSAW_PROCESS_XML = "uddi_data/bpel/riftsaw/WSDLPort.xml";
50 public final static String RIFTSAW_PROCESS_KEY = "uddi:riftsaw.jboss.org:ticket-service";
51 public final static String JOE_BINDING_KEY_1="uddi:uddi.joepublisher.com:bindingone";
52 private Log logger = LogFactory.getLog(this.getClass());
53 private UDDIPublicationPortType publication = null;
54 private UDDIInquiryPortType inquiry = null;
55
56 public TckBusinessService(UDDIPublicationPortType publication,
57 UDDIInquiryPortType inquiry) {
58 super();
59 this.publication = publication;
60 this.inquiry = inquiry;
61 }
62
63 public String saveJoePublisherService(String authInfoJoe) {
64 return saveService(authInfoJoe, JOE_SERVICE_XML, JOE_SERVICE_KEY);
65 }
66
67 public void updateJoePublisherService(String authInfoJoe, String description) {
68 saveService(authInfoJoe, JOE_SERVICE_XML, JOE_SERVICE_KEY, description);
69 }
70
71 public void saveJoePublisherService2(String authInfoJoe) {
72 saveService2(authInfoJoe, JOE_SERVICE_KEY, JOE_SERVICE_XML_2, JOE_SERVICE_KEY_2);
73 }
74
75 public void saveJoePublisherServices(String authInfoJoe, int businessInt, int numberOfCopies) {
76 saveServices(authInfoJoe, businessInt, JOE_SERVICE_XML, JOE_SERVICE_KEY, numberOfCopies, TckBusiness.JOE_BUSINESS_KEY);
77 }
78
79 public void deleteJoePublisherService(String authInfoJoe) {
80 deleteService(authInfoJoe, JOE_SERVICE_KEY);
81 }
82
83 public void deleteJoePublisherService2(String authInfoJoe) {
84 deleteService(authInfoJoe, JOE_SERVICE_KEY_2);
85 }
86
87 public void saveNotifierService(String authInfoJoe) {
88 saveService(authInfoJoe, NOTIFIER_SERVICE_XML, NOTIFIER_SERVICE_KEY);
89 }
90
91 public void deleteNotifierService(String authInfoJoe) {
92 deleteService(authInfoJoe, NOTIFIER_SERVICE_KEY);
93 }
94
95
96 public void deleteJoePublisherServices(String authInfoJoe, int businessInt, int numberOfCopies) {
97 deleteServices(authInfoJoe, businessInt,JOE_SERVICE_KEY, numberOfCopies);
98 }
99
100 public void saveSamSyndicatorService(String authInfoSam) {
101 saveService(authInfoSam, SAM_SERVICE_XML, SAM_SERVICE_KEY);
102 }
103
104 public void saveSamSyndicatorServices(String authInfoSam, int businessInt, int numberOfCopies) {
105 saveServices(authInfoSam, businessInt, SAM_SERVICE_XML, SAM_SERVICE_KEY, numberOfCopies, TckBusiness.SAM_BUSINESS_KEY);
106 }
107
108 public void deleteSamSyndicatorService(String authInfoSam) {
109 deleteService(authInfoSam, SAM_SERVICE_KEY);
110 }
111
112 public void deleteSamSyndicatorServices(String authInfoSam, int businessInt, int numberOfCopies) {
113 deleteServices(authInfoSam, businessInt, SAM_SERVICE_KEY, numberOfCopies);
114 }
115
116 public void saveServices(String authInfo, int businessInt, String serviceXML, String serviceKey, int numberOfCopies, String parentBusinessKey) {
117 SaveService ss = null;
118 try {
119 org.uddi.api_v3.BusinessService bsIn = (org.uddi.api_v3.BusinessService)EntityCreator.buildFromDoc(serviceXML, "org.uddi.api_v3");
120 String serviceName = bsIn.getName().get(0).getValue();
121 String bindingKey = bsIn.getBindingTemplates().getBindingTemplate().get(0).getBindingKey();
122 for (int i=0; i<numberOfCopies; i++) {
123
124 ss = new SaveService();
125 ss.setAuthInfo(authInfo);
126 bsIn.getName().get(0).setValue(serviceName + "-" + i);
127 bsIn.setBusinessKey(parentBusinessKey +"-" + businessInt);
128 bsIn.setServiceKey(serviceKey + "-" + businessInt + "-" + i);
129 bsIn.getBindingTemplates().getBindingTemplate().get(0).setBindingKey(bindingKey + "-" + businessInt + "-" + i);
130 bsIn.getBindingTemplates().getBindingTemplate().get(0).setServiceKey(serviceKey + "-" + businessInt + "-" + i);
131 ss.getBusinessService().add(bsIn);
132
133 BindingTemplate bt = bsIn.getBindingTemplates().getBindingTemplate().get(0);
134 if (! bt.getServiceKey().equals(serviceKey + "-" + businessInt + "-" + i)) {
135 System.out.println("not the same");
136 }
137
138 publication.saveService(ss);
139 logger.info("Add service with key " + bsIn.getServiceKey());
140 }
141 }
142 catch(Exception e) {
143 logger.error(e.getMessage(), e);
144 Assert.fail("No exception should be thrown.");
145 }
146 }
147
148 public String saveService(String authInfo, String serviceXML, String serviceKey) {
149 return saveService(authInfo, serviceXML, serviceKey, null);
150 }
151
152 public String saveService(String authInfo, String serviceXML, String serviceKey, String description) {
153 try {
154 logger.info("saving service key " + serviceKey + " from " + serviceXML);
155
156 SaveService ss = new SaveService();
157 ss.setAuthInfo(authInfo);
158
159 org.uddi.api_v3.BusinessService bsIn = (org.uddi.api_v3.BusinessService)EntityCreator.buildFromDoc(serviceXML, "org.uddi.api_v3");
160
161 if (description!=null) bsIn.getDescription().get(0).setValue("updated description");
162 ss.getBusinessService().add(bsIn);
163 publication.saveService(ss);
164
165
166 GetServiceDetail gs = new GetServiceDetail();
167 gs.getServiceKey().add(serviceKey);
168 ServiceDetail sd = inquiry.getServiceDetail(gs);
169 List<BusinessService> bsOutList = sd.getBusinessService();
170 BusinessService bsOut = bsOutList.get(0);
171
172 assertEquals(bsIn.getServiceKey().toLowerCase(), bsOut.getServiceKey());
173
174 TckValidator.checkNames(bsIn.getName(), bsOut.getName());
175 TckValidator.checkDescriptions(bsIn.getDescription(), bsOut.getDescription());
176 TckValidator.checkBindingTemplates(bsIn.getBindingTemplates(), bsOut.getBindingTemplates());
177 TckValidator.checkCategories(bsIn.getCategoryBag(), bsOut.getCategoryBag());
178 if (bsOut.getBindingTemplates()!=null && !bsOut.getBindingTemplates().getBindingTemplate().isEmpty())
179 return bsOut.getBindingTemplates().getBindingTemplate().get(0).getBindingKey();
180 }
181 catch(Exception e) {
182 logger.error(e.getMessage(), e);
183 Assert.fail("No exception should be thrown.");
184 }
185 return null;
186 }
187
188 public void saveService2(String authInfo, String serviceKey, String serviceXML2, String serviceKey2) {
189 try {
190
191 SaveService ss = new SaveService();
192 ss.setAuthInfo(authInfo);
193
194 org.uddi.api_v3.BusinessService bsIn = (org.uddi.api_v3.BusinessService)EntityCreator.buildFromDoc(serviceXML2, "org.uddi.api_v3");
195 ss.getBusinessService().add(bsIn);
196 publication.saveService(ss);
197
198
199 GetServiceDetail gs = new GetServiceDetail();
200 gs.getServiceKey().add(serviceKey);
201 gs.getServiceKey().add(serviceKey2);
202 ServiceDetail sd = inquiry.getServiceDetail(gs);
203 List<BusinessService> bsOutList = sd.getBusinessService();
204 int size = bsOutList.size();
205
206 assertEquals(2, size);
207
208
209 }
210 catch(Exception e) {
211 logger.error(e.getMessage(), e);
212 Assert.fail("No exception should be thrown.");
213 }
214
215 }
216
217 public void deleteService(String authInfo, String serviceKey) {
218 try {
219
220 DeleteService ds = new DeleteService();
221 ds.setAuthInfo(authInfo);
222
223 ds.getServiceKey().add(serviceKey);
224 publication.deleteService(ds);
225 }
226 catch(Exception e) {
227 logger.error(e.getMessage(), e);
228 Assert.fail("No exception should be thrown.");
229 }
230 }
231
232 public void deleteServices(String authInfo, int businessInt, String serviceKey, int numberOfCopies) {
233 try {
234 for (int i=0; i<numberOfCopies; i++) {
235
236 DeleteService ds = new DeleteService();
237 ds.setAuthInfo(authInfo);
238 ds.getServiceKey().add(serviceKey + "-" + businessInt + "-" + i);
239 publication.deleteService(ds);
240 logger.debug("Deleted Service with key " + businessInt + "-" + serviceKey + "-" + i);
241 }
242 }
243 catch(Exception e) {
244 logger.error(e.getMessage(), e);
245 Assert.fail("No exception should be thrown.");
246 }
247 }
248
249 }