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 2014/12/09 01:43:19 UTC

[1/3] juddi git commit: JUDDI-896 resolved a number of typos and formatting issues JUDDI-241 business, service, binding templates and models now replicate

Repository: juddi
Updated Branches:
  refs/heads/JUDDI-241 962f8d851 -> 9d22690ee


http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-tomcat/juddi_install_data_node2/root_BusinessEntity.xml
----------------------------------------------------------------------
diff --git a/juddi-tomcat/juddi_install_data_node2/root_BusinessEntity.xml b/juddi-tomcat/juddi_install_data_node2/root_BusinessEntity.xml
index 6c8b682..8c923d9 100644
--- a/juddi-tomcat/juddi_install_data_node2/root_BusinessEntity.xml
+++ b/juddi-tomcat/juddi_install_data_node2/root_BusinessEntity.xml
@@ -40,7 +40,7 @@ See below for other fields that you may want to edit...
 -->
 <businessEntity xmlns="urn:uddi-org:api_v3" xmlns:xml="http://www.w3.org/XML/1998/namespace" businessKey="uddi:another.juddi.apache.org:businesses-asf">
      <!-- Change the name field to represent the name of your registry -->
-     <name xml:lang="en">An Apache jUDDI Node</name>
+     <name xml:lang="en">An Apache jUDDI Node (2)</name>
      <!-- Change the description field to provided a brief description of your registry -->
      <description xml:lang="en">This is a UDDI registry node as implemented by Apache jUDDI.</description>
      <discoveryURLs>

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/uddi-ws/src/main/java/org/uddi/repl_v3/NotifyChangeRecordsAvailable.java
----------------------------------------------------------------------
diff --git a/uddi-ws/src/main/java/org/uddi/repl_v3/NotifyChangeRecordsAvailable.java b/uddi-ws/src/main/java/org/uddi/repl_v3/NotifyChangeRecordsAvailable.java
index f1fcfaa..dc5300d 100644
--- a/uddi-ws/src/main/java/org/uddi/repl_v3/NotifyChangeRecordsAvailable.java
+++ b/uddi-ws/src/main/java/org/uddi/repl_v3/NotifyChangeRecordsAvailable.java
@@ -55,6 +55,11 @@ import javax.xml.bind.annotation.XmlType;
 })
 @XmlRootElement(name = "notify_changeRecordsAvailable")
 public class NotifyChangeRecordsAvailable implements Serializable{
+        public NotifyChangeRecordsAvailable(){}
+        public NotifyChangeRecordsAvailable(String node, HighWaterMarkVectorType changesAvailable){
+                this.notifyingNode = node;
+                this.changesAvailable = changesAvailable;
+        }
 	@XmlTransient
 	private static final long serialVersionUID = -8280288001706059769L;
 	@XmlElement(required = true)


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


[2/3] juddi git commit: JUDDI-896 resolved a number of typos and formatting issues JUDDI-241 business, service, binding templates and models now replicate

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-tomcat/juddi_install_data_node2/UDDI_tModels.xml
----------------------------------------------------------------------
diff --git a/juddi-tomcat/juddi_install_data_node2/UDDI_tModels.xml b/juddi-tomcat/juddi_install_data_node2/UDDI_tModels.xml
new file mode 100644
index 0000000..f1b543d
--- /dev/null
+++ b/juddi-tomcat/juddi_install_data_node2/UDDI_tModels.xml
@@ -0,0 +1,2362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+* Copyright 2001-2009 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.
+*
+*/ -->
+
+<!-- Important notes on editing this file 
+
+1) if you add a new find qualifier item, you must then increase the count in 
+	org.apache.juddi.v3.tck.TckSubscription.FINDQUALIFIER_TMODEL_TOTAL
+
+-->
+
+
+<save_tModel xmlns="urn:uddi-org:api_v3">
+    <tModel tModelKey="uddi:uddi.org:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi-org:keyGenerator</name>
+        <description>UDDI domain key generator</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:categorization:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi-org:categorization:keyGenerator
+        </name>
+        <description>Key Generator for UDDI Categorization tModels
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#categorizationKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:categorization:types">
+        <name>uddi-org:types</name>
+        <description>UDDI Type Category System</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#UDDITypes
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:cacheable" keyValue="cacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:categorization:general_keywords">
+        <name>uddi-org:general_keywords</name>
+        <description>Category system consisting of namespace
+            identifiers and the keywords associated with
+            the namespaces.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#GenKW
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:sortorder:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi-org:sortorder:keyGenerator
+        </name>
+        <description>Key Generator for UDDI Sort Order tModels
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#sortorderKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:transport:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi-org:transport:keyGenerator
+        </name>
+        <description>Key Generator for UDDI Transport tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#transportKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:protocol:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi-org:protocol:keyGenerator</name>
+        <description> Key Generator for UDDI Protocol tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:v3_inquiry">
+        <name>uddi-org:inquiry_v3</name>
+        <description>UDDI Inquiry API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_api_v3_binding.wsdl#UDDI_Inquiry_SoapBinding
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#InqV3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl" keyValue="wsdlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:soap" keyValue="soapSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:xml" keyValue="xmlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:specification" keyValue="specification" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:categorization:nodes">
+        <name>uddi-org:nodes</name>
+        <description>Category system for identifying the nodes
+            of a registry.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#Nodes
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+
+    <tModel tModelKey="uddi:uddi.org:v3_publication">
+        <name>uddi-org:publication_v3</name>
+        <description>UDDI Publication API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_api_v3_binding.wsdl#UDDI_Publication_SoapBinding
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#PubV3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl" keyValue="wsdlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:soap" keyValue="soapSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:xml" keyValue="xmlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:specification" keyValue="specification" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:v3_security">
+        <name>uddi-org:security_v3</name>
+        <description>UDDI Security API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_api_v3_binding.wsdl#UDDI_Security_SoapBinding
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#SecV3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl" keyValue="wsdlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:soap" keyValue="soapSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:xml" keyValue="xmlSpec" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:specification" keyValue="specification" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+  
+    <tModel tModelKey="uddi:uddi.org:relationships">
+        <name>uddi-org:relationships</name>
+        <description>Basic types of business relationships
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#Relationships
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:categorization:owningbusiness">
+        <name>uddi-org:owningBusiness_v3</name>
+        <description>Category system used to point to the
+            businessEntity
+            associated with the publisher of the tModel.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#owningBusiness
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="entityKeyValues" keyValue="businessKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:identifier:isreplacedby">
+        <name>uddi-org:isReplacedBy</name>
+        <description>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.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#IsReplacedBy
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:identifier" keyValue="identifier" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="entityKeyValues" keyValue="businessKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="entityKeyValues" keyValue="tModelKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:identifier:taxid">
+        <name>Tax ID</name>
+        <description>The Tax Identifier for this business
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+               http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc515847032
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:identifier" keyValue="identifier" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+
+            <keyedReference keyName="entityKeyValues" keyValue="businessKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+
+            <keyedReference keyName="entityKeyValues" keyValue="tModelKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+        </categoryBag>
+    </tModel>
+	
+	
+    <tModel tModelKey="uddi:uddi.org:categorization:validatedby">
+        <name>uddi-org:validatedBy</name>
+        <description xml:lang="en">Category system used to point a value set or
+            category
+            group system tModel to associated value set Web service
+            implementations.
+        </description>
+		<description xml:lang="en">This is typically used on tModels to validate tModel Instances via the Value Set Validation service. The keyValue
+		should be an existing binding key pointing to that service.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#validatedBy
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="entityKeyValues" keyValue="bindingKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+   
+    
+    
+    
+    <tModel tModelKey="uddi:uddi.org:categorization:derivedfrom">
+        <name>uddi-org:derivedFrom</name>
+        <description>Category system for referring tModels to other
+            tModels for the purpose of reuse.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#DerivedFrom
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="entityKeyValues" keyValue="tModelKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+    
+       
+    <tModel tModelKey="uuid:5678dd4f-f95d-35f9-9ea6-f79a7dd64656">
+        <name>uddi-org:derivedFrom</name>
+        <description>Category system for referring tModels to other
+            tModels for the purpose of reuse.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#DerivedFrom
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:uncacheable" keyValue="uncacheable" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="entityKeyValues" keyValue="tModelKey" tModelKey="uddi:uddi.org:categorization:entitykeyvalues" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uuid:25b22e3e-3dfa-3024-b02a-3438b9050b59"/>
+        </categoryBag>
+    </tModel>
+    
+    
+    
+    
+    <tModel tModelKey="uddi:uddi.org:categorization:entitykeyvalues">
+        <name>uddi-org:entityKeyValues</name>
+        <description>Category system used to declare that a value set
+            uses entity keys as valid values.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#entityKeyValues
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uddi:uddi.org:categorization:validatedby"/>
+        </categoryBag>
+    </tModel>
+    
+    
+    <tModel tModelKey="uuid:916b87bf-0756-3919-8eae-97dfa325e5a4">
+        <name>uddi-org:entityKeyValues</name>
+        <description>Category system used to declare that a value set
+            uses entity keys as valid values.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#entityKeyValues
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+             <keyedReference keyName="" keyValue="uddi:juddi.apache.org:servicebindings-valueset-cp" tModelKey="uuid:25b22e3e-3dfa-3024-b02a-3438b9050b59"/>
+        </categoryBag>
+    </tModel>
+   
+    
+    
+    
+    <tModel tModelKey="uddi:uddi.org:protocol:serverauthenticatedssl3">
+        <name>uddi-org:serverAuthenticatedSSL3</name>
+        <description>Secure Sockets Layer Version 3.0 with Server
+            Authentication
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#serverSSL3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!--
+      <tModel tModelKey="uuid:c8aea832-3faf-33c6-b32a-bbfd1b926294">
+        <name>uddi-org:serverAuthenticatedSSL3
+        </name>
+        <description>Secure Sockets Layer Version 3.0 with Server
+            Authentication
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#serverSSL3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    -->
+    <tModel tModelKey="uddi:uddi.org:protocol:mutualauthenticatedssl3">
+        <name>uddi-org:mutualAuthenticatedSSL3
+        </name>
+        <description>Secure Sockets Layer Version 3.0 with Mutual
+            Authentication
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#mutualSSL3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+     <tModel tModelKey="uuid:9555b5b6-55d4-3b0e-bb17-e084fed4e33f">
+        <name>uddi-org:mutualAuthenticatedSSL3
+        </name>
+        <description>Secure Sockets Layer Version 3.0 with Mutual
+            Authentication
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#mutualSSL3
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    
+    <tModel tModelKey="uddi:uddi.org:transport:http">
+        <name>uddi-org:http</name>
+        <description> A Web service that uses HTTP transport</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overHTTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    <tModel tModelKey="uuid:68DE9E80-AD09-469D-8A37-088422BFBC36">
+        <name>uddi-org:http</name>
+        <description> A Web service that uses HTTP transport</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overHTTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+
+
+    <tModel tModelKey="uddi:uddi.org:transport:smtp">
+        <name>uddi-org:smtp</name>
+        <description>E-mail based Web service</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overSMTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    <tModel tModelKey="uuid:93335D49-3EFB-48A0-ACEA-EA102B60DDC6">
+        <name>uddi-org:smtp</name>
+        <description>E-mail based Web service</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overSMTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    
+    <tModel tModelKey="uddi:uddi.org:transport:userfriendlysmtp">
+        <name>Human Readable SMTP Email Deliveries</name>
+        <description>This is a jUDDI extension for providing SMTP based subscription alerts in a human readable fashion.</description>
+        
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    
+    <tModel tModelKey="uddi:uddi.org:transport:ftp">
+        <name>uddi-org:ftp</name>
+        <description>File Transfer Protocol (FTP) based Web service
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overFTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    <tModel tModelKey="uuid:5FCF5CD0-629A-4C50-8B16-F94E9CF2A674">
+        <name>uddi-org:ftp</name>
+        <description>File Transfer Protocol (FTP) based Web service
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overFTP
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+
+    <tModel tModelKey="uddi:uddi.org:transport:fax">
+        <name>uddi-org:fax</name>
+        <description>Fax-based Web service</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overFax
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:transport:telephone">
+        <name>uddi-org:telephone</name>
+        <description>Telephone based service</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#overPhone
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:transport:rmi">
+        <name>uddi-org:rmi</name>
+        <description>Java RMI based service registered to the Java Registry</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://juddi.apache.org/docs/3.0/userguide/html_single/index.html#sect-overRMI
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:transport:jndi-rmi">
+        <name>uddi-org:jndi-rmi</name>
+        <description>A Java RMI based service registered to a JNDI Registry</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://juddi.apache.org/docs/3.0/userguide/html_single/index.html#sect-overJNDIRMI
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	    <tModel tModelKey="uddi:uddi.org:transport:amqp">
+        <name>uddi-org:amqp</name>
+        <description> A Web service that uses the AMQP transport</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+               http://www.amqp.org/
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+
+	
+		    <tModel tModelKey="uddi:uddi.org:transport:omgdds">
+        <name>uddi-org:omgdds</name>
+        <description> A Web service that uses the OMG DDS transport</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+              http://portals.omg.org/dds/
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	<tModel tModelKey="uddi:uddi.org:transport:udp">
+        <name>uddi-org:udp</name>
+        <description> A Web service that uses the UDP transport</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+              http://docs.oasis-open.org/ws-dd/soapoverudp/1.1/os/wsdd-soapoverudp-1.1-spec-os.html
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:transport:jms">
+        <name>uddi-org:jms</name>
+        <description> A Web service that uses the JMS API</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+              http://docs.oasis-open.org/ws-dd/soapoverudp/1.1/os/wsdd-soapoverudp-1.1-spec-os.html
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:transport" keyValue="transport" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:protocol:rest">
+        <name>uddi-org:protocol:rest</name>
+        <description xml:lang="en">A tModel that represents the Representational State Transfer architectural style</description>
+        <overviewDoc>
+            <overviewURL>
+               http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	
+	
+    <tModel tModelKey="uddi:uddi.org:findqualifier:approximatematch">
+        <name>uddi-org:approximateMatch:SQL99
+        </name>
+        <description>UDDI approximate matching find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#wildcard
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:exactmatch">
+        <name>uddi-org:exactMatch</name>
+        <description>UDDI exact name matching findQualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#exactmatch
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:caseinsensitivematch">
+        <name>uddi-org:caseInsensitiveMatch
+        </name>
+        <description>UDDI case insensitive matching find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#caseinsens
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:casesensitivematch">
+        <name>uddi-org:caseSensitiveMatch</name>
+        <description>UDDI Case Sensitive Matching find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#casesens
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:diacriticsinsensitivematch">
+        <name>uddi-org:diacriticsInsensitiveMatch
+        </name>
+        <description>UDDI Diacritics Insensitive Matching find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#diacritInsens
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:diacriticssensitivematch">
+        <name>uddi-org:diacriticsSensitiveMatch
+        </name>
+        <description>UDDI Diacritics Sensitive Matching find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#diacritSens
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:sortorder:binarysort">
+        <name>uddi-org:binarySort</name>
+        <description>UDDI binary sort sortOrder qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#sortOrd
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:sortOrder" keyValue="sortOrder" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:sortorder:uts-10">
+        <name>uddi-org:UTS-10</name>
+        <description>UDDI Unicode Technical Standard #10 sort
+            collation sequence find qualifier
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#UCASort
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:sortOrder" keyValue="sortOrder" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:caseinsensitivesort">
+        <name>uddi-org:caseInsensitiveSort</name>
+        <description>UDDI sort qualifier used to sort results without
+            regard to case
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#caseInsensSort
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:casesensitivesort">
+        <name>uddi-org:caseSensitiveSort</name>
+        <description>UDDI sort qualifier used to sort results using
+            case sensitivity
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#caseSensSort
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+
+            <keyedReference keyName="uddi-org:types:sortOrder" keyValue="sortOrder" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:sortbynameasc">
+        <name>uddi-org:sortByNameAsc</name>
+        <description>UDDI sort qualifier used to sort results by name
+            in ascending order
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#nameAsc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:sortbynamedesc">
+        <name>uddi-org:sortByNameDesc</name>
+        <description>UDDI sort qualifier used to sort results by
+            name in descending order
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#nameDesc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:sortbydateasc">
+        <name>uddi-org:sortByDateAsc</name>
+        <description>UDDI sort qualifier used to sort results by date in
+            ascending order
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#dateAsc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:sortbydatedesc">
+        <name>uddi-org:sortByDateDesc</name>
+        <description>UDDI sort qualifier used to sort results
+            by date in descending order
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#dateDesc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:andallkeys">
+        <name>uddi-org:andAllKeys</name>
+        <description>UDDI find qualifier used to request that a
+            logical AND be performed on bag contents
+            prior to a search
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#andAll
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:orallkeys">
+        <name>uddi-org:orAllKeys</name>
+        <description>UDDI find qualifier used to request that a
+            logical OR be performed on bag contents
+            prior to a search
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#orAll
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:orlikekeys">
+        <name>uddi-org:orLikeKeys</name>
+        <description>UDDI find qualifier used to find entities
+            that reference one of the values from each
+            referenced value set
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#orLike
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:combinecategorybags">
+        <name>uddi-org:combineCategoryBags</name>
+        <description>UDDI find qualifier used to treat all of the
+            categoryBags within a businessEntity as if
+            they were one during inquiry
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#combineCatBags
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:servicesubset">
+        <name>uddi-org:serviceSubset</name>
+        <description>UDDI find qualifier used to use categoryBags
+            of businessService elements to satisfy the
+            find_business inquiry.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#servSubset
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:bindingsubset">
+        <name>uddi-org:bindingSubset</name>
+        <description>UDDI find qualifier for specifying use of
+            categoryBags of bindingTempate elements to satisfy
+            the find_business or find_service inquiries.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#bindSubset
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:suppressprojectedservices">
+        <name>uddi-org:suppressProjectedServices
+        </name>
+        <description>UDDI find qualifier used to exclude service
+            projections from an inquiry function at all
+            levels.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#suppressProjSvcs
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:findqualifier:signaturepresent">
+        <name>uddi-org:signaturePresent</name>
+        <description>UDDI findQualifier used to return only entities
+            that have or are contained in entities that have
+            XML Digital Signatures.
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#sign
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:findQualifier" keyValue="findQualifier" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:specification:hostingredirector">
+        <name>uddi-org:hostingRedirector</name>
+        <description>UDDI Hosting Redirector service specification
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#hostDir
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:specification" keyValue="specification" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:specification:v3_policy">
+        <name>uddi-org:v3_policy</name>
+        <description>UDDI Policy Description service specification
+        </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#policyDesc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:specification" keyValue="specification" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:v3_ownership_transfer">
+        <name>uddi-org:ownership_transfer_v3</name>
+        <description>UDDI Custody and Ownership Transfer API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_custody_v3_binding.wsdl
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#OwnershipTransfer
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl"
+                      keyValue="wsdlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:soap"
+                      keyValue="soapSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:xml"
+                      keyValue="xmlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:specification"
+                      keyValue="specification"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:v3_subscription">
+        <name>uddi-org:subscription_v3</name>
+        <description>UDDI Subscription API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_sub_v3_binding.wsdl
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#Sub
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl"
+                      keyValue="wsdlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:soap"
+                      keyValue="soapSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:xml"
+                      keyValue="xmlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:specification"
+                      keyValue="specification"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="uddi:uddi.org:v3_subscriptionlistener">
+        <name>uddi-org:subscriptionListener_v3</name>
+        <description>UDDI Subscription Listener API V3.0</description>
+        <overviewDoc>
+            <overviewURL useType="wsdlInterface">
+                http://uddi.org/wsdl/uddi_subr_v3_binding.wsdl
+            </overviewURL>
+        </overviewDoc>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#Subscribe
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:wsdl"
+                      keyValue="wsdlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:soap"
+                      keyValue="soapSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:xml"
+                      keyValue="xmlSpec"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+            <keyedReference keyName="uddi-org:types:specification"
+                      keyValue="specification"
+                      tModelKey="uddi:uddi.org:categorization:types"/>
+        </categoryBag>
+    </tModel>
+    <!--  New Canonical tModels (see also JUDDI-461) -->
+    <!--  1. WSDL Entity Type tModel -->
+    <tModel tModelKey="uddi:uddi.org:wsdl:types">
+        <name>uddi-org:wsdl:types</name>
+        <description xml:lang="en">WSDL Type Category System</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#wsdlTypes
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	 <tModel tModelKey="uddi:uddi.org:wadl:types">
+        <name>uddi-org:wadl:types</name>
+        <description xml:lang="en">WADL Type Category System</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+    <!-- 2. XML Namespace tModel  -->
+    <tModel tModelKey="uddi:uddi.org:xml:namespace">
+        <name>uddi-org:xml:namespace</name>
+        <description xml:lang="en">A category system used to indicate namespaces</description>
+        <overviewDoc>
+            <overviewURL>   
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlNamespace
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!-- 3. XML Local Name tModel  -->
+    <tModel tModelKey="uddi:uddi.org:xml:localname">
+        <name>uddi-org:xml:localName</name>
+        <description xml:lang="en">A category system used to indicate XML local names</description>
+        <overviewDoc>
+            <overviewURL>   
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#xmlLocalName
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!--  4. WSDL portType Reference tModel -->
+    <tModel tModelKey="uddi:uddi.org:wsdl:porttypereference">
+        <name>uddi-org:wsdl:portTypeReference</name>
+        <description xml:lang="en">A category system used to reference a wsdl:portType tModel</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#portTypeReference
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!-- 5. SOAP Protocol tModel  -->
+    <tModel tModelKey="uddi:uddi.org:protocol:soap">
+        <name>uddi-org:protocol:soap</name>
+        <description xml:lang="en">A tModel that represents the SOAP 1.1 protocol</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	 <tModel tModelKey="uddi:uddi.org:protocol:soap12">
+        <name>uddi-org:protocol:soap12</name>
+        <description xml:lang="en">A tModel that represents the SOAP 1.2 protocol</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#soap
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+    <!-- 6. HTTP Protocol tModel -->
+    <tModel tModelKey="uddi:uddi.org:protocol:http">
+        <name>uddi-org:protocol:http</name>
+        <description xml:lang="en">A tModel that represents the HTTP protocol</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#http
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:protocol" keyValue="protocol" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!-- 7. Protocol Categorization -->
+    <tModel tModelKey="uddi:uddi.org:wsdl:categorization:protocol">
+        <name>uddi-org:wsdl:categorization:protocol</name>
+        <description xml:lang="en">Category system used to describe the protocol supported by a wsdl:binding</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#protocol
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!-- 8. Transport Categorization -->
+    <tModel tModelKey="uddi:uddi.org:wsdl:categorization:transport">
+        <name>uddi-org:wsdl:categorization:transport</name>
+        <description xml:lang="en">Category system used to describe the transport supported by a wsdl:binding</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#transport
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <!-- 9. WSDL Address tModel -->
+    <tModel tModelKey="uddi:uddi.org:wsdl:address" >
+        <name>uddi-org:wsdl:address</name>
+        <description xml:lang="en">A tModel used to indicate the WSDL address option</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-wsdl-v2.htm#Address
+            </overviewURL>
+        </overviewDoc>
+    </tModel>
+    <!-- BPEL Categorization -->
+    <tModel tModelKey="uddi:uddi.org:bpel:types">
+        <name>uddi-org:bpel:types</name>
+        <description xml:lang="en">Category system used indicate BPEL processes</description>
+        <overviewDoc>
+            <overviewURL>
+                http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-bpel-20040725.htm
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+  
+   
+  
+  
+    <tModel tModelKey="uddi:tmodelkey:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>uddi:tmodelkey:keygenerator
+        </name>
+        <description>Key Generator for generic UDDI tModel Keys
+        </description>
+       
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+
+  
+    <tModel tModelKey="uddi:tmodelkey:address">
+        <name>uddi:tmodelkey:address</name>
+        <description xml:lang="en">Identifies an address. This can be a physical, mailing, or electric address.</description>
+       
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" 
+                keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+            <keyedReference keyName="uddi-org:types:unchecked"
+                keyValue="unchecked" tModelKey="uddi:uddi.org:categorization:types"/>
+        </categoryBag>
+    </tModel>
+    
+     <tModel tModelKey="uddi:tmodelkey:group">
+        <name>uddi:tmodelkey:group</name>
+        <description xml:lang="en">Identifies a tModel group.</description>
+       
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+
+    <tModel tModelKey="uddi:tmodelkey:blank">
+        <name>uddi:tmodelkey:blank</name>
+        <description xml:lang="en">Identifies a blank tModel</description>
+       
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    
+    
+    
+    
+    
+    <tModel tModelKey="urn:wsdm.org:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>urn:wsdm.org:keygenerator</name>
+        <description>Key Generator for WSDM.org tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+     <tModel tModelKey="urn:wsdm.org:metric:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>urn:wsdm.org:metric:keygenerator</name>
+        <description>Key Generator for WSDM.org Metric tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+     <tModel tModelKey="urn:wsdm.org:identity:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>urn:wsdm.org:identity:keygenerator</name>
+        <description>Key Generator for WSDM.org Identity tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:keygenerator" xmlns="urn:uddi-org:api_v3">
+        <name>urn:wsdm.org:qos:keygenerator</name>
+        <description>Key Generator for WSDM.org Quality of Service tModels </description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:metric:requestcount">
+        <name>RequestCount</name>
+        <description xml:lang="en">The number of requests to a given service. (number of requests)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:metric:replycount">
+        <name>ReplyCount</name>
+        <description xml:lang="en">The number of replies from a given service. (number of replies)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+     <tModel tModelKey="urn:wsdm.org:metric:faultcount">
+        <name>FaultCount</name>
+        <description xml:lang="en">The number of faults from a given service. (number of faults)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:identity:resourceId">
+        <name>ResourceId</name>
+        <description xml:lang="en">This is the unique identity by which the resource (service) is known to the management system.  It is useful for further queries. (resource identification in URI format)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    <tModel tModelKey="urn:wsdm.org:metric:lastupdatetime">
+        <name>LastUpdateTime</name>
+        <description xml:lang="en">Represents the last time this metric was updated. (time value)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    
+    <tModel tModelKey="urn:wsdm.org:qos:responsetime_average">
+        <name>ResponseTime_Average</name>
+        <description xml:lang="en">Average response time of the service. (numeric value or symbolic rating)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:throughput_count">
+        <name>Throughput_count</name>
+        <description xml:lang="en">Throughput count. (numeric value or symbolic rating)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:throughput_bytes">
+        <name>Throughput_bytes</name>
+        <description xml:lang="en">Throughput bytes. (numeric value or symbolic rating)</description>
+       <overviewDoc> 
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:reliability">
+        <name>Reliability</name>
+        <description xml:lang="en">Reliability or the measure of. (numeric value or symbolic rating)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:reportingperiodstart">
+        <name>ReportingPeriodStart</name>
+        <description xml:lang="en">The beginning on the reporting time period used for the information above. (dateTime)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:reportingperiodend">
+        <name>ReportingPeriodEnd</name>
+        <description xml:lang="en">The end of the reporting time period used for the information above. (dateTime)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+    <tModel tModelKey="urn:wsdm.org:qos:updateinterval">
+        <name>UpdateInterval</name>
+        <description xml:lang="en">How often is this information updated in UDDI (it is not assumed to be realtime). (duration)</description>
+       <overviewDoc>
+            <overviewURL>
+                https://www.oasis-open.org/committees/download.php/6227/uddi-spec-tc-tn-QoS-metrics-20040224.doc
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="urn:uddi:uddi.org:version">
+        <name>Service Interface Version</name>
+        <description xml:lang="en">When using this tModel as a tModelInstance, it can be used to describe a version associated with either a service interface, a bindingTemplate service instance. Note: This is a jUDDI specific addon and may not be present in other registries.</description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ibm.com/developerworks/webservices/library/ws-version/
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:iso3166">
+		<name>ubr-uddi-org:iso-ch:3166-2003</name>
+        <name>ISO 3166 Country Codes</name>
+        <description xml:lang="en">When used in a Category Bag for a Business or Service, it can indicate the physical or logically location of the Business or Service.</description>
+		<description xml:lang="en">ISO 3166 Codes for names of countries or regions. Updated with newsletters ISO 3166-1 V-1, V-2, V-3, V-4, V-5, V-6, V-7, ISO 3166-2 I-1, I-2, I-3, I-4.</description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.iso.org/iso/country_codes
+            </overviewURL>
+        </overviewDoc>
+		 <overviewDoc>
+		<overviewURL useType="text">
+		  http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#ISO3166
+		</overviewURL> 
+	  </overviewDoc> 
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+			<keyedReference keyName="uddi-org:types:categorization"      keyValue="categorization"       tModelKey="uddi:uddi.org:categorization:types"/> 
+			 <keyedReference keyName="uddi-org:types:cacheable"      keyValue="cacheable"       tModelKey="uddi:uddi.org:categorization:types"/> 
+			<keyedReference keyName="uddi-org:types:valueSet"      keyValue="valueSet"       tModelKey="uddi:uddi.org:categorization:types"/> 
+   
+			
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:unspsc_geo3166">
+        <name>United Nations Standard Products and Services Code with ISO 3166 Grouping</name>
+        <description xml:lang="en">Grouping of the category systems for UNSPSC and ISO 3166. As a consequence, keyedReferenceGroups that reference this tModel describe countries or regions where a product category is offered.</description>
+       <overviewDoc>
+            <overviewURL>
+               http://uddi.org/pubs/uddi-v3.0.2-20041019.htm#_Toc535251470
+            </overviewURL>
+        </overviewDoc>
+		<overviewDoc>
+            <overviewURL>
+               http://www.unspsc.org/
+            </overviewURL>
+        </overviewDoc>
+		
+		<categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+			<keyedReference keyName="uddi-org:types:categorization"      keyValue="categorization"       tModelKey="uddi:uddi.org:categorization:types"/> 
+		</categoryBag>
+    </tModel>
+	
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:wgs84:keygenerator">
+        <name>World Geodetic System Key Generator</name>
+        <description xml:lang="en">Key Generator for Standard for use in cartography, geodesy, and navigation. </description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/TR80003E.HTM#ZZ11
+            </overviewURL>
+        </overviewDoc>
+		<overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#protocolKeyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+			<keyedReference keyName="uddi-org:types:keyGenerator" keyValue="keyGenerator" tModelKey="uddi:uddi.org:categorization:types" />
+         </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:wgs84">
+        <name>World Geodetic System</name>
+        <description xml:lang="en">Standard for use in cartography, geodesy, and navigation. </description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/TR80003E.HTM#ZZ11
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:wgs84:latitude">
+        <name>WGS Latitude</name>
+        <description xml:lang="en">Standard for use in cartography, geodesy, and navigation. </description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/TR80003E.HTM#ZZ11
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:wgs84:longitude">
+        <name>WGS Longitude</name>
+        <description xml:lang="en">Standard for use in cartography, geodesy, and navigation. </description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/TR80003E.HTM#ZZ11
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="org:ubr:categorization:geo_precision">
+        <name xml:lang="en">WGS Geographic Precision</name>
+        <description xml:lang="en">Standard for use in cartography, geodesy, and navigation. </description>
+       <overviewDoc>
+            <overviewURL>
+               http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/TR80003E.HTM#ZZ11
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference keyName="uddi-org:types:checked" keyValue="checked" tModelKey="uddi:uddi.org:categorization:types" />
+        </categoryBag>
+    </tModel>
+	
+	
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:keygenerator">
+        <name>Universal Business Registry Key Generator</name>
+        <description>UBR domain key generator</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+    </tModel>
+	<tModel tModelKey="uddi:uddi.org:ubr:categorizationgroup:keygenerator">
+        <name>Universal Business Registry Categorization Group Key Generator</name>
+        <description>UBR Categorization Group domain key generator</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+    </tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:keygenerator">
+        <name>Universal Business Registry Categorization Key Generator</name>
+        <description>UBR Categorization domain key generator</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+    </tModel>
+	
+	 <tModel tModelKey="uddi:uddi.org:ubr:postaladdress">
+	  <name>ubr-uddi-org:postalAddress</name>
+	  <description xml:lang="en">Postal address structure</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#postal
+	    </overviewURL>
+	  </overviewDoc>
+	  <categoryBag>
+	    <keyedReference keyName="uddi-org:types:postalAddress"	      keyValue="postalAddress"	      tModelKey="uddi:uddi.org:categorization:types"/>
+	    <keyedReference keyName="uddi-org:types:unchecked"	      keyValue="unchecked"	      tModelKey="uddi:uddi.org:categorization:types"/>
+	   </categoryBag>
+	</tModel>
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:relationships">
+	  <name>ubr-uddi-org:relationships</name>
+	  <description xml:lang="en">relationships in a UBR</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm
+	    </overviewURL>
+	  </overviewDoc>
+	  <categoryBag>
+	    <keyedReference keyName="uddi-org:types:unchecked"
+	      keyValue="unchecked"
+	      tModelKey="uddi:uddi.org:categorization:types"/>
+	   </categoryBag>
+	</tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:identifier:keygenerator">
+	  <name>ubr-uddi-org:identifier key generator</name>
+	  <description>UBR Identifier Group domain key generator</description>
+        <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+	</tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:identifier:owningbusiness">
+	  <name>UBR Identifier Owning Business</name>
+	  <description xml:lang="en">Identifier for an Owning Business in a UBR</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm
+	    </overviewURL>
+	  </overviewDoc>
+	  <categoryBag>
+	    <keyedReference keyName="uddi-org:types:unchecked"
+	      keyValue="unchecked"
+	      tModelKey="uddi:uddi.org:categorization:types"/>
+	   </categoryBag>
+	</tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:unspsc">
+	  <name>UBR Categorization United Nations Standard Products and Services Code</name>
+	  <description xml:lang="en">UNSPSC Categorization in a UBR</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm
+	    </overviewURL>
+	  </overviewDoc>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      http://www.unspsc.org/
+	    </overviewURL>
+	  </overviewDoc>
+	  
+	  <categoryBag>
+	    <!--<keyedReference keyName="uddi-org:types:unchecked"	      keyValue="unchecked"	      tModelKey="uddi:uddi.org:categorization:types"/>-->
+		  <keyedReference keyName="uddi-org:types:categorization"      keyValue="categorization"       tModelKey="uddi:uddi.org:categorization:types"/> 
+		<keyedReference keyName="uddi-org:types:checked"      keyValue="checked"       tModelKey="uddi:uddi.org:categorization:types"/> 
+		<keyedReference keyName="uddi-org:types:cacheable"      keyValue="cacheable"       tModelKey="uddi:uddi.org:categorization:types"/> 
+	  
+	   </categoryBag>
+	</tModel>
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:naics:keygenerator">
+	  <name>North American Industry Classification System Key Generator</name>
+	  <description xml:lang="en">North American Industry Classification System Key Generator.</description>
+	  <description xml:lang="en">The North American Industry Classification System (NAICS) is the standard used by Federal statistical agencies in classifying business establishments for the purpose of collecting, analyzing, and publishing statistical data in the U.S. business economy</description>
+	  <overviewDoc>
+            <overviewURL useType="text">
+                http://uddi.org/pubs/uddi_v3.htm#keyGen
+            </overviewURL>
+			<overviewURL useType="text">
+                https://www.census.gov/eos/www/naics/index.html
+            </overviewURL>
+			
+        </overviewDoc>
+        <categoryBag>
+            <keyedReference tModelKey="uddi:uddi.org:categorization:types" keyName="uddi-org:types:keyGenerator"
+                      keyValue="keyGenerator" />
+        </categoryBag>
+	</tModel>
+	 
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:naics:1997">
+	  <name>North American Industry Classification System 1997</name>
+	  <description xml:lang="en">North American Industry Classification System 1997</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      https://www.census.gov/eos/www/naics/reference_files_tools/1997/1997.html
+	    </overviewURL>
+		
+	  </overviewDoc>
+	  <overviewDoc>
+	   <overviewURL useType="text">
+            http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS 
+         </overviewURL>  
+		</overviewDoc>
+	  <categoryBag>
+	     <!--<keyedReference keyName="uddi-org:types:unchecked" keyValue="unchecked"  tModelKey="uddi:uddi.org:categorization:types"/>-->
+		 <keyedReference keyName="uddi-org:types:categorization" keyValue="categorization" tModelKey="uddi:uddi.org:categorization:types"/> 
+	     <keyedReference keyName="uddi-org:types:checked"  keyValue="checked"   tModelKey="uddi:uddi.org:categorization:types"/> 
+         <keyedReference keyName="uddi-org:types:cacheable"  keyValue="cacheable"  tModelKey="uddi:uddi.org:categorization:types"/> 
+	   </categoryBag>
+	</tModel>
+	 
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:naics:2012">
+	  <name>North American Industry Classification System 2012</name>
+	  <description xml:lang="en">North American Industry Classification System 2012</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      https://www.census.gov/cgi-bin/sssd/naics/naicsrch?chart=2012
+	    </overviewURL>
+	  </overviewDoc>
+	  <categoryBag>
+	    <keyedReference keyName="uddi-org:types:unchecked"
+	      keyValue="unchecked"
+	      tModelKey="uddi:uddi.org:categorization:types"/>
+	   </categoryBag>
+	</tModel>
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:naics:2002">
+	  <name>ntis-gov:naics:2002</name> 
+	  <name>North American Industry Classification System 2002</name>
+	  <description xml:lang="en">North American Industry Classification System 2002</description>
+	  <description xml:lang="en">Business Taxonomy: NAICS (2002 Release)</description> 
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      https://www.census.gov/cgi-bin/sssd/naics/naicsrch?chart=2002
+	    </overviewURL>
+	  </overviewDoc>
+	  <overviewDoc> 
+    <overviewURL>
+      http://uddi.org/taxonomies/UDDI_Taxonomy_tModels.htm#NAICS2002 
+    </overviewURL> 
+  </overviewDoc> 
+	  <categoryBag>
+		<keyedReference keyName="uddi-org:types:categorization"     keyValue="categorization"     tModelKey="uddi:uddi.org:categorization:types"/> 
+		<keyedReference keyName="uddi-org:types:checked"      keyValue="checked"       tModelKey="uddi:uddi.org:categorization:types"/> 
+		<keyedReference keyName="uddi-org:types:cacheable"      keyValue="cacheable"       tModelKey="uddi:uddi.org:categorization:types"/> 
+	   </categoryBag>
+	</tModel>
+
+
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:categorization:naics:2007">
+	  <name>North American Industry Classification System 2007</name>
+	  <description xml:lang="en">North American Industry Classification System 2007</description>
+	  <overviewDoc>
+	    <overviewURL useType="text">
+	      https://www.census.gov/cgi-bin/sssd/naics/naicsrch?chart=2007
+	    </overviewURL>
+	  </overviewDoc>
+	  <categoryBag>
+	    <keyedReference keyName="uddi-org:types:unchecked"
+	      keyValue="unchecked"
+	      tModelKey="uddi:uddi.org:categorization:types"/>
+	   </categoryBag>
+	</tModel>
+	
+	
+	
+	
+	<tModel tModelKey="uddi:uddi.org:ubr:taxonomy:keygenerator">
+	  <name>UBR Taxonomies</name>
+	  <description xml:lang="en">Universal Business Registry Taxonomy Key Generator.</description>
+

