Repository: juddi Updated Branches: refs/heads/master 7806a1129 -> c6bab253f
JUDDI-242 additional tests added JUDDI-873 PA subscription alerts work for complete and deleted Pas but not for incomplete ones. Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/c6bab253 Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/c6bab253 Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/c6bab253 Branch: refs/heads/master Commit: c6bab253ff37d0ea1d1dcc86cbeed98d8e6f1249 Parents: 7806a11 Author: Alex <[email protected]> Authored: Sun Dec 14 11:11:29 2014 -0500 Committer: Alex <[email protected]> Committed: Sun Dec 14 11:11:29 2014 -0500 ---------------------------------------------------------------------- .../apache/juddi/api/impl/UDDIInquiryImpl.java | 4 +- .../juddi/api/impl/UDDISubscriptionImpl.java | 4 +- .../tck/UDDI_090_HttpMavenIntegrationTest.java | 4 + ...090_SubscriptionListenerIntegrationBase.java | 291 ++++++++++++++++++- 4 files changed, 284 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/c6bab253/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java index ee0627b..c043298 100644 --- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java +++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java @@ -154,8 +154,8 @@ public class UDDIInquiryImpl extends AuthenticatedService implements UDDIInquiry String serviceKey = body.getServiceKey(); org.apache.juddi.model.BusinessService modelBusinessService = null; try { - em.find(org.apache.juddi.model.BusinessService.class, serviceKey); - } catch (ClassCastException e) {} + modelBusinessService=em.find(org.apache.juddi.model.BusinessService.class, serviceKey); + } catch (Exception e) {} if (modelBusinessService == null) throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.ServiceNotFound", serviceKey)); http://git-wip-us.apache.org/repos/asf/juddi/blob/c6bab253/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java ---------------------------------------------------------------------- diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java index 5012ce5..ff3bff6 100644 --- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java +++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionImpl.java @@ -253,8 +253,8 @@ public class UDDISubscriptionImpl extends AuthenticatedService implements UDDISu // Setting the start index to the chunkData Holder<Integer> subscriptionStartIndex = new Holder<Integer>(chunkData); - BindingDetail bindingDetail = InquiryHelper.getBindingDetailFromKeys(fb, findQualifiers, em, currentMatchingKeys, - startPointDate, endPointDate, subscriptionStartIndex, modelSubscription.getMaxEntities()); + BindingDetail bindingDetail = InquiryHelper.getBindingDetailFromKeys(fb, findQualifiers, em, currentMatchingKeys, + startPointDate, endPointDate, subscriptionStartIndex, modelSubscription.getMaxEntities()); // Upon exiting above function, if more results are to be had, the subscriptionStartIndex will contain the latest value (or null // if no more results) http://git-wip-us.apache.org/repos/asf/juddi/blob/c6bab253/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java index 52f35e4..39f379a 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_HttpMavenIntegrationTest.java @@ -93,6 +93,10 @@ public class UDDI_090_HttpMavenIntegrationTest extends UDDI_090_SubscriptionList found = true; } } + if (!found){ + logger.error("_________________________________________________the test failed!!!"); + Thread.dumpStack(); + } return found; } http://git-wip-us.apache.org/repos/asf/juddi/blob/c6bab253/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java ---------------------------------------------------------------------- diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java index 66eb64c..eb0c72a 100644 --- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java +++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_090_SubscriptionListenerIntegrationBase.java @@ -26,6 +26,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.juddi.v3.client.UDDIConstants; import org.apache.juddi.v3.client.config.UDDIClient; +import org.apache.juddi.v3.client.ext.wsdm.WSDMQosConstants; import org.apache.juddi.v3.client.transport.Transport; import org.junit.Assert; import org.junit.Assume; @@ -37,6 +38,7 @@ import org.uddi.api_v3.BindingTemplate; import org.uddi.api_v3.BindingTemplates; import org.uddi.api_v3.BusinessEntity; import org.uddi.api_v3.BusinessService; +import org.uddi.api_v3.CategoryBag; import org.uddi.api_v3.CompletionStatus; import org.uddi.api_v3.DeletePublisherAssertions; import org.uddi.api_v3.Description; @@ -48,6 +50,7 @@ import org.uddi.api_v3.GetBindingDetail; import org.uddi.api_v3.GetBusinessDetail; import org.uddi.api_v3.GetServiceDetail; import org.uddi.api_v3.GetTModelDetail; +import org.uddi.api_v3.InstanceDetails; import org.uddi.api_v3.KeyedReference; import org.uddi.api_v3.Name; import org.uddi.api_v3.PublisherAssertion; @@ -57,6 +60,8 @@ import org.uddi.api_v3.SaveService; import org.uddi.api_v3.SaveTModel; import org.uddi.api_v3.TModel; import org.uddi.api_v3.TModelBag; +import org.uddi.api_v3.TModelInstanceDetails; +import org.uddi.api_v3.TModelInstanceInfo; import org.uddi.sub_v3.DeleteSubscription; import org.uddi.sub_v3.Subscription; import org.uddi.sub_v3.SubscriptionFilter; @@ -913,6 +918,97 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { } } + + + + /** + * PUBLISHERASSERTION tests joe want's updates on mary's binding + * + * @throws Exception + */ + @Test + public void joePublisherUpdate_PUBLISHERASSERTION_DETAIL_NULL() throws Exception { + Assume.assumeTrue(TckPublisher.isEnabled()); + Assume.assumeNotNull(getHostame()); + logger.info("joePublisherUpdate_" + getTransport() + "_PUBLISHERASSERTION_DETAIL_NULL"); + TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe); + Holder<List<Subscription>> holder = null; + try { + reset(); + + String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe); + + tckTModelJoe.saveJoePublisherTmodel(authInfoJoe); + //tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); + + tckTModelMary.saveMaryPublisherTmodel(authInfoMary); + BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary); + + tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe); + tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe); + //Saving the Listener Service + String bindingkey = tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame()); + + //Saving the Subscription + holder = new Holder<List<Subscription>>(); + holder.value = new ArrayList<Subscription>(); + Subscription sub = new Subscription(); + sub.setBindingKey(bindingkey); + sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000)); + sub.setSubscriptionFilter(new SubscriptionFilter()); + sub.getSubscriptionFilter().setGetAssertionStatusReport(new GetAssertionStatusReport()); + + holder.value.add(sub); + subscriptionJoe.saveSubscription(authInfoJoe, holder); + logger.info("subscription saved for " + holder.value.get(0).getSubscriptionKey()); + //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML); + //Changing the service we subscribed to "JoePublisherService" + Thread.sleep(1000); + logger.info("saving Mary's publisher assertion********** "); + AddPublisherAssertions pa = new AddPublisherAssertions(); + pa.setAuthInfo(authInfoMary); + PublisherAssertion pas = new PublisherAssertion(); + pas.setToKey(TckBusiness.JOE_BUSINESS_KEY); + pas.setFromKey(TckBusiness.MARY_BUSINESS_KEY); + pas.setKeyedReference(new KeyedReference(UDDIConstants.RELATIONSHIPS, "parent", "parent-child")); + pa.getPublisherAssertion().add(pas); + + publicationMary.addPublisherAssertions(pa); + + boolean found = verifyDelivery(TckBusiness.MARY_BUSINESS_KEY); + + DeletePublisherAssertions deletePublisherAssertions = new DeletePublisherAssertions(); + deletePublisherAssertions.setAuthInfo(authInfoMary); + deletePublisherAssertions.getPublisherAssertion().add(pas); + publicationMary.deletePublisherAssertions(deletePublisherAssertions); + if (!found) { + logger.warn("Test failed, dumping business list"); + logger.warn("BEFORE " + before); + logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe)); + Assert.fail("Notification does not contain the correct service."); + } + + } catch (Exception e) { + logger.error("No exceptions please."); + e.printStackTrace(); + + Assert.fail(); + } finally { + //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY); + DeleteSubscription ds = new DeleteSubscription(); + ds.setAuthInfo(authInfoJoe); + ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey()); + subscriptionJoe.deleteSubscription(ds); + tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary); + tckTModelMary.deleteMaryPublisherTmodel(authInfoMary); + + tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe); + tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe); + tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe); + tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); + + } + } /** * PUBLISHERASSERTION2 tests joe want's updates on mary's binding @@ -920,7 +1016,6 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { * @throws Exception */ @Test - @Ignore public void joePublisherUpdate_PUBLISHERASSERTION_DETAIL_COMPLETE() throws Exception { Assume.assumeTrue(TckPublisher.isEnabled()); Assume.assumeNotNull(getHostame()); @@ -1008,12 +1103,13 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { // /** - * find related businesses tests joe want's updates on mary's binding + * find related businesses + * i.e. setup subscriptions for all related businesses to joe's biz + * then setup PA between Joe and Mary * * @throws Exception */ @Test - @Ignore public void joePublisherUpdate_FIND_RELATED_BIZ() throws Exception { Assume.assumeTrue(TckPublisher.isEnabled()); Assume.assumeNotNull(getHostame()); @@ -1026,11 +1122,10 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe); tckTModelJoe.saveJoePublisherTmodel(authInfoJoe); - //tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); - + tckTModelMary.saveMaryPublisherTmodel(authInfoMary); + BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary); - tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe); tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe); //Saving the Listener Service @@ -1044,7 +1139,7 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000)); sub.setSubscriptionFilter(new SubscriptionFilter()); sub.getSubscriptionFilter().setFindRelatedBusinesses(new FindRelatedBusinesses()); - sub.getSubscriptionFilter().getFindRelatedBusinesses().setBusinessKey(TckBusiness.JOE_BUSINESS_KEY); + sub.getSubscriptionFilter().getFindRelatedBusinesses().setBusinessKey(TckBusiness.MARY_BUSINESS_KEY); holder.value.add(sub); subscriptionJoe.saveSubscription(authInfoJoe, holder); @@ -1052,6 +1147,7 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML); //Changing the service we subscribed to "JoePublisherService" Thread.sleep(1000); + logger.info("saving Mary's publisher assertion********** "); AddPublisherAssertions pa = new AddPublisherAssertions(); pa.setAuthInfo(authInfoMary); @@ -1060,17 +1156,31 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { pas.setFromKey(TckBusiness.MARY_BUSINESS_KEY); pas.setKeyedReference(new KeyedReference(UDDIConstants.RELATIONSHIPS, "parent", "parent-child")); pa.getPublisherAssertion().add(pas); - + + publicationMary.addPublisherAssertions(pa); logger.info("saving Joe's publisher assertion********** "); + pa = new AddPublisherAssertions(); pa.setAuthInfo(authInfoJoe); + pas = new PublisherAssertion(); + pas.setToKey(TckBusiness.JOE_BUSINESS_KEY); + pas.setFromKey(TckBusiness.MARY_BUSINESS_KEY); + pas.setKeyedReference(new KeyedReference(UDDIConstants.RELATIONSHIPS, "parent", "parent-child")); + pa.getPublisherAssertion().add(pas); publicationJoe.addPublisherAssertions(pa); + //expecting that Joe gets notified that joe's and mary's businesses are now "related" boolean found = verifyDelivery(TckBusiness.MARY_BUSINESS_KEY); DeletePublisherAssertions deletePublisherAssertions = new DeletePublisherAssertions(); deletePublisherAssertions.setAuthInfo(authInfoMary); deletePublisherAssertions.getPublisherAssertion().add(pas); publicationMary.deletePublisherAssertions(deletePublisherAssertions); + + deletePublisherAssertions = new DeletePublisherAssertions(); + deletePublisherAssertions.setAuthInfo(authInfoJoe); + deletePublisherAssertions.getPublisherAssertion().add(pas); + // publicationJoe.deletePublisherAssertions(deletePublisherAssertions); + if (!found) { logger.warn("Test failed, dumping business list"); logger.warn("BEFORE " + before); @@ -1106,11 +1216,109 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { * @throws Exception */ @Test + public void joePublisherUpdate_FIND_BINDING_BY_SERVICEKEY_AND_TMI() throws Exception { + Assume.assumeTrue(TckPublisher.isEnabled()); + Assume.assumeNotNull(getHostame()); + logger.info("joePublisherUpdate_" + getTransport() + "_FIND_BINDING_BY_SERVICEKEY_AND_TMI"); + TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe); + Holder<List<Subscription>> holder = null; + try { + reset(); + + String before = TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe); + + tckTModelJoe.saveJoePublisherTmodel(authInfoJoe); + tckTModelJoe.saveTModels(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); + + tckTModelMary.saveMaryPublisherTmodel(authInfoMary); + BusinessEntity saveMaryPublisherBusiness = tckBusinessMary.saveMaryPublisherBusiness(authInfoMary); + + BusinessService bs = new BusinessService(); + bs.setBusinessKey(saveMaryPublisherBusiness.getBusinessKey()); + bs.setServiceKey(TckTModel.MARY_KEY_PREFIX + UUID.randomUUID().toString()); + bs.getName().add(new Name("Mary's service for " + getTransport(), null)); + + bs.setBindingTemplates(new BindingTemplates()); + BindingTemplate bt = new BindingTemplate(); + bt.setAccessPoint(new AccessPoint("http://localhost", "endPoint")); + bt.setBindingKey(TckTModel.MARY_KEY_PREFIX + UUID.randomUUID().toString()); + bt.setServiceKey(bs.getServiceKey()); + bt = UDDIClient.addSOAPtModels(bt); + + bs.getBindingTemplates().getBindingTemplate().add(bt); + SaveService ss = new SaveService(); + ss.getBusinessService().add(bs); + ss.setAuthInfo(authInfoMary); + bs = publicationMary.saveService(ss).getBusinessService().get(0); + + tckBusinessJoe.saveJoePublisherBusiness(authInfoJoe); + tckBusinessServiceJoe.saveJoePublisherService(authInfoJoe); + //Saving the Listener Service + String bindingkey = tckSubscriptionListenerJoe.saveService(authInfoJoe, getXMLLocationOfServiceForDelivery(), getPort(), getHostame()); + + //Saving the Subscription + holder = new Holder<List<Subscription>>(); + holder.value = new ArrayList<Subscription>(); + Subscription sub = new Subscription(); + sub.setBindingKey(bindingkey); + sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000)); + sub.setSubscriptionFilter(new SubscriptionFilter()); + sub.getSubscriptionFilter().setFindBinding(new FindBinding()); + //FAIL sub.getSubscriptionFilter().getFindBinding().setServiceKey(bs.getServiceKey()); + sub.getSubscriptionFilter().getFindBinding().setTModelBag(new TModelBag()); + + //At least one of either a tModelBag or a find_tModel argument SHOULD be supplied, unless a categoryBag based search is being used. + + sub.getSubscriptionFilter().getFindBinding().getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); + //joe wants updates to mary's binding + + holder.value.add(sub); + subscriptionJoe.saveSubscription(authInfoJoe, holder); + logger.info("subscription saved for " + holder.value.get(0).getSubscriptionKey()); + //tckSubscriptionListenerJoe.saveNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION3_XML); + //Changing the service we subscribed to "JoePublisherService" + Thread.sleep(1000); + logger.info("updating Mary's binding ********** "); + String newcontent= updatePublisherBindingAddTMI(authInfoMary, bt, publicationMary); + + boolean found = verifyDelivery(newcontent); + + if (!found) { + logger.warn("Test failed, dumping business list"); + logger.warn("BEFORE " + before); + logger.warn("After " + TckCommon.DumpAllBusinesses(authInfoJoe, inquiryJoe)); + Assert.fail("Notification does not contain the correct service."); + } + + } catch (Exception e) { + logger.error("No exceptions please."); + e.printStackTrace(); + + Assert.fail(); + } finally { + //tckSubscriptionListenerJoe.deleteNotifierSubscription(authInfoJoe, TckSubscriptionListener.SUBSCRIPTION_KEY); + DeleteSubscription ds = new DeleteSubscription(); + ds.setAuthInfo(authInfoJoe); + ds.getSubscriptionKey().add(holder.value.get(0).getSubscriptionKey()); + subscriptionJoe.deleteSubscription(ds); + tckBusinessMary.deleteMaryPublisherBusiness(authInfoMary); + tckTModelMary.deleteMaryPublisherTmodel(authInfoMary); + + tckBusinessServiceJoe.deleteJoePublisherService(authInfoJoe); + tckBusinessJoe.deleteJoePublisherBusiness(authInfoJoe); + tckTModelJoe.deleteJoePublisherTmodel(authInfoJoe); + tckTModelJoe.deleteTModel(authInfoJoe, TckTModel.JOE_PUBLISHER_TMODEL_SUBSCRIPTION3_TMODEL_KEY, TckTModel.JOE_PUBLISHER_TMODEL_XML_SUBSCRIPTION3); + + } + } + + + @Test @Ignore - public void joePublisherUpdate_FIND_BINDING() throws Exception { + public void joePublisherUpdate_FIND_BINDING_BY_CATBAG() throws Exception { Assume.assumeTrue(TckPublisher.isEnabled()); Assume.assumeNotNull(getHostame()); - logger.info("joePublisherUpdate_" + getTransport() + "_FIND_BINDING"); + logger.info("joePublisherUpdate_" + getTransport() + "_FIND_BINDING_BY_CATBAG"); TckCommon.removeAllExistingSubscriptions(authInfoJoe, subscriptionJoe); Holder<List<Subscription>> holder = null; try { @@ -1155,8 +1363,11 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { sub.setNotificationInterval(DatatypeFactory.newInstance().newDuration(5000)); sub.setSubscriptionFilter(new SubscriptionFilter()); sub.getSubscriptionFilter().setFindBinding(new FindBinding()); - sub.getSubscriptionFilter().getFindBinding().setServiceKey(bs.getServiceKey()); + //sub.getSubscriptionFilter().getFindBinding().setServiceKey(bs.getServiceKey()); sub.getSubscriptionFilter().getFindBinding().setTModelBag(new TModelBag()); + + //At least one of either a tModelBag or a find_tModel argument SHOULD be supplied, unless a categoryBag based search is being used. + sub.getSubscriptionFilter().getFindBinding().getTModelBag().getTModelKey().add("uddi:uddi.org:categorization:types"); @@ -1167,9 +1378,9 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { //Changing the service we subscribed to "JoePublisherService" Thread.sleep(1000); logger.info("updating Mary's binding ********** "); - updatePublisherBinding(authInfoMary, bt, publicationMary); + String newcontent= updatePublisherBindingAddCategory(authInfoMary, bt, publicationMary,"uddi:uddi.org:categorization:types"); - boolean found = verifyDelivery("wsdlDeployment"); + boolean found = verifyDelivery(newcontent); if (!found) { logger.warn("Test failed, dumping business list"); @@ -1199,6 +1410,8 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { } } + + //find binding private void updatePublisherService(String authInfo, BusinessService bs, UDDIPublicationPortType pub) throws Exception { @@ -1209,12 +1422,60 @@ public abstract class UDDI_090_SubscriptionListenerIntegrationBase { pub.saveService(ss); } - private void updatePublisherBinding(String authInfo, BindingTemplate bt, UDDIPublicationPortType pub) throws Exception { + /** + * returns a string used to confirm delivery of an update + * @param authInfo + * @param bt + * @param pub + * @return + * @throws Exception + */ + private String updatePublisherBinding(String authInfo, BindingTemplate bt, UDDIPublicationPortType pub) throws Exception { SaveBinding sb = new SaveBinding(); sb.setAuthInfo(authInfo); - bt.getAccessPoint().setUseType("wsdlDeployment"); + String ret = "http://" + UUID.randomUUID().toString(); + bt.getAccessPoint().setValue(ret); sb.getBindingTemplate().add(bt); pub.saveBinding(sb); + return ret; + } + + /** + * returns a string used to confirm delivery of an update + * @param authInfo + * @param bt + * @param pub + * @param cat + * @return + * @throws Exception + */ + private String updatePublisherBindingAddTMI(String authInfo, BindingTemplate bt, UDDIPublicationPortType pub) throws Exception { + SaveBinding sb = new SaveBinding(); + sb.setAuthInfo(authInfo); + if (bt.getTModelInstanceDetails()==null) + bt.setTModelInstanceDetails(new TModelInstanceDetails()); + TModelInstanceInfo tii = new TModelInstanceInfo(); + tii.setTModelKey(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); + tii.setInstanceDetails(new InstanceDetails()); + tii.getInstanceDetails().setInstanceParms("400"); + bt.getTModelInstanceDetails().getTModelInstanceInfo().add(tii); + sb.getBindingTemplate().add(bt); + pub.saveBinding(sb); + return WSDMQosConstants.METRIC_FAULT_COUNT_KEY; + } + + //TODO potential test case This argument specifies the filtering criteria which limits the scope of a subscription to a subset of registry records. It is required except when renewing an existing subscription. + + private String updatePublisherBindingAddCategory(String authInfo, BindingTemplate bt, UDDIPublicationPortType pub, String cat) throws Exception{ + SaveBinding sb = new SaveBinding(); + sb.setAuthInfo(authInfo); + if (bt.getCategoryBag()==null) + bt.setCategoryBag(new CategoryBag()); + bt.getCategoryBag().getKeyedReference().add(new KeyedReference(cat, UDDIConstants.CategorizationTypes_Cacheable, "Cacheable")); + sb.getBindingTemplate().add(bt); + pub.saveBinding(sb); + return UDDIConstants.CategorizationTypes_Cacheable; } + } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
