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/12/07 00:39:12 UTC

svn commit: r1548758 [1/3] - in /juddi/branches/juddi-3.3.x: juddi-client.net/example/AspnetServiceLifeCycle/ juddi-client.net/example/WcfServiceLifeCycle/ juddi-client.net/juddi-client.net-integration.test/resource/ juddi-client.net/juddi-client.net-s...

Author: alexoree
Date: Fri Dec  6 23:39:10 2013
New Revision: 1548758

URL: http://svn.apache.org/r1548758
Log:
JUDDI-737 done
JUDDI-738 done
JUDDI-198 adding base code and starting test procedures
JUDDI-739 fixed

Added:
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValuesFromWebService.java
    juddi/branches/juddi-3.3.x/uddi-tck/src/test/java/org/apache/juddi/v3/tck/JUDDI_020_RESTIntergrationTest.java
Modified:
    juddi/branches/juddi-3.3.x/juddi-client.net/example/AspnetServiceLifeCycle/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/example/WcfServiceLifeCycle/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi-autoregAnnotations.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigfile.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigwinstore.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-sample/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net.test/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/uddi-client.cs
    juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java
    juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
    juddi/branches/juddi-3.3.x/juddi-client/src/main/resources/xsd/uddi-client.xsd
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback1.xml
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback2.xml
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback3.xml
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi2.xml
    juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml
    juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/validation/ValidateValueSetValidation.java
    juddi/branches/juddi-3.3.x/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml
    juddi/branches/juddi-3.3.x/juddi-core/src/main/resources/messages.properties
    juddi/branches/juddi-3.3.x/juddi-core/src/test/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/create-partition/src/main/resources/META-INF/partition-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/hello-world-embedded/src/main/resources/META-INF/embedded-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/hello-world/src/main/resources/META-INF/hello-world-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/more-uddi-samples/src/main/resources/META-INF/simple-publish-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/service-version/src/main/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/simple-browse/src/main/resources/META-INF/simple-browse-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/simple-publish/src/main/resources/META-INF/simple-publish-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/uddi-annotations/src/main/resources/META-INF/sales-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/uddi-annotations/src/main/resources/META-INF/uddi-annotations.xml
    juddi/branches/juddi-3.3.x/juddi-examples/wsdl2uddi-lifecyle/src/main/resources/META-INF/wsdl2uddi-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-examples/wsdl2uddi/src/main/resources/META-INF/wsdl2uddi-uddi.xml
    juddi/branches/juddi-3.3.x/juddi-gui/src/main/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-gui/src/main/webapp/businessEditor2.jsp
    juddi/branches/juddi-3.3.x/juddi-migration-tool/src/main/resources/uddi.xml
    juddi/branches/juddi-3.3.x/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java
    juddi/branches/juddi-3.3.x/juddiv3-war/JAX-WS/CXF/WEB-INF/beans.xml
    juddi/branches/juddi-3.3.x/juddiv3-war/src/main/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/qa/juddi-xlt/src/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
    juddi/branches/juddi-3.3.x/uddi-tck/src/main/resources/META-INF/uddi.xml
    juddi/branches/juddi-3.3.x/uddi-ws/src/main/java/org/uddi/api_v3/TModel.java

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/example/AspnetServiceLifeCycle/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/example/AspnetServiceLifeCycle/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/example/AspnetServiceLifeCycle/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/example/AspnetServiceLifeCycle/uddi.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/example/WcfServiceLifeCycle/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/example/WcfServiceLifeCycle/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/example/WcfServiceLifeCycle/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/example/WcfServiceLifeCycle/uddi.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi-autoregAnnotations.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi-autoregAnnotations.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi-autoregAnnotations.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi-autoregAnnotations.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddi.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigfile.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigfile.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigfile.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigfile.xml Fri Dec  6 23:39:10 2013
@@ -20,6 +20,7 @@
 
         <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigwinstore.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigwinstore.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigwinstore.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-integration.test/resource/uddisigwinstore.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-sample/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-sample/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-sample/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net-sample/uddi.xml Fri Dec  6 23:39:10 2013
@@ -26,6 +26,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net.test/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net.test/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net.test/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net.test/uddi.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
         <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
         <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
+		<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
         <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
         <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
         <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/uddi-client.cs
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/uddi-client.cs?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/uddi-client.cs (original)
+++ juddi/branches/juddi-3.3.x/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/uddi-client.cs Fri Dec  6 23:39:10 2013
@@ -152,6 +152,8 @@ namespace org.apache.juddi.v3.client.con
         
         private string inquiryUrlField;
         
+        private string inquiryRESTUrlField;
+        
         private string publishUrlField;
         
         private string securityUrlField;
@@ -234,6 +236,16 @@ namespace org.apache.juddi.v3.client.con
         }
         
         /// <remarks/>
