You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2014/12/14 17:11:35 UTC
juddi git commit: JUDDI-242 additional tests added JUDDI-873 PA
subscription alerts work for complete and deleted Pas but not for incomplete
ones.
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 <al...@apache.org>
Authored: Sun Dec 14 11:11:29 2014 -0500
Committer: Alex <al...@apache.org>
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: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org