You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/10/01 03:35:40 UTC

svn commit: r1527852 - in /juddi/trunk: juddi-client.net/ juddi-client.net/juddi-client.net/bindings/ juddi-client/src/main/java/org/apache/juddi/v3/client/config/ juddi-examples/uddi-samples/src/META-INF/ juddi-examples/uddi-samples/src/org/apache/jud...

Author: alexoree
Date: Tue Oct  1 01:35:40 2013
New Revision: 1527852

URL: http://svn.apache.org/r1527852
Log:
minor documentation updates, convenience wrapper added for PersonName, ASF license added to other files. Additional sample added for java client and mono solution file

Added:
    juddi/trunk/juddi-examples/uddi-samples/src/org/apache/juddi/samples/FindBusinessBugHunt.java
Modified:
    juddi/trunk/juddi-client.net/juddi-client.net-mono.sln
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    juddi/trunk/juddi-examples/uddi-samples/src/META-INF/simple-publish-uddi.xml
    juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/PersonName.java

Modified: juddi/trunk/juddi-client.net/juddi-client.net-mono.sln
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-mono.sln?rev=1527852&r1=1527851&r2=1527852&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-mono.sln (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-mono.sln Tue Oct  1 01:35:40 2013
@@ -10,7 +10,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956
 		.nuget\packages.config = .nuget\packages.config
 	EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-client.net-mono-test", "juddi-client.net-mono-test\juddi-client.net-mono-test.csproj", "{51AA5A04-E92F-42FF-8752-F551F582E9A4}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "juddi-client.net.test", "juddi-client.net.test\juddi-client.net.test.csproj", "{0AD62F71-EC84-4133-87FA-C27083F4D884}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WcfServiceLifeCycle", "example\WcfServiceLifeCycle\WcfServiceLifeCycle.csproj", "{072F737E-86E5-4B8E-A7FB-864A3ABB0D9A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspnetServiceLifeCycle", "example\AspnetServiceLifeCycle\AspnetServiceLifeCycle.csproj", "{53F50B81-088B-4593-9F1C-F3D3F499F28C}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -26,10 +30,18 @@ Global
 		{7FA52B63-F70A-4EC7-8390-CC7C1C9C6B84}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{7FA52B63-F70A-4EC7-8390-CC7C1C9C6B84}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{7FA52B63-F70A-4EC7-8390-CC7C1C9C6B84}.Release|Any CPU.Build.0 = Release|Any CPU
-		{51AA5A04-E92F-42FF-8752-F551F582E9A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{51AA5A04-E92F-42FF-8752-F551F582E9A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{51AA5A04-E92F-42FF-8752-F551F582E9A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{51AA5A04-E92F-42FF-8752-F551F582E9A4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0AD62F71-EC84-4133-87FA-C27083F4D884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0AD62F71-EC84-4133-87FA-C27083F4D884}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0AD62F71-EC84-4133-87FA-C27083F4D884}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0AD62F71-EC84-4133-87FA-C27083F4D884}.Release|Any CPU.Build.0 = Release|Any CPU
+		{072F737E-86E5-4B8E-A7FB-864A3ABB0D9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{072F737E-86E5-4B8E-A7FB-864A3ABB0D9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{072F737E-86E5-4B8E-A7FB-864A3ABB0D9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{072F737E-86E5-4B8E-A7FB-864A3ABB0D9A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{53F50B81-088B-4593-9F1C-F3D3F499F28C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{53F50B81-088B-4593-9F1C-F3D3F499F28C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{53F50B81-088B-4593-9F1C-F3D3F499F28C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{53F50B81-088B-4593-9F1C-F3D3F499F28C}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs?rev=1527852&r1=1527851&r2=1527852&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs Tue Oct  1 01:35:40 2013
@@ -1,4 +1,20 @@
-using System;
+/*
+ * Copyright 2001-2013 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+using System;
 using System.Collections.Generic;
 using System.Text;
 

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1527852&r1=1527851&r2=1527852&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Tue Oct  1 01:35:40 2013
@@ -707,7 +707,7 @@ public class UDDIClerk implements Serial
     /**
      * Gets an auth token from the uddi server using the uddi auth token
      * 
-     * notes: changed to protected to have access from the subscription callback API 8/20/2013 AO
+     * notes: changed to public to have access from the subscription callback API 8/20/2013 AO
      * @param endpointURL
      * @return
      * @throws TransportException
@@ -915,14 +915,14 @@ public class UDDIClerk implements Serial
 
     /**
      *A helper class to create a tModel key generator.<br>
-     * Why would I want a key generator? In UDDIv3, you're support to specify what you want the keys (unique identifiers) to be, however there's
+     * Why would I want a key generator? In UDDIv3, you're suppose to specify what you want the keys (unique identifiers) to be, however there's
      * a number of naming rules associated with the keys. Generally, use the FQDN of your business or organization.
      * Optionally, when saving an UDDI entity, you can just leave the key name blank and the server
-     * should generate one for you. It's normally a UUID that's not easy to remember. In this case, there's no need to call this method.<br><br>
+     * should generate one for you. It's normally a UUID that's not easy to remember. In this case, there's no need to call this method. <br><br>
      * In addition, no changes are made to the UDDI server. You'll have to do that one using code similar to this:
      * <pre>
      * UDDIClerk clerk = ...
-     * TModel keygen = UDDIClerk.createKeyGenator("mydomain.com", "my domain", "en");
+     * TModel keygen = UDDIClerk.createKeyGenator("uddi:mydomain.com:keygenerator", "my domain", "en");
      * clerk.register(keygen);
      * 
      * @param partitionName think of this as the domain, i.e. juddi.apache.org, but it can really be anything you want. This will become part of the
@@ -941,11 +941,13 @@ public class UDDIClerk implements Serial
             throw new IllegalArgumentException();
         }
         if (!partitionName.startsWith("uddi:")) {
-            throw new IllegalArgumentException("partitionName must have a 'uddi:' prefix");
+            //throw new IllegalArgumentException("partitionName must have a 'uddi:' prefix");
+            partitionName = "uddi:" + partitionName;
 
         }
         if (!partitionName.endsWith(":keygenerator")) {
-            throw new IllegalArgumentException("partitionName must have a ':keyGenerator' postfix");
+            //throw new IllegalArgumentException("partitionName must have a ':keygenerator' postfix");
+            partitionName =  partitionName + ":keygenerator";
         }
         TModel tm = new TModel();
         tm.setName(new Name());

Modified: juddi/trunk/juddi-examples/uddi-samples/src/META-INF/simple-publish-uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-samples/src/META-INF/simple-publish-uddi.xml?rev=1527852&r1=1527851&r2=1527852&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/uddi-samples/src/META-INF/simple-publish-uddi.xml (original)
+++ juddi/trunk/juddi-examples/uddi-samples/src/META-INF/simple-publish-uddi.xml Tue Oct  1 01:35:40 2013
@@ -3,30 +3,34 @@
 <uddi xmlns="urn:juddi-apache-org:v3_client" xsi:schemaLocation="classpath:/xsd/uddi-client.xsd">
     <reloadDelay>5000</reloadDelay>
     <client name="example-client">
-		<nodes>
-			<node>
-			    <!-- required 'default' node -->
-				<name>default</name> 
+        <nodes>
+            <node>
+                <!-- required 'default' node -->
+                <name>default</name> 
                 <properties>
                     <property name="serverName" value="localhost"/>
                     <property name="serverPort" value="8080"/>
-					<!-- for UDDI nodes that use HTTP u/p, using the following 
-					<property name="basicAuthUsername" value="root" />
-					<property name="basicAuthPassword" value="password" />
-					<property name="basicAuthPasswordIsEncrypted" value="false" />
-					<property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
+                    <!-- for UDDI nodes that use HTTP u/p, using the following 
+                    <property name="basicAuthUsername" value="root" />
+                    <property name="basicAuthPassword" value="password" />
+                    <property name="basicAuthPasswordIsEncrypted" value="false" />
+                    <property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
                 </properties>
-				<description>Main jUDDI node</description>
-				<!-- JAX-WS Transport -->
-				<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
-				<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
-				<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
-		        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
-		        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
-				<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
-				<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
-				<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api</juddiApiUrl>
-			</node>
-		</nodes>
-	</client>
+                <description>Main jUDDI node</description>
+                <!-- JAX-WS Transport -->
+                <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+                <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer</custodyTransferUrl>
+                <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry</inquiryUrl>
+                <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish</publishUrl>
+                <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security</securityUrl>
+                <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription</subscriptionUrl>
+                <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener</subscriptionListenerUrl>
+                <juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api</juddiApiUrl>
+            </node>
+        </nodes>
+        <clerks registerOnStartup="false" >
+            <clerk name="default" node="default" publisher="root" password="root"/>
+        </clerks>
+
+    </client>
 </uddi>

Added: juddi/trunk/juddi-examples/uddi-samples/src/org/apache/juddi/samples/FindBusinessBugHunt.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/uddi-samples/src/org/apache/juddi/samples/FindBusinessBugHunt.java?rev=1527852&view=auto
==============================================================================
--- juddi/trunk/juddi-examples/uddi-samples/src/org/apache/juddi/samples/FindBusinessBugHunt.java (added)
+++ juddi/trunk/juddi-examples/uddi-samples/src/org/apache/juddi/samples/FindBusinessBugHunt.java Tue Oct  1 01:35:40 2013
@@ -0,0 +1,214 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.apache.juddi.samples;
+
+import java.io.File;
+import java.net.URL;
+import java.rmi.RemoteException;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.namespace.QName;
+import org.apache.juddi.jaxb.PrintUDDI;
+import static org.apache.juddi.samples.WadlImport.properties;
+import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.config.UDDIClerk;
+import org.apache.juddi.v3.client.config.UDDIClient;
+import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3.client.mapping.URLLocalizerDefaultImpl;
+import org.apache.juddi.v3.client.mapping.WADL2UDDI;
+import org.apache.juddi.v3.client.mappings.wadl.Application;
+import org.apache.juddi.v3.client.transport.Transport;
+import org.apache.juddi.v3_service.JUDDIApiPortType;
+import org.uddi.api_v3.AuthToken;
+import org.uddi.api_v3.BusinessDetail;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.BusinessInfos;
+import org.uddi.api_v3.BusinessList;
+import org.uddi.api_v3.BusinessService;
+import org.uddi.api_v3.BusinessServices;
+import org.uddi.api_v3.Contact;
+import org.uddi.api_v3.Contacts;
+import org.uddi.api_v3.DeleteBusiness;
+import org.uddi.api_v3.Description;
+import org.uddi.api_v3.DiscoveryURL;
+import org.uddi.api_v3.DiscoveryURLs;
+import org.uddi.api_v3.FindBusiness;
+import org.uddi.api_v3.GetAuthToken;
+import org.uddi.api_v3.GetBusinessDetail;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.PersonName;
+import org.uddi.api_v3.SaveBusiness;
+import org.uddi.api_v3.SaveTModel;
+import org.uddi.api_v3.TModel;
+import org.uddi.v3_service.DispositionReportFaultMessage;
+import org.uddi.v3_service.UDDIInquiryPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class FindBusinessBugHunt {
+
+    static PrintUDDI<TModel> pTModel = new PrintUDDI<TModel>();
+    static Properties properties = new Properties();
+    static String wsdlURL = null;
+    private static UDDISecurityPortType security = null;
+    private static JUDDIApiPortType juddiApi = null;
+    private static UDDIPublicationPortType publish = null;
+    private static UDDIInquiryPortType inquiry;
+
+    public static void main(String[] args) throws Exception {
+
+        // 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");
+        UDDIClerk clerk = clerkManager.getClerk("default");
+        // register the clerkManager with the client side container
+        UDDIClientContainer.addClient(clerkManager);            // a ClerkManager can be a client to multiple UDDI nodes, so 
+        // a ClerkManager can be a client to multiple UDDI nodes, so 
+        // supply the nodeName (defined in your uddi.xml.
+        // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml
+        Transport transport = clerkManager.getTransport("default");
+        // Now you create a reference to the UDDI API
+        security = transport.getUDDISecurityService();
+        publish = transport.getUDDIPublishService();
+        inquiry = transport.getUDDIInquiryService();
+        //step one, get a token
+        GetAuthToken getAuthTokenRoot = new GetAuthToken();
+        getAuthTokenRoot.setUserID("uddi");
+        getAuthTokenRoot.setCred("uddi");
+
+        // Making API call that retrieves the authentication token for the 'root' user.
+        String rootAuthToken = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl());
+        String uddi = security.getAuthToken(getAuthTokenRoot).getAuthInfo();
+
+        System.out.println("killing mary's business if it exists");
+        //first check is Mary's business exists and delete
+        DeleteIfExists("uddi:uddi.marypublisher.com:marybusinessone", uddi);
+
+        System.out.println("making mary's tmodel key gen");
+        //make the key gen since our test case uses some custom keys
+        TModel createKeyGenator = UDDIClerk.createKeyGenator("uddi.marypublisher.com", "mary key gen", "en");
+        //clerk.register(createKeyGenator);
+        System.out.println("saving...");
+        SaveTM(createKeyGenator, uddi);
+
+
+        System.out.println("fetching business list");
+        BusinessList before = getBusinessList(uddi);
+        if (before.getBusinessInfos() == null) {
+            System.out.println("before no businesses returned!");
+            before.setBusinessInfos(new BusinessInfos());
+        } else {
+            System.out.println(before.getBusinessInfos().getBusinessInfo().size() + " businesses returned before");
+        }
+
+        System.out.println("saving mary");
+        SaveMary(uddi);
+
+        BusinessList after = getBusinessList(uddi);
+        if (after.getBusinessInfos() == null) {
+            System.out.println("after no businesses returned!");
+            after.setBusinessInfos(new BusinessInfos());
+        } else {
+            System.out.println(after.getBusinessInfos().getBusinessInfo().size() + " businesses returned after");
+        }
+        PrintUDDI<BusinessList> p = new PrintUDDI<BusinessList>();
+        if (before.getBusinessInfos().getBusinessInfo().size()
+                < after.getBusinessInfos().getBusinessInfo().size()) {
+            System.out.println("hey it worked as advertised, double checking");
+            if (CheckFor(after, "uddi:uddi.marypublisher.com:marybusinessone")) {
+                System.out.println("ok!");
+            } else {
+                System.out.println("no good!");
+            }
+        } else {
+
+            System.out.println("something's not right, here's the before service listing");
+            System.out.println(p.print(before));
+            System.out.println(p.print(after));
+        }
+
+    }
+
+    private static void DeleteIfExists(String key, String authInfo) {
+        GetBusinessDetail gbd = new GetBusinessDetail();
+        gbd.setAuthInfo(authInfo);
+        gbd.getBusinessKey().add(key);
+        boolean found = false;
+        try {
+            BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
+            if (businessDetail != null
+                    && !businessDetail.getBusinessEntity().isEmpty()
+                    && businessDetail.getBusinessEntity().get(0).getBusinessKey().equals(key)) {
+                found = true;
+            }
+        } catch (Exception ex) {
+        }
+        if (found) {
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfo);
+            db.getBusinessKey().add(key);
+            try {
+                publish.deleteBusiness(db);
+            } catch (Exception ex) {
+                Logger.getLogger(FindBusinessBugHunt.class.getName()).log(Level.SEVERE, null, ex);
+            }
+        }
+    }
+
+    private static BusinessList getBusinessList(String token) throws Exception {
+        FindBusiness fb = new FindBusiness();
+        fb.setAuthInfo(token);
+        org.uddi.api_v3.FindQualifiers fq = new org.uddi.api_v3.FindQualifiers();
+        fq.getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
+        fb.setFindQualifiers(fq);
+        fb.getName().add((new Name(UDDIConstants.WILDCARD, "")));
+        return inquiry.findBusiness(fb);
+    }
+
+    private static void SaveMary(String rootAuthToken) throws Exception {
+        BusinessEntity be = new BusinessEntity();
+        be.setBusinessKey("uddi:uddi.marypublisher.com:marybusinessone");
+        be.setDiscoveryURLs(new DiscoveryURLs());
+        be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("home", "http://www.marybusinessone.com"));
+        be.getDiscoveryURLs().getDiscoveryURL().add(new DiscoveryURL("serviceList", "http://www.marybusinessone.com/services"));
+        be.getName().add(new Name("Mary Doe Enterprises", "en"));
+        be.getName().add(new Name("Maria Negocio Uno", "es"));
+        be.getDescription().add(new Description("This is the description for Mary Business One.", "en"));
+        be.setContacts(new Contacts());
+        Contact c = new Contact();
+        c.setUseType("administrator");
+        c.getPersonName().add(new PersonName("Mary Doe", "en"));
+        c.getPersonName().add(new PersonName("Juan Doe", "es"));
+        c.getDescription().add(new Description("This is the administrator of the service offerings.", "en"));
+        be.getContacts().getContact().add(c);
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(rootAuthToken);
+        sb.getBusinessEntity().add(be);
+        publish.saveBusiness(sb);
+    }
+
+    private static boolean CheckFor(BusinessList list, String key) {
+        for (int i = 0; i < list.getBusinessInfos().getBusinessInfo().size(); i++) {
+            if (list.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey().equalsIgnoreCase(key)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static void SaveTM(TModel createKeyGenator, String uddi) throws Exception {
+        SaveTModel stm = new SaveTModel();
+        stm.setAuthInfo(uddi);
+        stm.getTModel().add(createKeyGenator);
+        publish.saveTModel(stm);
+    }
+}

Modified: juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/PersonName.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/PersonName.java?rev=1527852&r1=1527851&r2=1527852&view=diff
==============================================================================
--- juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/PersonName.java (original)
+++ juddi/trunk/uddi-ws/src/main/java/org/uddi/api_v3/PersonName.java Tue Oct  1 01:35:40 2013
@@ -58,6 +58,23 @@ public class PersonName implements Seria
     protected String lang;
 
     /**
+     * default
+     */
+    public PersonName()
+    {}
+    
+    /**
+     * convenience wrapper
+     * @since 3.2
+     * @param Value
+     * @param Lang 
+     */
+    public PersonName(String Value, String Lang)
+    {
+        this.value = Value;
+        this.lang = Lang;
+    }
+    /**
      * Gets the value of the value property.
      * 
      * @return



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