<TRUNCATED>

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


[3/3] juddi git commit: JUDDI-896 resolved a number of typos and formatting issues JUDDI-241 business, service, binding templates and models now replicate

Posted by al...@apache.org.
JUDDI-896 resolved a number of typos and formatting issues
JUDDI-241 business, service, binding templates and models now replicate


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/9d22690e
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/9d22690e
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/9d22690e

Branch: refs/heads/JUDDI-241
Commit: 9d22690eee0aae19f98191c00a00833bf6a28f5c
Parents: 962f8d8
Author: Alex <al...@apache.org>
Authored: Mon Dec 8 19:43:11 2014 -0500
Committer: Alex <al...@apache.org>
Committed: Mon Dec 8 19:43:11 2014 -0500

----------------------------------------------------------------------
 .../juddi/api/impl/AuthenticatedService.java    |    5 +-
 .../org/apache/juddi/api/impl/JUDDIApiImpl.java |   33 +-
 .../juddi/api/impl/UDDIReplicationImpl.java     |  182 +-
 .../juddi/validation/ValidatePublish.java       |  112 +-
 .../juddi/validation/ValidateReplication.java   |    6 +-
 .../src/main/resources/messages.properties      |    1 +
 .../juddi/api/impl/API_160_ReplicationTest.java |    9 +-
 .../org/apache/juddi/samples/EntryPoint.java    |   17 +-
 .../apache/juddi/samples/UddiCreatebulk.java    |    6 +-
 .../juddi/webconsole/resources/web.properties   |    2 +-
 juddi-gui/src/main/webapp/bindingEditor.jsp     |    4 +-
 juddi-gui/src/main/webapp/js/businessEditor.js  |   22 +-
 juddi-gui/src/main/webapp/serviceEditor.jsp     |    2 +-
 juddi-tomcat/build.xml                          |    6 +-
 .../juddi_install_data_node2/UDDI_Publisher.xml |   22 +
 .../juddi_install_data_node2/UDDI_tModels.xml   | 2362 ++++++++++++++++++
 .../root_BusinessEntity.xml                     |    2 +-
 .../repl_v3/NotifyChangeRecordsAvailable.java   |    5 +
 18 files changed, 2663 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
