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