+        public string inquiryRESTUrl {
+            get {
+                return this.inquiryRESTUrlField;
+            }
+            set {
+                this.inquiryRESTUrlField = value;
+            }
+        }
+        
+        /// <remarks/>
         public string publishUrl {
             get {
                 return this.publishUrlField;
@@ -871,7 +883,7 @@ namespace org.apache.juddi.v3.client.con
         
         public uddiClientSignature() {
             this.canonicalizationMethodField = "http://www.w3.org/2001/10/xml-exc-c14n#";
-            this.signatureMethodField = "RSA_SHA1";
+            this.signatureMethodField = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
             this.xML_DIGSIG_NSField = "http://www.w3.org/2000/09/xmldsig#";
             this.checkTimestampsField = true;
             this.checkTrustField = true;

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/UDDIConstants.java Fri Dec  6 23:39:10 2013
@@ -564,9 +564,18 @@ public interface UDDIConstants {
     /**
      * Category system used to point a value set or category group system tModel
      * to associated value set Web service implementations.
+     * used for keyedReference tmodel key<br>
+     * hint: use the ValueSetValidation binding template key as the value
      */
     public static String IS_VALIDATED_BY = "uddi:uddi.org:categorization:validatedby";
     /**
+     * Category system used to point a value set or category group system tModel
+     * to associated value set Web service implementations.
+     * used for keyedReference key name<br>
+     * hint: use the ValueSetValidation binding template key as the value
+     */
+    public static String IS_VALIDATED_BY_KEY_NAME = "uddi-org:validatedBy";
+    /**
      * Category system for referring tModels to other tModels for the purpose of
      * reuse.
      */

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java Fri Dec  6 23:39:10 2013
@@ -242,6 +242,7 @@ public class ClientConfig 
 			uddiNode.setDescription(            TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").description"),properties));
 			uddiNode.setProxyTransport(         TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").proxyTransport"),properties));
 			uddiNode.setInquiryUrl(             TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").inquiryUrl"),properties));
+                        uddiNode.setInquiryRESTUrl(             TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").inquiryRESTUrl"),properties));
 			uddiNode.setPublishUrl(             TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").publishUrl"),properties));
 			uddiNode.setCustodyTransferUrl(     TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").custodyTransferUrl"),properties));
 			uddiNode.setSecurityUrl(            TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i +").securityUrl"),properties));

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDINode.java Fri Dec  6 23:39:10 2013
@@ -36,6 +36,7 @@ public class UDDINode implements Seriali
 	private String description;
 	private String custodyTransferUrl;
 	private String inquiryUrl;
+        private String inquiryRESTUrl;
 	private String publishUrl;
 	private String securityUrl;
 	private String subscriptionUrl;
@@ -58,6 +59,7 @@ public class UDDINode implements Seriali
 		description = node.getDescription();
 		custodyTransferUrl = node.getCustodyTransferUrl();
 		inquiryUrl = node.getInquiryUrl();
+                //TODO inquiryRESTUrl = node.getInquiryRESTUrl();
 		publishUrl = node.getPublishUrl();
 		securityUrl = node.getSecurityUrl();
 		subscriptionUrl = node.getSubscriptionUrl();
@@ -85,6 +87,7 @@ public class UDDINode implements Seriali
 		apiNode.setFactoryNamingProvider(factoryNamingProvider);
 		apiNode.setFactoryURLPkgs(factoryURLPkgs);
 		apiNode.setInquiryUrl(inquiryUrl);
+                //apiNode.setInquiryRESTUrl(name);
 		apiNode.setJuddiApiUrl(juddiApiUrl);
 		apiNode.setClientName(clientName);
 		apiNode.setName(name);
@@ -144,6 +147,23 @@ public class UDDINode implements Seriali
 	public String getInquiryUrl() {
 		return inquiryUrl;
 	}