index 767cbee..fb0e00e 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
@@ -49,7 +49,10 @@ public abstract class AuthenticatedService {
 	public static final int AUTHTOKEN_ACTIVE = 1;
 	public static final int AUTHTOKEN_RETIRED = 0;
 	static final Log logger = LogFactory.getLog(AuthenticatedService.class);
-	protected String node = "UNDEFINED_NODE_NAME";
+        /**
+         * the node id of this server instance, as loaded from the config file
+         */
+	protected static String node = "UNDEFINED_NODE_NAME";
         protected String baseUrlSSL="UNDEFINED";
          protected String baseUrl="UNDEFINED";
         

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
index dd201fe..1b6b019 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
@@ -125,7 +125,7 @@ import org.uddi.v3_service.UDDISubscriptionPortType;
  */
 @WebService(serviceName = "JUDDIApiService",
         endpointInterface = "org.apache.juddi.v3_service.JUDDIApiPortType",
-        targetNamespace = "urn:juddi-apache-org:v3_service", wsdlLocation =  "classpath:/juddi_api_v1.wsdl")
+        targetNamespace = "urn:juddi-apache-org:v3_service", wsdlLocation = "classpath:/juddi_api_v1.wsdl")
 public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortType {
 
         private Log log = LogFactory.getLog(this.getClass());
@@ -1276,6 +1276,7 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                 try {
                         tx.begin();
 
+                        org.uddi.repl_v3.ReplicationConfiguration oldConfig = null;
                         UddiEntityPublisher publisher = this.getEntityPublisher(em, authInfo);
                         if (!((Publisher) publisher).isAdmin()) {
                                 throw new UserMismatchException(new ErrorMessage("errors.AdminReqd"));
@@ -1289,9 +1290,9 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         }
                         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddkkmmZ");
                         if (model == null) {
-                                //this is a brand new configuration
+                                //this is a brand new configuration and we didn't have one before
                                 model = new ReplicationConfiguration();
-                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model,em);
+                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model, em);
                                 model.setSerialNumber(System.currentTimeMillis());
                                 model.setTimeOfConfigurationUpdate(sdf.format(new Date()));
                                 em.persist(model);
@@ -1305,17 +1306,20 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                                 //spec doesn't appear to mention if recording a change history on the config is required
                                 //assuming not.
                                 //em.remove(model);
-                                model = new ReplicationConfiguration();
-                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model, em);
-                                model.setSerialNumber(System.currentTimeMillis());
+                                oldConfig = new org.uddi.repl_v3.ReplicationConfiguration();
+                                MappingModelToApi.mapReplicationConfiguration(model, oldConfig);
 
