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/05/05 14:20:34 UTC

svn commit: r1479306 [1/5] - in /juddi/trunk: juddi-client/src/main/java/org/apache/juddi/v3/client/ uddi-ws/src/main/java/org/uddi/v3_service/

Author: alexoree
Date: Sun May  5 12:20:34 2013
New Revision: 1479306

URL: http://svn.apache.org/r1479306
Log:
Bringing over UDDIConstants and the added javadoc port types from the 3.2 branch. no reason this shouldn't be in 3.1.5

Modified:
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDIInquiryPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDIPublicationPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDIReplicationPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDISecurityPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDISubscriptionListenerPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDISubscriptionPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDIValueSetCachingPortType.java
    juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDIValueSetValidationPortType.java

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java?rev=1479306&r1=1479305&r2=1479306&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java Sun May  5 12:20:34 2013
@@ -1,86 +1,596 @@
 package org.apache.juddi.v3.client;
 
+/**
+ * This file was borrowed from juddi-core's constants file with modifications
+ *
+ * @author Alex O'Ree
+ */
 public interface UDDIConstants {
 
-	public static final String AND_ALL_KEYS = "andAllKeys";
-	public static final String AND_ALL_KEYS_TMODEL = "uddi:uddi.org:findqualifier:andallkeys";
-
-	public static final String APPROXIMATE_MATCH = "approximateMatch";
-	public static final String APPROXIMATE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:approximatematch";
-
-	public static final String BINARY_SORT = "binarySort";
-	public static final String BINARY_SORT_TMODEL = "uddi:uddi.org:sortorder:binarysort";
-
-	public static final String BINDING_SUBSET = "bindingSubset";
-	public static final String BINDING_SUBSET_TMODEL = "uddi:uddi.org:findqualifier:bindingsubset";
-
-	public static final String CASE_INSENSITIVE_SORT = "caseInsensitiveSort";
-	public static final String CASE_INSENSITIVE_SORT_TMODEL = "uddi:uddi.org:findqualifier:caseinsensitivesort";
-
-	public static final String CASE_INSENSITIVE_MATCH = "caseInsensitiveMatch";
-	public static final String CASE_INSENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:caseinsensitivematch";
-
-	public static final String CASE_SENSITIVE_SORT = "caseSensitiveSort";
-	public static final String CASE_SENSITIVE_SORT_TMODEL = "uddi:uddi.org:findqualifier:casesensitivesort";
-
-	public static final String CASE_SENSITIVE_MATCH = "caseSensitiveMatch";
-	public static final String CASE_SENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:casesensitivematch";
-
-	public static final String COMBINE_CATEGORY_BAGS = "combineCategoryBags";
-	public static final String COMBINE_CATEGORY_BAGS_TMODEL = "uddi:uddi.org:findqualifier:combinecategorybags";
-
-	public static final String DIACRITIC_INSENSITIVE_MATCH = "diacriticInsensitiveMatch";
-	public static final String DIACRITIC_INSENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:diacriticsinsensitivematch";
-
-	public static final String DIACRITIC_SENSITIVE_MATCH = "diacriticSensitiveMatch";
-	public static final String DIACRITIC_SENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:diacriticssensitivematch";
-
-	public static final String EXACT_MATCH = "exactMatch";
-	public static final String EXACT_MATCH_TMODEL = "uddi:uddi.org:findqualifier:exactmatch";
-
-	public static final String SIGNATURE_PRESENT = "signaturePresent";
-	public static final String SIGNATURE_PRESENT_TMODEL = "uddi:uddi.org:findqualifier:signaturepresent";
-
-	public static final String OR_ALL_KEYS = "orAllKeys";
-	public static final String OR_ALL_KEYS_TMODEL = "uddi:uddi.org:findqualifier:orallkeys";
-
-	public static final String OR_LIKE_KEYS = "orLikeKeys";
-	public static final String OR_LIKE_KEYS_TMODEL = "uddi:uddi.org:findqualifier:orlikekeys";
-
-	public static final String SERVICE_SUBSET = "serviceSubset";
-	public static final String SERVICE_SUBSET_TMODEL = "uddi:uddi.org:findqualifier:servicesubset";
-
-	public static final String SORT_BY_NAME_ASC = "sortByNameAsc";
-	public static final String SORT_BY_NAME_ASC_TMODEL = "uddi:uddi.org:findqualifier:sortbynameasc";
-
-	public static final String SORT_BY_NAME_DESC = "sortByNameDesc";
-	public static final String SORT_BY_NAME_DESC_TMODEL = "uddi:uddi.org:findqualifier:sortbynamedesc";
-
-	public static final String SORT_BY_DATE_ASC = "sortByDateAsc";
-	public static final String SORT_BY_DATE_ASC_TMODEL = "uddi:uddi.org:findqualifier:sortbydateasc";
-	
-	public static final String SORT_BY_DATE_DESC = "sortByDateDesc";
-	public static final String SORT_BY_DATE_DESC_TMODEL = "uddi:uddi.org:findqualifier:sortbydatedesc";
-
-	public static final String SUPPRESS_PROJECTED_SERVICES = "suppressProjectedServices";
-	public static final String SUPPRESS_PROJECTED_SERVICES_TMODEL = "uddi:uddi.org:findqualifier:suppressprojectedservices";
-
-	public static final String UTS_10 = "UTS-10";
-	public static final String UTS_10_TMODEL = "uddi:uddi.org:sortorder:uts-10";
-	
-	public static String CLAUSE_WHERE = "where";
-	public static String CLAUSE_GROUPBY = "group by";
-	public static String CLAUSE_ORDERBY = "order by";
-	public static String CLAUSE_HAVING = "having";
-	public static String OPERATOR_OR = "or";
-	public static String OPERATOR_AND = "and";
-	public static String PREDICATE_EQUALS = "=";
-	public static String PREDICATE_NOTEQUALS = "<>";
-	public static String PREDICATE_LIKE = "like";
-	public static String PREDICATE_IN = "in";
-	public static String PREDICATE_GREATERTHAN = ">";
-	public static String PREDICATE_LESSTHAN = "<";
-	public static String SORT_ASC = "asc";
-	public static String SORT_DESC = "desc";
-	public static String WILDCARD = "%";
+    /**
+     * andAllKeys: this changes the behavior for identifierBag to AND keys
+     * rather than OR them. This is already the default for categoryBag and
+     * tModelBag.
+     */
+    public static final String AND_ALL_KEYS = "andAllKeys";
+    /**
+     * andAllKeys: this changes the behavior for identifierBag to AND keys
+     * rather than OR them. This is already the default for categoryBag and
+     * tModelBag.
+     */
+    public static final String AND_ALL_KEYS_TMODEL = "uddi:uddi.org:findqualifier:andallkeys";
+    /**
+     * approximateMatch: signifies that wildcard search behavior is desired.
+     * This behavior is defined by the uddi-org:approximatematch:SQL99 tModel
+     * and means "approximate matching as defined for the character like
+     * predicate in ISO/IEC9075-2:1999(E) Section 8.5 like predicate, where the
+     * percent sign (%) indicates any number of characters and an underscore (_)
+     * indicates any single character. The backslash character (\) is used as an
+     * escape character for the percent sign, underscore and backslash
+     * characters. This find qualifier adjusts the matching behavior for name,
+     * keyValue and keyName (where applicable).
+     */
+    public static final String APPROXIMATE_MATCH = "approximateMatch";
+    /**
+     * approximateMatch: signifies that wildcard search behavior is desired.
+     * This behavior is defined by the uddi-org:approximatematch:SQL99 tModel
+     * and means "approximate matching as defined for the character like
+     * predicate in ISO/IEC9075-2:1999(E) Section 8.5 like predicate, where the
+     * percent sign (%) indicates any number of characters and an underscore (_)
+     * indicates any single character. The backslash character (\) is used as an
+     * escape character for the percent sign, underscore and backslash
+     * characters. This find qualifier adjusts the matching behavior for name,
+     * keyValue and keyName (where applicable).
+     */
+    public static final String APPROXIMATE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:approximatematch";
+    /**
+     * binarySort: this qualifier allows for greater speed in sorting. It causes
+     * a binary sort by name, as represented in Unicode codepoints.
+     */
+    public static final String BINARY_SORT = "binarySort";
+    /**
+     * binarySort: this qualifier allows for greater speed in sorting. It causes
+     * a binary sort by name, as represented in Unicode codepoints.
+     */
+    public static final String BINARY_SORT_TMODEL = "uddi:uddi.org:sortorder:binarysort";
+    /**
+     * bindingSubset: this is used in the find_business API or the find_service
+     * API and is used only in conjunction with a categoryBag argument. It
+     * causes the component of the search that involves categorization to use
+     * only the categoryBag elements from contained bindingTemplate elements
+     * within the registered data and ignores any entries found in the
+     * categoryBag which are not direct descendent elements of registered
+     * businessEntity elements or businessService elements. The resulting
+     * businessList or serviceList return those businesses or services that
+     * matched based on this modified behavior, in conjunction with any other
+     * search arguments provided. Additionally, in the case of the returned
+     * businessList from a find_business, the contained serviceInfos elements
+     * will only reflect summary data (in a serviceInfo element) for those
+     * services (contained or referenced) that contained a binding that matched
+     * on one of the supplied categoryBag arguments.
+     */
+    public static final String BINDING_SUBSET = "bindingSubset";
+    /**
+     * bindingSubset: this is used in the find_business API or the find_service
+     * API and is used only in conjunction with a categoryBag argument. It
+     * causes the component of the search that involves categorization to use
+     * only the categoryBag elements from contained bindingTemplate elements
+     * within the registered data and ignores any entries found in the
+     * categoryBag which are not direct descendent elements of registered
+     * businessEntity elements or businessService elements. The resulting
+     * businessList or serviceList return those businesses or services that
+     * matched based on this modified behavior, in conjunction with any other
+     * search arguments provided. Additionally, in the case of the returned
+     * businessList from a find_business, the contained serviceInfos elements
+     * will only reflect summary data (in a serviceInfo element) for those
+     * services (contained or referenced) that contained a binding that matched
+     * on one of the supplied categoryBag arguments.
+     */
+    public static final String BINDING_SUBSET_TMODEL = "uddi:uddi.org:findqualifier:bindingsubset";
+    /**
+     * caseInsensitiveSort: signifies that the result set should be sorted
+     * without regard to case. This overrides the default case sensitive sorting
+     * behavior.
+     */
+    public static final String CASE_INSENSITIVE_SORT = "caseInsensitiveSort";
+    /**
+     * caseInsensitiveSort: signifies that the result set should be sorted
+     * without regard to case. This overrides the default case sensitive sorting
+     * behavior.
+     */
+    public static final String CASE_INSENSITIVE_SORT_TMODEL = "uddi:uddi.org:findqualifier:caseinsensitivesort";
+    /**
+     * caseInsensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed without
+     * regard to case.
+     */
+    public static final String CASE_INSENSITIVE_MATCH = "caseInsensitiveMatch";
+    /**
+     * caseInsensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed without
+     * regard to case.
+     */
+    public static final String CASE_INSENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:caseinsensitivematch";
+    /**
+     * caseSensitiveSort: signifies that the result set should be sorted with
+     * regard to case. This is the default behavior.
+     */
+    public static final String CASE_SENSITIVE_SORT = "caseSensitiveSort";
+    /**
+     * caseSensitiveSort: signifies that the result set should be sorted with
+     * regard to case. This is the default behavior.
+     */
+    public static final String CASE_SENSITIVE_SORT_TMODEL = "uddi:uddi.org:findqualifier:casesensitivesort";
+    /**
+     * caseSensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed with regard
+     * to case. This is the default behavior.
+     */
+    public static final String CASE_SENSITIVE_MATCH = "caseSensitiveMatch";
+    /**
+     * caseSensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed with regard
+     * to case. This is the default behavior.
+     */
+    public static final String CASE_SENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:casesensitivematch";
+    /**
+     * combineCategoryBags: this may only be used in the find_business and
+     * find_service calls. In the case of find_business, this qualifier makes
+     * the categoryBag entries for the full businessEntity element behave as
+     * though all categoryBag elements found at the businessEntity level and in
+     * all contained or referenced businessService elements and bindingTemplate
+     * elements were combined. Searching for a category will yield a positive
+     * match on a registered business if any of the categoryBag elements
+     * contained within the full businessEntity element (including the
+     * categoryBag elements within contained or referenced businessService
+     * elements or bindingTemplate elements) contains the filter criteria. In
+     * the case of find_service, this qualifier makes the categoryBag entries
+     * for the full businessService element behave as though all categoryBag
+     * elements found at the businessService level and in all contained or
+     * referenced elements in the bindingTemplate elements were combined.
+     * Searching for a category will yield a positive match on a registered
+     * service if any of the categoryBag elements contained within the full
+     * businessService element (including the categoryBag elements within
+     * contained or referenced bindingTemplate elements) contains the filter
+     * criteria. This find qualifier does not cause the keyedReferences in
+     * categoryBags to be combined with the keyedReferences in
+     * keyedReferenceGroups in categoryBags when performing the comparison. The
+     * keyedReferences are combined with each other, and the
+     * keyedReferenceGroups are combined with each other.
+     */
+    public static final String COMBINE_CATEGORY_BAGS = "combineCategoryBags";
+    /**
+     * combineCategoryBags: this may only be used in the find_business and
+     * find_service calls. In the case of find_business, this qualifier makes
+     * the categoryBag entries for the full businessEntity element behave as
+     * though all categoryBag elements found at the businessEntity level and in
+     * all contained or referenced businessService elements and bindingTemplate
+     * elements were combined. Searching for a category will yield a positive
+     * match on a registered business if any of the categoryBag elements
+     * contained within the full businessEntity element (including the
+     * categoryBag elements within contained or referenced businessService
+     * elements or bindingTemplate elements) contains the filter criteria. In
+     * the case of find_service, this qualifier makes the categoryBag entries
+     * for the full businessService element behave as though all categoryBag
+     * elements found at the businessService level and in all contained or
+     * referenced elements in the bindingTemplate elements were combined.
+     * Searching for a category will yield a positive match on a registered
+     * service if any of the categoryBag elements contained within the full
+     * businessService element (including the categoryBag elements within
+     * contained or referenced bindingTemplate elements) contains the filter
+     * criteria. This find qualifier does not cause the keyedReferences in
+     * categoryBags to be combined with the keyedReferences in
+     * keyedReferenceGroups in categoryBags when performing the comparison. The
+     * keyedReferences are combined with each other, and the
+     * keyedReferenceGroups are combined with each other.
+     */
+    public static final String COMBINE_CATEGORY_BAGS_TMODEL = "uddi:uddi.org:findqualifier:combinecategorybags";
+    /**
+     * diacriticInsensitiveMatch: signifies that matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed without
+     * regard to diacritics. Support for this findQualifier by nodes is
+     * OPTIONAL.
+     */
+    public static final String DIACRITIC_INSENSITIVE_MATCH = "diacriticInsensitiveMatch";
+    /**
+     * diacriticInsensitiveMatch: signifies that matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed without
+     * regard to diacritics. Support for this findQualifier by nodes is
+     * OPTIONAL.
+     */
+    public static final String DIACRITIC_INSENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:diacriticsinsensitivematch";
+    /**
+     * diacriticSensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed with regard
+     * to diacritics. This is the default behavior.
+     */
+    public static final String DIACRITIC_SENSITIVE_MATCH = "diacriticSensitiveMatch";
+    /**
+     * diacriticSensitiveMatch: signifies that the matching behavior for name,
+     * keyValue and keyName (where applicable) should be performed with regard
+     * to diacritics. This is the default behavior.
+     */
+    public static final String DIACRITIC_SENSITIVE_MATCH_TMODEL = "uddi:uddi.org:findqualifier:diacriticssensitivematch";
+    /**
+     * exactMatch: signifies that only entries with names, keyValues and
+     * keyNames (where applicable) that exactly match the name argument passed
+     * in, after normalization, will be returned. This qualifier is sensitive to
+     * case and diacritics where applicable. This qualifier represents the
+     * default behavior.
+     */
+    public static final String EXACT_MATCH = "exactMatch";
+    /**
+     * exactMatch: signifies that only entries with names, keyValues and
+     * keyNames (where applicable) that exactly match the name argument passed
+     * in, after normalization, will be returned. This qualifier is sensitive to
+     * case and diacritics where applicable. This qualifier represents the
+     * default behavior.
+     */
+    public static final String EXACT_MATCH_TMODEL = "uddi:uddi.org:findqualifier:exactmatch";
+    /**
+     * signaturePresent: this is used with any find_xx API to restrict the
+     * result set to entities which either contain an XML Digital Signature
+     * element, or are contained in an entity which contains one. The Signature
+     * element is retrieved using a get_xx API call and SHOULD be verified by
+     * the client. A UDDI node may or may not verify the signature and therefore
+     * use of this find qualifier, or the presence of a Signature element SHOULD
+     * only be for the refinement of the result set from the find_xx API and
+     * SHOULD not be used as a verification mechanism by UDDI clients.
+     */
+    public static final String SIGNATURE_PRESENT = "signaturePresent";
+    /**
+     * signaturePresent: this is used with any find_xx API to restrict the
+     * result set to entities which either contain an XML Digital Signature
+     * element, or are contained in an entity which contains one. The Signature
+     * element is retrieved using a get_xx API call and SHOULD be verified by
+     * the client. A UDDI node may or may not verify the signature and therefore
+     * use of this find qualifier, or the presence of a Signature element SHOULD
+     * only be for the refinement of the result set from the find_xx API and
+     * SHOULD not be used as a verification mechanism by UDDI clients.
+     */
+    public static final String SIGNATURE_PRESENT_TMODEL = "uddi:uddi.org:findqualifier:signaturepresent";
+    /**
+     * orAllKeys: this changes the behavior for tModelBag and categoryBag to OR
+     * the keys within a bag, rather than to AND them. Using this findQualifier
+     * with both a categoryBag and a tModelBag, will cause all of the keys in
+     * BOTH the categoryBag and the tModelBag to be OR’d together rather than
+     * AND’d. It is not possible to OR the categories and retain the default AND
+     * behavior of the tModels. The behavior of keyedReferenceGroups in a
+     * categoryBag is analogous to that of individual keyedReferences, that is,
+     * the complete categoryBag is changed to OR the keys.
+     */
+    public static final String OR_ALL_KEYS = "orAllKeys";
+    /**
+     * orAllKeys: this changes the behavior for tModelBag and categoryBag to OR
+     * the keys within a bag, rather than to AND them. Using this findQualifier
+     * with both a categoryBag and a tModelBag, will cause all of the keys in
+     * BOTH the categoryBag and the tModelBag to be OR’d together rather than
+     * AND’d. It is not possible to OR the categories and retain the default AND
+     * behavior of the tModels. The behavior of keyedReferenceGroups in a
+     * categoryBag is analogous to that of individual keyedReferences, that is,
+     * the complete categoryBag is changed to OR the keys.
+     */
+    public static final String OR_ALL_KEYS_TMODEL = "uddi:uddi.org:findqualifier:orallkeys";
+    /**
+     * orLikeKeys: when a bag container (i.e. categoryBag or identifierBag)
+     * contains multiple keyedReference elements, any keyedReference filters
+     * that come from the same namespace (e.g. have the same tModelKey value)
+     * are OR’d together rather than AND’d. For example "find any of these four
+     * values from this namespace, and any of these two values from this
+     * namespace". The behavior of keyedReferenceGroups is analogous to that of
+     * keyedReferences, that is, keyedReferenceGroups that have the same
+     * tModelKey value are OR’d together rather than AND’d.
+     */
+    public static final String OR_LIKE_KEYS = "orLikeKeys";
+    /**
+     * orLikeKeys: when a bag container (i.e. categoryBag or identifierBag)
+     * contains multiple keyedReference elements, any keyedReference filters
+     * that come from the same namespace (e.g. have the same tModelKey value)
+     * are OR’d together rather than AND’d. For example "find any of these four
+     * values from this namespace, and any of these two values from this
+     * namespace". The behavior of keyedReferenceGroups is analogous to that of
+     * keyedReferences, that is, keyedReferenceGroups that have the same
+     * tModelKey value are OR’d together rather than AND’d.
+     */
+    public static final String OR_LIKE_KEYS_TMODEL = "uddi:uddi.org:findqualifier:orlikekeys";
+    /**
+     * serviceSubset: this is used only with the find_business API and is used
+     * only in conjunction with a categoryBag argument. It causes the component
+     * of the search that involves categorization to use only the categoryBag
+     * elements from contained or referenced businessService elements within the
+     * registered data and ignores any entries found in the categoryBag which
+     * are not direct descendent elements of registered businessEntity elements.
+     * The resulting businessList structure contains those businesses that
+     * matched based on this modified behavior, in conjunction with any other
+     * search arguments provided. Additionally, the contained serviceInfos
+     * elements will only reflect summary data (in a serviceInfo element) for
+     * those services (contained or referenced) that matched on one of the
+     * supplied categoryBag arguments.
+     */
+    public static final String SERVICE_SUBSET = "serviceSubset";
+    /**
+     * serviceSubset: this is used only with the find_business API and is used
+     * only in conjunction with a categoryBag argument. It causes the component
+     * of the search that involves categorization to use only the categoryBag
+     * elements from contained or referenced businessService elements within the
+     * registered data and ignores any entries found in the categoryBag which
+     * are not direct descendent elements of registered businessEntity elements.
+     * The resulting businessList structure contains those businesses that
+     * matched based on this modified behavior, in conjunction with any other
+     * search arguments provided. Additionally, the contained serviceInfos
+     * elements will only reflect summary data (in a serviceInfo element) for
+     * those services (contained or referenced) that matched on one of the
+     * supplied categoryBag arguments.
+     */
+    public static final String SERVICE_SUBSET_TMODEL = "uddi:uddi.org:findqualifier:servicesubset";
+    /**
+     * sortByNameAsc: causes the result set returned by a find_xx or get_xx
+     * inquiry APIs to be sorted on the name field in ascending order. This sort
+     * is applied prior to any truncation of result sets. It is only applicable
+     * to queries that return a name element in the top-most detail level of the
+     * result set and if no conflicting sort qualifier is specified, this is the
+     * default sorting direction. This findQualifier takes precedence over
+     * sortByDateAsc and sortByDateDesc qualifiers, but if a sortByDateXxx
+     * findQualifier is used without a sortByNameXxx qualifier, sorting is
+     * performed based on date with or without regard to name.
+     */
+    public static final String SORT_BY_NAME_ASC = "sortByNameAsc";
+    /**
+     * sortByNameAsc: causes the result set returned by a find_xx or get_xx
+     * inquiry APIs to be sorted on the name field in ascending order. This sort
+     * is applied prior to any truncation of result sets. It is only applicable
+     * to queries that return a name element in the top-most detail level of the
+     * result set and if no conflicting sort qualifier is specified, this is the
+     * default sorting direction. This findQualifier takes precedence over
+     * sortByDateAsc and sortByDateDesc qualifiers, but if a sortByDateXxx
+     * findQualifier is used without a sortByNameXxx qualifier, sorting is
+     * performed based on date with or without regard to name.
+     */
+    public static final String SORT_BY_NAME_ASC_TMODEL = "uddi:uddi.org:findqualifier:sortbynameasc";
+    /**
+     * sortByNameDesc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted on the name field in descending order. This
+     * sort is applied prior to any truncation of result sets. It is only
+     * applicable to queries that return a name element in the top-most detail
+     * level of the result set. This is the reverse of the default sorting
+     * direction. This findQualifier takes precedence over sortByDateAsc and
+     * sortByDateDesc qualifiers but if a sortByDateXxx findQualifier is used
+     * without a sortByNameXxx qualifier, sorting is performed based on date
+     * with or without regard to name.
+     */
+    public static final String SORT_BY_NAME_DESC = "sortByNameDesc";
+    /**
+     * sortByNameDesc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted on the name field in descending order. This
+     * sort is applied prior to any truncation of result sets. It is only
+     * applicable to queries that return a name element in the top-most detail
+     * level of the result set. This is the reverse of the default sorting
+     * direction. This findQualifier takes precedence over sortByDateAsc and
+     * sortByDateDesc qualifiers but if a sortByDateXxx findQualifier is used
+     * without a sortByNameXxx qualifier, sorting is performed based on date
+     * with or without regard to name.
+     */
+    public static final String SORT_BY_NAME_DESC_TMODEL = "uddi:uddi.org:findqualifier:sortbynamedesc";
+    /**
+     * sortByDateAsc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted based on the most recent date when each entity,
+     * or any entities they contain, were last updated, in ascending
+     * chronological order (oldest are returned first). When names are included
+     * in the result set returned, this find qualifier may also be used in
+     * conjunction with either the sortByNameAsc or sortByNameDesc
+     * findQualifiers. When so combined, the date-based sort is secondary to the
+     * name-based sort (results are sorted within name by date, oldest to
+     * newest).
+     */
+    public static final String SORT_BY_DATE_ASC = "sortByDateAsc";
+    /**
+     * sortByDateAsc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted based on the most recent date when each entity,
+     * or any entities they contain, were last updated, in ascending
+     * chronological order (oldest are returned first). When names are included
+     * in the result set returned, this find qualifier may also be used in
+     * conjunction with either the sortByNameAsc or sortByNameDesc
+     * findQualifiers. When so combined, the date-based sort is secondary to the
+     * name-based sort (results are sorted within name by date, oldest to
+     * newest).
+     */
+    public static final String SORT_BY_DATE_ASC_TMODEL = "uddi:uddi.org:findqualifier:sortbydateasc";
+    /**
+     * sortByDateDesc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted based on the most recent date when each entity,
+     * or any entities they contain, were last updated, in descending
+     * chronological order (most recently changed are returned first. When names
+     * are included in the result set returned, this find qualifier may also be
+     * used in conjunction with either the sortByNameAsc or sortByNameDesc find
+     * qualifiers. When so combined, the date-based sort is secondary to the
+     * name-based sort (results are sorted within name by date, newest to
+     * oldest).
+     */
+    public static final String SORT_BY_DATE_DESC = "sortByDateDesc";
+    /**
+     * sortByDateDesc: causes the result set returned by a find_xx or get_xx
+     * inquiry call to be sorted based on the most recent date when each entity,
+     * or any entities they contain, were last updated, in descending
+     * chronological order (most recently changed are returned first. When names
+     * are included in the result set returned, this find qualifier may also be
+     * used in conjunction with either the sortByNameAsc or sortByNameDesc find
+     * qualifiers. When so combined, the date-based sort is secondary to the
+     * name-based sort (results are sorted within name by date, newest to
+     * oldest).
+     */
+    public static final String SORT_BY_DATE_DESC_TMODEL = "uddi:uddi.org:findqualifier:sortbydatedesc";
+    /**
+     * suppressProjectedServices: signifies that service projections MUST NOT be
+     * returned by the find_service or find_business APIs with which this
+     * findQualifier is associated. This findQualifier is automatically enabled
+     * by default whenever find_service is used without a businessKey.
+     */
+    public static final String SUPPRESS_PROJECTED_SERVICES = "suppressProjectedServices";
+    /**
+     * suppressProjectedServices: signifies that service projections MUST NOT be
+     * returned by the find_service or find_business APIs with which this
+     * findQualifier is associated. This findQualifier is automatically enabled
+     * by default whenever find_service is used without a businessKey.
+     */
+    public static final String SUPPRESS_PROJECTED_SERVICES_TMODEL = "uddi:uddi.org:findqualifier:suppressprojectedservices";
+    /**
+     * UTS-10: this is used to cause sorting of results based on the Unicode
+     * Collation Algorithm on elements normalized according to Unicode
+     * Normalization Form C. When this qualifier is referenced, a sort is
+     * performed according to the Unicode Collation Element Table in conjunction
+     * with the Unicode Collation Algorithm on the name field, normalized using
+     * Unicode Normalization Form C. Support of this findQualifier by nodes is
+     * OPTIONAL.
+     */
+    public static final String UTS_10 = "UTS-10";
+    /**
+     * UTS-10: this is used to cause sorting of results based on the Unicode
+     * Collation Algorithm on elements normalized according to Unicode
+     * Normalization Form C. When this qualifier is referenced, a sort is
+     * performed according to the Unicode Collation Element Table in conjunction
+     * with the Unicode Collation Algorithm on the name field, normalized using
+     * Unicode Normalization Form C. Support of this findQualifier by nodes is
+     * OPTIONAL.
+     */
+    public static final String UTS_10_TMODEL = "uddi:uddi.org:sortorder:uts-10";
+    /**
+     * This is the Wild card field used by UDDI, represents any number of
+     * characters Wildcards, when they are allowed, may occur at any position in
+     * the string of characters that constitutes the argument value and may
+     * occur more than once. Wildcards are denoted with a percent sign (%) to
+     * indicate any value for any number of characters and an underscore (_) to
+     * indicate any value for a single character. The backslash character (\) is
+     * used as an escape character for the percent sign, underscore and
+     * backslash characters. Use of the "exactMatch" findQualifier will cause
+     * wildcard characters to be interpreted literally, and as such should not
+     * also be combined with the escape character.
+     */
+    public static String WILDCARD = "%";
+    /**
+     * Presents any SINGLE character<br>
+     * Wildcards, when they are allowed, may occur at any position in the string
+     * of characters that constitutes the argument value and may occur more than
+     * once. Wildcards are denoted with a percent sign (%) to indicate any value
+     * for any number of characters and an underscore (_) to indicate any value
+     * for a single character. The backslash character (\) is used as an escape
+     * character for the percent sign, underscore and backslash characters. Use
+     * of the "exactMatch" findQualifier will cause wildcard characters to be
+     * interpreted literally, and as such should not also be combined with the
+     * escape character.
+     */
+    public static String WILDCARD_CHAR = "_";
+    /**
+     * unchecked: Marking a tModel with this categorization asserts that it represents a value set or category group system whose use, through keyedReferences, is not checked.
+     */
+    public static String TMODEL_GENERAL_KEYWORDS = "uddi:uddi.org:categorization:general_keywords";
+    /**
+     * An unchecked value set is one that allows unrestricted references to its values.  A UDDI registry is REQUIRED to have a policy to differentiate between unchecked value sets and checked value sets.  UDDI registries MUST allow unchecked value sets to be referred to in keyedReferences. tModels that represent unchecked value sets SHOULD be categorized with the unchecked value from the uddi-org:types category system.
+     */
+    public static String UNCHECKED = "uddi-org:types:unchecked";
+    /**
+     * checked: Marking a tModel with this categorization asserts that it represents a value set or category group system whose use, through keyedReferences, may be checked.  Registry, and possibly node policy determines when and how a checked value set is supported.
+     */
+    public static String CHECKED = "uddi-org:types:checked";
+    /**
+     * uncacheable: Marking a tModel with this categorization asserts that it represents a checked value set or category group system whose values must not be cached for validation.  The validation algorithm for a supported uncacheable checked value set must be specified and associated with the tModel marked with this categorization and may consider contextual criteria involving the entity associated with the reference.
+     */
+    public static String UNCACHEABLE = "uddi-org:types:uncacheable";
+    /**
+     * Basic types of business relationships
+     */
+    public static String RELATIONSHIPS = "uddi:uddi.org:relationships";
+    /**
+     *  keyGenerator: Marking a tModel with this categorization designates it as one whose tModelKey identifies a key generator partition that can be used by its owner to derive and assign other entity keys. This categorization is reserved for key generator tModels. Any attempt to use this categorization for something other than a key generator tModel will fail with E_valueNotAllowed returned.
+     */
+    public static String KEY_GENERATOR = "uddi:uddi.org:keygenerator";
+    /**
+     * Identifier system used to point to the UDDI entity, using UDDI keys, that
+     * is the logical replacement for the one in which isReplacedBy is used.
+     */
+    public static String IS_REPLACED_BY = "uddi:uddi.org:identifier:isreplacedby";
+    /**
+     * Category system used to point a value set or category group system tModel
+     * to associated value set Web service implementations.
+     */
+    public static String IS_VALIDATED_BY = "uddi:uddi.org:categorization:validatedby";
+    /**
+     * Category system for referring tModels to other tModels for the purpose of
+     * reuse.
+     */
+    public static String IS_DERVIVED_FROM = "uddi:uddi.org:categorization:derivedfrom";
+    /**
+     * Category system used to declare that a value set uses entity keys as
+     * valid values.
+     */
+    public static String ENTITY_KEY_VALUES = "uddi:uddi.org:categorization:entitykeyvalues";
+    /**
+     * Category system used to point to the businessEntity associated with the
+     * publisher of the tModel.
+     */
+    public static String OWNING_BUSINESS = "uddi:uddi.org:categorization:owningbusiness";
+    /**
+     * Secure Sockets Layer Version 3.0 with Server Authentication
+     */
+    public static String PROTOCOL_SSLv3 = "uddi:uddi.org:protocol:serverauthenticatedssl3";
+    /**
+     * Secure Sockets Layer Version 3.0 with Mutual Authentication
+     */
+    public static String PROTOCOL_SSLv3_CLIENT_CERT = "uddi:uddi.org:protocol:mutualauthenticatedssl3";
+    /**
+     * A Web service that uses HTTP transport -
+     */
+    public static String TRANSPORT_HTTP = "uddi:uddi.org:transport:http";
+    /**
+     * E-mail based Web service
+     */
+    public static String TRANSPORT_EMAIL = "uddi:uddi.org:transport:smtp";
+    /**
+     * File Transfer Protocol (FTP) based Web service
+     */
+    public static String TRANSPORT_FTP = "uddi:uddi.org:transport:ftp";
+    /**
+     * Fax-based Web service
+     */
+    public static String TRANSPORT_FAX = "uddi:uddi.org:transport:fax";
+    /**
+     * Telephone based service
+     */
+    public static String TRANSPORT_POTS = "uddi:uddi.org:transport:telephone";
+    /**
+     * Java RMI based service registered to the Java Registry
+     */
+    public static String TRANSPORT_RMI = "uddi:uddi.org:transport:rmi";
+    /**
+     * A Java RMI based service registered to a JNDI Registry
+     */
+    public static String TRANSPORT_JNDI_RMI = "uddi:uddi.org:transport:jndi-rmi";
+    /**
+     * A Web service that uses the AMQP transport
+     */
+    public static String TRANSPORT_AMQP = "uddi:uddi.org:transport:amqp";
+    /**
+     * A Web service that uses the OMG DDS transport
+     */
+    public static String TRANSPORT_OMGDDS = "uddi:uddi.org:transport:omgdds";
+    /**
+     * A Web service that uses UDP
+     */
+    public static String TRANSPORT_UDP = "uddi:uddi.org:transport:udp";
+    /**
+     * A Web service that uses the JMS API
+     */
+    public static String TRANSPORT_JMS = "uddi:uddi.org:transport:jms";
+    /**
+     * A tModel that represents the Representational State Transfer
+     * architectural style
+     */
+    public static String PROTOCOL_REST = "uddi:uddi.org:protocol:rest";
+    /**
+     * A tModel that represents the SOAP 1.1 protocol
+     */
+    public static String PROTOCOL_SOAP = "uddi:uddi.org:protocol:soap";
+    /**
+     * A tModel that represents the SOAP 1.2 protocol
+     */
+    public static String PROTOCOL_SOAP12 = "uddi:uddi.org:protocol:soap12";
 }

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java?rev=1479306&r1=1479305&r2=1479306&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/v3_service/UDDICustodyTransferPortType.java Sun May  5 12:20:34 2013
@@ -14,8 +14,6 @@
  * limitations under the License.
  *
  */
