Repository: juddi Updated Branches: refs/heads/master c6bab253f -> 0806d36d9
JUDDI-881 adding example find business by service/binding/tmodelInstanceInfo keys via tmodelBag Project: http://git-wip-us.apache.org/repos/asf/juddi/repo Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/0806d36d Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/0806d36d Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/0806d36d Branch: refs/heads/master Commit: 0806d36d9fd610bd8e6d45fe4b809b44a5a0ecc7 Parents: c6bab25 Author: Alex <[email protected]> Authored: Sun Dec 14 12:05:32 2014 -0500 Committer: Alex <[email protected]> Committed: Sun Dec 14 12:05:32 2014 -0500 ---------------------------------------------------------------------- .../org/apache/juddi/samples/EntryPoint.java | 4 + .../org/apache/juddi/samples/SearchByQos.java | 90 +++++++++++++++++++- 2 files changed, 93 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/juddi/blob/0806d36d/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java ---------------------------------------------------------------------- diff --git a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java index 8b38575..aecdbb1 100644 --- a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java +++ b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java @@ -41,6 +41,7 @@ public class EntryPoint { System.out.println(" 2) Compare Two Binding/tModelInstanceInfo - QOS Example"); System.out.println(" 3) jUDDI Admin service - Register a Node (quick add of the jUDDI cloud server)"); System.out.println(" 4) Find Binding by QOS Parameters (Binding/tModelInstanceInfo)"); + System.out.println(" 4.4) Find Business by QOS Parameters (Binding/tModelInstanceInfo)"); System.out.println(" 5) Find Service by QOS Parameters (Binding/tModelInstanceInfo)"); System.out.println(" 6) UDDI Create Bulk (makes N business/services"); System.out.println(" 7) UDDI Custody Transfer (within a single node)"); @@ -125,6 +126,9 @@ public class EntryPoint { if (input.equals("4")) { SearchByQos.doFindBinding(authtoken); } + if (input.equals("4.5")) { + SearchByQos.doFindBusiness(authtoken); + } if (input.equals("5")) { SearchByQos.doFindService(authtoken); } http://git-wip-us.apache.org/repos/asf/juddi/blob/0806d36d/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java ---------------------------------------------------------------------- diff --git a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java index 6b96e66..025e617 100644 --- a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java +++ b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java @@ -33,6 +33,8 @@ import org.uddi.api_v3.BindingTemplate; import org.uddi.api_v3.BindingTemplates; import org.uddi.api_v3.BusinessDetail; import org.uddi.api_v3.BusinessEntity; +import org.uddi.api_v3.BusinessInfos; +import org.uddi.api_v3.BusinessList; import org.uddi.api_v3.BusinessService; import org.uddi.api_v3.BusinessServices; import org.uddi.api_v3.CategoryBag; @@ -43,6 +45,7 @@ import org.uddi.api_v3.Description; import org.uddi.api_v3.DiscoveryURL; import org.uddi.api_v3.DiscoveryURLs; import org.uddi.api_v3.FindBinding; +import org.uddi.api_v3.FindBusiness; import org.uddi.api_v3.FindService; import org.uddi.api_v3.FindTModel; import org.uddi.api_v3.GetAuthToken; @@ -170,7 +173,7 @@ public class SearchByQos { System.out.println("saving..."); SaveTM(createKeyGenator, uddi); - System.out.println("fetching business list"); + System.out.println("fetching binding list"); BindingDetail before = getBindingList(uddi); if (before.getBindingTemplate() == null) { System.out.println("before no service returned!"); @@ -178,6 +181,7 @@ public class SearchByQos { } else { System.out.println(before.getBindingTemplate().size() + " service returned before"); } + System.out.println("saving mary"); SaveMary(uddi); @@ -201,6 +205,75 @@ public class SearchByQos { System.out.println(p.print(before)); System.out.println(p.print(after)); } + + + + + } + + + + public static void doFindBusiness(String token) throws Exception { + // create a manager and read the config in the archive; + // you can use your config file name + UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml"); + Transport transport = clerkManager.getTransport(); + // Now you create a reference to the UDDI API + security = transport.getUDDISecurityService(); + publish = transport.getUDDIPublishService(); + inquiry = transport.getUDDIInquiryService(); + //step one, get a token + // GetAuthToken getAuthTokenRoot = new GetAuthToken(); + //getAuthTokenRoot.setUserID("uddi"); + //getAuthTokenRoot.setCred("uddi"); + + // Making API call that retrieves the authentication token for the 'root' user. + //String rootAuthToken = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl()); + String uddi = token;//security.getAuthToken(getAuthTokenRoot).getAuthInfo(); + + System.out.println("killing mary's business if it exists"); + //first check is Mary's business exists and delete + DeleteIfExists("uddi:uddi.marypublisher.com:marybusinessone", uddi); + + System.out.println("making mary's tmodel key gen"); + //make the key gen since our test case uses some custom keys + TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi.marypublisher.com", "mary key gen", "en"); + //clerk.register(createKeyGenator); + System.out.println("saving..."); + SaveTM(createKeyGenator, uddi); + + + System.out.println("fetching business list"); + BusinessList before2 = getBusinessList(uddi); + if (before2.getBusinessInfos()== null) { + System.out.println("before no service returned!"); + // before.setServiceInfos(new ServiceInfos()); + } else { + System.out.println(before2.getBusinessInfos().getBusinessInfo().size() + " business returned before"); + } + + System.out.println("saving mary"); + SaveMary(uddi); + + + + + BusinessList after2 = getBusinessList(uddi); + + PrintUDDI<BusinessList> p2 = new PrintUDDI<BusinessList>(); + if (before2.getBusinessInfos()==null ) + before2.setBusinessInfos(new BusinessInfos()); + if ((before2.getBusinessInfos().getBusinessInfo().size() + < after2.getBusinessInfos().getBusinessInfo().size())) { + System.out.println("hey it worked as advertised. Here's all the business with QOS parameters"); + System.out.println(p2.print(after2)); + + } else { + + System.out.println("something's not right, here's the before business listing"); + System.out.println(p2.print(before2)); + System.out.println(p2.print(after2)); + } } @@ -229,6 +302,21 @@ public class SearchByQos { } } } + + private static BusinessList getBusinessList(String token) throws Exception { + FindBusiness fb = new FindBusiness(); + fb.setAuthInfo(token); + org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers(); + fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH); + fq.getFindQualifier().add(UDDIConstants.OR_ALL_KEYS); + fb.setFindQualifiers(fq); + fb.getName().add((new Name(UDDIConstants.WILDCARD, null))); + + fb.setTModelBag(new TModelBag()); + fb.getTModelBag().getTModelKey().addAll(WSDMQosConstants.getAllQOSKeys()); + + return inquiry.findBusiness(fb); + } private static ServiceList getServiceList(String token) throws Exception { FindService fb = new FindService(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