-                                model.setTimeOfConfigurationUpdate(sdf.format(new Date()));
-                                em.merge(model);
+                                ReplicationConfiguration model2 = new ReplicationConfiguration();
+                                MappingApiToModel.mapReplicationConfiguration(replicationConfiguration, model2, em);
+                                model2.setSerialNumber(System.currentTimeMillis());
+
+                                model2.setTimeOfConfigurationUpdate(sdf.format(new Date()));
+                                em.persist(model2);
 
                         }
 
                         tx.commit();
-                        //UDDIReplicationImpl.notifyConfigurationChange(replicationConfiguration);
+                        UDDIReplicationImpl.notifyConfigurationChange(oldConfig, replicationConfiguration);
                         long procTime = System.currentTimeMillis() - startTime;
                         serviceCounter.update(JUDDIQuery.SET_REPLICATION_NODES,
                                 QueryStatus.SUCCESS, procTime);
@@ -1324,12 +1328,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         serviceCounter.update(JUDDIQuery.SET_REPLICATION_NODES,
                                 QueryStatus.FAILED, procTime);
                         throw drfm;
-                } catch (Exception ex){
-                        logger.error(ex,ex);
+                } catch (Exception ex) {
+                        logger.error(ex, ex);
                         JAXB.marshal(replicationConfiguration, System.out);
                         throw new FatalErrorException(new ErrorMessage("E_fatalError", ex.getMessage()));
-                }
-                finally {
+                } finally {
                         if (tx.isActive()) {
                                 tx.rollback();
                         }
@@ -1381,11 +1384,11 @@ public class JUDDIApiImpl extends AuthenticatedService implements JUDDIApiPortTy
                         op.setOperatorNodeID(node);
                         op.setSoapReplicationURL(baseUrlSSL + "/services/replication");
                         //TODO lookup from the root business
-                       
+
                         op.getContact().add(new Contact());
                         op.getContact().get(0).getPersonName().add(new PersonName("Unknown", null));
                         op.setOperatorStatus(OperatorStatusType.NORMAL);
-                        
+
                         r.getOperator().add(op);
                         r.getCommunicationGraph().getNode().add(node);
                         r.getCommunicationGraph().getControlledMessage().add("*");

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
index 5c3b22c..bb2d17c 100644
--- a/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
+++ b/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDIReplicationImpl.java
@@ -21,10 +21,12 @@ import java.math.BigInteger;
 import java.rmi.RemoteException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Queue;
+import java.util.Set;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.ConcurrentLinkedDeque;
@@ -104,6 +106,55 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
         static void notifyConfigurationChange(ReplicationConfiguration oldConfig, ReplicationConfiguration newConfig) {
 
                 //if the config is different
+                Set<String> oldnodes = getNodes(oldConfig);
+                Set<String> newNodes = getNodes(newConfig);
+
+                Set<String> addedNodes = diffNodeList(oldnodes, newNodes);
+                if (queue == null) {
+                        queue = new ConcurrentLinkedDeque<NotifyChangeRecordsAvailable>();
+                }
+                for (String s : addedNodes) {
+                        if (!s.equals(node)) {
+                                logger.info("This node: " + node + ". New replication node queue for synchronization: " + s);
+                                HighWaterMarkVectorType highWaterMarkVectorType = new HighWaterMarkVectorType();
+                                highWaterMarkVectorType.getHighWaterMark().add(new ChangeRecordIDType(s, 0L));
+                                queue.add(new NotifyChangeRecordsAvailable(s, highWaterMarkVectorType));
+                        }
+                }
+
+        }
+
+        private static Set<String> getNodes(ReplicationConfiguration oldConfig) {
+                Set<String> ret = new HashSet<String>();
+                if (oldConfig == null) {
+                        return ret;
+                }
+                for (org.uddi.repl_v3.Operator o : oldConfig.getOperator()) {
+                        ret.add(o.getOperatorNodeID());
+                }
+                if (oldConfig.getCommunicationGraph() != null) {
+                        ret.addAll(oldConfig.getCommunicationGraph().getNode());
+                }
+                return ret;
+        }
+
+        private static Set<String> diffNodeList(Set<String> oldnodes, Set<String> newNodes) {
+                Set<String> diff = new HashSet<String>();
+                Iterator<String> iterator = null;
+                /*oldnodes.iterator();
+                 while (iterator.hasNext()){
+                 String lhs=iterator.next();
+                 if (!newNodes.contains(lhs))
+                 diff.add(lhs);
+                 }*/
+                iterator = newNodes.iterator();
+                while (iterator.hasNext()) {
+                        String lhs = iterator.next();
+                        if (!oldnodes.contains(lhs)) {
+                                diff.add(lhs);
+                        }
+                }
+                return diff;
         }
 
         private UDDIServiceCounter serviceCounter;
@@ -179,17 +230,19 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                                                 try {
                                                         //get the high water marks for this node
                                                         //ok now get all the changes
-                                                        logger.info("fetching updates on, since ");
-                                                        for (int xx = 0; xx < poll.getChangesAvailable().getHighWaterMark().size(); xx++) {
-                                                                logger.info("Node " + poll.getChangesAvailable().getHighWaterMark().get(xx).getNodeID()
-                                                                        + " USN " + poll.getChangesAvailable().getHighWaterMark().get(xx).getOriginatingUSN());
-                                                        }
-                                                        //JAXB.marshal(poll, System.out);
+
+                                                        //done TODO replace with last known record from the given node
+                                                        //for (int xx = 0; xx < poll.getChangesAvailable().getHighWaterMark().size(); xx++) {
+                                                        //        logger.info("Node " + poll.getChangesAvailable().getHighWaterMark().get(xx).getNodeID()
+                                                        //                + " USN " + poll.getChangesAvailable().getHighWaterMark().get(xx).getOriginatingUSN());
+                                                        //}
                                                         GetChangeRecords body = new GetChangeRecords();
                                                         body.setRequestingNode(node);
                                                         body.setResponseLimitCount(BigInteger.valueOf(100));
-                                                        //indexing is screwed up
-                                                        body.setChangesAlreadySeen(poll.getChangesAvailable());
+
+                                                        body.setChangesAlreadySeen(getLastChangeRecordFrom(poll.getNotifyingNode()));
+                                                        logger.info("fetching updates from " + poll.getNotifyingNode() + " since " + body.getChangesAlreadySeen().getHighWaterMark().get(0).getOriginatingUSN());
+
                                                         List<ChangeRecord> records
                                                                 = replicationClient.getChangeRecords(body).getChangeRecord();
                                                         //ok now we need to persist the change records
@@ -235,9 +288,9 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                          * a USN is less than the USN specified in the
                          * changesAlreadySeen highWaterMarkVector.
                          */
-                        StringWriter sw = new StringWriter();
-                        JAXB.marshal(rec, sw);
-                        logger.info("_______________________Remote change request " + sw.toString());
+                        // StringWriter sw = new StringWriter();
+                        //JAXB.marshal(rec, sw);
+                        logger.info("_______________________Remote change request " + rec.getChangeID().getNodeID() + ":" + rec.getChangeID().getOriginatingUSN());
 
                         try {
                                 tx.begin();
@@ -245,6 +298,9 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                                 org.apache.juddi.model.ChangeRecord mapChangeRecord = MappingApiToModel.mapChangeRecord(rec);
                                 mapChangeRecord.setId(null);
                                 em.persist(mapChangeRecord);
+                                tx.commit();
+                                tx = em.getTransaction();
+                                tx.begin();
                                 //<editor-fold defaultstate="collapsed" desc="delete a record">
 
                                 if (rec.getChangeRecordDelete() != null) {
@@ -304,10 +360,10 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                                                         } else {
                                                                 ValidateNodeIdMatches(model.getNodeId(), rec.getChangeRecordNewData().getOperationalInfo());
 
-                                                               org.apache.juddi.model.BindingTemplate bt= em.find(org.apache.juddi.model.BindingTemplate.class,rec.getChangeRecordNewData().getBindingTemplate().getBindingKey() );
-                                                               if (bt!=null){
-                                                                       em.remove(bt);
-                                                               }
+                                                                org.apache.juddi.model.BindingTemplate bt = em.find(org.apache.juddi.model.BindingTemplate.class, rec.getChangeRecordNewData().getBindingTemplate().getBindingKey());
+                                                                if (bt != null) {
+                                                                        em.remove(bt);
+                                                                }
                                                                 bt = new BindingTemplate();
                                                                 MappingApiToModel.mapBindingTemplate(rec.getChangeRecordNewData().getBindingTemplate(), bt, model);
                                                                 MappingApiToModel.mapOperationalInfo(bt, rec.getChangeRecordNewData().getOperationalInfo());
@@ -322,7 +378,7 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                                                                 ValidateNodeIdMatches(model.getNodeId(), rec.getChangeRecordNewData().getOperationalInfo());
                                                                 //TODO revisit access control rules
                                                                 em.remove(model);
-                                                        } 
+                                                        }
                                                         model = new BusinessEntity();
                                                         MappingApiToModel.mapBusinessEntity(rec.getChangeRecordNewData().getBusinessEntity(), model);
                                                         // MappingApiToModel.mapOperationalInfo(model, rec.getChangeRecordNewData().getOperationalInfo());
@@ -413,15 +469,68 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                         }
                 }
 
