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 2013/11/26 03:31:48 UTC

svn commit: r1545511 - in /juddi/trunk: juddi-client/src/main/java/org/apache/juddi/v3/client/ext/ juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/ juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/test/java/org/apache/j...

Author: alexoree
Date: Tue Nov 26 02:31:47 2013
New Revision: 1545511

URL: http://svn.apache.org/r1545511
Log:
JUDDI-728 fixed
JUDDI-633 adding wsdm constants
JUDDI-637 adding uddi spec docs to the find_apis
JUDDI-711 adding default settings to prevent npe when settings are not defined.

Added:
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java
    juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java
Modified:
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
    juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
    juddi/trunk/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindBusiness.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindQualifiers.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindService.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindTModel.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/KeyedReference.java

Added: 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=1545511&view=auto
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java (added)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/ext/wsdm/WSDMQosConstants.java Tue Nov 26 02:31:47 2013
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.v3.client.ext.wsdm;
+
+/**
+ * Defines constants for OASIS's WSDM specification. Specifically tModels for
+ * use in UDDI
+ * https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+ *
+ * @author Alex O'Ree
+ */
+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";
+}

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIInquiryImpl.java Tue Nov 26 02:31:47 2013
@@ -103,7 +103,7 @@ public class UDDIInquiryImpl extends Aut
 
 			List<?> keysFound = InquiryHelper.findBinding(body, findQualifiers, em);
 