-
-
 package org.uddi.v3_service;
 
 import java.rmi.Remote;
@@ -34,14 +32,215 @@ import org.uddi.custody_v3.DiscardTransf
 import org.uddi.custody_v3.KeyBag;
 import org.uddi.custody_v3.TransferEntities;
 
-
 /**
- * This portType defines all of the UDDI custody transfer operations.
- * 
- * This class was generated by the JAX-WS RI.
- * JAX-WS RI 2.1.5-b03-
- * Generated source version: 2.1
- * 
+ * This portType defines all of the UDDI custody transfer operations. This
+ * section defines the UDDI Custody and Ownership Transfer API Set[28]. Data
+ * custody is introduced in Section 1.5.6 Data Custody. Ownership transfer is
+ * introduced in Section 1.5.7 Transfer of Ownership. By virtue of having
+ * created an entity, a publisher has ownership of the entity and is said to be
+ * the owner of the entity. A custodial node MUST maintain a relationship of
+ * ownership between an entity and its publisher by means of authorization
+ * mechanisms. Every node of a multi-node registry MUST guarantee the integrity
+ * of an entity's custody. As such, a node MUST not permit changes to an entity
+ * unless it has custody of it.
+ *
+ * The Custody and Ownership Transfer API Set enables any nodes of a registry to
+ * cooperatively transfer custody of one or more businessEntity or tModel
+ * structures from one node to another, as well as allowing the transfer of
+ * ownership of these structures from one publisher to another. Associated
+ * entities of a businessEntity such as its businessService, bindingTemplate,
+ * and publisherAssertion structures are transferred as part of the custody
+ * transfer of the business entity. * From a custody transfer point of view, the
+ * publishers are always distinct, though it may be the case that the publishers
+ * are the same person. Also, the two nodes may or may not be distinct;
+ * intra-node transfer between two publishers is simply a degenerate case in
+ * which node custody does not change. Thus, in the case of an inter-node
+ * transfer, ownership transfer is implied. In the case of an intra-node
+ * transfer the behavior results in the transfer of ownership between two
+ * publishers.
+ *
+ * For example, one UDDI registry, UDDI-1, MAY allow each node in UDDI-1
+ * (composed of nodes 1A, 1B and 1C) to define its own policies for
+ * registration, authentication and authorization. In this case, a "person",
+ * (P1) would need to review the policies of all 3 nodes and decide upon the
+ * node with which it chooses to register with. P1 may choose to register with
+ * more than one node. P1 registers with node1A . Node1A also specifies how P1
+ * is authenticated. If P1 successfully authenticates and publishes a business
+ * entity (BE1) then P1 becomes the "owner" of BE1. Node1A is said to be the
+ * "custodian" of BE1. P1 can also register at node1B. If P1 successfully
+ * authenticates and publishes a business entity (BE2) then P1 becomes the
+ * "owner" of BE2. Node1B is said to be the "custodian" of BE2. There is no
+ * assumption that the registry UDDI-1 or its nodes (node1A and node1B) are
+ * aware that P1 is the same "person". P1 is responsible for maintaining the
+ * appropriate identity and authenticating correctly to each node within a
+ * registry.
+ *
+ * Another UDDI registry, UDDI-2, MAY require each of its nodes (node2-1,
+ * node2-2 and node2-3) to use the same registration, authentication and
+ * authorization mechanisms. In this case, the policies are the same across all
+ * nodes. The relationship of registration, publication and ownership remains
+ * the same. If P1 wants to register with different nodes in UDDI-2, then it
+ * needs to differentiate its registration with the different nodes, since an
+ * attempt to register at node2-2 after registering at node2-1, would fail as
+ * "already registered" (since by policy the nodes all share the same
+ * registration, authentication and authorization).
+ *
+ * 5.4.1 Overview There are a number of scenarios where a publisher may choose
+ * to transfer custodianship or ownership of one or more entities. These are
+ * described in this section.
+ *
+ * 5.4.1.1 Intra-Node Ownership Transfer Intra-node ownership transfer involves
+ * transferring entity ownership from one publisher to another within the same
+ * UDDI node. Usage scenarios for this type of transfer include the following:
+ *
+ * · Businesses or organizational merges: Multiple organizations need to be
+ * consolidated under the control of a single publisher.
+ *
+ * · Domain key generators: One use of ownership transfer is the transfer of
+ * ownership of a derived key generator from one publisher to another to enable
+ * her or him to publish entities using keys in that domain.
+ *
+ * The save_xx APIs can also be used to move entities between parent entities
+ * that are owned by the same publisher. The save_service API, for example, can
+ * be used to move services (and binding templates) between one business entity
+ * and another as described in Section 5.2.17.3 Behavior of the save_service
+ * API. Changing the parent relationship in this way causes two businessEntity
+ * structures to be changed. Doing so enables the following scenarios:
+ *
+ * · Divestitures: An organization needs to reassign the control of a set of
+ * services to two or more publishers.
+ *
+ * · Consolidation of registry entities: There are multiple entities for a given
+ * business that are to be consolidated under a single publisher.
+ *
+ * 5.4.1.2 Inter-Node Custody Transfer Inter-node custody transfer involves the
+ * custody transfer of a set of entities across nodes of a UDDI registry. A
+ * transfer of ownership ensues as a consequence of this custody transfer. In
+ * addition to the intra-node scenarios described above, inter-node custody
+ * transfer may be used to address the following use cases:
+ *
+ * · Unsatisfactory service level: The functionality or service level provided
+ * by a given node operator is insufficient, and the publisher wishes to move
+ * their UDDI data to another node.
+ *
+ * · Change in availability for a UDDI node: A node is no longer providing UDDI
+ * services, and all publishers need to be migrated to one or more nodes of the
+ * registry.
+ *
+ * · Organizational Mergers, Divestitures or Consolidations: Changes in
+ * organizational structure may result in the need to make changes to the set of
+ * publishers used to manage the entities at various nodes of a registry.
+ *
+ * For any of these intra and inter-node scenarios, a mechanism is specified to
+ * facilitate the transfer the custody of businessEntity and tModel entities
+ * between nodes whether the entity is being transferred within a single node or
+ * whether a custody transfer occurs between nodes of a registry.
+ *
+ * 5.4.2 Custody Transfer Considerations When a businessEntity is transferred,
+ * all related businessService and bindingTemplate elements are transferred as
+ * well. In addition, any publisherAssertion elements that reference the
+ * businessEntity element’s businessKey that are owned by the publisher are also
+ * transferred.
+ *
+ * Note that the relinquishing publisher is not required to transfer all of its
+ * UDDI entities (i.e. businessEntity and/or tModel entities) in a single
+ * custody transfer request, nor is it required to transfer all of its entities
+ * to the same target publisher or target node. Any combination or subset of
+ * UDDI registry entities may be transferred to any number of target publishers
+ * or nodes.
+ *
+ * 5.4.3 Transfer Execution The Custody and Ownership Transfer API Set enables
+ * two publishers P1 and P2 and two nodes, N1 and N2, in a registry to
+ * cooperatively transfer custody of one or more existing businessEntity or
+ * tModel structures, E1…En, from N1 to N2 and, and by extension to transfer
+ * ownership of the entities from P1 to P2. Related businessService,
+ * bindingTemplate, and publisherAssertion structures are transferred with their
+ * related businessEntities. From the registry’s point of view, the publishers
+ * are always distinct, though it may be the case that P1 and P2 are the same
+ * party. The two nodes may or may not be distinct; intra-node transfer of
+ * ownership from P1 to P2 is simply a degenerate case in which node custody
+ * does not change.
+ *
+ * The Custody and Ownership Transfer API Set is divided into two parts, a set
+ * of two client APIs and a single inter-node API. These client APIs are
+ * get_transferToken and transfer_entities; in short, this constitutes the
+ * Ownership Transfer API portion of this API set. The inter-node-API is
+ * transfer_ custody which when combined with replication makes up the Custody
+ * Transfer API portion of this API set. * The overall flow of custody and
+ * ownership transfer is as follows:
+ *
+ * Publisher P1 invokes get_transferToken on N1, specifying the keys K1…Kn of
+ * the entities E1…En that are to be transferred. If P1 is authorized to do this
+ * (i.e., if P1 has ownership of E1…En), N1 returns a structure T, called a
+ * transfer token, that represents authority to transfer the entities, including
+ * all of the naturally contained children and publisher assertions related to
+ * business entities involved in the transfer that are owned by P1. The
+ * transferToken is a structure that consists of an opaque string that is
+ * meaningful only to the node that issued it, an expiration time, and a node
+ * identifier.
+ *
+ * P1 then gives T to P2 (typically by some secure means since T is valuable).
+ * The publisher obtaining the custody information needs to have previously
+ * obtained a publishers account on the node accepting custody of the entity
+ * before he/she can complete the custody transfer. P2 then invokes
+ * transfer_entities on N2, passing K1…Kn and T. If transfer_entities completes
+ * successfully, the entities E1…En and their related structures
+ * (businessService, bindingTemplate, and publisherAssertion) are in the custody
+ * of N2 and are owned by P2. If the operation fails, nothing happens to the
+ * entities. The actual transfer proceeds as follows, in the processing of
+ * transfer_entities.
+ *
+ * If N1 and N2 are not distinct nodes, the ownership transfer from P1 to P2 is
+ * an operation that is purely internal to the node – how it happens is up to
+ * the implementation. If N1 and N2 are distinct, the following protocol occurs
+ * while processing the transfer_entities request on N2.
+ *
+ * Upon receipt of a transfer_entities request, N2 checks that K1…Kn are valid
+ * keys. There is the possibility that P1 might transfer more data than P2 can
+ * accept due to policy-based restrictions on the limit of entities allowed to
+ * be owned by P2 at N2. As is described below, replication is used to complete
+ * the custody transfer process. A question that arises is at the time of
+ * accepting the datum related to the transfer, could N2 throw a replication
+ * error because the data being transferred exceeds the limits of user P2? Such
+ * limits can not be enforced during replication because they are node-local
+ * policy decisions from the perspective of enforcement. Thus, it is therefore
+ * possible that as a result of a custody transfer a publisher may be caused to
+ * hold more data that he/she would have been able to publish. Should this
+ * situation occur, P2 MUST not be allowed to publish any additional data unless
+ * P2 first reduces the number of entries it owns to an allowable limit.
+ *
+ * If all is well, N2 invokes the inter-node API transfer_custody on N1,
+ * presenting the keys of top-level entities to be transferred, K1…Kn, P2’s
+ * identity (using the publisher’s authorizedName), N2’s node identifier (as
+ * known in the Replication Configuration structure, see Section 7.5.2
+ * Configuration of a UDDI Node – operator element), and T. The transferToken,
+ * T, implies permission to transfer the entire content of the entities it
+ * identifies, including all of the contained entities and related
+ * publisherAssertions, if any. N1 checks to see whether T is a valid
+ * transferToken that it issued and that T represents the authority to transfer
+ * E1…En. If the validation is successful, N1 prevents further changes to
+ * entities E1…En. N1 then updates the authorizedName and nodeID of the
+ * operationalInfo of E1…En and related entities so that they are shown to be in
+ * the custody of N2 and owned by P2. Finally, N1 responds to N2 which triggers
+ * N2 to respond to the transfer_entities caller. This completes the processing
+ * for the transfer_entities request.
+ *
+ * In the case that the datum being transferred is a key generator tModel, N1
+ * will disallow further generation of keys associated with this key partition
+ * at its node.
+ *
+ * Following the issue of the empty message by N1 to the transfer_custody call,
+ * N1 will submit into the replication stream a changeRecordNewData providing in
+ * the operationalInfo, N2’s nodeID identifying it as the node where the datum
+ * is being transferred to, and the authorizedName of P2. The
+ * acknowledgmentRequested attribute of this change record MUST be set to
+ * "true".
+ *
+ * The last modified date timestamp in the operationalInfo must change to
+ * reflect the custody transfer. Figure 2 depicts the flow of a custody transfer
+ * between P1 and P2. This class was generated by the JAX-WS RI. JAX-WS RI
+ * 2.1.5-b03- Generated source version: 2.1
+ *
  */
 @WebService(name = "UDDI_CustodyTransfer_PortType", targetNamespace = "urn:uddi-org:v3_service")
 @XmlSeeAlso({
@@ -56,60 +255,272 @@ import org.uddi.custody_v3.TransferEntit
     org.uddi.policy_v3.ObjectFactory.class,
     org.uddi.policy_v3_instanceparms.ObjectFactory.class
 })