+        
+        /**
+         * used ONLY for jUDDI's HTTP GET (REST) endpoint
+         * @since 3.2
+         * @param url 
+         */
+        public void setInquiryRESTUrl(String url){
+                this.inquiryRESTUrl = url;
+        }
+        /**
+         * used ONLY for jUDDI's HTTP GET (REST) endpoint
+         * @since 3.2
+         * @return 
+         */
+        public String getInquiry_REST_Url() {
+		return inquiryRESTUrl;
+	}
 
 	public void setInquiryUrl(String inquiryUrl) {
 		this.inquiryUrl = inquiryUrl;

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/main/resources/xsd/uddi-client.xsd
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/main/resources/xsd/uddi-client.xsd?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/main/resources/xsd/uddi-client.xsd (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/main/resources/xsd/uddi-client.xsd Fri Dec  6 23:39:10 2013
@@ -41,6 +41,8 @@
                           <xsd:element type="xsd:string" name="proxyTransport" />
                           <xsd:element type="xsd:string" name="custodyTransferUrl" />
                           <xsd:element type="xsd:string" name="inquiryUrl" />
+						  <xsd:element type="xsd:string" name="inquiryRESTUrl" />
+						  
                           <xsd:element type="xsd:string" name="publishUrl" />
                           <xsd:element type="xsd:string" name="securityUrl" />
                           <xsd:element type="xsd:string" name="subscriptionUrl" />

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback1.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback1.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback1.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback1.xml Fri Dec  6 23:39:10 2013
@@ -15,6 +15,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                 <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback2.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback2.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback2.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback2.xml Fri Dec  6 23:39:10 2013
@@ -15,6 +15,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                 <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback3.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback3.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback3.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi-subcallback3.xml Fri Dec  6 23:39:10 2013
@@ -15,6 +15,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                 <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi.xml Fri Dec  6 23:39:10 2013
@@ -20,6 +20,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                 <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi2.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi2.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi2.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi2.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
 				<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
 				<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
 				<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
 		        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
 		        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
 				<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
                 <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
                 <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
                 <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
                 <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/uddi.xml?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/uddi.xml (original)
+++ juddi/branches/juddi-3.3.x/juddi-core-openjpa/src/test/resources/META-INF/uddi.xml Fri Dec  6 23:39:10 2013
@@ -19,6 +19,7 @@
 				<proxyTransport>org.apache.juddi.v3.client.transport.InVMTransport</proxyTransport>
 				<custodyTransferUrl>org.apache.juddi.api.impl.UDDICustodyTransferImpl</custodyTransferUrl>
 				<inquiryUrl>org.apache.juddi.api.impl.UDDIInquiryImpl</inquiryUrl>
+				<inquiryRESTUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiryRest</inquiryRESTUrl>
 		        <publishUrl>org.apache.juddi.api.impl.UDDIPublicationImpl</publishUrl>
 		        <securityUrl>org.apache.juddi.api.impl.UDDISecurityImpl</securityUrl>
 				<subscriptionUrl>org.apache.juddi.api.impl.UDDISubscriptionImpl</subscriptionUrl>

Modified: juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java Fri Dec  6 23:39:10 2013
@@ -18,6 +18,7 @@ package org.apache.juddi.api.impl;
 
 import java.io.StringWriter;
 import java.rmi.RemoteException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -58,6 +59,8 @@ import org.apache.juddi.mapping.MappingM
 import org.apache.juddi.model.ClientSubscriptionInfo;
 import org.apache.juddi.model.Publisher;
 import org.apache.juddi.model.UddiEntityPublisher;
+import org.apache.juddi.model.ValueSetValue;
+import org.apache.juddi.model.ValueSetValues;
 import org.apache.juddi.subscription.NotificationList;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.v3.error.ErrorMessage;
@@ -69,8 +72,10 @@ import org.apache.juddi.validation.Valid
 import org.apache.juddi.validation.ValidateNode;
 import org.apache.juddi.validation.ValidatePublish;
 import org.apache.juddi.validation.ValidatePublisher;
+import org.apache.juddi.validation.ValidateValueSetValidation;
 import org.uddi.api_v3.DeleteTModel;
 import org.uddi.api_v3.DispositionReport;
+import org.uddi.api_v3.Result;
 import org.uddi.repl_v3.ReplicationConfiguration;
 import org.uddi.sub_v3.GetSubscriptionResults;
 import org.uddi.sub_v3.Subscription;
@@ -80,8 +85,10 @@ import org.uddi.v3_service.UDDISubscript
 
 /**
  * Implements the jUDDI API service
- * 
- * As of 3.3, this interface and implementation has significantly changed and is not backwards compatible.
+ *
+ * As of 3.3, this interface and implementation has significantly changed and is
+ * not backwards compatible.
+ *
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>
  * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
@@ -90,7 +97,7 @@ import org.uddi.v3_service.UDDISubscript
         endpointInterface = "org.apache.juddi.v3_service.JUDDIApiPortType",
         targetNamespace = "urn:juddi-apache-org:v3_service")
 public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortType {
-
+        
         private Log log = LogFactory.getLog(this.getClass());
 
         /**
@@ -100,35 +107,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public PublisherDetail savePublisher(SavePublisher body)
                 throws DispositionReportFaultMessage {
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidatePublish(publisher).validateSavePublisher(em, body);
-
+                        
                         PublisherDetail result = new PublisherDetail();
-
+                        
                         List<org.apache.juddi.api_v3.Publisher> apiPublisherList = body.getPublisher();
                         for (org.apache.juddi.api_v3.Publisher apiPublisher : apiPublisherList) {
-
+                                
                                 org.apache.juddi.model.Publisher modelPublisher = new org.apache.juddi.model.Publisher();
-
+                                
                                 MappingApiToModel.mapPublisher(apiPublisher, modelPublisher);
-
+                                
                                 Object existingUddiEntity = em.find(modelPublisher.getClass(), modelPublisher.getAuthorizedName());
                                 if (existingUddiEntity != null) {
                                         em.remove(existingUddiEntity);
                                 }
-
+                                
                                 em.persist(modelPublisher);
-
+                                
                                 result.getPublisher().add(apiPublisher);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -146,22 +153,22 @@ public class JUDDIApiImpl extends Authen
         @Override
         public void deletePublisher(DeletePublisher body)
                 throws DispositionReportFaultMessage {
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidatePublish(publisher).validateDeletePublisher(em, body);
-
+                        
                         List<String> entityKeyList = body.getPublisherId();
                         for (String entityKey : entityKeyList) {
                                 Object obj = em.find(org.apache.juddi.model.Publisher.class, entityKey);
                                 em.remove(obj);
                         }
-
+                        
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -178,18 +185,18 @@ public class JUDDIApiImpl extends Authen
         @Override
         public PublisherDetail getPublisherDetail(GetPublisherDetail body)
                 throws DispositionReportFaultMessage {
-
+                
                 new ValidatePublisher(null).validateGetPublisherDetail(body);
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         PublisherDetail result = new PublisherDetail();
-
+                        
                         List<String> publisherIdList = body.getPublisherId();
                         for (String publisherId : publisherIdList) {
                                 org.apache.juddi.model.Publisher modelPublisher = null;
@@ -200,14 +207,14 @@ public class JUDDIApiImpl extends Authen
                                 if (modelPublisher == null) {
                                         throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.PublisherNotFound", publisherId));
                                 }
-
+                                
                                 org.apache.juddi.api_v3.Publisher apiPublisher = new org.apache.juddi.api_v3.Publisher();
-
+                                
                                 MappingModelToApi.mapPublisher(modelPublisher, apiPublisher);
-
+                                
                                 result.getPublisher().add(apiPublisher);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -216,37 +223,37 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-
+                
         }
-
+        
         @SuppressWarnings("unchecked")
         @Override
         public PublisherDetail getAllPublisherDetail(GetAllPublisherDetail body)
                 throws DispositionReportFaultMessage {
-
+                
                 new ValidatePublisher(null).validateGetAllPublisherDetail(body);
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         PublisherDetail result = new PublisherDetail();
-
+                        
                         Query query = em.createQuery("SELECT p from Publisher as p");
                         List<Publisher> modelPublisherList = query.getResultList();
-
+                        
                         for (Publisher modelPublisher : modelPublisherList) {
-
+                                
                                 org.apache.juddi.api_v3.Publisher apiPublisher = new org.apache.juddi.api_v3.Publisher();
-
+                                
                                 MappingModelToApi.mapPublisher(modelPublisher, apiPublisher);
-
+                                
                                 result.getPublisher().add(apiPublisher);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -256,26 +263,26 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-
+        
         @Override
         public void adminDeleteTModel(DeleteTModel body) throws DispositionReportFaultMessage {
-        
-
+                
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidatePublish(publisher).validateAdminDeleteTModel(em, body);
-
+                        
                         List<String> entityKeyList = body.getTModelKey();
                         for (String entityKey : entityKeyList) {
                                 Object obj = em.find(org.apache.juddi.model.Tmodel.class, entityKey);
                                 em.remove(obj);
                         }
-
+                        
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -284,26 +291,26 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-
+        
         @Override
         public void deleteClientSubscriptionInfo(DeleteClientSubscriptionInfo body)
                 throws DispositionReportFaultMessage {
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidateClientSubscriptionInfo(publisher).validateDeleteClientSubscriptionInfo(em, body);
-
+                        
                         List<String> entityKeyList = body.getSubscriptionKey();
                         for (String entityKey : entityKeyList) {
                                 Object obj = em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, entityKey);
                                 em.remove(obj);
                         }
-
+                        
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -311,9 +318,9 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-
+                
         }
-
+        
         @Override
         public ClientSubscriptionInfoDetail saveClientSubscriptionInfo(SaveClientSubscriptionInfo body)
                 throws DispositionReportFaultMessage {
@@ -321,30 +328,30 @@ public class JUDDIApiImpl extends Authen
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidateClientSubscriptionInfo(publisher).validateSaveClientSubscriptionInfo(em, body);
-
+                        
                         ClientSubscriptionInfoDetail result = new ClientSubscriptionInfoDetail();
-
+                        
                         List<org.apache.juddi.api_v3.ClientSubscriptionInfo> apiClientSubscriptionInfoList = body.getClientSubscriptionInfo();
                         for (org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo : apiClientSubscriptionInfoList) {
-
+                                
                                 org.apache.juddi.model.ClientSubscriptionInfo modelClientSubscriptionInfo = new org.apache.juddi.model.ClientSubscriptionInfo();
-
+                                
                                 MappingApiToModel.mapClientSubscriptionInfo(apiClientSubscriptionInfo, modelClientSubscriptionInfo);
-
+                                
                                 Object existingUddiEntity = em.find(modelClientSubscriptionInfo.getClass(), modelClientSubscriptionInfo.getSubscriptionKey());
                                 if (existingUddiEntity != null) {
                                         em.remove(existingUddiEntity);
                                 }
-
+                                
                                 em.persist(modelClientSubscriptionInfo);
-
+                                
                                 result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -354,38 +361,39 @@ public class JUDDIApiImpl extends Authen
                         em.close();
                 }
         }
-
+        
         @SuppressWarnings("unchecked")
         @Override
         public List<SubscriptionWrapper> getAllClientSubscriptionInfo(String authInfo) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
+
         private ClientSubscriptionInfoDetail getAllClientSubscriptionInfoDetail(String authinfo)
                 throws DispositionReportFaultMessage {
-
+                
                 new ValidateClientSubscriptionInfo(null).validateGetAllClientSubscriptionDetail(authinfo);
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
-                        this.getEntityPublisher(em,authinfo);
-
+                        
+                        this.getEntityPublisher(em, authinfo);
+                        
                         ClientSubscriptionInfoDetail result = new ClientSubscriptionInfoDetail();
-
+                        
                         Query query = em.createQuery("SELECT cs from ClientSubscriptionInfo as cs");
                         List<org.apache.juddi.model.ClientSubscriptionInfo> modelClientSubscriptionInfoList = query.getResultList();
-
+                        
                         for (ClientSubscriptionInfo modelClientSubscriptionInfo : modelClientSubscriptionInfoList) {
-
+                                
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo = new org.apache.juddi.api_v3.ClientSubscriptionInfo();
-
+                                
                                 MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo);
-
+                                
                                 result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -394,32 +402,32 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-
+                
         }
 
         /**
          * Retrieves clientSubscriptionKey(s) from the persistence layer. This
          * method is specific to jUDDI.
-         * 
+         *
          * This is in a test case, but not exposed as a web service
          */
-        public ClientSubscriptionInfoDetail getClientSubscriptionInfoDetail(String authinfo,  List<String>  key)
+        public ClientSubscriptionInfoDetail getClientSubscriptionInfoDetail(String authinfo, List<String> key)
                 throws DispositionReportFaultMessage {
-
-               new ValidateClientSubscriptionInfo(null).validateGetClientSubscriptionInfoDetail( authinfo,  key);
-
+                
+                new ValidateClientSubscriptionInfo(null).validateGetClientSubscriptionInfoDetail(authinfo, key);
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         this.getEntityPublisher(em, authinfo);
-
+                        
                         ClientSubscriptionInfoDetail result = new ClientSubscriptionInfoDetail();
-
+                        
                         List<String> subscriptionKeyList = key;
                         for (String subscriptionKey : subscriptionKeyList) {
-
+                                
                                 org.apache.juddi.model.ClientSubscriptionInfo modelClientSubscriptionInfo = null;
                                 try {
                                         modelClientSubscriptionInfo = em.find(org.apache.juddi.model.ClientSubscriptionInfo.class, subscriptionKey);
@@ -428,14 +436,14 @@ public class JUDDIApiImpl extends Authen
                                 if (modelClientSubscriptionInfo == null) {
                                         throw new InvalidKeyPassedException(new ErrorMessage("errors.invalidkey.SubscripKeyNotFound", subscriptionKey));
                                 }
-
+                                
                                 org.apache.juddi.api_v3.ClientSubscriptionInfo apiClientSubscriptionInfo = new org.apache.juddi.api_v3.ClientSubscriptionInfo();
-
+                                
                                 MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo);
-
+                                
                                 result.getClientSubscriptionInfo().add(apiClientSubscriptionInfo);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -444,7 +452,7 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-
+                
         }
 
         /**
@@ -454,35 +462,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public ClerkDetail saveClerk(SaveClerkInfo body)
                 throws DispositionReportFaultMessage {
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidateClerk(publisher).validateSaveClerk(em, body);
-
+                        
                         ClerkDetail result = new ClerkDetail();
-
+                        
                         List<org.apache.juddi.api_v3.Clerk> apiClerkList = body.getClerk();;
                         for (org.apache.juddi.api_v3.Clerk apiClerk : apiClerkList) {
-
+                                
                                 org.apache.juddi.model.Clerk modelClerk = new org.apache.juddi.model.Clerk();
-
+                                
                                 MappingApiToModel.mapClerk(apiClerk, modelClerk);
-
+                                
                                 Object existingUddiEntity = em.find(modelClerk.getClass(), modelClerk.getClerkName());
                                 if (existingUddiEntity != null) {
                                         em.merge(modelClerk);
                                 } else {
                                         em.persist(modelClerk);
                                 }
-
+                                
                                 result.getClerk().add(apiClerk);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -500,35 +508,35 @@ public class JUDDIApiImpl extends Authen
         @Override
         public NodeDetail saveNode(SaveNodeInfo body)
                 throws DispositionReportFaultMessage {
-
+                
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, body.getAuthInfo());
-
+                        
                         new ValidateNode(publisher).validateSaveNode(em, body);
-
+                        
                         NodeDetail result = new NodeDetail();
-
+                        
                         List<org.apache.juddi.api_v3.Node> apiNodeList = body.getNode();;
                         for (org.apache.juddi.api_v3.Node apiNode : apiNodeList) {
-
+                                
                                 org.apache.juddi.model.Node modelNode = new org.apache.juddi.model.Node();
-
+                                
                                 MappingApiToModel.mapNode(apiNode, modelNode);
-
+                                
                                 Object existingUddiEntity = em.find(modelNode.getClass(), modelNode.getName());
                                 if (existingUddiEntity != null) {
                                         em.merge(modelNode);
                                 } else {
                                         em.persist(modelNode);
                                 }
-
+                                
                                 result.getNode().add(apiNode);
                         }
-
+                        
                         tx.commit();
                         return result;
                 } finally {
@@ -546,19 +554,19 @@ public class JUDDIApiImpl extends Authen
         @SuppressWarnings("unchecked")
         @Override
         public SyncSubscriptionDetail invokeSyncSubscription(
-               SyncSubscription body) throws DispositionReportFaultMessage {
+                SyncSubscription body) throws DispositionReportFaultMessage {
 
                 //validate
 
                 SyncSubscriptionDetail syncSubscriptionDetail = new SyncSubscriptionDetail();
-
+                
                 Map<String, org.apache.juddi.api_v3.ClientSubscriptionInfo> clientSubscriptionInfoMap = new HashMap<String, org.apache.juddi.api_v3.ClientSubscriptionInfo>();
                 //find the clerks to go with these subscriptions
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
                 try {
                         tx.begin();
-
+                        
                         this.getEntityPublisher(em, body.getAuthInfo());
                         for (GetSubscriptionResults getSubscriptionResult : body.getList()) {
                                 String subscriptionKey = getSubscriptionResult.getSubscriptionKey();
@@ -574,7 +582,7 @@ public class JUDDIApiImpl extends Authen
                                 MappingModelToApi.mapClientSubscriptionInfo(modelClientSubscriptionInfo, apiClientSubscriptionInfo);
                                 clientSubscriptionInfoMap.put(apiClientSubscriptionInfo.getSubscriptionKey(), apiClientSubscriptionInfo);
                         }
-
+                        
                         tx.commit();
                 } finally {
                         if (tx.isActive()) {
@@ -582,7 +590,7 @@ public class JUDDIApiImpl extends Authen
                         }
                         em.close();
                 }
-
+                
                 for (GetSubscriptionResults getSubscriptionResult : body.getList()) {
                         try {
                                 String subscriptionKey = getSubscriptionResult.getSubscriptionKey();
@@ -593,20 +601,20 @@ public class JUDDIApiImpl extends Authen
                                 Transport transport = (Transport) transportClass.getConstructor(String.class).newInstance(fromClerk.getNode().getName());
                                 UDDISubscriptionPortType subscriptionService = transport.getUDDISubscriptionService(fromClerk.getNode().getSubscriptionUrl());
                                 SubscriptionResultsList listr = subscriptionService.getSubscriptionResults(getSubscriptionResult);
-
+                                
                                 JAXBContext context = JAXBContext.newInstance(listr.getClass());
                                 Marshaller marshaller = context.createMarshaller();
                                 StringWriter sw = new StringWriter();
                                 marshaller.marshal(listr, sw);
-
+                                
                                 log.info("Notification received by UDDISubscriptionListenerService : " + sw.toString());
-
+                                
                                 NotificationList<String> nl = NotificationList.getInstance();
                                 nl.getNotifications().add(sw.toString());
 
                                 //update the registry with the notification list.
                                 XRegisterHelper.handle(fromClerk, toClerk, listr);
-
+                                
                                 syncSubscriptionDetail.getList().add(listr);
                         } catch (Exception ce) {
                                 log.error(ce.getMessage(), ce);
@@ -614,7 +622,7 @@ public class JUDDIApiImpl extends Authen
                                         throw (DispositionReportFaultMessage) ce;
                                 }
                                 if (ce instanceof RemoteException) {
-                                        DispositionReportFaultMessage x = new FatalErrorException(new ErrorMessage("errors.subscriptionnotifier.client",ce.getMessage()));
+                                        DispositionReportFaultMessage x = new FatalErrorException(new ErrorMessage("errors.subscriptionnotifier.client", ce.getMessage()));
                                         throw x;
                                 }
                         }
@@ -623,69 +631,109 @@ public class JUDDIApiImpl extends Authen
 
                 return syncSubscriptionDetail;
         }
-
-       
         
-
-        
-
         @Override
         public List<Node> getAllNodes(String authInfo) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public List<Clerk> getAllClerks(String authInfo) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public DispositionReport deleteNode(String authInfo, String nodeID) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public DispositionReport deleteClerk(String authInfo, String clerkID) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public DispositionReport adminSaveBusiness(String authInfo, List<AdminSaveBusinessWrapper> values) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public DispositionReport adminSaveTModel(String authInfo, List<AdminSaveTModelWrapper> values) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public ReplicationConfiguration getReplicationNodes(String authInfo) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public DispositionReport setReplicationNodes(String authInfo, ReplicationConfiguration replicationConfiguration) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-     
-
+        
+        /**
+         * enables tmodel owners to setup valid values for tmodel instance infos
+         * to use, TODO
+         * @param authInfo
+         * @param values
+         * @return
+         * @throws DispositionReportFaultMessage 
+         */
         @Override
         public DispositionReport setAllValidValues(String authInfo, List<ValidValues> values) throws DispositionReportFaultMessage {
-                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
-        }
+                
+                EntityManager em = PersistenceManager.getEntityManager();
+                UddiEntityPublisher entityPublisher = getEntityPublisher(em, authInfo);
+                
+                new ValidateValueSetValidation(entityPublisher).validateSetAllValidValues(values);
+                
+                
+                EntityTransaction tx = em.getTransaction();
+                try {
+
+                        //TODO is this tModel used anywhere, if so, validate all instances against the new rule?
+                        
+                        tx.begin();
+                        
+                        for (int i = 0; i < values.size(); i++) {
+                                //remove any existing references to the key
+                                Query createQuery = em.createQuery("DELETE FROM j3_valuesetval where j3_tmodelkey=?1; "
+                                                            + "DELETE FROM j3_valuesets where j3_tmodelkey=?2; ");
+                                createQuery.setParameter(1,values.get(i).getTModekKey() );
+                                createQuery.setParameter(2,values.get(i).getTModekKey() );
+                                createQuery.executeUpdate();
 
+                                //insert our new records
+                                org.apache.juddi.model.ValueSetValues vv = new ValueSetValues();
+                                vv.setTModelKey(values.get(i).getTModekKey());
+                                List<ValueSetValue> items = new ArrayList<ValueSetValue>();
+                                for (int k = 0; k < values.get(i).getValue().size(); k++) {
+                                        items.add(new org.apache.juddi.model.ValueSetValue(values.get(i).getTModekKey(), values.get(i).getValue().get(k)));
+                                }
+                                vv.setValues(items);
+                                em.persist(vv);
+                        }
+                        
+                        tx.commit();
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
+                DispositionReport r = new DispositionReport();
+                r.getResult().add(new Result());
+                return r;
+        }
+        
         @Override
         public void adminDeleteSubscription(String authInfo, List<String> subscriptionKey) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
+        
         @Override
         public void adminSaveSubscription(String authInfo, String publisherOrUsername, List<Subscription> subscriptions) throws DispositionReportFaultMessage {
                 throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
         }
-
-        
-
-
 }

Modified: juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java?rev=1548758&r1=1548757&r2=1548758&view=diff
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java (original)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIValueSetValidationImpl.java Fri Dec  6 23:39:10 2013
@@ -14,18 +14,32 @@
  * limitations under the License.
  *
  */
-
 package org.apache.juddi.api.impl;
 
-import javax.jws.WebService;
+import java.util.ArrayList;
+import java.util.List;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityTransaction;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.api.util.QueryStatus;
-import org.apache.juddi.api.util.ValueSetCachingQuery;
 import org.apache.juddi.api.util.ValueSetValidationQuery;
-import org.apache.juddi.validation.ValidateValueSetValidation;
+import org.apache.juddi.config.PersistenceManager;
+import org.apache.juddi.model.ValueSetValues;
+import org.apache.juddi.v3.error.ErrorMessage;
+import org.apache.juddi.v3.error.InvalidValueException;
+import org.apache.juddi.v3.error.ValueNotAllowedException;
+import org.uddi.api_v3.BindingTemplate;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.BusinessService;
 import org.uddi.api_v3.DispositionReport;
+import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.KeyedReferenceGroup;
+import org.uddi.api_v3.PublisherAssertion;
+import org.uddi.api_v3.Result;
+import org.uddi.api_v3.TModel;
+import org.uddi.api_v3.TModelInstanceInfo;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 import org.uddi.v3_service.UDDIValueSetValidationPortType;
 import org.uddi.vs_v3.ValidateValues;
@@ -34,24 +48,216 @@ import org.uddi.vs_v3.ValidateValues;
 //			endpointInterface="org.uddi.v3_service.UDDIValueSetValidationPortType",
 //			targetNamespace = "urn:uddi-org:v3_service")
 public class UDDIValueSetValidationImpl extends AuthenticatedService implements
-		UDDIValueSetValidationPortType {
-        private static Log logger = LogFactory.getLog(UDDIValueSetValidationImpl.class);
+        UDDIValueSetValidationPortType {
 
         private UDDIServiceCounter serviceCounter;
 
         public UDDIValueSetValidationImpl() {
-            super();
-            serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
+                super();
+                serviceCounter = ServiceCounterLifecycleResource.getServiceCounter(this.getClass());
         }
-    
-	public DispositionReport validateValues(ValidateValues body)
-			throws DispositionReportFaultMessage {
-	        long startTime = System.currentTimeMillis();
+
+        @Override
+        public DispositionReport validateValues(ValidateValues body)
+                throws DispositionReportFaultMessage {
+                long startTime = System.currentTimeMillis();
                 long procTime = System.currentTimeMillis() - startTime;
-                serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES, 
+                serviceCounter.update(ValueSetValidationQuery.VALIDATE_VALUES,
                         QueryStatus.SUCCESS, procTime);
 
-		ValidateValueSetValidation.unsupportedAPICall();
-		return null;
-	}
+                /*
+                 * The UDDI node that is calling validate_values MUST pass one 
+                 * or more businessEntity elements, one or more businessService 
+                 * elements, one or more bindingTemplate elements, one or more 
+                 * tModel elements, or one or more publisherAssertion elements 
+                 * as the sole argument to this Web service. 
+                 * */
+
+
+                /* performs validation on all of the keyedReferences or keyedReferenceGroups */
+
+                /*when the entity being saved is a businessEntity, contained 
+                 * businessService and bindingTemplate entities may themselves 
+                 * reference values from the authorized value sets as well. */
+                validateValuesBT(body.getBindingTemplate(), "");
+                validateValuesBE(body.getBusinessEntity());
+                validateValuesBS(body.getBusinessService(), "");
+                validateValuesPA(body.getPublisherAssertion());
+                validateValuesTM(body.getTModel());
+
+                DispositionReport r = new DispositionReport();
+                r.getResult().add(new Result());
+                return r;
+        }
+
+        private void validateValuesBT(List<BindingTemplate> items, String xpath) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        if (items.get(i).getCategoryBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getCategoryBag().getKeyedReference(), xpath + "bindingTemplate(" + i + ").categoryBag.");
+                                validatedValuesKeyRefGrp(items.get(i).getCategoryBag().getKeyedReferenceGroup(), xpath + "bindingTemplate(" + i + ").categoryBag.");
+                        }
+                        if (items.get(i).getTModelInstanceDetails() != null) {
+
+                                validateTmodelInstanceDetails(items.get(i).getTModelInstanceDetails().getTModelInstanceInfo(), xpath + "bindingTemplate(" + i + ").tModelInstanceDetails.");
+                        }
+                }
+        }
+
+        private void validateValuesBE(List<BusinessEntity> items) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        if (items.get(i).getCategoryBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getCategoryBag().getKeyedReference(), "businessEntity(" + i + ").categoryBag.");
+                                validatedValuesKeyRefGrp(items.get(i).getCategoryBag().getKeyedReferenceGroup(), "businessEntity(" + i + ").categoryBag.");
+                        }
+                        if (items.get(i).getIdentifierBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getIdentifierBag().getKeyedReference(), "businessEntity(" + i + ").identifierBag.");
+                        }
+                        if (items.get(i).getBusinessServices() != null) {
+                                validateValuesBS(items.get(i).getBusinessServices().getBusinessService(), "businessEntity(" + i + ").");
+                        }
+                }
+        }
+
+        private void validateValuesBS(List<BusinessService> items, String xpath) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        if (items.get(i).getCategoryBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getCategoryBag().getKeyedReference(), xpath + "businessService(" + i + ").categoryBag.");
+                                validatedValuesKeyRefGrp(items.get(i).getCategoryBag().getKeyedReferenceGroup(), xpath + "businessService(" + i + ").categoryBag.");
+                        }
+                        if (items.get(i).getBindingTemplates() != null) {
+                                validateValuesBT(items.get(i).getBindingTemplates().getBindingTemplate(), xpath + xpath + "businessService(" + i + ").identifierBag.");
+                        }
+                }
+        }
+
+        private void validateValuesPA(List<PublisherAssertion> items) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        if (items.get(i).getKeyedReference() != null) {
+                                List<KeyedReference> temp = new ArrayList<KeyedReference>();
+                                temp.add(items.get(i).getKeyedReference());
+                                validatedValuesKeyRef(temp, "publisherAssertion(" + i + ").");
+                        }
+                }
+        }
+
+        private void validateValuesTM(List<TModel> items) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        if (items.get(i).getCategoryBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getCategoryBag().getKeyedReference(), "tModel(" + i + ").categoryBag.");
+                                validatedValuesKeyRefGrp(items.get(i).getCategoryBag().getKeyedReferenceGroup(), "tModel(" + i + ").categoryBag.");
+                        }
+                        if (items.get(i).getIdentifierBag() != null) {
+                                validatedValuesKeyRef(items.get(i).getIdentifierBag().getKeyedReference(), "tModel(" + i + ").identifierBag.");
+                        }
+                }
+        }
+
+        /**
+         * returns null if no valid values are defined (i.e. anything goes)
+         *
+         * @param tModelkey
+         * @return
+         */
+        private List<String> getValidValues(String tModelKey) {
+                List<String> ret = null;
+                EntityManager em = PersistenceManager.getEntityManager();
+                EntityTransaction tx = em.getTransaction();
+                try {
+                        tx.begin();
+                        ValueSetValues items = em.find(ValueSetValues.class, tModelKey);
+                        if (items != null && items.getValues() != null) {
+                                ret = new ArrayList<String>();
+                                for (int i = 0; i < items.getValues().size(); i++) {
+                                        ret.add(items.getValues().get(i).getValue());
+                                }
+                        }
+                        tx.commit();
+                } finally {
+                        if (tx.isActive()) {
+                                tx.rollback();
+                        }
+                        em.close();
+                }
+                return ret;
+
+        }
+
+        private void validatedValuesKeyRef(List<KeyedReference> items, String xpath) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                String err = "";
+                for (int i = 0; i < items.size(); i++) {
+                        List<String> validValues = getValidValues(items.get(i).getTModelKey());
+                        if (validValues != null) {
+                                //ok we have some work to do
+                                boolean valid = false;
+                                for (int k = 0; k < validValues.size(); k++) {
+                                        if (validValues.get(i).equals(items.get(i).getKeyValue())) {
+                                                valid = true;
+                                        }
+                                }
+                                if (!valid) {
+                                        err += xpath + "keyedReference(" + i + ") ";
+                                }
+                        }
+                }
+                if (err.length() > 0) {
+                        throw new InvalidValueException(new ErrorMessage("errors.valuesetvalidation.invalidcontent", err));
+                }
+        }
+
+        private void validatedValuesKeyRefGrp(List<KeyedReferenceGroup> items, String xpath) throws DispositionReportFaultMessage {
+                if (items == null) {
+                        return;
+                }
+                for (int i = 0; i < items.size(); i++) {
+                        validatedValuesKeyRef(items.get(i).getKeyedReference(), xpath + "keyReferenceGroup(" + i + ").");
+                }
+        }
+
+        private void validateTmodelInstanceDetails(List<TModelInstanceInfo> tModelInstanceInfo, String xpath) throws DispositionReportFaultMessage {
+                /*
+                if (tModelInstanceInfo == null) {
+                        return;
+                }
+                String err = "";
+                for (int i = 0; i < tModelInstanceInfo.size(); i++) {
+                        List<String> validValues = getValidValues(tModelInstanceInfo.get(i).getTModelKey());
+                        if (validValues != null) {
+                                //compare against the instance info
+                                if (tModelInstanceInfo.get(i).getInstanceDetails() == null) {
+                                        err += xpath + ".(" + i + ").instanceDetails=null ";
+                                } else {
+                                        boolean ok = false;
+                                        for (int k = 0; k < validValues.size(); k++) {
+                                                if (validValues.get(k).equals(tModelInstanceInfo.get(i).getInstanceDetails().getInstanceParms())) {
+                                                        ok = true;
+                                                }
+                                        }
+                                        if (!ok) {
+                                                err += xpath + ".(" + i + ").instanceDetails.instanceParams ";
+                                        }
+                                }
+                        }
+                }
+                if (err.length() > 0) {
+                        throw new InvalidValueException(new ErrorMessage("errors.valuesetvalidation.invalidcontent", err));
+                }*/
+        }
 }

