Return-Path: X-Original-To: apmail-juddi-commits-archive@www.apache.org Delivered-To: apmail-juddi-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A172E109A5 for ; Wed, 8 Jan 2014 23:35:10 +0000 (UTC) Received: (qmail 21273 invoked by uid 500); 8 Jan 2014 23:35:10 -0000 Delivered-To: apmail-juddi-commits-archive@juddi.apache.org Received: (qmail 21238 invoked by uid 500); 8 Jan 2014 23:35:10 -0000 Mailing-List: contact commits-help@juddi.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@juddi.apache.org Received: (qmail 21231 invoked by uid 99); 8 Jan 2014 23:35:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jan 2014 23:35:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Jan 2014 23:34:58 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 5D4B92388994; Wed, 8 Jan 2014 23:34:35 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1556671 [1/4] - in /juddi/trunk: juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ juddi-client/src/main/java/org/apache/juddi/v3/client/config/ juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/ juddi-clien... Date: Wed, 08 Jan 2014 23:34:33 -0000 To: commits@juddi.apache.org From: alexoree@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140108233435.5D4B92388994@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: alexoree Date: Wed Jan 8 23:34:32 2014 New Revision: 1556671 URL: http://svn.apache.org/r1556671 Log: JUDDI-774 added a few new methods, more javadoc JUDDI-717 made some serious headway Added: juddi/trunk/juddi-examples/more-uddi-samples/README.txt juddi/trunk/juddi-examples/service-version/README.txt Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wsdl/ReadWSDL.java juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java juddi/trunk/juddi-examples/hello-world-embedded/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java juddi/trunk/juddi-examples/hello-world/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java juddi/trunk/juddi-examples/more-uddi-samples/pom.xml juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/BusinessServiceKeymismatch.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SubscriptionCallbackExample.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCustodyTransfer.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureBusiness.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureSearch.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureService.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureTmodel.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiFindBinding.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiFindEndpoints.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiGetServiceDetails.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiKeyGenerator.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiRelatedBusinesses.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/WadlImport.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/WsdlImport.java juddi/trunk/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml juddi/trunk/juddi-examples/service-version/pom.xml juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java juddi/trunk/juddi-examples/simple-browse/src/main/java/org/apache/juddi/example/browse/SimpleBrowse.java juddi/trunk/juddi-examples/simple-publish/src/main/java/org/apache/juddi/example/publish/SimplePublish.java juddi/trunk/juddi-examples/uddi-annotations/src/main/java/org/apache/juddi/example/HelloWorldImpl.java juddi/trunk/juddi-examples/uddi-annotations/src/main/resources/META-INF/uddi-annotations.xml juddi/trunk/juddi-examples/wsdl2uddi/src/main/java/org/apache/juddi/example/wsdl2uddi/Publish.java juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/DiscardAuthToken.java Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs Wed Jan 8 23:34:32 2014 @@ -1088,6 +1088,37 @@ namespace org.apache.juddi.v3.client.con + /** + * kills the current auth token, aka Logout + */ + public void discardAuthToken() + { + discardAuthToken(authToken); + } + /** + * kills the provided auth token, aka Logout + */ + public void discardAuthToken(String token) + { + if (token != null) + { + try + { + discard_authToken discardAuthToken = new discard_authToken(); + discardAuthToken.authInfo=(token); + getUDDINode().getTransport().getUDDISecurityService().discard_authToken(discardAuthToken); + token = null; + } + catch (Exception ex) + { + log.warn("Error discarding auth token: " + ex.Message); + log.debug("Error discarding auth token: " + ex.Message, ex); + } + } + } + + + /// /// This calls a jUDDI implementation specific API call and is used to help /// configure internode communication between jUDDI servers. This is NOT Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original) +++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Wed Jan 8 23:34:32 2014 @@ -414,9 +414,10 @@ public class UDDIClerk implements Serial /** * Register a tModel. Note, if registration fails, no exception is * thrown + * * @param tModel * @param node - * @return + * @return */ public TModelDetail register(TModel tModel, Node node) { TModelDetail tModelDetail = null; @@ -442,8 +443,9 @@ public class UDDIClerk implements Serial /** * Register a BindingTemplate, using the node of current clerk ('this'). * Note, if registration fails, no exception is thrown + * * @param binding - * @return + * @return */ public BindingTemplate register(BindingTemplate binding) { return register(binding, this.getUDDINode().getApiNode()); @@ -452,9 +454,10 @@ public class UDDIClerk implements Serial /** * Register a BindingTemplate. Note, if registration fails, no exception * is thrown + * * @param binding * @param node - * @return + * @return */ public BindingTemplate register(BindingTemplate binding, Node node) { @@ -495,7 +498,8 @@ public class UDDIClerk implements Serial * * Note, if registration fails, no exception is thrown * - * @param service the element returned by the server, it may be modified from the original + * @param service the element returned by the server, it may be modified + * from the original * @param node * @return the potentially modified service by the UDDI server */ @@ -1038,6 +1042,21 @@ public class UDDIClerk implements Serial * not found. * * @param businessKey - the key we are looking for + * @return BusinessEntity is found, or null if not found. + * @throws RemoteException + * @throws TransportException + * @throws ConfigurationException + */ + public BusinessEntity getBusinessDetail(String businessKey) throws RemoteException, + TransportException, ConfigurationException { + return getBusinessDetail(businessKey, this.getUDDINode().getApiNode()); + } + + /** + * Looks up the BusinessEntiry in the registry, will return null if is + * not found. + * + * @param businessKey - the key we are looking for * @param node - the node which is going to be queried * @return BusinessEntity is found, or null if not found. * @throws RemoteException @@ -1116,6 +1135,52 @@ public class UDDIClerk implements Serial } /** + * kills the current auth token, aka Logout current Node + */ + public void discardAuthToken() { + discardAuthToken(authToken); + } + + /** + * kills the provided auth token, aka Logout + * + * @param token + */ + public void discardAuthToken(String token) { + if (token != null) { + try { + DiscardAuthToken discardAuthToken = new DiscardAuthToken(); + discardAuthToken.setAuthInfo(token); + getUDDINode().getTransport().getUDDISecurityService(getUDDINode().getSecurityUrl()).discardAuthToken(discardAuthToken); + token = null; + } catch (Exception ex) { + log.warn("Error discarding auth token: " + ex.getMessage()); + log.debug("Error discarding auth token: " + ex.getMessage(), ex); + } + } + } + + /** + * kills the provided auth token, aka Logout + * + * @param token + * @param endpoint + */ + public void discardAuthToken(String token, String endpoint) { + if (token != null) { + try { + DiscardAuthToken discardAuthToken = new DiscardAuthToken(); + discardAuthToken.setAuthInfo(token); + getUDDINode().getTransport().getUDDISecurityService(endpoint).discardAuthToken(discardAuthToken); + token = null; + } catch (Exception ex) { + log.warn("Error discarding auth token: " + ex.getMessage()); + log.debug("Error discarding auth token: " + ex.getMessage(), ex); + } + } + } + + /** * Gets an auth token from the uddi server using the uddi auth token *
* Notice: never log auth tokens! Treat it like a password @@ -1138,6 +1203,10 @@ public class UDDIClerk implements Serial authToken = null; } if (authToken == null || "".equals(authToken)) { + if (getPublisher()==null || getPassword()==null){ + log.warn("No credentials provided for login!"); + return null; + } tokenBirthDate = new Date(); GetAuthToken getAuthToken = new GetAuthToken(); getAuthToken.setUserID(getPublisher()); @@ -1319,7 +1388,7 @@ public class UDDIClerk implements Serial * Used for the automated registration of services via WSDL2UDDI
* config file: client.clerks.clerk(" + i + ").wsdl * - * @return + * @return * @see WSDL2UDDI */ public WSDL[] getWsdls() { @@ -1371,6 +1440,7 @@ public class UDDIClerk implements Serial */ public boolean setIsPasswordEncrypted() { return this.isencrypted; + } public class WSDL { Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java (original) +++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java Wed Jan 8 23:34:32 2014 @@ -15,6 +15,9 @@ */ package org.apache.juddi.v3.client.ext.wsdm; +import java.util.ArrayList; +import java.util.List; + /** * Defines constants for OASIS's WSDM specification. Specifically tModels for * use in UDDI @@ -24,77 +27,95 @@ package org.apache.juddi.v3.client.ext.w */ public abstract class WSDMQosConstants { - /** - * This is the 'for more information' url for WSDM + UDDI - */ - public static final String moreInfoUrl = "https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc"; - public static final String WSDM_KEYGEN = "urn:wsdm.org:keygenerator"; - public static final String WSDM_METRIC_KEYGEN = "urn:wsdm.org:metric:keygenerator"; - public static final String WSDM_IDENTITY_KEYGEN = "urn:wsdm.org:identity:keygenerator"; - public static final String WSDM_QOS_KEYGEN = "urn:wsdm.org:qos:keygenerator"; - /** - * The number of requests to a given service. (number of requests) - */ - public static final String METRIC_REQUEST_COUNT_KEY = "urn:wsdm.org:metric:requestcount"; - public static final String METRIC_RequestCount = "RequestCount"; - /** - * The number of replies from a given service. (number of replies) - */ - public static final String METRIC_REPLY_COUNT_KEY = "urn:wsdm.org:metric:replycount"; - public static final String METRIC_ReplyCount = "ReplyCount"; - /** - * The number of faults from a given service. (number of faults) - */ - public static final String METRIC_FAULT_COUNT_KEY = "urn:wsdm.org:metric:faultcount"; - public static final String METRIC_FaultCount = "FaultCount"; - /** - * This is the unique identity by which the resource (service) is known to - * the management system. It is useful for further queries. (resource - * identification in URI format) - */ - public static final String IDENTITY_RESOURCE_ID_KEY = "urn:wsdm.org:identity:resourceId"; - public static final String IDENTITY_ResourceId = "ResourceId"; - /** - * Represents the last time this metric was updated. (time value) - */ - public static final String METRIC_LAST_UPDATE_TIME_KEY = "urn:wsdm.org:metric:lastupdatetime"; - public static final String METRIC_LastUpdateTime = "LastUpdateTime"; - /** - * Average response time of the service. (numeric value or symbolic rating) - */ - public static final String QOS_RESPONSE_TIME_AVG_KEY = "urn:wsdm.org:qos:responsetime_average"; - public static final String QOS_ResponseTime_Average = "ResponseTime_Average"; - /** - * Throughput count. (numeric value or symbolic rating) - */ - public static final String QOS_THROUGHPUT_COUNT_KEY = "urn:wsdm.org:qos:throughput_count"; - public static final String QOS_Throughput_count = "Throughput_count"; - /** - * Throughput bytes. (numeric value or symbolic rating) - */ - public static final String QOS_THROUGHPUT_BYTES_KEY = "urn:wsdm.org:qos:throughput_bytes"; - public static final String QOS_Throughput_bytes = "Throughput_bytes"; - /** - * Reliability or the measure of. (numeric value or symbolic rating) - */ - public static final String QOS_RELIABILITY_KEY = "urn:wsdm.org:qos:reliability"; - public static final String QOS_Reliability = "Reliability"; - /** - * The beginning on the reporting time period used for the information - * above. (dateTime) - */ - public static final String QOS_REPORTING_PERIOD_START_KEY = "urn:wsdm.org:qos:reportingperiodstart"; - public static final String QOS_ReportingPeriodStart = "ReportingPeriodStart"; - /** - * The end of the reporting time period used for the information above. - * (dateTime) - */ - public static final String QOS_REPORTING_PERIOD_END_KEY = "urn:wsdm.org:qos:reportingperiodend"; - public static final String QOS_ReportingPeriodEnd = "ReportingPeriodEnd"; - /** - * How often is this information updated in UDDI (it is not assumed to be - * realtime). (duration) - */ - public static final String QOS_UPDATE_INTERVAL_KEY = "urn:wsdm.org:qos:updateinterval"; - public static final String QOS_UpdateInterval = "UpdateInterval"; + /** + * This is the 'for more information' url for WSDM + UDDI + */ + public static final String moreInfoUrl = "https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc"; + public static final String WSDM_KEYGEN = "urn:wsdm.org:keygenerator"; + public static final String WSDM_METRIC_KEYGEN = "urn:wsdm.org:metric:keygenerator"; + public static final String WSDM_IDENTITY_KEYGEN = "urn:wsdm.org:identity:keygenerator"; + public static final String WSDM_QOS_KEYGEN = "urn:wsdm.org:qos:keygenerator"; + /** + * The number of requests to a given service. (number of requests) + */ + public static final String METRIC_REQUEST_COUNT_KEY = "urn:wsdm.org:metric:requestcount"; + public static final String METRIC_RequestCount = "RequestCount"; + /** + * The number of replies from a given service. (number of replies) + */ + public static final String METRIC_REPLY_COUNT_KEY = "urn:wsdm.org:metric:replycount"; + public static final String METRIC_ReplyCount = "ReplyCount"; + /** + * The number of faults from a given service. (number of faults) + */ + public static final String METRIC_FAULT_COUNT_KEY = "urn:wsdm.org:metric:faultcount"; + public static final String METRIC_FaultCount = "FaultCount"; + /** + * This is the unique identity by which the resource (service) is known + * to the management system. It is useful for further queries. (resource + * identification in URI format) + */ + public static final String IDENTITY_RESOURCE_ID_KEY = "urn:wsdm.org:identity:resourceId"; + public static final String IDENTITY_ResourceId = "ResourceId"; + /** + * Represents the last time this metric was updated. (time value) + */ + public static final String METRIC_LAST_UPDATE_TIME_KEY = "urn:wsdm.org:metric:lastupdatetime"; + public static final String METRIC_LastUpdateTime = "LastUpdateTime"; + /** + * Average response time of the service. (numeric value or symbolic + * rating) + */ + public static final String QOS_RESPONSE_TIME_AVG_KEY = "urn:wsdm.org:qos:responsetime_average"; + public static final String QOS_ResponseTime_Average = "ResponseTime_Average"; + /** + * Throughput count. (numeric value or symbolic rating) + */ + public static final String QOS_THROUGHPUT_COUNT_KEY = "urn:wsdm.org:qos:throughput_count"; + public static final String QOS_Throughput_count = "Throughput_count"; + /** + * Throughput bytes. (numeric value or symbolic rating) + */ + public static final String QOS_THROUGHPUT_BYTES_KEY = "urn:wsdm.org:qos:throughput_bytes"; + public static final String QOS_Throughput_bytes = "Throughput_bytes"; + /** + * Reliability or the measure of. (numeric value or symbolic rating) + */ + public static final String QOS_RELIABILITY_KEY = "urn:wsdm.org:qos:reliability"; + public static final String QOS_Reliability = "Reliability"; + /** + * The beginning on the reporting time period used for the information + * above. (dateTime) + */ + public static final String QOS_REPORTING_PERIOD_START_KEY = "urn:wsdm.org:qos:reportingperiodstart"; + public static final String QOS_ReportingPeriodStart = "ReportingPeriodStart"; + /** + * The end of the reporting time period used for the information above. + * (dateTime) + */ + public static final String QOS_REPORTING_PERIOD_END_KEY = "urn:wsdm.org:qos:reportingperiodend"; + public static final String QOS_ReportingPeriodEnd = "ReportingPeriodEnd"; + /** + * How often is this information updated in UDDI (it is not assumed to + * be realtime). (duration) + */ + public static final String QOS_UPDATE_INTERVAL_KEY = "urn:wsdm.org:qos:updateinterval"; + public static final String QOS_UpdateInterval = "UpdateInterval"; + + public static List getAllQOSKeys() { + List x = new ArrayList(); + x.add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); + x.add(WSDMQosConstants.METRIC_LAST_UPDATE_TIME_KEY); + x.add(WSDMQosConstants.METRIC_REPLY_COUNT_KEY); + x.add(WSDMQosConstants.METRIC_REQUEST_COUNT_KEY); + x.add(WSDMQosConstants.QOS_RELIABILITY_KEY); + x.add(WSDMQosConstants.QOS_REPORTING_PERIOD_END_KEY); + x.add(WSDMQosConstants.QOS_REPORTING_PERIOD_START_KEY); + x.add(WSDMQosConstants.QOS_RESPONSE_TIME_AVG_KEY); + x.add(WSDMQosConstants.QOS_THROUGHPUT_BYTES_KEY); + x.add(WSDMQosConstants.QOS_THROUGHPUT_COUNT_KEY); + x.add(WSDMQosConstants.QOS_UPDATE_INTERVAL_KEY); + x.add(WSDMQosConstants.IDENTITY_RESOURCE_ID_KEY); + return x; + } } Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wsdl/ReadWSDL.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wsdl/ReadWSDL.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wsdl/ReadWSDL.java (original) +++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wsdl/ReadWSDL.java Wed Jan 8 23:34:32 2014 @@ -29,6 +29,8 @@ import org.apache.commons.logging.LogFac import org.apache.juddi.v3.client.ClassUtil; import com.ibm.wsdl.factory.WSDLFactoryImpl; +import java.io.File; +import java.net.MalformedURLException; /** * A WSDL parser/reader @@ -41,19 +43,29 @@ public class ReadWSDL { private final Log log = LogFactory.getLog(this.getClass()); public Definition readWSDL(String fileName) throws WSDLException { - - Definition wsdlDefinition = null; - WSDLFactory factory = WSDLFactoryImpl.newInstance(); - WSDLReader reader = factory.newWSDLReader(); - URL url = ClassUtil.getResource(fileName, this.getClass()); - try { - URI uri = url.toURI(); - WSDLLocator locator = new WSDLLocatorImpl(uri); - wsdlDefinition = reader.readWSDL(locator); - } catch (URISyntaxException e) { - log.error(e.getMessage(),e); - } - return wsdlDefinition; + Definition wsdlDefinition = null; + WSDLFactory factory = WSDLFactoryImpl.newInstance(); + WSDLReader reader = factory.newWSDLReader(); + + try { + File f = new File(fileName); + URL url = null; + if (f.exists()) { + url = f.toURI().toURL(); + } else { + url = ClassUtil.getResource(fileName, this.getClass()); + } + if (url==null) + throw new WSDLException("null input", fileName); + URI uri = url.toURI(); + WSDLLocator locator = new WSDLLocatorImpl(uri); + wsdlDefinition = reader.readWSDL(locator); + } catch (URISyntaxException e) { + log.error(e.getMessage(), e); + } catch (MalformedURLException ex) { + log.error(ex.getMessage(), ex); + } + return wsdlDefinition; } /** Modified: juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java (original) +++ juddi/trunk/juddi-examples/create-partition/src/main/java/org/apache/juddi/example/partition/SimpleCreateTmodelPartition.java Wed Jan 8 23:34:32 2014 @@ -89,6 +89,7 @@ public class SimpleCreateTmodelPartition SimpleCreateTmodelPartition sp = new SimpleCreateTmodelPartition(); sp.TmodelsTheLongAndHardWay(args); sp.TmodelsTheEasyWay(args); + uddiClient.stop(); } @@ -97,7 +98,8 @@ public class SimpleCreateTmodelPartition //This reads from the config file UDDIClerk clerk = uddiClient.getClerk("defaultClerk"); - //Since the pass isn't set there, we have to provide it. Pist. it could be in the config file + //Since the password isn't set in the above config file, we have to provide it manually + //or thrown some fancy dialog box clerk.setPublisher("uddi"); //username clerk.setPassword("uddi"); //pass @@ -124,6 +126,7 @@ public class SimpleCreateTmodelPartition clerk.register(tm); System.out.println("Creation of tModel Auth Mode Success!"); + clerk.discardAuthToken(); } catch (Exception e) { e.printStackTrace(); } Modified: juddi/trunk/juddi-examples/hello-world-embedded/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/hello-world-embedded/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/hello-world-embedded/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java (original) +++ juddi/trunk/juddi-examples/hello-world-embedded/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java Wed Jan 8 23:34:32 2014 @@ -21,40 +21,55 @@ import org.apache.juddi.v3.client.config import org.apache.juddi.v3.client.transport.Transport; import org.uddi.v3_service.UDDISecurityPortType; +/** + * This basic hello world example shows you how to sign into a UDDI server that + * supports the Security API to issue "auth tokens". + * + * The config loads from META-INF and uses INVM transport, meaning that you + * don't need a functioning UDDI server to use this. The jUDDI services in this + * case fire up in without any J2EE container. A database is still required, + * however by default it uses Derby, but any JPA database can be used + * + */ public class HelloWorld { - private static UDDISecurityPortType security = null; - public HelloWorld() { - try { - // create a client & server and read the config in the archive; - // you can use your config file name - UDDIClient uddiClient = new UDDIClient("META-INF/embedded-uddi.xml"); - // a UddiClient can be a client to multiple UDDI nodes, so - // supply the nodeName (defined in your uddi.xml. - // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml - Transport transport = uddiClient.getTransport("default"); - // Now you create a reference to the UDDI API - security = transport.getUDDISecurityService(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void getAuthToken() { - GetAuthToken getAuthToken = new GetAuthToken(); - getAuthToken.setUserID("root"); - getAuthToken.setCred(""); - try { - AuthToken authToken = security.getAuthToken(getAuthToken); - System.out.println ("AUTHTOKEN = " - + authToken.getAuthInfo()); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void main (String args[]) { - HelloWorld hw = new HelloWorld(); - hw.getAuthToken(); - } + private static UDDISecurityPortType security = null; + + public HelloWorld() { + try { + // create a client & server and read the config in the archive; + // you can use your config file name + UDDIClient uddiClient = new UDDIClient("META-INF/embedded-uddi.xml"); + // a UddiClient can be a client to multiple UDDI nodes, so + // supply the nodeName (defined in your uddi.xml. + // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml + Transport transport = uddiClient.getTransport("default"); + // Now you create a reference to the UDDI API + security = transport.getUDDISecurityService(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void getAuthToken() { + GetAuthToken getAuthToken = new GetAuthToken(); + getAuthToken.setUserID("root"); + getAuthToken.setCred(""); + try { + AuthToken authToken = security.getAuthToken(getAuthToken); + System.out.println("Login successful!"); + System.out.println("AUTHTOKEN = " + + "(don't log auth tokens!)"); + + security.discardAuthToken(new DiscardAuthToken(authToken.getAuthInfo())); + System.out.println("Logged out"); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void main(String args[]) { + HelloWorld hw = new HelloWorld(); + hw.getAuthToken(); + } } Modified: juddi/trunk/juddi-examples/hello-world/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/hello-world/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/hello-world/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java (original) +++ juddi/trunk/juddi-examples/hello-world/src/main/java/org/apache/juddi/example/helloworld/HelloWorld.java Wed Jan 8 23:34:32 2014 @@ -21,40 +21,53 @@ import org.apache.juddi.v3.client.config import org.apache.juddi.v3.client.transport.Transport; import org.uddi.v3_service.UDDISecurityPortType; +/** + * This basic hello world example shows you how to sign into a UDDI server that + * supports the Security API to issue "auth tokens". + * + * The config loads from META-INF and uses JAXWS transport, meaning that you + * need a functioning UDDI server to use this + * + */ public class HelloWorld { - private static UDDISecurityPortType security = null; - public HelloWorld() { - try { + private static UDDISecurityPortType security = null; + + public HelloWorld() { + try { // create a client and read the config in the archive; - // you can use your config file name - UDDIClient uddiClient = new UDDIClient("META-INF/hello-world-uddi.xml"); + // you can use your config file name + UDDIClient uddiClient = new UDDIClient("META-INF/hello-world-uddi.xml"); // a UddiClient can be a client to multiple UDDI nodes, so - // supply the nodeName (defined in your uddi.xml. - // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml - Transport transport = uddiClient.getTransport(); - // Now you create a reference to the UDDI API - security = transport.getUDDISecurityService(); - } catch (Exception e) { - e.printStackTrace(); - } - } + // supply the nodeName (defined in your uddi.xml. + // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml + Transport transport = uddiClient.getTransport(); + // Now you create a reference to the UDDI API + security = transport.getUDDISecurityService(); + } catch (Exception e) { + e.printStackTrace(); + } + } - public void getAuthToken() { - GetAuthToken getAuthToken = new GetAuthToken(); - getAuthToken.setUserID("root"); - getAuthToken.setCred(""); - try { - AuthToken authToken = security.getAuthToken(getAuthToken); - System.out.println ("AUTHTOKEN = " - + authToken.getAuthInfo()); - } catch (Exception e) { - e.printStackTrace(); - } - } + public void getAuthToken() { + GetAuthToken getAuthToken = new GetAuthToken(); + getAuthToken.setUserID("root"); + getAuthToken.setCred(""); + try { + AuthToken authToken = security.getAuthToken(getAuthToken); + System.out.println("Login successful!"); + System.out.println("AUTHTOKEN = " + + "(don't log auth tokens!)"); + + security.discardAuthToken(new DiscardAuthToken(authToken.getAuthInfo())); + System.out.println("Logged out"); + } catch (Exception e) { + e.printStackTrace(); + } + } - public static void main (String args[]) { - HelloWorld hw = new HelloWorld(); - hw.getAuthToken(); - } + public static void main(String args[]) { + HelloWorld hw = new HelloWorld(); + hw.getAuthToken(); + } } Added: juddi/trunk/juddi-examples/more-uddi-samples/README.txt URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/README.txt?rev=1556671&view=auto ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/README.txt (added) +++ juddi/trunk/juddi-examples/more-uddi-samples/README.txt Wed Jan 8 23:34:32 2014 @@ -0,0 +1,12 @@ +This example is a command line demonstration of how to interact with JUDDI and how to use +annotate items in UDDI for service or software versioning. + +1. Start the jUDDI-server (juddi-tomcat or juddi-bundle) + +2. Check the settings of the META-INF/simple-publish-uddi.xml, to make sure the serverName and serverPort are set correctly. + +Note: This is an interactive program. Do not run this from a headless server or from CI/Buildbot/Jenkisn + +3. mvn -Pinteractive + +Follow the onscreen prompts \ No newline at end of file Modified: juddi/trunk/juddi-examples/more-uddi-samples/pom.xml URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/pom.xml?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/pom.xml (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/pom.xml Wed Jan 8 23:34:32 2014 @@ -28,4 +28,48 @@ 3.2.0-SNAPSHOT + + + default + + true + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + + + interactive + + + + org.codehaus.mojo + exec-maven-plugin + 1.1.1 + + + test + + java + + + org.apache.juddi.samples.EntryPoint + + + + + + + + + + Modified: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/BusinessServiceKeymismatch.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/BusinessServiceKeymismatch.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/BusinessServiceKeymismatch.java (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/BusinessServiceKeymismatch.java Wed Jan 8 23:34:32 2014 @@ -38,7 +38,9 @@ import org.uddi.v3_service.UDDISecurityP /** * This class was created to demonstrate that UDDI entities's keys do not need - * to be from the same key domain + * to be from the same key domain. + * I.e. Business key = "uddi:1234:business" + * which owns Service key "uddi:4567:service1" * * @author Alex O'Ree */ Modified: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/CompareByTModelInstanceInfoQOS.java Wed Jan 8 23:34:32 2014 @@ -15,13 +15,10 @@ */ package org.apache.juddi.samples; -import java.util.Properties; import org.apache.juddi.api_v3.AccessPointType; -import org.apache.juddi.jaxb.PrintUDDI; import org.apache.juddi.v3.client.config.UDDIClient; import org.apache.juddi.v3.client.ext.wsdm.WSDMQosConstants; import org.apache.juddi.v3.client.compare.TModelInstanceDetailsComparator; -import org.apache.juddi.v3_service.JUDDIApiPortType; import org.uddi.api_v3.AccessPoint; import org.uddi.api_v3.BindingTemplate; import org.uddi.api_v3.BindingTemplates; @@ -36,13 +33,8 @@ import org.uddi.api_v3.DiscoveryURLs; import org.uddi.api_v3.InstanceDetails; import org.uddi.api_v3.Name; import org.uddi.api_v3.PersonName; -import org.uddi.api_v3.SaveTModel; -import org.uddi.api_v3.TModel; import org.uddi.api_v3.TModelInstanceDetails; import org.uddi.api_v3.TModelInstanceInfo; -import org.uddi.v3_service.UDDIInquiryPortType; -import org.uddi.v3_service.UDDIPublicationPortType; -import org.uddi.v3_service.UDDISecurityPortType; /** * @@ -50,32 +42,23 @@ import org.uddi.v3_service.UDDISecurityP */ public class CompareByTModelInstanceInfoQOS { - static PrintUDDI pTModel = new PrintUDDI(); - static Properties properties = new Properties(); - static String wsdlURL = null; - private static UDDISecurityPortType security = null; - private static JUDDIApiPortType juddiApi = null; - private static UDDIPublicationPortType publish = null; - private static UDDIInquiryPortType inquiry; - - public static void main(String[] args) throws Exception { BusinessEntity mary = CreateMary(); BindingTemplate bt1 = mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0); - BindingTemplate bt2 = mary.getBusinessServices().getBusinessService().get(1).getBindingTemplates().getBindingTemplate().get(1); + BindingTemplate bt2 = mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(1); TModelInstanceDetailsComparator tidc = new TModelInstanceDetailsComparator(WSDMQosConstants.METRIC_FAULT_COUNT_KEY, true, false, false); int compare = tidc.compare(bt1.getTModelInstanceDetails(), bt2.getTModelInstanceDetails()); if (compare > 0) - System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() + - " is greater than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue()); + System.out.println(mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0).getAccessPoint().getValue() + + " is greater than " + mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(1).getAccessPoint().getValue()); if (compare < 0) - System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() + - " is less than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue()); + System.out.println(mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0).getAccessPoint().getValue() + + " is less than " + mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(1).getAccessPoint().getValue()); if (compare== 0) - System.out.println(mary.getBusinessServices().getBusinessService().get(0).getName().get(0).getValue() + - " is equal than " + mary.getBusinessServices().getBusinessService().get(1).getName().get(0).getValue()); + System.out.println(mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0).getAccessPoint().getValue() + + " is equal to " + mary.getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(1).getAccessPoint().getValue()); } @@ -139,11 +122,4 @@ public class CompareByTModelInstanceInfo return be; } - - private static void SaveTM(TModel createKeyGenator, String uddi) throws Exception { - SaveTModel stm = new SaveTModel(); - stm.setAuthInfo(uddi); - stm.getTModel().add(createKeyGenator); - publish.saveTModel(stm); - } } Modified: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java Wed Jan 8 23:34:32 2014 @@ -56,20 +56,16 @@ public class JuddiAdminService { } } - public void go() { + public void go(String token) { try { // Setting up the values to get an authentication token for the 'root' user ('root' user has admin privileges // and can save other publishers). - GetAuthToken getAuthTokenRoot = new GetAuthToken(); - getAuthTokenRoot.setUserID("root"); - getAuthTokenRoot.setCred("root"); - - // Making API call that retrieves the authentication token for the 'root' user. - AuthToken rootAuthToken = security.getAuthToken(getAuthTokenRoot); - System.out.println("root AUTHTOKEN = " + "***** don't log auth tokens"); + + + SaveNode node = new SaveNode(); - node.setAuthInfo(rootAuthToken.getAuthInfo()); + node.setAuthInfo(token); Node n = new Node(); n.setClientName("juddicloud"); n.setName("juddicloud"); @@ -88,16 +84,12 @@ public class JuddiAdminService { System.out.println("Before sending"); System.out.println(p.print(node)); juddi.saveNode(node); - // clerk.saveNode(node); + System.out.println("Saved"); + } catch (Exception e) { e.printStackTrace(); } } - - public static void main(String args[]) { - JuddiAdminService sp = new JuddiAdminService(); - sp.go(); - } } Modified: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SearchByQos.java Wed Jan 8 23:34:32 2014 @@ -70,261 +70,240 @@ import org.uddi.v3_service.UDDISecurityP */ public class SearchByQos { - static PrintUDDI pTModel = new PrintUDDI(); - static Properties properties = new Properties(); - static String wsdlURL = null; - private static UDDISecurityPortType security = null; - private static JUDDIApiPortType juddiApi = null; - private static UDDIPublicationPortType publish = null; - private static UDDIInquiryPortType inquiry; + static PrintUDDI pTModel = new PrintUDDI(); + static Properties properties = new Properties(); + static String wsdlURL = null; + private static UDDISecurityPortType security = null; + private static JUDDIApiPortType juddiApi = null; + private static UDDIPublicationPortType publish = null; + private static UDDIInquiryPortType inquiry; - static void doFindService() throws Exception { + public static void doFindService(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(); + // 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"); + //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 = security.getAuthToken(getAuthTokenRoot).getAuthInfo(); + //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"); - ServiceList before = getServiceList(uddi); - if (before.getServiceInfos()== null) { - System.out.println("before no service returned!"); - before.setServiceInfos(new ServiceInfos()); - } else { - System.out.println(before.getServiceInfos().getServiceInfo().size() + " service returned before"); - } - - System.out.println("saving mary"); - SaveMary(uddi); + 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"); + ServiceList before = getServiceList(uddi); + if (before.getServiceInfos() == null) { + System.out.println("before no service returned!"); + before.setServiceInfos(new ServiceInfos()); + } else { + System.out.println(before.getServiceInfos().getServiceInfo().size() + " service returned before"); + } + + System.out.println("saving mary"); + SaveMary(uddi); + + ServiceList after = getServiceList(uddi); + if (after.getServiceInfos().getServiceInfo() == null) { + System.out.println("after no service returned!"); + after.setServiceInfos(new ServiceInfos()); + return; + } else { + System.out.println(after.getServiceInfos().getServiceInfo().size() + " service returned after"); + } + PrintUDDI p = new PrintUDDI(); + if (before.getServiceInfos().getServiceInfo().size() + < after.getServiceInfos().getServiceInfo().size()) { + System.out.println("hey it worked as advertised. Here's all the services with QOS parameters"); + System.out.println(p.print(after)); + } else { + + System.out.println("something's not right, here's the before service listing"); + System.out.println(p.print(before)); + System.out.println(p.print(after)); + } - ServiceList after = getServiceList(uddi); - if (after.getServiceInfos().getServiceInfo()== null) { - System.out.println("after no service returned!"); - after.setServiceInfos(new ServiceInfos()); - } else { - System.out.println(after.getServiceInfos().getServiceInfo().size() + " service returned after"); } - PrintUDDI p = new PrintUDDI(); - if (before.getServiceInfos().getServiceInfo().size() - < after.getServiceInfos().getServiceInfo().size()) { - System.out.println("hey it worked as advertised, double checking"); - /*if (CheckFor(after, "uddi:uddi.marypublisher.com:marybusinessone")) { - System.out.println("ok!"); - } else { - System.out.println("no good!"); - }*/ - } else { - - System.out.println("something's not right, here's the before service listing"); - System.out.println(p.print(before)); - System.out.println(p.print(after)); - } - - } - static void doFindBinding() throws Exception{ + public static void doFindBinding(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(); + // 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"); + // 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 = security.getAuthToken(getAuthTokenRoot).getAuthInfo(); + //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"); - BindingDetail before = getBindingList(uddi); - if (before.getBindingTemplate() == null) { - System.out.println("before no service returned!"); - // before.setServiceInfos(new ServiceInfos()); - } else { - System.out.println(before.getBindingTemplate().size() + " service returned before"); - } - - System.out.println("saving mary"); - SaveMary(uddi); - - BindingDetail after = getBindingList(uddi); - if (after.getBindingTemplate() == null) { - System.out.println("after no service returned!"); - //after.setServiceInfos(new ServiceInfos()); - } else { - System.out.println(after.getBindingTemplate().size() + " service returned after"); - } - PrintUDDI p = new PrintUDDI(); - if (before.getBindingTemplate().size() - < after.getBindingTemplate().size()) { - System.out.println("hey it worked as advertised, double checking"); - /*if (CheckFor(after, "uddi:uddi.marypublisher.com:marybusinessone")) { - System.out.println("ok!"); - } else { - System.out.println("no good!"); - }*/ - } else { - - System.out.println("something's not right, here's the before service listing"); - System.out.println(p.print(before)); - System.out.println(p.print(after)); + 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"); + BindingDetail before = getBindingList(uddi); + if (before.getBindingTemplate() == null) { + System.out.println("before no service returned!"); + // before.setServiceInfos(new ServiceInfos()); + } else { + System.out.println(before.getBindingTemplate().size() + " service returned before"); + } + + System.out.println("saving mary"); + SaveMary(uddi); + + BindingDetail after = getBindingList(uddi); + if (after.getBindingTemplate() == null) { + System.out.println("after no service returned!"); + //after.setServiceInfos(new ServiceInfos()); + } else { + System.out.println(after.getBindingTemplate().size() + " service returned after"); + } + PrintUDDI p = new PrintUDDI(); + if (before.getBindingTemplate().size() + < after.getBindingTemplate().size()) { + System.out.println("hey it worked as advertised. Here's all the bindings with QOS parameters"); + System.out.println(p.print(after)); + + } else { + + System.out.println("something's not right, here's the before service listing"); + System.out.println(p.print(before)); + System.out.println(p.print(after)); + } + + } + + private static void DeleteIfExists(String key, String authInfo) { + GetBusinessDetail gbd = new GetBusinessDetail(); + gbd.setAuthInfo(authInfo); + gbd.getBusinessKey().add(key); + boolean found = false; + try { + BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd); + if (businessDetail != null + && !businessDetail.getBusinessEntity().isEmpty() + && businessDetail.getBusinessEntity().get(0).getBusinessKey().equals(key)) { + found = true; + } + } catch (Exception ex) { + } + if (found) { + DeleteBusiness db = new DeleteBusiness(); + db.setAuthInfo(authInfo); + db.getBusinessKey().add(key); + try { + publish.deleteBusiness(db); + } catch (Exception ex) { + Logger.getLogger(FindBusinessBugHunt.class.getName()).log(Level.SEVERE, null, ex); + } + } + } + + private static ServiceList getServiceList(String token) throws Exception { + FindService fb = new FindService(); + 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.findService(fb); + } + + private static BindingDetail getBindingList(String token) throws Exception { + FindBinding fb = new FindBinding(); + fb.setAuthInfo(token); + fb.setTModelBag(new TModelBag()); + fb.getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); + return inquiry.findBinding(fb); + } + + /** + * - + * adds a business, service, bt with tmodel instance details with qos + * parameters + * + * @param rootAuthToken + * @throws Exception + */ + private static void SaveMary(String rootAuthToken) throws Exception { + BusinessEntity be = new BusinessEntity(); + be.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone"); + be.setDiscoveryURLs(new DiscoveryURLs()); + be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("home", "http://www.marybusinessone.com")); + be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("serviceList", "http://www.marybusinessone.com/services")); + be.getName().add(new Name("Mary Doe Enterprises", "en")); + be.getName().add(new Name("Maria Negocio Uno", "es")); + be.getDescription().add(new Description("This is the description for Mary Business One.", "en")); + be.setContacts(new Contacts()); + Contact c = new Contact(); + c.setUseType("administrator"); + c.getPersonName().add(new PersonName("Mary Doe", "en")); + c.getPersonName().add(new PersonName("Juan Doe", "es")); + c.getDescription().add(new Description("This is the administrator of the service offerings.", "en")); + be.getContacts().getContact().add(c); + be.setBusinessServices(new BusinessServices()); + BusinessService bs = new BusinessService(); + bs.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone"); + bs.setServiceKey("uddi:uddi.marypublisher.com:marybusinessoneservice"); + bs.getName().add(new Name("name!", "en")); + bs.setBindingTemplates(new BindingTemplates()); + BindingTemplate bt = new BindingTemplate(); + bt.setAccessPoint(new AccessPoint("http://localhost", AccessPointType.WSDL_DEPLOYMENT.toString())); + bt.setTModelInstanceDetails(new TModelInstanceDetails()); + TModelInstanceInfo tii = new TModelInstanceInfo(); + tii.setTModelKey(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); + tii.setInstanceDetails(new InstanceDetails()); + tii.getInstanceDetails().setInstanceParms("400"); + bt = UDDIClient.addSOAPtModels(bt); + bt.getTModelInstanceDetails().getTModelInstanceInfo().add(tii); + bs.getBindingTemplates().getBindingTemplate().add(bt); + be.getBusinessServices().getBusinessService().add(bs); + SaveBusiness sb = new SaveBusiness(); + sb.setAuthInfo(rootAuthToken); + sb.getBusinessEntity().add(be); + publish.saveBusiness(sb); + } + + private static void SaveTM(TModel createKeyGenator, String uddi) throws Exception { + SaveTModel stm = new SaveTModel(); + stm.setAuthInfo(uddi); + stm.getTModel().add(createKeyGenator); + publish.saveTModel(stm); } - - } - - public static void main(String[] args) throws Exception { - doFindBinding(); - - doFindService(); - } - - private static void DeleteIfExists(String key, String authInfo) { - GetBusinessDetail gbd = new GetBusinessDetail(); - gbd.setAuthInfo(authInfo); - gbd.getBusinessKey().add(key); - boolean found = false; - try { - BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd); - if (businessDetail != null - && !businessDetail.getBusinessEntity().isEmpty() - && businessDetail.getBusinessEntity().get(0).getBusinessKey().equals(key)) { - found = true; - } - } catch (Exception ex) { - } - if (found) { - DeleteBusiness db = new DeleteBusiness(); - db.setAuthInfo(authInfo); - db.getBusinessKey().add(key); - try { - publish.deleteBusiness(db); - } catch (Exception ex) { - Logger.getLogger(FindBusinessBugHunt.class.getName()).log(Level.SEVERE, null, ex); - } - } - } - - private static ServiceList getServiceList(String token) throws Exception { - FindService fb = new FindService(); - fb.setAuthInfo(token); - org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers(); - fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH); - fb.setFindQualifiers(fq); - fb.getName().add((new Name(UDDIConstants.WILDCARD, null))); - - fb.setTModelBag(new TModelBag()); - fb.getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); - return inquiry.findService(fb); - } - - private static BindingDetail getBindingList(String token) throws Exception { - FindBinding fb = new FindBinding(); - fb.setAuthInfo(token); - fb.setTModelBag(new TModelBag()); - fb.getTModelBag().getTModelKey().add(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); - return inquiry.findBinding(fb); - } - - /** - * adds a business, service, bt with tmodel instance details with qos - * parameters - * - * @param rootAuthToken - * @throws Exception - */ - private static void SaveMary(String rootAuthToken) throws Exception { - BusinessEntity be = new BusinessEntity(); - be.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone"); - be.setDiscoveryURLs(new DiscoveryURLs()); - be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("home", "http://www.marybusinessone.com")); - be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("serviceList", "http://www.marybusinessone.com/services")); - be.getName().add(new Name("Mary Doe Enterprises", "en")); - be.getName().add(new Name("Maria Negocio Uno", "es")); - be.getDescription().add(new Description("This is the description for Mary Business One.", "en")); - be.setContacts(new Contacts()); - Contact c = new Contact(); - c.setUseType("administrator"); - c.getPersonName().add(new PersonName("Mary Doe", "en")); - c.getPersonName().add(new PersonName("Juan Doe", "es")); - c.getDescription().add(new Description("This is the administrator of the service offerings.", "en")); - be.getContacts().getContact().add(c); - be.setBusinessServices(new BusinessServices()); - BusinessService bs = new BusinessService(); - bs.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone"); - bs.setServiceKey("uddi:uddi.marypublisher.com:marybusinessoneservice"); - bs.getName().add(new Name("name!", "en")); - bs.setBindingTemplates(new BindingTemplates()); - BindingTemplate bt = new BindingTemplate(); - bt.setAccessPoint(new AccessPoint("http://localhost", AccessPointType.WSDL_DEPLOYMENT.toString())); - bt.setTModelInstanceDetails(new TModelInstanceDetails()); - TModelInstanceInfo tii = new TModelInstanceInfo(); - tii.setTModelKey(WSDMQosConstants.METRIC_FAULT_COUNT_KEY); - - tii.setInstanceDetails(new InstanceDetails()); - tii.getInstanceDetails().setInstanceParms("400"); - bt = UDDIClient.addSOAPtModels(bt); - bt.getTModelInstanceDetails().getTModelInstanceInfo().add(tii); - bs.getBindingTemplates().getBindingTemplate().add(bt); - be.getBusinessServices().getBusinessService().add(bs); - SaveBusiness sb = new SaveBusiness(); - sb.setAuthInfo(rootAuthToken); - sb.getBusinessEntity().add(be); - publish.saveBusiness(sb); - } - - private static boolean CheckFor(ServiceList list, String key) { - for (int i = 0; i < list.getServiceInfos().getServiceInfo().size(); i++) { - if (list.getServiceInfos().getServiceInfo().get(i).getServiceKey().equalsIgnoreCase(key)) { - return true; - } - } - return false; - } - - private static void SaveTM(TModel createKeyGenator, String uddi) throws Exception { - SaveTModel stm = new SaveTModel(); - stm.setAuthInfo(uddi); - stm.getTModel().add(createKeyGenator); - publish.saveTModel(stm); - } } Modified: juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SubscriptionCallbackExample.java URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SubscriptionCallbackExample.java?rev=1556671&r1=1556670&r2=1556671&view=diff ============================================================================== --- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SubscriptionCallbackExample.java (original) +++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/SubscriptionCallbackExample.java Wed Jan 8 23:34:32 2014 @@ -19,14 +19,13 @@ package org.apache.juddi.samples; import java.util.ArrayList; import java.util.List; import javax.xml.ws.Holder; +import org.apache.juddi.jaxb.PrintUDDI; import org.apache.juddi.v3.client.UDDIConstants; import org.apache.juddi.v3.client.config.UDDIClerk; import org.apache.juddi.v3.client.config.UDDIClient; -import org.apache.juddi.v3.client.config.UDDIClientContainer; import org.apache.juddi.v3.client.subscription.ISubscriptionCallback; import org.apache.juddi.v3.client.subscription.SubscriptionCallbackListener; import org.apache.juddi.v3.client.transport.Transport; -import org.apache.juddi.v3_service.JUDDIApiPortType; import org.uddi.api_v3.*; import org.uddi.sub_v3.DeleteSubscription; import org.uddi.sub_v3.Subscription; @@ -38,90 +37,107 @@ import org.uddi.v3_service.UDDISecurityP import org.uddi.v3_service.UDDISubscriptionPortType; /** - * This class shows you how to find an endpoint by searching through all - * services + * This class shows you how to use the client side Subscription callback + * interface which fires up an embedded jetty server hosting a callback web + * service. It also automates most of the subscription management work. * * @author Alex O'Ree */ -public class SubscriptionCallbackExample implements ISubscriptionCallback { +public class SubscriptionCallbackExample implements ISubscriptionCallback, Runnable { - private static UDDISecurityPortType security = null; - private static JUDDIApiPortType juddiApi = null; - private static UDDIPublicationPortType publish = null; - private static UDDIInquiryPortType inquiry = null; - private static UDDIClient c = null; - private static UDDISubscriptionPortType subscription = null; - private static UDDIClerk clerk = null; - - public SubscriptionCallbackExample() { - try { - - c = new UDDIClient("META-INF/simple-publish-uddi.xml"); - c.start(); - clerk = c.getClerk("default"); - TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi:org.apache.juddi:test:keygenerator", "Test domain", "en"); - clerk.register(createKeyGenator); - Transport transport = c.getTransport(); - // Now you create a reference to the UDDI API - security = transport.getUDDISecurityService(); - juddiApi = transport.getJUDDIApiService(); - publish = transport.getUDDIPublishService(); - inquiry = transport.getUDDIInquiryService(); - subscription = transport.getUDDISubscriptionService(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void main(String args[]) throws Exception { - SubscriptionCallbackExample sp = new SubscriptionCallbackExample(); - //this will fireup a jetty server and host a UDDI Subscription callback Listener service - //and register it per the config file - BindingTemplate start = SubscriptionCallbackListener.start(c, "default"); - - //register our code for the callback part - SubscriptionCallbackListener.registerCallback(sp); - - //login - String token = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl()); - - //Set up a subscription using the 'start' BindingTemplate - Holder> subs = new Holder>(); - subs.value = new ArrayList(); - Subscription s = new Subscription(); - s.setBindingKey(start.getBindingKey()); - s.setBrief(false); - s.setSubscriptionFilter(new SubscriptionFilter()); - s.getSubscriptionFilter().setFindBusiness(new FindBusiness()); - s.getSubscriptionFilter().getFindBusiness().getName().add(new Name(UDDIConstants.WILDCARD, null)); - s.getSubscriptionFilter().getFindBusiness().setFindQualifiers(new FindQualifiers()); - s.getSubscriptionFilter().getFindBusiness().getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH); - subs.value.add(s); - - //save the subscription - subscription.saveSubscription(token, subs); - - //Do some useful activities here, perhap something to trigger the callback - Thread.sleep(1000); - - //stop and unregister the callback when we're done - SubscriptionCallbackListener.stop(c, "default", start.getBindingKey()); - - //clean up the subscription - DeleteSubscription ds = new DeleteSubscription(); - ds.setAuthInfo(token); - ds.getSubscriptionKey().add(subs.value.get(0).getSubscriptionKey()); - subscription.deleteSubscription(ds); - } - - @Override - public void HandleCallback(SubscriptionResultsList body) { - System.out.println("callback received"); - } + private static UDDISecurityPortType security = null; - @Override - public void NotifyEndpointStopped() { + private static UDDIPublicationPortType publish = null; + private static UDDIInquiryPortType inquiry = null; + private static UDDIClient c = null; + private static UDDISubscriptionPortType subscription = null; + private static UDDIClerk clerk = null; + + public SubscriptionCallbackExample() { + try { + + c = new UDDIClient("META-INF/simple-publish-uddi.xml"); + c.start(); + clerk = c.getClerk("default"); + //!IMPORTANT, this is needed so that the Subscription listener endpoint can register itself correctly + TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi:org.apache.juddi:test:keygenerator", "Test domain", "en"); + clerk.register(createKeyGenator); + Transport transport = c.getTransport(); + // Now you create a reference to the UDDI API + security = transport.getUDDISecurityService(); + publish = transport.getUDDIPublishService(); + inquiry = transport.getUDDIInquiryService(); + subscription = transport.getUDDISubscriptionService(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void Fire() throws Exception { + + //this will fireup a jetty server and host a UDDI Subscription callback Listener service + //and register it per the config file + BindingTemplate start = SubscriptionCallbackListener.start(c, "default"); + + //register our code for the callback part + SubscriptionCallbackListener.registerCallback(this); + + //login + //credentials come from the config file + String token = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl()); + + //Set up a subscription using the 'start' BindingTemplate + Holder> subs = new Holder>(); + subs.value = new ArrayList(); + Subscription s = new Subscription(); + s.setBindingKey(start.getBindingKey()); + s.setBrief(false); + s.setSubscriptionFilter(new SubscriptionFilter()); + s.getSubscriptionFilter().setFindBusiness(new FindBusiness()); + s.getSubscriptionFilter().getFindBusiness().getName().add(new Name(UDDIConstants.WILDCARD, null)); + s.getSubscriptionFilter().getFindBusiness().setFindQualifiers(new FindQualifiers()); + s.getSubscriptionFilter().getFindBusiness().getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH); + subs.value.add(s); + + //save the subscription + subscription.saveSubscription(token, subs); + + Runtime.getRuntime().addShutdownHook(new Thread(this)); + //Do some useful activities here, perhap something to trigger the callback + System.out.println("Running and waiting for changes, press Ctrl-C to break!"); + while (running) { + Thread.sleep(1000); + } + //stop and unregister the callback when we're done + SubscriptionCallbackListener.stop(c, "default", start.getBindingKey()); + + //clean up the subscription + DeleteSubscription ds = new DeleteSubscription(); + ds.setAuthInfo(token); + ds.getSubscriptionKey().add(subs.value.get(0).getSubscriptionKey()); + subscription.deleteSubscription(ds); + } + boolean running = true; + + public static void main(String args[]) throws Exception { + new SubscriptionCallbackExample().Fire(); + } - System.out.println("stopped"); - } + @Override + public void HandleCallback(SubscriptionResultsList body) { + System.out.println("callback received"); + System.out.println(new PrintUDDI().print(body)); + } + + @Override + public void NotifyEndpointStopped() { + + System.out.println("stopped"); + } + + @Override + public void run() { + System.out.println("Break signal caught!"); + running = false; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org For additional commands, e-mail: commits-help@juddi.apache.org