-public interface UDDICustodyTransferPortType extends Remote{
-
+public interface UDDICustodyTransferPortType extends Remote {
 
     /**
-     * 
-     * @param body
-     * @throws DispositionReportFaultMessage, RemoteException
+     * The discard_transferToken API is a client API used to discard a
+     * transferToken obtained through the get_transferToken API at the same
+     * node. This API accepts either a transferToken or a keyBag as parameters
+     * to remove the permission to transfer data associated with a particular
+     * transferToken. If a keyBag is provided, all tokens corresponding to the
+     * keys in the keyBag will be discarded and will no longer be valid for
+     * custody or ownership transfer after the discard_transferToken is
+     * processed, irrespective of whether the keys match any known business or
+     * tmodelKey values. In the event that the keyBag represents a subset of the
+     * keyBag for one or more transferToken elements, the transferToken is
+     * discarded and will no longer be valid for transferring any entity. If the
+     * token passed in the transferToken argument does not match an existing
+     * token known to the system, no action is taken and success is reported.
+     * Keys in the keyBag argument that do not have a corresponding token are
+     * ignored.
+     *
+     * @param body <p class="MsoBodyText"
+     * style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b><i>authInfo</i></b>: This OPTIONAL argument is an
+     * element that contains an authentication token.&nbsp; Authentication
+     * tokens are obtained using the get_authToken API call or through some
+     * other means external to this specification, and represent the identity of
+     * the publisher at a UDDI node.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b><i>transferToken</i></b>: This is a known transferToken
+     * obtained by a publisher at the node where the get_transferToken API was
+     * invoked.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b><i>keyBag</i></b>: One or more uddiKeys associated
+     * either with businessEntity or tModel entities owned by the publisher that
+     * were to be transferred to some other publisher and/or node in the
+     * registry as the result of invocation of get_transferToken.&nbsp; At least
+     * one businessKey or tModelKey must be provided in a keyBag.</p>
+     * @return Upon successful completion, an empty message is returned. See
+     * section 4.8 Success and Error Reporting.
+     *
+     * No error will be reported if the transferToken provided in the call does
+     * not match an existing token. No error will be reported if a token is not
+     * found for a particular key in the keyBag.
+     * @throws DispositionReportFaultMessage
+     * @throws RemoteException <p class="MsoBodyText">If an error occurs in
+     * processing this API call, a dispositionReport structure MUST be returned
+     * to the caller in a SOAP Fault. See Section <a href="#_Ref8979716
+     * ">4.8</a> <i>Success and Error Reporting.&nbsp; </i>In addition to the
+     * errors common to all APIs, the following error information is relevant
+     * here: </p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·</span><span
+     * style="font-size:7.0pt;font-family: &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span><b>E_invalidKeyPassed</b>: signifies that one of the
+     * <i>uddiKey</i> values passed for entities to be transferred did not match
+     * with any known businessKey or tModelKey values.&nbsp; The key and element
+     * or attribute that caused the problem SHOULD be clearly indicated in the
+     * error text.</p>
      */
     @WebMethod(operationName = "discard_transferToken", action = "discard_transferToken")
     @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
     public void discardTransferToken(
-        @WebParam(name = "discard_transferToken", targetNamespace = "urn:uddi-org:custody_v3", partName = "body")
-        DiscardTransferToken body)
-        throws DispositionReportFaultMessage, RemoteException
-    ;
+            @WebParam(name = "discard_transferToken", targetNamespace = "urn:uddi-org:custody_v3", partName = "body") DiscardTransferToken body)
+            throws DispositionReportFaultMessage, RemoteException;
 
     /**
-     * 
-     * @param nodeID
-     * @param opaqueToken
-     * @param keyBag
-     * @param expirationTime
-     * @param authInfo
-     * @throws DispositionReportFaultMessage, RemoteException
+     * The get_transferToken API is a client API used to initiate the transfer
+     * of custody of one or more businessEntity or tModel entities from one node
+     * to another. As previously stated, the two nodes may or may not be
+     * distinct; intra-node transfer between two publishers is simply a
+     * degenerate case in which node custody does not change. No actual transfer
+     * takes place with the invocation of this API. Instead, this API obtains
+     * permission from the custodial node, in the form of a transferToken, to
+     * perform the transfer. The publisher who will be recipient of the
+     * transferToken returned by this API must invoke the transfer_entities API
+     * on the target custodial node to actually transfer the entities.
+     *
+     * @param authInfo · authInfo: This OPTIONAL argument is an element that
+     * contains an authentication token. Authentication tokens are obtained
+     * using the get_authToken API call or through some other means external to
+     * this specification and represent the identity of the publisher at a UDDI
+     * node.
+     * @param keyBag keyBag: One or more key (of type uddi:uddiKey) associated
+     * either with businessEntity or tModel entities owned by the publisher that
+     * are to be transferred to some other publisher and/or node in the
+     * registry. At least one businessKey or tModelKey must be provided.
+     * @param nodeID this is a return value. The transfer token consists of a
+     * nodeID, an expirationTime and an opaqueToken. The nodeID is used during
+     * the transfer_entities API by the recipient node to confirm with the
+     * relinquishing custodial node that the custody transfer is authorized and
+     * still valid. The nodeID of the transferToken is the value of the nodeID
+     * element of the Replication Configuration Structure. Refer to Section
+     * 7.5.2 Configuration of a UDDI Node – operator Element.
+     * @param expirationTime this is a return value. The expirationTime, defined
+     * as xsd:dateTime, represents the time at which the transfer token is no
+     * longer valid.
+     * @param opaqueToken this is a return value. The opaqueToken is only
+     * meaningful to the node that issues it. The opaqueToken is defined as
+     * xsd:base64Binary to allow for a RECOMMENDED encryption of the token under
+     * the relinquishing custody node’s own encryption key.
+     * @throws DispositionReportFaultMessage
+     * @throws RemoteException <p class="MsoBodyText">If an error occurs in
+     * processing this API call, a dispositionReport structure MUST be returned
+     * to the caller in a SOAP Fault. See section <a href="#_Ref8979716
+     * ">4.8</a> <i>Success and Error Reporting.&nbsp; </i>In addition to the
+     * errors common to all APIs, the following error information is relevant
+     * here: </p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_invalidKeyPassed</b>: signifies that one of the
+     * <i>uddiKey</i> values passed for entities to be transferred did not match
+     * with any known businessKey or tModelKey values.&nbsp; The key and element
+     * or attribute that caused the problem SHOULD be clearly indicated in the
+     * error text.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_tokenAlreadyExists</b>: signifies that one or more of
+     * the businessKey or tModelKey elements that identify entities to be
+     * transferred are associated with a transferToken that is still valid and
+     * has not been discarded, used or expired.&nbsp; The error text SHOULD
+     * clearly indicate which entity keys caused the error.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_userMismatch</b>: signifies that one or more of the
+     * businessKey or tModelKey elements that identify entities to be
+     * transferred are not owned by the publisher identified by the
+     * <i>authInfo</i> element.&nbsp; The error text SHOULD clearly indicate
+     * which entity keys caused the error</p>
      */
     @WebMethod(operationName = "get_transferToken", action = "get_transferToken")
     @RequestWrapper(localName = "get_transferToken", targetNamespace = "urn:uddi-org:custody_v3", className = "org.uddi.custody_v3.GetTransferToken")
     @ResponseWrapper(localName = "transferToken", targetNamespace = "urn:uddi-org:custody_v3", className = "org.uddi.custody_v3.TransferToken")
     public void getTransferToken(
-        @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3")
-        String authInfo,
-        @WebParam(name = "keyBag", targetNamespace = "urn:uddi-org:custody_v3")
-        KeyBag keyBag,
-        @WebParam(name = "nodeID", targetNamespace = "urn:uddi-org:api_v3", mode = WebParam.Mode.OUT)
-        Holder<String> nodeID,
-        @WebParam(name = "expirationTime", targetNamespace = "urn:uddi-org:custody_v3", mode = WebParam.Mode.OUT)
-        Holder<XMLGregorianCalendar> expirationTime,
-        @WebParam(name = "opaqueToken", targetNamespace = "urn:uddi-org:custody_v3", mode = WebParam.Mode.OUT)
-        Holder<byte[]> opaqueToken)
-        throws DispositionReportFaultMessage, RemoteException
-    ;
+            @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo,
+            @WebParam(name = "keyBag", targetNamespace = "urn:uddi-org:custody_v3") KeyBag keyBag,
+            @WebParam(name = "nodeID", targetNamespace = "urn:uddi-org:api_v3", mode = WebParam.Mode.OUT) Holder<String> nodeID,
+            @WebParam(name = "expirationTime", targetNamespace = "urn:uddi-org:custody_v3", mode = WebParam.Mode.OUT) Holder<XMLGregorianCalendar> expirationTime,
+            @WebParam(name = "opaqueToken", targetNamespace = "urn:uddi-org:custody_v3", mode = WebParam.Mode.OUT) Holder<byte[]> opaqueToken)
+            throws DispositionReportFaultMessage, RemoteException;
 
     /**
-     * 
-     * @param body
-     * @throws DispositionReportFaultMessage, RemoteException
+     * The transfer_entities API is used by publishers to whom custody is being
+     * transferred to actually perform the transfer. The recipient publisher
+     * must have an unexpired transferToken that was issued by the custodial
+     * node for the entities being transferred.
+     *
+     * @param body authInfo: This OPTIONAL argument is an element that contains
+     * an authentication token. Authentication tokens are obtained using the
+     * get_authToken API call or through some other means external to this
+     * specification, and represent the identity of the publisher at a UDDI
+     * node, in this case, the new owner of the entities being transferred.
+     *
+     * · transferToken: Required argument obtained from the custodial node via a
+     * call to get_transferToken by the publisher requesting a transfer of
+     * custody. The transferToken contains an opaque token, an expiration date,
+     * and the identity of the custodial node. The transferToken represents
+     * permission to transfer the entities that have been identified via a prior
+     * call to the get_transferToken API.
+     *
+     * · keyBag: One or more uddiKeys associated with businessEntity or tModel
+     * entities that are to be transferred to this publisher at the target node
+     * in the registry. The set of keys must be the same as the set of keys in
+     * the keyBag of the get_transferToken API call from which the given
+     * transferToken was once obtained.
+     * @return <p class="MsoBodyText">The target node responds to this API by
+     * performing the transfer operation.&nbsp; This operation is comprised of
+     * four steps:</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span>Verification that the entity keys are valid.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span>Verification that ownership of the entities by the
+     * recipient publisher is allowed and would not violate any policies at the
+     * target node related to publisher limits.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span>Verification with the custodial node that the transfer of
+     * the designated entities is allowed.&nbsp; This is accomplished by
+     * invoking transfer_custody on the custodial node that is identified by the
+     * nodeID element in the transferToken.&nbsp; Any errors returned by the
+     * custodial node cause this API to fail and are propagated to the
+     * caller.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span>Changing custody and ownership of the designated entities
+     * and entering these changes into the replication stream.</p>
+     *
+     * <p class="MsoBodyText">Upon successful completion, an empty message is
+     * returned indicating the success of the transfer operation. In the case of
+     * an inter-node custody transfer, while the transfer is in process, the
+     * entities being transferred are not available for modification. To
+     * determine the state of the data, UDDI clients can use the
+     * get_operationalInfo API to determine when custody and ownership transfer
+     * has taken place. A change in the nodeID of the operationalInfo provides
+     * such an indication.</p>
+     * @throws DispositionReportFaultMessage, RemoteException <p
+     * class="MsoBodyText">If an error occurs in processing this API call, a
+     * dispositionReport structure MUST be returned to the caller in a SOAP
+     * Fault. See Section <a href="#_Ref8979732 ">4.8</a> <i>Success and Error
+     * Reporting.&nbsp; </i>In addition to the errors common to all APIs, the
+     * following error information is relevant here:</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_accountLimitExceeded</b>: signifies that the target
+     * node has determined that the transfer of custody of the identified
+     * entities would result in the target publisher exceeding policy limits for
+     * the number of owned entities.&nbsp; The error text SHOULD clearly
+     * indicate which entities cause the publishers limits to be exceeded. It is
+     * possible for a publisher to come into possession of more data than the
+     * target node’s policy allows. The condition and node behavior under these
+     * circumstances are described in Section <a href="#_Ref11680087
+     * ">5.4.3</a><i>Transfer Execution.</i></p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_invalidKeyPassed</b>: signifies that one of the
+     * <i>uddiKey</i> values passed for entities to be transferred did not match
+     * with any known businessKey or tModelKey values.&nbsp; The key and element
+     * or attribute that caused the problem SHOULD be clearly indicated in the
+     * error text.</p>
+     *
+     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span
+     * style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New
+     * Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+     * </span></span><b>E_transferNotAllowed</b>: signifies that the transfer of
+     * one or more entities has been rejected by the target node or the
+     * custodial node.&nbsp; Reasons for rejection include expiration of the
+     * transferToken, use of an invalid transferToken, and attempts to transfer
+     * a set of entities that does not match the one represented by the
+     * transferToken. The reason for rejecting the custody transfer SHOULD be
+     * clearly indicated in the error text.</p>
+     *
+     * <span
+     * style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"></span>
      */
     @WebMethod(operationName = "transfer_entities", action = "transfer_entities")
     @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
     public void transferEntities(
-        @WebParam(name = "transfer_entities", targetNamespace = "urn:uddi-org:custody_v3", partName = "body")
-        TransferEntities body)
-        throws DispositionReportFaultMessage, RemoteException
-    ;
-
+            @WebParam(name = "transfer_entities", targetNamespace = "urn:uddi-org:custody_v3", partName = "body") TransferEntities body)
+            throws DispositionReportFaultMessage, RemoteException;
 }
 
\ No newline at end of file



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