Added: juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java?rev=1548758&view=auto
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java (added)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValue.java Fri Dec  6 23:39:10 2013
@@ -0,0 +1,81 @@
+/*
+ * 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.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+
+/**
+ *
+ * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
+ */
+@Entity
+@Table(name = "j3_valuesetval")
+public class ValueSetValue implements java.io.Serializable {
+
+        private static final long serialVersionUID = 7767275374035531912L;
+        private Long id;
+        private String tmodelKey;
+        private String value = null;
+
+        public ValueSetValue() {
+        }
+
+        public ValueSetValue(String tmodelkey, String value) {
+                
+                this.value=(value);
+                this.tmodelKey = tmodelkey;
+        }
+
+        @Id
+        @GeneratedValue(strategy = GenerationType.AUTO)
+        public Long getId() {
+                return this.id;
+        }
+
+        public void setId(Long id) {
+                this.id = id;
+        }
+        
+        @Column(name="j3_tmodelkey", nullable=false, length=255)
+        public String getTModelKey() {
+                return this.tmodelKey;
+        }
+
+        public void setTModelKey(String key) {
+                this.tmodelKey = key;
+        }
+
+        @Column(name="j3_value", nullable=false, length=255)
+        public String getValue() {
+                return this.value;
+        }
+
+        public void setValues(String values) {
+                this.value = values;
+        }
+}