+                private HighWaterMarkVectorType getLastChangeRecordFrom(String notifyingNode) {
+                        HighWaterMarkVectorType ret = new HighWaterMarkVectorType();
+                        ChangeRecordIDType cid = new ChangeRecordIDType();
+                        cid.setNodeID(notifyingNode);
+                        cid.setOriginatingUSN(0L);
+                        EntityManager em = PersistenceManager.getEntityManager();
+                        EntityTransaction tx = em.getTransaction();
+                        try {
+                                tx.begin();
+                                Long id = 0L;
+                                try {
+                                        cid.setOriginatingUSN((Long) em.createQuery("select e.originatingUSN from ChangeRecord e where e.nodeID = :node order by e.originatingUSN desc").setParameter("node", notifyingNode).setMaxResults(1).getSingleResult());
+                                } catch (Exception ex) {
+                                        logger.info(ex);
+                                }
+
+                                tx.rollback();
+
+                        } catch (Exception drfm) {
+                                logger.warn("error caught fetching newest record from node " + notifyingNode, drfm);
+                        } finally {
+                                if (tx.isActive()) {
+                                        tx.rollback();
+                                }
+                                em.close();
+                        }
+
+                        ret.getHighWaterMark().add(cid);
+
+                        return ret;
+                }
         }
 