-			if (keysFound.size() == 0) {
+			if (keysFound!=null && keysFound.size() == 0) {
 			    if (body.getServiceKey() != null) {
 			        // Check that we were passed a valid serviceKey per
         			// 5.1.12.4 of the UDDI v3 spec

Modified: juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java (original)
+++ juddi/trunk/juddi-core/src/test/java/org/apache/juddi/api/impl/API_050_BindingTemplateTest.java Tue Nov 26 02:31:47 2013
@@ -20,6 +20,8 @@ import org.apache.commons.configuration.
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.Registry;
+import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.ext.wsdm.WSDMQosConstants;
 import org.apache.juddi.v3.tck.TckBindingTemplate;
 import org.apache.juddi.v3.tck.TckBusiness;
 import org.apache.juddi.v3.tck.TckBusinessService;
@@ -31,6 +33,10 @@ import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.uddi.api_v3.FindBinding;
+import org.uddi.api_v3.FindTModel;
+import org.uddi.api_v3.IdentifierBag;
+import org.uddi.api_v3.KeyedReference;
 import org.uddi.v3_service.UDDISecurityPortType;
 
 /**
@@ -114,4 +120,22 @@ public class API_050_BindingTemplateTest
 			tckTModel.deleteJoePublisherTmodel(authInfoJoe);
 		}
 	}
+        /**
+         * https://issues.apache.org/jira/browse/JUDDI-728
+         * @throws Exception 
+         */
+    @Test
+    public void testJUDDI_728() throws Exception {
+        UDDIInquiryImpl inquiry = new UDDIInquiryImpl();
+        FindBinding fb = new FindBinding();
+        fb.setAuthInfo(authInfoJoe);
+        org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers();
+        fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+        fb.setFindQualifiers(fq);
+        fb.setFindTModel(new FindTModel());
+        fb.getFindTModel().setIdentifierBag(new IdentifierBag());
+        fb.getFindTModel().getIdentifierBag().getKeyedReference().add(new KeyedReference(WSDMQosConstants.METRIC_FAULT_COUNT_KEY, "%", "%"));
+        inquiry.findBinding(fb);
+    }
 }
+

Added: 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=1545511&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java (added)
+++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/JuddiAdminService.java Tue Nov 26 02:31:47 2013
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.samples;
+
+import org.apache.juddi.api_v3.Node;
+import org.apache.juddi.api_v3.SaveNode;
+import org.apache.juddi.jaxb.PrintJUDDI;
+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.transport.Transport;
+import org.apache.juddi.v3_service.JUDDIApiPortType;
+import org.uddi.api_v3.AuthToken;
+import org.uddi.api_v3.GetAuthToken;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class JuddiAdminService {
+
+    private static UDDISecurityPortType security = null;
+    private static UDDIPublicationPortType publish = null;
+    static JUDDIApiPortType juddi = null;
+    static UDDIClerk clerk = null;
+
+    public JuddiAdminService() {
+        try {
+            // 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");
+            // register the clerkManager with the client side container
+            UDDIClientContainer.addClient(clerkManager);            // a ClerkManager can be a client to multiple UDDI nodes, so 
+            // supply the nodeName (defined in your uddi.xml.
+            clerk = clerkManager.getClerk("default");
+            // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml
+            Transport transport = clerkManager.getTransport("default");
+            // Now you create a reference to the UDDI API
+            security = transport.getUDDISecurityService();
+            publish = transport.getUDDIPublishService();
+            juddi = transport.getJUDDIApiService();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void go() {
+        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 n = new Node();
+            n.setClientName("juddicloud");
+            n.setName("juddicloud");
+            n.setCustodyTransferUrl("http://uddi-jbossoverlord.rhcloud.com/services/custody-transfer");
+            n.setDescription("juddicloud");
+            n.setProxyTransport("org.apache.juddi.v3.client.transport.JAXWSTransport");
+            n.setInquiryUrl("http://uddi-jbossoverlord.rhcloud.com/services/inquiry");
+            n.setJuddiApiUrl("http://uddi-jbossoverlord.rhcloud.com/services/juddi-api");
+            n.setPublishUrl("http://uddi-jbossoverlord.rhcloud.com/services/publish");
+            n.setSecurityUrl( "http://uddi-jbossoverlord.rhcloud.com/services/security");
+            n.setSubscriptionListenerUrl("http://uddi-jbossoverlord.rhcloud.com/services/subscription-listener");
+            n.setSubscriptionUrl("http://uddi-jbossoverlord.rhcloud.com/services/subscription");
+            node.getNode().add(n);
+            
+            PrintJUDDI<SaveNode> p = new PrintJUDDI<SaveNode>();
+            System.out.println("Before sending");
+            System.out.println(p.print(node));
+            juddi.saveNode(node);
+         //   clerk.saveNode(node);
+            
+
+        } 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/resources/META-INF/simple-publish-uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml (original)
+++ juddi/trunk/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml Tue Nov 26 02:31:47 2013
@@ -21,7 +21,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
-                <publishUrl>http://localhost:8888/juddiv3/services/publish</publishUrl>
+                <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
                 <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindBusiness.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindBusiness.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindBusiness.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindBusiness.java Tue Nov 26 02:31:47 2013
@@ -30,6 +30,116 @@ import javax.xml.bind.annotation.XmlType
 
 
 /**
+ * · authInfo: This optional argument is an element that contains an
+ * authentication token. Registries that wish to restrict who can perform an
+ * inquiry in them typically require authInfo for this call.<br><br>
+ *
+ * · categoryBag: This is a list of category references in the form of
+ * keyedReference elements and keyedReferenceGroup structures. The returned
+ * businessList contains businessInfo elements matching all of the categories
+ * passed (logical AND by default). Specifying the appropriate findQualifiers
+ * can override this behavior. Matching rules for each can be found in Section
+ * 5.1.7 Matching Rules for keyedReferences and keyedReferenceGroups.<br><br>
+ *
+ * · discoveryURLs: This is a list of discoveryURL structures to be matched
+ * against the discoveryURL data associated with registered businessEntity
+ * information. To search for URL without regard to useType attribute values,
+ * omit the useType attribute or pass it as an empty attribute. If useType
+ * values are included, the match occurs only on registered information that
+ * matches both the useType and URL value. The returned businessList contains
+ * businessInfo structures matching any of the URL's passed (logical OR).<br><br>
+ *
+ * · identifierBag: This is a list of business identifier references in the form
+ * of keyedReference elements. The returned businessList contains businessInfo
+ * structures matching any of the identifiers passed (logical OR by default).
+ * Specifying the appropriate findQualifiers can override this behavior.
+ * Matching rules can be found in Section 5.1.7 Matching Rules for
+ * keyedReferences and keyedReferenceGroups.<br><br>
+ *
+ * · findQualifiers: This collection of findQualifier elements can be used to
+ * alter the default behavior of search functionality. See the Section 5.1.4
+ * Find Qualifiers, for more information.<br><br>
+ *
+ * · find_relatedBusinesses: This argument is an embedded inquiry and limits the
+ * search results to those businesses that are related to a specified business
+ * in a specified way. The result is comprised of an intersection of the
+ * businesses located with this embedded inquiry and the businesses discovered
+ * using the remaining inquiry criteria. The standard syntax and arguments for
+ * find_relatedBusinesses apply here. Note that the authInfo argument to this
+ * embedded find_relatedBusinesses argument is always ignored. Large result set
+ * behavior involving the return of a listDescription does not apply within an
+ * embedded argument. If the intermediate result set produced is too large, then
+ * the overall query will return E_resultSetTooLarge with an indication that the
+ * embedded query returned too many results. If an E_unsupported error occurs as
+ * part of processing this embedded argument, it is propagated up to the
+ * containing (calling) API. See Section 5.1.11 find_relatedBusinesses, for
+ * further information.<br><br>
+ *
+ * · find_tModel: This argument provides an alternative or additional way of
+ * specifying tModelKeys that are used to find businesses which have service
+ * bindings with specific technical fingerprints as described above for the
+ * tModelBag element. When specified, the find_tModel argument is treated as an
+ * embedded inquiry that is performed prior to searching for businesses. The
+ * tModelKeys found are those whose tModels match the criteria contained within
+ * the find_tModel element. The tModelKeys found are added to the (possibly
+ * empty) collection specified by the tModelBag prior to finding qualified
+ * businesses. Note that the authInfo argument to this embedded find_tModel
+ * argument is always ignored. Large result set behavior involving the return of
+ * a listDescription does not apply within an embedded argument. If the
+ * intermediate result set produced is too large, then the overall query will
+ * return E_resultSetTooLarge with an indication that the embedded query
+ * returned too many results. If an E_unsupported error occurs as part of
+ * processing this embedded argument, it is propagated up to the containing
+ * (calling) API.<br><br>
+ *
+ * · listHead: This optional integer value is used to indicate which item SHOULD
+ * be returned as the head of the list. The client may request a subset of the
+ * matching data by indicating which item in the resultant set constitutes the
+ * beginning of the returned data. The use of the listDescription element is
+ * mutually exclusive to the use of the truncated attribute that simply
+ * indicates a truncated result list in the Inquiry APIs. See Section 5.1.5 Use
+ * of listDescription, for a detailed description of the listHead argument.<br><br>
+ *
+ * · maxRows: This optional integer value allows the requesting program to limit
+ * the number of results returned. This argument can be used in conjunction with
+ * the listHead argument.<br><br>
+ *
+ * · name: This optional collection of string values represents one or more
+ * names potentially qualified with xml:lang attributes. Since "exactMatch" is
+ * the default behavior, the value supplied for the name argument must be an
+ * exact match. If the "approximateMatch" findQualifier is used together with an
+ * appropriate wildcard character in the name, then any businessEntity matching
+ * this name with wildcards and the other criteria will be referenced in the
+ * results. For more on wildcard matching, see Section 5.1.6 About Wildcards.
+ * The businessList returned contains businessInfo structures for businesses
+ * whose name matches the value(s) passed (lexical-order match – i.e., leftmost
+ * in left-to-right languages). If multiple name values are passed, the match
+ * occurs on a logical OR basis. Each name MAY be marked with an xml:lang
+ * adornment. If a language markup is specified, the search results report a
+ * match only on those entries that match both the name value and language
+ * criteria. The match on language is a leftmost case-insensitive comparison of
+ * the characters supplied. This allows one to find all businesses whose name
+ * begins with an "A" and are expressed in any dialect of French, for example.
+ * Values which can be passed in the language criteria adornment MUST obey the
+ * rules governing the xml:lang data type as defined in Section 3.3.2.3 name.<br><br>
+ *
+ * · tModelBag: Every Web service instance exposed by a registered
+ * businessEntity is represented in UDDI by a bindingTemplate contained within
+ * the businessEntity. Each bindingTemplate contains a collection of tModel
+ * references called its "technical fingerprint" that specifies its type. The
+ * tModelBag argument is a collection of tModelKey elements specifying that the
+ * search results are to be limited to businesses that expose Web services with
+ * technical fingerprints that match.<br><br>
+ *
+ * If a find_tModel argument is specified (see above), it is treated as an
+ * embedded inquiry. The tModelKeys returned as a result of this embedded
+ * find_tModel argument are used as if they had been supplied in a tModelBag
+ * argument. Changing the order of the keys in the collection or specifying the
+ * same tModelKey more than once does not change the behavior of the find.  *
+ * By default, only bindingTemplates that contain all of the tModelKeys in the
+ * technical fingerprint match (logical AND). Specifying appropriate
+ * findQualifiers can override this behavior so that bindingTemplates containing
+ * any of the specified tModelKeys match (logical OR).<br><br>
  * <p>Java class for find_business complex type.
  * 
  * <p>The following schema fragment specifies the expected content contained within this class.

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindQualifiers.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindQualifiers.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindQualifiers.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindQualifiers.java Tue Nov 26 02:31:47 2013
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlType
 
 
 /**
+ * @see org.apache.juddi.v3.client.UDDIConstants
  * <p>Java class for findQualifiers complex type.
  * 
  * <p>The following schema fragment specifies the expected content contained within this class.

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindService.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindService.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindService.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindService.java Tue Nov 26 02:31:47 2013
@@ -30,6 +30,92 @@ import javax.xml.bind.annotation.XmlType
 
 
 /**
+ * · authInfo: This optional argument is an element that contains an
+ * authentication token. Registries that wish to restrict who can perform an
+ * inquiry in them typically require authInfo for this call.<br><br>
+ *
+ * · businessKey: This optional uddi_key is used to specify a particular
+ * businessEntity instance to search. When supplied, this argument is used to
+ * specify an existing businessEntity within which services should be found.
+ * Projected services are included unless the "suppressProjectedServices"
+ * findQualifier is used. If businessKey it is either omitted or specified as
+ * empty (i.e., businessKey=""), this indicates that all businessEntities are to
+ * be searched for services that meet the other criteria supplied without regard
+ * to the business that provides them and service projections does not apply.<br><br>
+ *
+ * · categoryBag: This is a list of category references. The returned
+ * serviceList contains serviceInfo structures matching all of the categories
+ * passed (logical AND by default). Specifying the appropriate findQualifiers
+ * can override this behavior. Matching rules for the use of keyedReferences and
+ * keyedReferenceGroups are described in Section 5.1.7 Matching Rules for
+ * keyedReferences and keyedReferenceGroups.<br><br>
+ *
+ * · findQualifiers: This optional collection of findQualifier elements can be
+ * used to alter the default behavior of search functionality. See Section 5.1.4
+ * Find Qualifiers, for more information.<br><br>
+ *
+ * · find_tModel: This argument provides an alternative or additional way of
+ * specifying tModelKeys that are used to find services which have service
+ * bindings with specific technical fingerprints, as described above for the
+ * tModelBag element. When specified, the find_tModel argument is treated as an
+ * embedded inquiry that is performed prior to searching for services. The
+ * tModelKeys found are those whose tModels match the criteria contained within
+ * the find_tModel element. The tModelKeys found are added to the (possibly
+ * empty) collection specified by the tModelBag prior to finding qualified
+ * services. Note that the authInfo argument to this embedded find_tModel
+ * argument is always ignored. Large result set behavior involving the return of
+ * a listDescription does not apply within an embedded argument. If an
+ * E_unsupported error occurs as part of processing this embedded argument, it
+ * is propagated up to the containing (calling) API.<br><br>
+ *
+ * · listHead: This optional integer value is used to indicate which item SHOULD
+ * be returned as the head of the list. The client may request a subset of the
+ * matching data by indicating which item in the resultant set constitutes the
+ * beginning of the returned data. The use of the listDescription element is
+ * mutually exclusive to the use of the truncated attribute that simply
+ * indicates a truncated result list in the Inquiry APIs. See Section 5.1.5 Use
+ * of listDescription, for a detailed description of the listHead argument.<br><br>
+ *
+ * · maxRows: This optional integer value allows the requesting program to limit
+ * the number of results returned. This argument can be used in conjunction with
+ * the listHead argument.<br><br>
+ *
+ * · name: This optional collection of string values represents one or more
+ * names potentially qualified with xml:lang attributes. Since "exactMatch" is
+ * the default behavior, the value supplied for the name argument must be an
+ * exact match. If the "approximateMatch" findQualifier is used together with an
+ * appropriate wildcard character in the name, then any businessService data
+ * contained in the specified businessEntity (or across all businesses if the
+ * businessKey is omitted or specified as empty) with matching name value will
+ * be returned. Matching occurs using wildcard matching rules. See Section 5.1.6
+ * About Wildcards. If multiple name values are passed, the match occurs on a
+ * logical OR basis within any names supplied. Each name MAY be marked with an
+ * xml:lang adornment. If a language markup is specified, the search results
+ * report a match only on those entries that match both the name value and
+ * language criteria. The match on language is a leftmost case-insensitive
+ * comparison of the characters supplied. This allows one to find all services
+ * whose name begins with an "A" and are expressed in any dialect of French, for
+ * example. Values which can be passed in the language criteria adornment MUST
+ * obey the rules governing the xml:lang data type as defined in Section 3.3.2.3
+ * name.<br><br>
+ *
+ * · tModelBag: Every Web service instance is represented in UDDI by a
+ * bindingTemplate contained within some businessService. A bindingTemplate
+ * contains a collection of tModel references called its "technical fingerprint"
+ * that specifies its type. The tModelBag argument is a collection of tModelKey
+ * values specifying that the search results are to be limited to
+ * businessServices containing bindingTemplates with technical fingerprints that
+ * match.<br><br>
+ *
+ * If a find_tModel argument is specified (see below), it is treated as an
+ * embedded inquiry. The tModelKeys returned as a result of this embedded
+ * find_tModel argument are used as if they had been supplied in a tModelBag
+ * argument. Changing the order of the keys in the collection or specifying the
+ * same tModelKey more than once does not change the behavior of the find.  *
+ * By default, only bindingTemplates that contain all of the tModelKeys in the
+ * technical fingerprint match (logical AND). Specifying appropriate
+ * findQualifiers can override this behavior so that bindingTemplates containing
+ * any of the specified tModelKeys match (logical OR).<br><br>
  * <p>Java class for find_service complex type.
  * 
  * <p>The following schema fragment specifies the expected content contained within this class.

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindTModel.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindTModel.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindTModel.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/FindTModel.java Tue Nov 26 02:31:47 2013
@@ -28,6 +28,59 @@ import javax.xml.bind.annotation.XmlType
 
 
 /**
+ * The find_tModel API is used to find UDDI tModel elements. The find_tModel API
+ * call returns a list of tModel entries that match a set of specific criteria.
+ * The response consists of summary information about registered tModel data
+ * returned in a tModelList structure.
+ *<Br><Br>
+ * · authInfo: This optional argument is an element that contains an
+ * authentication token. Registries that wish to restrict who can perform an
+ * inquiry in them typically require authInfo for this call.
+ *<Br><Br>
+ * · categoryBag: This is a list of category references. The returned tModelList
+ * contains tModelInfo elements whose associated tModels match all of the
+ * categories passed (logical AND by default). Specifying the appropriate
+ * findQualifiers can override this behavior. Matching rules for the use of
+ * keyedReferences and keyedReferenceGroups are described in Section 5.1.7
+ * Matching Rules for keyedReferences and keyedReferenceGroups.
+ *<Br><Br>
+ * · findQualifiers: This collection of findQualifier elements is used to alter
+ * the default behavior of search functionality. See Section 5.1.4 Find
+ * Qualifiers for more information.
+ *<Br><Br>
+ * · identifierBag This is a list of identifier references in the form of
+ * keyedReference elements. The returned tModelList contains tModelInfo elements
+ * whose associated tModels match any of the identifiers passed (logical OR by
+ * default). Specifying the appropriate findQualifiers can override this
+ * behavior. Matching rules are described in Section 5.1.7 Matching Rules for
+ * keyedReferences and keyedReferenceGroups.
+ *<Br><Br>
+ * · listHead: This optional integer value is used to indicate which item SHOULD
+ * be returned as the head of the list. The client may request a subset of the
+ * matching data by indicating which item in the resultant set constitutes the
+ * beginning of the returned data. The use of the listDescription element is
+ * mutually exclusive to the use of the truncated attribute that simply
+ * indicates a truncated result list in the Inquiry APIs. See Section 5.1.5 Use
+ * of listDescription, for a detailed description of the listHead argument.
+ *<Br><Br>
+ * · maxRows: This optional integer value allows the requesting program to limit
+ * the number of results returned. This argument can be used in conjunction with
+ * the listHead argument.
+ *<Br><Br>
+ * · name: This string value represents the name of the tModel elements to be
+ * found. Since tModel data only has a single name, only a single name may be
+ * passed. The argument must match exactly since "exactMatch" is the default
+ * behavior, but if the "approximateMatch" findQualifier is used together with
+ * the appropriate wildcard character, then matching is done according to
+ * wildcard rules. See Section 5.1.6 About Wildcards for additional information.
+ * The name MAY be marked with an xml:lang adornment. If a language markup is
+ * specified, the search results report a match only on those entries that match
+ * both the name value and language criteria. The match on language is a
+ * leftmost case-insensitive comparison of the characters supplied. This allows
+ * one to find all tModels whose name begins with an "A" and are expressed in
+ * any dialect of French, for example. Values which can be passed in the
+ * language criteria adornment MUST obey the rules governing the xml:lang data
+ * type as defined in Section 3.3.2.3 name.<Br><Br>
  * <p>Java class for find_tModel complex type.
  * 
  * <p>The following schema fragment specifies the expected content contained within this class.

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/KeyedReference.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/KeyedReference.java?rev=1545511&r1=1545510&r2=1545511&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/KeyedReference.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/KeyedReference.java Tue Nov 26 02:31:47 2013
@@ -49,9 +49,19 @@ import javax.xml.bind.annotation.XmlType
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "keyedReference")
 public class KeyedReference implements Serializable{
-	@XmlTransient
-	private static final long serialVersionUID = 2695435294724172036L;
-	@XmlAttribute(required = true)
+    
+    public KeyedReference() {
+    }
+
+    public KeyedReference(String key, String name, String value) {
+        tModelKey = key;
+        keyName = name;
+        keyValue = value;
+    }
+    
+    @XmlTransient
+    private static final long serialVersionUID = 2695435294724172036L;
+    @XmlAttribute(required = true)
     protected String tModelKey;
     @XmlAttribute
     protected String keyName;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org