Added: juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java?rev=1548758&view=auto
==============================================================================
--- juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java (added)
+++ juddi/branches/juddi-3.3.x/juddi-core/src/main/java/org/apache/juddi/model/ValueSetValues.java Fri Dec  6 23:39:10 2013
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2001-2008 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.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.Table;
+import org.apache.juddi.model.ValueSetValue;
+
+/**
+ *
+ * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
+ */
+@Entity
+@Table(name = "j3_valuesets")
+public class ValueSetValues implements java.io.Serializable {
+
+        public static final transient String TABLE_NAME = "j3_valuesets";
+        public static final transient String COLUMN_TMODELKEY = "j3_tmodelkey";
+        private static final long serialVersionUID = 7767275374035531912L;
+       // private Long id;
+        private String tmodelKey;
+        private List<ValueSetValue> values = new ArrayList<ValueSetValue>(0);
+
+        public ValueSetValues() {
+        }
+
+        public ValueSetValues(String tmodelkey, List<ValueSetValue> values) {
+                this.values.clear();
+                this.values.addAll(values);
+                this.tmodelKey = tmodelkey;
+        }
+
+       /*
+        @GeneratedValue(strategy = GenerationType.AUTO)
+        public Long getId() {
+                return this.id;
+        }
+
+        public void setId(Long id) {
+                this.id = id;
+        }*/
+
+         @Id
+        @Column(name = "j3_tmodelkey", nullable = false, length = 255)
+        public String getTModelKey() {
+                return this.tmodelKey;
+        }
+
+        public void setTModelKey(String key) {
+                this.tmodelKey = key;
+        }
+
+        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "values")
+        @OrderBy
+        public List<ValueSetValue> getValues() {
+                return this.values;
+        }
+
+        public void setValues(List<ValueSetValue> values) {
+                this.values = values;
+        }
+}



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