-        private static void ValidateNodeIdMatches(String nodeId, OperationalInfo operationalInfo) throws Exception {
-                if (nodeId == null || operationalInfo == null) {
+        // private void ValidateDontChangeMyRecordsAtAnotherNode(String )
+        private void ValidateNodeIdMatches(String modelNodeId, OperationalInfo newDataOperationalInfo) throws Exception {
+                if (modelNodeId == null || newDataOperationalInfo == null) {
                         throw new Exception("either the local node ID is null or the inbound replication data's node id is null");
                 }
-                if (!nodeId.equals(operationalInfo.getNodeID())) {
+                //only time this is allowed is custody transfer
+                if (!modelNodeId.equals(newDataOperationalInfo.getNodeID())) {
                         throw new Exception("node id mismatch!");
                 }
+
+                //if i already have a record and "own it" and the remote node has a record with the same key, reject the update
+                //1.5.8 
+                /**
+                 * Each node has custody of a portion of the aggregate data
+                 * managed by the registry of which it is a part. Each datum is
+                 * by definition in the custody of exactly one such node. A
+                 * datum in this context can be a businessEntity, a
+                 * businessService, a bindingTemplate, a tModel, or a
+                 * publisherAssertion. Changes to a datum in the registry MUST
+                 * originate at the node which is the custodian of the datum.
+                 * The registry defines the policy for data custody and, if
+                 * allowed, the custodian node for a given datum can be changed;
+                 * such custody transfer processes are discussed in Section 5.4
+                 * Custody and Ownership Transfer API.
+                 */
+                //so someone else attempted to update one of my records, reject it
+                if (modelNodeId.equals(node)) {
+                        throw new Exception("node id mismatch! this node already has a record for key " + newDataOperationalInfo.getEntityKey() + " and I'm the authority for it.");
+                }
         }
 
         private synchronized UDDIReplicationPortType getReplicationClient(String node) {
@@ -482,6 +591,7 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
         @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
         @WebResult(name = "changeRecords", targetNamespace = "urn:uddi-org:repl_v3", partName = "body")
         // @WebMethod(operationName = "get_changeRecords", action = "get_changeRecords")
+        @Override
         public org.uddi.repl_v3.ChangeRecords getChangeRecords(
                 @WebParam(partName = "body", name = "get_changeRecords", targetNamespace = "urn:uddi-org:repl_v3") org.uddi.repl_v3.GetChangeRecords body
         ) throws DispositionReportFaultMessage, RemoteException {/*
@@ -625,6 +735,7 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
 
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
+                HashMap<String, Long> map = new HashMap<String, Long>();
                 try {
                         tx.begin();
                         if (FetchEdges != null) {
@@ -632,26 +743,26 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                                 while (it.hasNext()) {
                                         String nextNode = it.next();
                                         if (!nextNode.equals(node)) {
+                                                if (!map.containsKey(nextNode)) {
+                                                        Long id = 0L;
+                                                        try {
+                                                                id = (Long) em.createQuery("select e.originatingUSN from ChangeRecord e where e.nodeID = :node order by e.originatingUSN desc").setParameter("node", nextNode).setMaxResults(1).getSingleResult();
+                                                        } catch (Exception ex) {
+                                                                logger.debug(ex);
+                                                        }
+                                                        if (id == null) {
+                                                                id = 0L;
+                                                                //per the spec
+                                                        }
+                                                        map.put(nextNode, id);
 
-                                                Long id = 0L;
-                                                try {
-                                                        id = (Long) em.createQuery("select e.originatingUSN from ChangeRecord e where e.nodeID = :node order by e.originatingUSN desc").setParameter("node", nextNode).setMaxResults(1).getSingleResult();
-                                                } catch (Exception ex) {
-                                                        logger.debug(ex);
-                                                }
-                                                if (id == null) {
-                                                        id = 0L;
-                                                        //per the spec
                                                 }
-                                                ChangeRecordIDType x = new ChangeRecordIDType(nextNode, id);
-
-                                                ret.add(x);
-
                                         }
                                 }
                         }
                         //dont forget this node
-                        Long id = (Long) em.createQuery("select (e.id) from ChangeRecord e where e.nodeID = :node  order by e.id desc").setParameter("node", node).setMaxResults(1).getSingleResult();
+                        Long id = (Long) em.createQuery("select (e.id) from ChangeRecord e where e.nodeID = :node  order by e.id desc")
+                                .setParameter("node", node).setMaxResults(1).getSingleResult();
                         if (id == null) {
                                 id = 0L;
                         }
@@ -674,6 +785,11 @@ public class UDDIReplicationImpl extends AuthenticatedService implements UDDIRep
                         em.close();
                 }
 
+                Iterator<Map.Entry<String, Long>> iterator = map.entrySet().iterator();
+                while (iterator.hasNext()) {
+                        Map.Entry<String, Long> next = iterator.next();
+                        ret.add(new ChangeRecordIDType(next.getKey(), next.getValue()));
+                }
                 return ret;
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
index f3df32f..64ebdb9 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
@@ -117,8 +117,9 @@ public class ValidatePublish extends ValidateUDDIApi {
 
         /**
          * used from Install class
+         *
          * @param publisher
-         * @param nodeid 
+         * @param nodeid
          * @see Install
          */
         public ValidatePublish(UddiEntityPublisher publisher, String nodeid) {
@@ -284,14 +285,20 @@ public class ValidatePublish extends ValidateUDDIApi {
 
         private void AccessCheck(Object obj, String entityKey) throws UserMismatchException {
                 boolean accessCheck = false; //assume access denied
-                //TODO revisit access control rules in a replicated environment
+                if (!((UddiEntity) obj).getNodeId().equals(nodeID)) {
+                        //prevent changes to data owned by another node in a replicated environment
+                        //even if you're the boss
+                        throw new UserMismatchException(new ErrorMessage("errors.usermismatch.InvalidNode", entityKey + " Owning Node: " +((UddiEntity) obj).getNodeId()
+                        + ", this node: " + nodeID));
+                }
+
                 if (publisher.isOwner((UddiEntity) obj)) {
                         accessCheck = true;
 
                 }
                 //if i'm an admin, let me edit stuff on this node, but only stuff that's owned by this node
                 if (((Publisher) publisher).isAdmin()
-                     && nodeID.equals(((UddiEntity) obj).getNodeId())) {
+                        && nodeID.equals(((UddiEntity) obj).getNodeId())) {
                         accessCheck = true;
                 }
 
@@ -331,8 +338,8 @@ public class ValidatePublish extends ValidateUDDIApi {
                                 }
 
                                 if (!pubAssertion.getTmodelKey().equalsIgnoreCase(keyedRef.getTModelKey())
-                                     || !pubAssertion.getKeyName().equalsIgnoreCase(keyedRef.getKeyName())
-                                     || !pubAssertion.getKeyValue().equalsIgnoreCase(keyedRef.getKeyValue())) {
+                                        || !pubAssertion.getKeyName().equalsIgnoreCase(keyedRef.getKeyName())
+                                        || !pubAssertion.getKeyValue().equalsIgnoreCase(keyedRef.getKeyValue())) {
                                         throw new AssertionNotFoundException(new ErrorMessage("errors.pubassertion.AssertionNotFound", entity.getFromKey() + ", " + entity.getToKey()));
                                 }
 
@@ -363,9 +370,9 @@ public class ValidatePublish extends ValidateUDDIApi {
 
                 for (org.uddi.api_v3.BusinessEntity entity : entityList) {
                         validateBusinessEntity(em, entity, config, publisher);
-                       
+
                 }
-                 validateCheckedTModelsBE(entityList, config);
+                validateCheckedTModelsBE(entityList, config);
         }
 
         public void validateSaveBusinessMax(EntityManager em) throws DispositionReportFaultMessage {
@@ -473,7 +480,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
                 for (org.uddi.api_v3.BindingTemplate entity : entityList) {
                         validateBindingTemplate(em, entity, null, config, publisher);
-                        
+
                 }
                 validateCheckedTModelsBT(entityList, config);
         }
@@ -527,7 +534,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
                 for (org.uddi.api_v3.TModel entity : entityList) {
                         validateTModel(em, entity, config, publisher);
-                        
+
                 }
                 validateCheckedTModelsTM(entityList, config);
         }
@@ -604,17 +611,17 @@ public class ValidatePublish extends ValidateUDDIApi {
                 if (item.getBusinessServices() != null && !item.getSignature().isEmpty()) {
                         for (int i = 0; i < item.getBusinessServices().getBusinessService().size(); i++) {
                                 if (item.getBusinessServices().getBusinessService().get(i).getBusinessKey() == null
-                                     || item.getBusinessServices().getBusinessService().get(i).getBusinessKey().length() == 0) {
+                                        || item.getBusinessServices().getBusinessService().get(i).getBusinessKey().length() == 0) {
                                         throw new ValueNotAllowedException(new ErrorMessage("errors.entity.SignedButNoKey", "business/Service(" + i + ")/businessKey"));
                                 }
                                 if (item.getBusinessServices().getBusinessService().get(i).getServiceKey() == null
-                                     || item.getBusinessServices().getBusinessService().get(i).getServiceKey().length() == 0) {
+                                        || item.getBusinessServices().getBusinessService().get(i).getServiceKey().length() == 0) {
                                         throw new ValueNotAllowedException(new ErrorMessage("errors.entity.SignedButNoKey", "business/Service(" + i + ")/serviceKey"));
                                 }
                                 if (item.getBusinessServices().getBusinessService().get(i).getBindingTemplates() != null) {
                                         for (int k = 0; k < item.getBusinessServices().getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
                                                 if (item.getBusinessServices().getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k).getBindingKey() == null
-                                                     || item.getBusinessServices().getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k).getBindingKey().length() == 0) {
+                                                        || item.getBusinessServices().getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k).getBindingKey().length() == 0) {
                                                         throw new ValueNotAllowedException(new ErrorMessage("errors.entity.SignedButNoKey", "business/Service(" + i + ")/bindingTemplate)" + k + ")/bindingKey"));
                                                 }
                                         }
@@ -658,7 +665,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                 if (item.getBindingTemplates() != null && !item.getSignature().isEmpty()) {
                         for (int i = 0; i < item.getBindingTemplates().getBindingTemplate().size(); i++) {
                                 if (item.getBindingTemplates().getBindingTemplate().get(i).getBindingKey() == null
-                                     || item.getBindingTemplates().getBindingTemplate().get(i).getBindingKey().length() == 0) {
+                                        || item.getBindingTemplates().getBindingTemplate().get(i).getBindingKey().length() == 0) {
                                         throw new ValueNotAllowedException(new ErrorMessage("errors.entity.SignedButNoKey", "businessService/bindingTemplate(" + i + ")/bindingKey"));
                                 }
                         }
@@ -666,7 +673,7 @@ public class ValidatePublish extends ValidateUDDIApi {
         }
 
         public void validateBusinessEntity(EntityManager em, org.uddi.api_v3.BusinessEntity businessEntity,
-             Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
+                Configuration config, UddiEntityPublisher publisher) throws DispositionReportFaultMessage {
 
                 // A supplied businessEntity can't be null
                 if (businessEntity == null) {
@@ -724,8 +731,8 @@ public class ValidatePublish extends ValidateUDDIApi {
         }
 
         public void validateBusinessServices(EntityManager em, org.uddi.api_v3.BusinessServices businessServices,
-             org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
-             throws DispositionReportFaultMessage {
+                org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
+                throws DispositionReportFaultMessage {
                 // Business services is optional
                 if (businessServices == null) {
                         return;
@@ -742,8 +749,8 @@ public class ValidatePublish extends ValidateUDDIApi {
         }
 
         public void validateBusinessService(EntityManager em, org.uddi.api_v3.BusinessService businessService,
-             org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
-             throws DispositionReportFaultMessage {
+                org.uddi.api_v3.BusinessEntity parent, Configuration config, UddiEntityPublisher publisher)
+                throws DispositionReportFaultMessage {
 
                 // A supplied businessService can't be null
                 if (businessService == null) {
@@ -894,8 +901,8 @@ public class ValidatePublish extends ValidateUDDIApi {
         }
 
         public void validateBindingTemplates(EntityManager em, org.uddi.api_v3.BindingTemplates bindingTemplates,
-             org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
-             throws DispositionReportFaultMessage {
+                org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
+                throws DispositionReportFaultMessage {
                 // Binding templates is optional
                 if (bindingTemplates == null) {
                         return;
@@ -909,13 +916,12 @@ public class ValidatePublish extends ValidateUDDIApi {
                 for (org.uddi.api_v3.BindingTemplate bindingTemplate : bindingTemplateList) {
                         validateBindingTemplate(em, bindingTemplate, parent, config, publisher);
                 }
-                
 
         }
 
         public void validateBindingTemplate(EntityManager em, org.uddi.api_v3.BindingTemplate bindingTemplate,
-             org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
-             throws DispositionReportFaultMessage {
+                org.uddi.api_v3.BusinessService parent, Configuration config, UddiEntityPublisher publisher)
+                throws DispositionReportFaultMessage {
 
                 // A supplied bindingTemplate can't be null
                 if (bindingTemplate == null) {
@@ -1125,7 +1131,7 @@ public class ValidatePublish extends ValidateUDDIApi {
 
                 // TODO: validate "checked" categories or category groups (see section 5.2.3 of spec)? optional to support
                 if (tModel.getName() == null || tModel.getName().getValue() == null
-                     || tModel.getName().getValue().equals("")) {
+                        || tModel.getName().getValue().equals("")) {
                         throw new ValueNotAllowedException(new ErrorMessage("errors.tmodel.NoName"));
                 }
 
@@ -1152,9 +1158,9 @@ public class ValidatePublish extends ValidateUDDIApi {
                 // The keyedRef must not be blank and every field must contain data.
                 org.uddi.api_v3.KeyedReference keyedRef = pubAssertion.getKeyedReference();
                 if (keyedRef == null
-                     || keyedRef.getTModelKey() == null || keyedRef.getTModelKey().length() == 0
-                     || keyedRef.getKeyName() == null || keyedRef.getKeyName().length() == 0
-                     || keyedRef.getKeyValue() == null || keyedRef.getKeyValue().length() == 0) {
+                        || keyedRef.getTModelKey() == null || keyedRef.getTModelKey().length() == 0
+                        || keyedRef.getKeyName() == null || keyedRef.getKeyName().length() == 0
+                        || keyedRef.getKeyValue() == null || keyedRef.getKeyValue().length() == 0) {
                         throw new ValueNotAllowedException(new ErrorMessage("errors.pubassertion.BlankKeyedRef"));
                 }
 
@@ -1577,21 +1583,22 @@ public class ValidatePublish extends ValidateUDDIApi {
         }
 
         public void validateSaveSubscriptionAdmin(EntityManager em, String publisherOrUsername, List<Subscription> subscriptions) throws DispositionReportFaultMessage {
-            
-            // No null input
+
+                // No null input
                 if (subscriptions == null || subscriptions.isEmpty()) {
                         throw new FatalErrorException(new ErrorMessage("errors.NullInput"));
                 }
-                
+
                 if (!((Publisher) publisher).isAdmin()) {
-                    throw new UserMismatchException(new ErrorMessage("errors.deletepublisher.AdminReqd"));
+                        throw new UserMismatchException(new ErrorMessage("errors.deletepublisher.AdminReqd"));
                 }
                 UddiEntityPublisher user = new UddiEntityPublisher(publisherOrUsername);
                 ValidateSubscription vsub = new ValidateSubscription(user);
-                for (int i=0; i < subscriptions.size(); i++){
-                    vsub.validateSubscriptions(em, subscriptions, user);
+                for (int i = 0; i < subscriptions.size(); i++) {
+                        vsub.validateSubscriptions(em, subscriptions, user);
                 }
         }
+
         public void validateSavePublisher(EntityManager em, SavePublisher body) throws DispositionReportFaultMessage {
 
                 // No null input
@@ -1815,7 +1822,7 @@ public class ValidatePublish extends ValidateUDDIApi {
                         for (int i = 0; i < phone.size(); i++) {
                                 validateUseType(phone.get(i).getUseType());
                                 if (phone.get(i).getValue() == null
-                                     || phone.get(i).getValue().length() == 0) {
+                                        || phone.get(i).getValue().length() == 0) {
                                         throw new ValueNotAllowedException(new ErrorMessage("errors.phone.noinput"));
                                 }
                                 if (phone.get(i).getValue().length() > ValidationConstants.MAX_phone) {
@@ -2198,15 +2205,15 @@ public class ValidatePublish extends ValidateUDDIApi {
                 for (int i = 0; i < addressLine.size(); i++) {
 
                         if (addressLine.get(i).getKeyName() == null
-                             || addressLine.get(i).getKeyName().trim().length() == 0) {
+                                || addressLine.get(i).getKeyName().trim().length() == 0) {
                                 err += "addressLine(" + i + ").keyName,";
                         }
                         if (addressLine.get(i).getKeyValue() == null
-                             || addressLine.get(i).getKeyValue().trim().length() == 0) {
+                                || addressLine.get(i).getKeyValue().trim().length() == 0) {
                                 err += "addressLine(" + i + ").keyValue,";
                         }
                         if (addressLine.get(i).getValue() == null
-                             || addressLine.get(i).getValue().trim().length() == 0) {
+                                || addressLine.get(i).getValue().trim().length() == 0) {
                                 err += "addressLine(" + i + ").value,";
                         }
                 }
@@ -2385,20 +2392,23 @@ public class ValidatePublish extends ValidateUDDIApi {
                         throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.NoInput"));
                 }
                 //get the latest replication config
-                if (cfg!=null){
-                    if (cfg.getCommunicationGraph()!=null){
-                        for (String node : cfg.getCommunicationGraph().getNode()) {
-                            if (node.equals(nodeID.getNodeID()))
-                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
-                        }
-                        for (int i=0; i <cfg.getCommunicationGraph().getEdge().size(); i++){
-                            if (nodeID.getNodeID().equals(cfg.getCommunicationGraph().getEdge().get(i).getMessageReceiver()))
-                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
-                            if (nodeID.getNodeID().equals(cfg.getCommunicationGraph().getEdge().get(i).getMessageSender()))
-                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
-                            
-                        }
-                    }
+                if (cfg != null) {
+                        if (cfg.getCommunicationGraph() != null) {
+                                for (String node : cfg.getCommunicationGraph().getNode()) {
+                                        if (node.equals(nodeID.getNodeID())) {
+                                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
+                                        }
+                                }
+                                for (int i = 0; i < cfg.getCommunicationGraph().getEdge().size(); i++) {
+                                        if (nodeID.getNodeID().equals(cfg.getCommunicationGraph().getEdge().get(i).getMessageReceiver())) {
+                                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
+                                        }
+                                        if (nodeID.getNodeID().equals(cfg.getCommunicationGraph().getEdge().get(i).getMessageSender())) {
+                                                throw new InvalidKeyPassedException(new ErrorMessage("errors.deleteNode.InReplicationConfig", nodeID.getNodeID()));
+                                        }
+
+                                }
+                        }
                 }
 
         }

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
index 97da3ff..df5a436 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidateReplication.java
@@ -58,9 +58,9 @@ public class ValidateReplication extends ValidateUDDIApi {
                         //This is the unique key for the calling node and SHOULD be specified within the Replication Configuration Structure.
                         throw new FatalErrorException(new ErrorMessage("errors.replication.nodeNotSpecified"));
                 }
-                if (!ContainsNode(requestingNode, FetchEdges)) {
-                        throw new FatalErrorException(new ErrorMessage("errors.replication.unknownNode"));
-                }
+                //if (!ContainsNode(requestingNode, FetchEdges)) {
+                //        throw new FatalErrorException(new ErrorMessage("errors.replication.unknownNode"));
+                //}
 
                 if (changesAlreadySeen != null) {
                         // changesAlreadySeen: The changesAlreadySeen element, if present, indicates changes from each

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/main/resources/messages.properties
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/resources/messages.properties b/juddi-core/src/main/resources/messages.properties
index 95d98ce..fe79f62 100644
--- a/juddi-core/src/main/resources/messages.properties
+++ b/juddi-core/src/main/resources/messages.properties
@@ -296,3 +296,4 @@ errors.replication.configNodeNotFound=No specified node name is not currently li
 errors.replication.configNull=No replication config was present in the message
 errors.replication.contactNull=No replication contact was present in the message
 errors.deleteNode.InReplicationConfig=The node to be deleted is currently referenced in the replication configuration. You must revise the configuration before deleting the node, 
+errors.usermismatch.InvalidNode=The user is not authorized to alter the given entity. It is not owned by this jUDDI node. Try your request again on the authoritative node.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
index 700c96d..2227973 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_160_ReplicationTest.java
@@ -46,6 +46,7 @@ import org.uddi.api_v3.DispositionReport;
 import org.uddi.api_v3.PersonName;
 import org.uddi.repl_v3.ChangeRecord;
 import org.uddi.repl_v3.ChangeRecordIDType;
+import org.uddi.repl_v3.ChangeRecords;
 import org.uddi.repl_v3.CommunicationGraph;
 import org.uddi.repl_v3.DoPing;
 import org.uddi.repl_v3.GetChangeRecords;
@@ -121,8 +122,8 @@ public class API_160_ReplicationTest {
                 }
         }
 
-        @Test(expected = FatalErrorException.class)
-        public void getChangeRecordsInvalid() throws DispositionReportFaultMessage, RemoteException {
+       // @Test(expected = FatalErrorException.class)
+        public void getChangeRecordsValid() throws DispositionReportFaultMessage, RemoteException {
                 List<ChangeRecordIDType> highWaterMarks = repl.getHighWaterMarks();
 
                 HighWaterMarkVectorType highWaterMarkVectorType = new HighWaterMarkVectorType();
@@ -132,8 +133,8 @@ public class API_160_ReplicationTest {
                 req.setChangesAlreadySeen(null);
                 
                 req.setResponseLimitVector(highWaterMarkVectorType);
-                repl.getChangeRecords(req);//"test", null, BigInteger.valueOf(highWaterMarks.get(0).getOriginatingUSN()), highWaterMarkVectorType);
-                Assert.fail("unexpected success");
+                ChangeRecords changeRecords = repl.getChangeRecords(req); //"test", null, BigInteger.valueOf(highWaterMarks.get(0).getOriginatingUSN()), highWaterMarkVectorType);
+                //Assert.fail("unexpected success");
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java
----------------------------------------------------------------------
diff --git a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java
index 3d0dacd..8b38575 100644
--- a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java
+++ b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/EntryPoint.java
@@ -133,7 +133,7 @@ public class EntryPoint {
                         int biz = Integer.parseInt(System.console().readLine());
                         System.out.print("servicesPerBusiness: ");
                         int svc = Integer.parseInt(System.console().readLine());
-                        new UddiCreatebulk().publishBusiness(authtoken, biz, svc);
+                        new UddiCreatebulk("default").publishBusiness(authtoken, biz, svc);
                 }
                 if (input.equals("7")) {
                         UDDISecurityPortType security = null;
@@ -439,22 +439,25 @@ public class EntryPoint {
                 }
                 if (input.equals("magic")) {
                         //secret menu, setups up replication between juddi8080 and 9080 and adds a record or two on 8080
-                        UDDISecurityPortType security = null;
-                        UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml");
+                        //UDDISecurityPortType security = null;
+                        //UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml");
                         
-                        Transport transport = clerkManager.getTransport("default");
+                       /* Transport transport = clerkManager.getTransport("default");
                         security = transport.getUDDISecurityService();
                        
-                        String uname = "root";
+                       String uname = "root";
                        
                         GetAuthToken getAuthTokenRoot = new GetAuthToken();
                         getAuthTokenRoot.setUserID(uname);
                         getAuthTokenRoot.setCred("root");
                         authtoken = security.getAuthToken(getAuthTokenRoot).getAuthInfo();
-                        System.out.println("Success!");
+                        System.out.println("Success!");*/
+                        
+                        //this setups up a replication config between the two nodes
                         new JuddiAdminService().autoMagic();
 
-                        new UddiCreatebulk().publishBusiness(authtoken, 1, 1);
+                        new UddiCreatebulk("default").publishBusiness(null, 1, 1);
+                        new UddiCreatebulk("uddi:another.juddi.apache.org:node2").publishBusiness(null, 1, 1);
                 }
 
         }

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java
----------------------------------------------------------------------
diff --git a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java
index 696c8b7..7825e79 100644
--- a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java
+++ b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiCreatebulk.java
@@ -41,12 +41,12 @@ public class UddiCreatebulk {
         private static UDDISecurityPortType security = null;
         private static UDDIPublicationPortType publish = null;
 
-        public UddiCreatebulk() {
+        public UddiCreatebulk(String node) {
                 try {
                         // create a manager and read the config in the archive; 
                         // you can use your config file name
                         UDDIClient clerkManager = new UDDIClient("META-INF/simple-publish-uddi.xml");
-                        Transport transport = clerkManager.getTransport();
+                        Transport transport = clerkManager.getTransport(node);
                         // Now you create a reference to the UDDI API
                         security = transport.getUDDISecurityService();
                         publish = transport.getUDDIPublishService();
@@ -186,7 +186,7 @@ public class UddiCreatebulk {
         }
 
         public static void main(String args[]) {
-                UddiCreatebulk sp = new UddiCreatebulk();
+                UddiCreatebulk sp = new UddiCreatebulk(null);
                 sp.publishBusiness(null, 15, 20);
         }
 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties b/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
index 106e855..534032d 100644
--- a/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
+++ b/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
@@ -363,7 +363,7 @@ pages.editor.tmodel.instances=Instances
 pages.editor.tmodel.deleted=Is this tModel Deleted? (not available for future use).
 pages.signatures.signedby=Signed By
 pages.signatures.status=Signature Status
-pages.editor.tmodel.instances.content=Use this to search for other entities in this registery that reference this tModel
+pages.editor.tmodel.instances.content=Use this to search for other entities in this registry that reference this tModel
 pages.editor.tmodel.search.business=Find Businesses
 pages.editor.tmodel.search.binding=Find binding
 pages.editor.tmodel.search.services=Find services

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-gui/src/main/webapp/bindingEditor.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/bindingEditor.jsp b/juddi-gui/src/main/webapp/bindingEditor.jsp
index a0699c7..9a1a1f1 100644
--- a/juddi-gui/src/main/webapp/bindingEditor.jsp
+++ b/juddi-gui/src/main/webapp/bindingEditor.jsp
@@ -217,14 +217,14 @@
 
                                                 <b><%=ResourceLoader.GetResource(session, "items.description")%> </b>- 
                                                 <%=ResourceLoader.GetResource(session, "items.services.description")%><br>
-                                                <a href="javascript:AddDescription('Description');"><i class="icon-plus-sign icon-large"></i></a> <%=ResourceLoader.GetResource(session, "items.description.add")%>
+                                                <a href="javascript:AddDescription('Description');"><i class="icon-plus-sign icon-large"></i> <%=ResourceLoader.GetResource(session, "items.description.add")%></a>
 
                                                 <div id="Description" style="border-width: 2px; border-style: solid;" >
                                                         <%
                                                                 for (int i = 0; i < bd.getDescription().size(); i++) {
                                                                         out.write("<div id=\"" + PostBackConstants.DESCRIPTION + i + "\" style=\"border-width:1px; border-style:solid\">");
                                                                         out.write("<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('Description" + i + "');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>");
-                                                                        out.write("<div style=\"float:left\">" + ResourceLoader.GetResource(session, "items.key") + ":&nbsp;</div>"
+                                                                        out.write("<div style=\"float:left\">" + ResourceLoader.GetResource(session, "items.value") + ":&nbsp;</div>"
                                                                              + "<div class=\"edit\" id=\"" + PostBackConstants.DESCRIPTION + i + PostBackConstants.VALUE + "\">" + StringEscapeUtils.escapeHtml(bd.getDescription().get(i).getValue()) + "</div>");
                                                                         out.write("<div style=\"float:left\">" + ResourceLoader.GetResource(session, "items.lang") + ":&nbsp;</div>"
                                                                              + "<div class=\"edit\" id=\"" + PostBackConstants.DESCRIPTION + i + PostBackConstants.LANG + "\">"

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-gui/src/main/webapp/js/businessEditor.js
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/js/businessEditor.js b/juddi-gui/src/main/webapp/js/businessEditor.js
index 090fe49..ab213e3 100644
--- a/juddi-gui/src/main/webapp/js/businessEditor.js
+++ b/juddi-gui/src/main/webapp/js/businessEditor.js
@@ -92,7 +92,7 @@ function AddDescription()
     var i = currentDescriptionEntries;
     $("<div id=\"Description" + i + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('Description" + i 
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_value + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"Description" + i + "Value\"></div>"
         +"<div style=\"float:left\">" + i18n_lang + ": &nbsp;</div>"
@@ -109,7 +109,7 @@ function AddDisco()
     
     $("<div id=\"disco" + i + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('disco" + i 
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_value + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"disco" + i + "Value\"></div>"
         +"<div style=\"float:left\">" + i18n_type + ": &nbsp;</div>"
@@ -129,7 +129,7 @@ function AddContact()
     
     $("<div id=\"contact" + i + "\" style=\"border-width:2px; border-style:solid; border-color:red\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + i 
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_contactType+ ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + i + "Type\">" + i18n_contactTypeDefault + "</div>"
         +"<a href=\"javascript:AddContactName('" + i + "');\"><i class=\"icon-plus-sign icon-large\"></i></a>" + i18n_name + " &nbsp"
@@ -148,7 +148,7 @@ function AddContactName(contactid)
 {
     $("<div id=\"contact" + contactid + "Name" + contactname + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "Name" + contactname
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_name + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "Name" + contactname + "Value\"></div>"
         +"<div style=\"float:left\">" + i18n_lang + ": &nbsp;</div>"
@@ -162,7 +162,7 @@ function AddContactEmail(contactid)
 {
     $("<div id=\"contact" + contactid + "Email" + contactemail + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "Email" + contactemail
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_type + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "Email" + contactemail + "Type\">" + i18n_email+ "</div>"
         +"<div style=\"float:left\">" + i18n_value + ": &nbsp;</div>"
@@ -175,7 +175,7 @@ function AddContactDescription(contactid)
 {
     $("<div id=\"contact" + contactid + "Description" + contactdescription + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "Description" + contactdescription
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_description + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "Description" + contactdescription + "Value\">"+i18n_contactPrimary+"</div>"
         +"<div style=\"float:left\">" + i18n_lang + ": &nbsp;</div>"
@@ -189,7 +189,7 @@ function AddContactPhone(contactid)
 {
     $("<div id=\"contact" + contactid + "Phone" + contactphone + "\" style=\"border-width:1px; border-style:solid\" >" 
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "Phone" + contactphone
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_phone + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "Phone" + contactphone + "Value\"></div>"
         +"<div style=\"float:left\">" + i18n_type + ": &nbsp;</div>"
@@ -204,7 +204,7 @@ function AddContactAddress(contactid)
     $("<div id=\"contact" + contactid + "Address" + contactaddress + "\" style=\"border-width:1px; border-style:solid\" >" 
         
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "Address" + contactaddress
-        +"');\"><i class=\"icon-trash icon-large\"></i></a>" + i18n_address + "</div><br>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a>" + i18n_address + "</div><br>"
         +"<div style=\"float:left\">" + i18n_lang + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "Address" + contactaddress + "Lang\"></div>"
         +"<div style=\"float:left\">" + i18n_addressSortCode + ": &nbsp;</div>"
@@ -228,7 +228,7 @@ function AddContactAddressLine(contactid)
         "\" style=\"border-width:1px; border-style:solid\" >" 
         
         +"<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('contact" + contactid + "addressLine" +contactaddresslines 
-        +"');\"><i class=\"icon-trash icon-large\"></i></a></div>"
+        +"');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"
         +"<div style=\"float:left\">" + i18n_addressValue + ": &nbsp;</div>"
         +"<div class=\"edit\" id=\"contact" + contactid + "addressLine" + contactaddresslines + "Value\"></div>"
         +"<div style=\"float:left\">" +i18n_keyname_optional + ": &nbsp;</div>"
@@ -248,7 +248,7 @@ function AddCategoryKeyReferenceParam(tmodelkey, keyname, keyvalue)
     var i=currentcatkeyref;
     
     $("<div id=\"catbagkeyref" + i + "\" style=\"border-width:1px; border-style:solid\">"+
-        "<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('catbagkeyref" + i + "');\"><i class=\"icon-trash icon-large\"></i></a></div>"+
+        "<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('catbagkeyref" + i + "');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"+
         "<div style=\"float:left\">" + i18n_key +" (<a href=\"javascript:tModelModal('catbagkeyref" + i + "Value')\" ><i class=\"icon-list-alt icon-large\"></i>" + il8n_picker + "</a>): &nbsp;</div>"
         + "<div class=\"edit\" id=\"catbagkeyref" + i + "Value\">" + tmodelkey + "</div>"
         +"<div style=\"float:left\">" + i18n_name + ": &nbsp;</div>"
@@ -267,7 +267,7 @@ function AddCategoryKeyReference()
     var i=currentcatkeyref;
     
     $("<div id=\"catbagkeyref" + i + "\" style=\"border-width:1px; border-style:solid\">"+
-        "<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('catbagkeyref" + i + "');\"><i class=\"icon-trash icon-large\"></i></a></div>"+
+        "<div style=\"float:left;height:100%\"><a href=\"javascript:Remove('catbagkeyref" + i + "');\"><i class=\"icon-trash icon-large\"></i>&nbsp;</a></div>"+
         // <div style=\"float:left\">" + s.key") + ": <a href=\"javascript:tModelModal('" + PostBackConstants.CATBAG_KEY_REF + i + PostBackConstants.VALUE + "')\" class=\"btn btn-mini\">Picker</a> &nbsp;</div>"
         "<div style=\"float:left\">" + i18n_key +" (<a href=\"javascript:tModelModal('catbagkeyref" + i + "Value')\" ><i class=\"icon-list-alt icon-large\"></i>" + il8n_picker + "</a>): &nbsp;</div>"
         + "<div class=\"edit\" id=\"catbagkeyref" + i + "Value\"></div>"

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-gui/src/main/webapp/serviceEditor.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/serviceEditor.jsp b/juddi-gui/src/main/webapp/serviceEditor.jsp
index 00b41b9..9c1c37f 100644
--- a/juddi-gui/src/main/webapp/serviceEditor.jsp
+++ b/juddi-gui/src/main/webapp/serviceEditor.jsp
@@ -348,7 +348,7 @@
                                                 <b><%=ResourceLoader.GetResource(session, "items.bindingtemplate")%> </b>- <%=ResourceLoader.GetResource(session, "items.bindingtemplate.description")%> <br>
                                                 <% if (!newitem) {
                                                 %>
-                                                <a href="bindingEditor.jsp?svcid=<%=URLEncoder.encode(bd.getServiceKey(), "UTF8")%>"><i class="icon-plus-sign icon-large"></i></a> <%=ResourceLoader.GetResource(session, "items.bindingtemplate.add")%> <Br>
+                                                <a href="bindingEditor.jsp?svcid=<%=URLEncoder.encode(bd.getServiceKey(), "UTF8")%>"><i class="icon-plus-sign icon-large"></i> <%=ResourceLoader.GetResource(session, "items.bindingtemplate.add")%></a> <Br>
                                                 
                                                         <%
                                                 }

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-tomcat/build.xml
----------------------------------------------------------------------
diff --git a/juddi-tomcat/build.xml b/juddi-tomcat/build.xml
index f2349f9..325634f 100644
--- a/juddi-tomcat/build.xml
+++ b/juddi-tomcat/build.xml
@@ -81,8 +81,10 @@
 		
 		<copy file="${basedir}/juddiv3Node2.xml" tofile="${webapps2.dir}/juddiv3/WEB-INF/classes/juddiv3.xml" overwrite="true"/>
 		<copy file="${basedir}/juddi_install_data_node2/root_BusinessEntity.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
-<copy file="${basedir}/juddi_install_data_node2/root_Publisher.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
-<copy file="${basedir}/juddi_install_data_node2/root_tModelKeyGen.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
+		<copy file="${basedir}/juddi_install_data_node2/root_Publisher.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
+		<copy file="${basedir}/juddi_install_data_node2/root_tModelKeyGen.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
+		<copy file="${basedir}/juddi_install_data_node2/UDDI_Publisher.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
+		<copy file="${basedir}/juddi_install_data_node2/UDDI_tModels.xml" todir="${webapps2.dir}/juddiv3/WEB-INF/classes/juddi_custom_install_data/" overwrite="true"/>
 
 		
 		<copy file="${basedir}/uddiNode2.xml" tofile="${webapps2.dir}/juddi-gui/WEB-INF/classes/META-INF/uddi.xml" overwrite="true"/>

http://git-wip-us.apache.org/repos/asf/juddi/blob/9d22690e/juddi-tomcat/juddi_install_data_node2/UDDI_Publisher.xml
----------------------------------------------------------------------
diff --git a/juddi-tomcat/juddi_install_data_node2/UDDI_Publisher.xml b/juddi-tomcat/juddi_install_data_node2/UDDI_Publisher.xml
new file mode 100644
index 0000000..0bfd815
--- /dev/null
+++ b/juddi-tomcat/juddi_install_data_node2/UDDI_Publisher.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright 2001-2009 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.
+ *
+ */ -->
+<publisher xmlns="urn:juddi-apache-org:api_v3" authorizedName="uddi">
+  <publisherName>UDDI publisher</publisherName>
+  <isAdmin>false</isAdmin>
+</publisher>
+


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