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/09/19 02:06:39 UTC

svn commit: r1524601 [4/4] - in /juddi/trunk/juddi-client.net: ./ example/ example/AspnetServiceLifeCycle/ example/AspnetServiceLifeCycle/Properties/ example/WcfServiceLifeCycle/ example/WcfServiceLifeCycle/Properties/ juddi-client.net-sample/ juddi-cl...

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs Thu Sep 19 00:06:38 2013
@@ -121,9 +121,36 @@ namespace org.uddi.apiv3
             this.Url = url;
         }
     }
-}
 
 
+
+    /**
+     * Provides a basic enumeration of the predefinied useType values for UDDI service/bindingTemplates/accessPoints/useType
+     * @author unknown
+     */
+    public enum AccessPointType
+    {
+        /**
+             *  endPoint: designates that the accessPoint points to the actual service endpoint, i.e. the network address at which the Web service can be invoked,
+             */
+        endPoint,
+        /**
+         *  bindingTemplate: designates that the accessPoint contains a bindingKey that points to a different bindingTemplate entry. The value in providing this facility is seen when a business or entity wants to expose a service description (e.g. advertise that they have a service available that suits a specific purpose) that is actually a service that is described in a separate bindingTemplate record. This might occur when many service descriptions could benefit from a single service description,
+         */
+        bindingTemplate,
+        /**
+         * hostingRedirector: designates that the accessPoint can only be determined by querying another UDDI registry.  This might occur when a service is remotely hosted.
+         */
+        hostingDirector,
+        /**
+         * wsdlDeployment: designates that the accessPoint points to a remotely hosted WSDL document that already contains the necessary binding information, including the actual service endpoint.
+         *  The bindingTemplate of a Web service making use of indirection via a hostingRedirector Web service contains the bindingKey of the hosting redirector service’s bindingTemplate.  The hosting redirector’s bindingTemplate contains the accessPoint of the Hosting Redirector Web service
+         */
+        wsdlDeployment
+    }
+
+}
+
 namespace org.apache.juddi.apiv3
 {
     public partial class JUDDIApiService : System.Web.Services.Protocols.SoapHttpClientProtocol

Modified: juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj Thu Sep 19 00:06:38 2013
@@ -45,6 +45,9 @@
     <Compile Include="bindings\events.cs" />
     <Compile Include="bindings\ext.cs" />
     <Compile Include="bindings\JUDDIApiService.cs" />
+    <Compile Include="org.apache.juddi.v3.client.annotations\AnnotationProcessor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.annotations\UDDIService.cs" />
+    <Compile Include="org.apache.juddi.v3.client.annotations\UDDIServiceBinding.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\BackgroundRegistration.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\ClientConfig.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\Properties.cs" />

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs?rev=1524601&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs Thu Sep 19 00:06:38 2013
@@ -0,0 +1,239 @@
+using org.apache.juddi.v3.client.annotations;
+using org.apache.juddi.v3.client.log;
+using org.uddi.apiv3;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Web.Services;
+
+namespace org.apache.juddi.v3.client.config
+{
+    class AnnotationProcessor
+    {
+        static Log log = LogFactory.getLog(typeof(AnnotationProcessor));
+        private static readonly String KEYED_REFERENCE = "keyedReference=";
+        private static readonly String KEY_NAME = "keyName=";
+        private static readonly String KEY_VALUE = "keyValue=";
+        private static readonly String TMODEL_KEY = "tModelKey=";
+
+        public List<businessService> readServiceAnnotations(string[] classes, Properties properties)
+        {
+            List<businessService> items = new List<businessService>();
+
+            if (classes != null)
+            {
+                foreach (string s in classes)
+                {
+                    businessService b = readServiceAnnotations(s, properties);
+                    if (b != null)
+                        items.Add(b);
+                }
+
+            }
+            return items;
+
+        }
+
+        public businessService readServiceAnnotations(String classWithAnnotations, Properties properties)
+        {
+           
+            Type t = Type.GetType(classWithAnnotations, false, true);
+            if (t != null)
+            {
+                businessService service = new businessService();
+                object[] attrib = t.GetCustomAttributes(typeof(UDDIService), true);
+
+                object[] ws = t.GetCustomAttributes(typeof(System.Web.Services.WebServiceBindingAttribute), true);
+                WebServiceBindingAttribute webServiceAnnotation = null;
+                if (ws != null && ws.Length > 0)
+                {
+                    webServiceAnnotation = ((WebServiceBindingAttribute[])ws)[0];
+                }
+                if (attrib != null && attrib.Length > 0)
+                {
+
+                    UDDIService[] bits = attrib as UDDIService[];
+                    UDDIService uddiService = bits[0];
+                    name n = new name();
+                    n.lang = uddiService.lang;
+                    service.businessKey = (TokenResolver.replaceTokens(uddiService.businessKey, properties));
+                    service.serviceKey = (TokenResolver.replaceTokens(uddiService.serviceKey, properties));
+                    if (!"".Equals(uddiService.serviceName, StringComparison.CurrentCultureIgnoreCase))
+                    {
+                        n.Value = (TokenResolver.replaceTokens(uddiService.serviceName, properties));
+                    }
+                    else if (webServiceAnnotation != null && !"".Equals(webServiceAnnotation.Name))
+                    {
+                        n.Value = (webServiceAnnotation.Name);
+                    }
+                    else
+                    {
+                        n.Value = (classWithAnnotations);
+                    }
+                    service.name = new name[] { n };
+                    description d = new description();
+                    d.lang = (uddiService.lang);
+                    d.Value = (TokenResolver.replaceTokens(uddiService.description, properties));
+                    service.description = new description[] { d };
+
+                    //categoryBag on the service
+                    if (!"".Equals(uddiService.categoryBag))
+                    {
+                        categoryBag categoryBag = parseCategoryBag(uddiService.categoryBag);
+                        service.categoryBag = (categoryBag);
+                    }
+
+                    //bindingTemplate on service
+                    bindingTemplate bindingTemplate = parseServiceBinding(classWithAnnotations, uddiService.lang, webServiceAnnotation, properties);
+                    if (bindingTemplate != null)
+                    {
+                        bindingTemplate.serviceKey = (service.serviceKey);
+                        if (service.bindingTemplates == null)
+                        {
+                            service.bindingTemplates = new bindingTemplate[] { bindingTemplate };
+                        }
+                        else
+                        {
+                            List<bindingTemplate> l = service.bindingTemplates.ToList();
+                            l.Add(bindingTemplate);
+                            service.bindingTemplates = l.ToArray();
+                        }
+                    }
+
+                    return service;
+                }
+                else
+                {
+                    log.error("Missing UDDIService annotation in class " + classWithAnnotations);
+                }
+            }
+            log.error("Unable to load type " + classWithAnnotations);
+            return null;
+            
+        }
+
+
+
+        private bindingTemplate parseServiceBinding(string classWithAnnotations, string lang, WebServiceBindingAttribute webServiceAnnotation, Properties properties)
+        {
+
+            bindingTemplate bindingTemplate = null;
+            Type t = Type.GetType(classWithAnnotations, false, false);
+            UDDIServiceBinding uddiServiceBinding = null;
+            object[] attrib = t.GetCustomAttributes(typeof(UDDIServiceBinding), true);
+            if (attrib != null && attrib.Length > 0)
+                uddiServiceBinding = attrib[0] as UDDIServiceBinding;
+
+            //= (UDDIServiceBinding) classWithAnnotations.getAnnotation(UDDIServiceBinding.class);
+            //binding
+            if (uddiServiceBinding != null)
+            {
+                bindingTemplate = new bindingTemplate();
+
+                bindingTemplate.bindingKey = (TokenResolver.replaceTokens(uddiServiceBinding.bindingKey, properties));
+
+                String bindingLang = (lang);
+                if (uddiServiceBinding.lang != null)
+                {
+                    bindingLang = TokenResolver.replaceTokens(uddiServiceBinding.lang, properties);
+                }
+                description bindingDescription = new description();
+                bindingDescription.lang = (bindingLang);
+                bindingDescription.Value = (TokenResolver.replaceTokens(uddiServiceBinding.description, properties));
+                bindingTemplate.description = new description[] { (bindingDescription) };
+
+                accessPoint accessPoint = new accessPoint();
+                accessPoint.useType = (AccessPointType.wsdlDeployment.ToString());
+                if (!"".Equals(uddiServiceBinding.accessPointType))
+                {
+                    accessPoint.useType = (uddiServiceBinding.accessPointType);
+                }
+                if (!"".Equals(uddiServiceBinding.accessPoint))
+                {
+                    String endPoint = uddiServiceBinding.accessPoint;
+                    endPoint = TokenResolver.replaceTokens(endPoint, properties);
+                    log.debug("AccessPoint EndPoint=" + endPoint);
+                    accessPoint.Value = (endPoint);
+                }
+                else if (webServiceAnnotation != null && webServiceAnnotation.Location != null)
+                {
+                    accessPoint.Value = (webServiceAnnotation.Location);
+                }
+                bindingTemplate.Item = (accessPoint);
+
+                //tModelKeys on the binding
+                if (!"".Equals(uddiServiceBinding.tModelKeys))
+                {
+                    String[] tModelKeys = uddiServiceBinding.tModelKeys.Split(',');
+                    foreach (String tModelKey in tModelKeys)
+                    {
+                        tModelInstanceInfo instanceInfo = new tModelInstanceInfo();
+                        instanceInfo.tModelKey = (tModelKey);
+                        if (bindingTemplate.tModelInstanceDetails == null)
+                        {
+                            bindingTemplate.tModelInstanceDetails = (new tModelInstanceInfo[] { instanceInfo });
+                        }
+                        List<tModelInstanceInfo> l = bindingTemplate.tModelInstanceDetails.ToList();
+                        l.Add(instanceInfo);
+                        bindingTemplate.tModelInstanceDetails = l.ToArray();
+
+                    }
+                }
+                //categoryBag on the binding
+                if (!"".Equals(uddiServiceBinding.categoryBag))
+                {
+                    categoryBag categoryBag = parseCategoryBag(uddiServiceBinding.categoryBag);
+                    bindingTemplate.categoryBag = (categoryBag);
+                }
+            }
+            else
+            {
+                log.error("Missing UDDIServiceBinding annotation in class " + classWithAnnotations);
+            }
+            return bindingTemplate;
+        }
+
+        private categoryBag parseCategoryBag(string categoryBagStr)
+        {
+
+            categoryBag cb = new categoryBag();
+            log.debug("CategoryBag Annotation=" + cb);
+            if (!"".Equals(categoryBagStr))
+            {
+                List<keyedReference> cbs = new List<keyedReference>();
+                String[] sections = categoryBagStr.Split(',');
+                foreach (String section in sections)
+                {
+                    if (section.StartsWith(KEYED_REFERENCE))
+                    {
+                        String keyedReferenceStr = section.Substring(KEYED_REFERENCE.Length, section.Length);
+                        log.debug("Found KeyedReference=" + keyedReferenceStr);
+                        String[] keyedReferences = keyedReferenceStr.Split(';');
+                        keyedReference keyedReference = new keyedReference();
+                        foreach (String key in keyedReferences)
+                        {
+                            if (key.StartsWith(KEY_NAME)) keyedReference.keyName = (key.Substring(KEY_NAME.Length, key.Length));
+                            if (key.StartsWith(KEY_VALUE)) keyedReference.keyValue = (key.Substring(KEY_VALUE.Length, key.Length));
+                            if (key.StartsWith(TMODEL_KEY)) keyedReference.tModelKey = (key.Substring(TMODEL_KEY.Length, key.Length));
+                        }
+                        log.debug("KeyedReference = " + KEY_NAME + keyedReference.keyName + " "
+                                                      + KEY_VALUE + keyedReference.keyValue + " "
+                                                      + TMODEL_KEY + keyedReference.tModelKey);
+                        cbs.Add(keyedReference);
+                    }
+                    else
+                    {
+                        log.warn("Ignoring " + section);
+                        //TODO add support for KeyedReferenceGroups?
+                    }
+                }
+                cb.Items = cbs.ToArray();
+            }
+            return cb;
+        }
+    }
+}
+
+
+

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs?rev=1524601&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs Thu Sep 19 00:06:38 2013
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace org.apache.juddi.v3.client.annotations
+{
+    [System.AttributeUsage(System.AttributeTargets.Interface | System.AttributeTargets.Class, AllowMultiple = false)]
+    public class UDDIService : System.Attribute
+    {
+        public UDDIService()
+        {
+            this.lang = "en";
+            businessKey = "";
+            serviceName = "";
+            categoryBag = "";
+        }
+        /** Name of the Service, this can be omitted if one is specified in a WebService annotation */
+        public String serviceName { get; set; }
+        /** Description of the Service */
+        public String description { get; set; }
+        /** Unique key of this service */
+        public String serviceKey { get; set; }
+        /** Unique key of the business to which this Service belongs. */
+        public String businessKey { get; set; }
+        /** Language code i.e.: en, fr, nl. */
+        public String lang { get; set; }
+        /** List of KeyedReferences */
+        public String categoryBag { get; set; }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs?rev=1524601&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs Thu Sep 19 00:06:38 2013
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace org.apache.juddi.v3.client.annotations
+{
+    [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false)]
+    public class UDDIServiceBinding : System.Attribute
+    {
+        public UDDIServiceBinding()
+        {
+            lang="en";
+            bindingKey ="";
+            description="";
+            accessPoint="";
+            tModelKeys="";
+            categoryBag="";
+            accessPointType="wsdlDeployment";
+        }
+        	/** name which can be referenced by TModelInstanceRegistration, this key is not send
+	 * down to the UDDI Registry. */
+    public String bindingKey{ get; set;}
+	/** Description of the ServiceBinding. */
+    public String description{ get; set;}
+    /** AccessPoint Type, which could be one of endPoint, wsdlDeployment, bindingTemplate, hostingDirector */
+    public String accessPointType { get; set; }
+	/** The URL of the accessPoint. */
+	public String accessPoint{ get; set;}
+	/** Language code i.e.: en, fr, nl. */
+	public String lang{ get; set;}
+	/** Comma separated list of tModel Keys */
+	public String tModelKeys{ get; set;}
+	/** List of KeyedReferences */
+	public String categoryBag{ get; set;}
+    }
+}

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs Thu Sep 19 00:06:38 2013
@@ -22,6 +22,7 @@ using System.Configuration;
 using System.IO;
 using System.Text;
 using System.Xml;
+using System.Xml.Serialization;
 
 namespace org.apache.juddi.v3.client.config
 {
@@ -112,6 +113,13 @@ namespace org.apache.juddi.v3.client.con
             readConfig(properties);
         }
 
+        public void SaveConfiguration()
+        {
+            if (this.config == null)
+                throw new Exception("Config is not loaded, cannot save");
+            XmlConfiguration.SaveXmlConfiguration(this.configurationFile, this.config);
+        }
+
         private Dictionary<String, UDDIClerk> readClerkConfig(uddi config, Dictionary<String, UDDINode> uddiNodes)
         {
 
@@ -260,7 +268,7 @@ namespace org.apache.juddi.v3.client.con
                 log.warn("XRegistration cannot continue, no clerks are defined!");
                 return xRegistrations;
             }
-            if (config.client.clerks.xregister.business == null)
+            if (config.client.clerks.xregister==null || config.client.clerks.xregister.business == null)
                 return xRegistrations;
             if (config.client.clerks.xregister.business.Length > 0)
                 log.info("XRegistration " + config.client.clerks.xregister.business.Length + " business Keys");
@@ -294,7 +302,7 @@ namespace org.apache.juddi.v3.client.con
                 log.warn("XRegistration cannot continue, no clerks are defined!");
                 return xRegistrations;
             }
-            if (config.client.clerks.xregister.servicebinding == null)
+            if (config.client.clerks.xregister==null || config.client.clerks.xregister.servicebinding == null)
                 return xRegistrations;
             if (config.client.clerks.xregister.servicebinding.Length > 0)
                 log.info("XRegistration " + config.client.clerks.xregister.servicebinding.Length + " serviceBinding Keys");
@@ -378,10 +386,14 @@ namespace org.apache.juddi.v3.client.con
         {
             return xBusinessRegistrations;
         }
-
-        /* public Configuration getConfiguration() {
-             return config;
-         }*/
+        /// <summary>
+        /// gives access to the raw configuration xml structure
+        /// </summary>
+        /// <returns></returns>
+        public uddi getConfiguration()
+        {
+            return this.config;
+        }
 
         public String getClientName()
         {

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs Thu Sep 19 00:06:38 2013
@@ -29,7 +29,7 @@ namespace org.apache.juddi.v3.client.con
         public static String replaceTokens(String s, Properties properties)
         {
 
-            if (properties == null || s == null) return s;
+            if (properties == null || String.IsNullOrEmpty(s)) return s;
             s = s.Replace("\\n", " ").Replace("\\r", "").Replace(" ", "");
             /* pattern that is multi-line (?m), and looks for a pattern of
              * ${token}, in a 'reluctant' manner, by using the ? to 
@@ -42,6 +42,10 @@ namespace org.apache.juddi.v3.client.con
             while (temp != null)
             {
                 String token = matcher.Value;
+                if (token.Length < 3)
+                {
+                    return s;
+                }
                 token = token.Substring(2, token.Length - 1);
                 String replacement = properties.getString(token);
                 if (replacement != null)

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs Thu Sep 19 00:06:38 2013
@@ -30,7 +30,7 @@ namespace org.apache.juddi.v3.client.con
     /// 
     /// </summary>
     /// 
-    public class UDDIClerk: IDisposable
+    public class UDDIClerk : IDisposable
     {
 
         private Log log = LogFactory.getLog(typeof(UDDIClerk));
@@ -49,8 +49,6 @@ namespace org.apache.juddi.v3.client.con
 
         public UDDIClerk()
         {
-
-            // TODO Auto-generated constructor stub
         }
 
         public UDDIClerk(org.apache.juddi.apiv3.clerk clerk)
@@ -311,10 +309,13 @@ namespace org.apache.juddi.v3.client.con
             return register(service, this.getUDDINode().getApiNode());
         }
 
-        /**
-         * Register a service.
-         *
-         */
+
+        /// <summary>
+        /// Register a service.
+        /// </summary>
+        /// <param name="service"></param>
+        /// <param name="node"></param>
+        /// <returns></returns>
         public org.uddi.apiv3.businessService register(org.uddi.apiv3.businessService service, org.apache.juddi.apiv3.node node)
         {
 
@@ -333,12 +334,8 @@ namespace org.apache.juddi.v3.client.con
                 {
                     serviceDetail = pub.save_service(saveService);
                 }
-
                 businessService = serviceDetail.businessService[0];
-                if (log.isDebugEnabled())
-                {
-                    log.debug("Registering service " + service.name[0].Value + " completed.");
-                }
+                log.debug("Registering service " + service.name[0].Value + " completed.");
             }
             catch (Exception e)
             {
@@ -404,7 +401,7 @@ namespace org.apache.juddi.v3.client.con
             {
                 String authToken = getAuthToken(node.securityUrl);
                 delete_business deleteBusiness = new delete_business();
-                deleteBusiness.authInfo=(authToken);
+                deleteBusiness.authInfo = (authToken);
                 deleteBusiness.businessKey = new string[1];
                 deleteBusiness.businessKey[0] = (businessKey);
                 using (UDDI_Publication_SoapBinding pub = getUDDINode().getTransport().getUDDIPublishService(node.publishUrl))
@@ -436,15 +433,15 @@ namespace org.apache.juddi.v3.client.con
             {
                 String authToken = getAuthToken(node.securityUrl);
                 delete_service deleteService = new delete_service();
-                deleteService.authInfo=(authToken);
-                deleteService.serviceKey = new string[]{serviceKey};
+                deleteService.authInfo = (authToken);
+                deleteService.serviceKey = new string[] { serviceKey };
                 getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_service(deleteService);
             }
             catch (Exception e)
             {
                 log.error("Unable to register service " + serviceKey
                         + " ." + e.Message, e);
-            }   
+            }
         }
 
         public void unRegisterBinding(String bindingKey)
@@ -465,8 +462,8 @@ namespace org.apache.juddi.v3.client.con
             {
                 String authToken = getAuthToken(node.securityUrl);
                 delete_binding deleteBinding = new delete_binding();
-                deleteBinding.authInfo=(authToken);
-                deleteBinding.bindingKey = new string[]{bindingKey};
+                deleteBinding.authInfo = (authToken);
+                deleteBinding.bindingKey = new string[] { bindingKey };
                 getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_binding(deleteBinding);
             }
             catch (Exception e)
@@ -494,8 +491,8 @@ namespace org.apache.juddi.v3.client.con
             {
                 String authToken = getAuthToken(node.securityUrl);
                 org.uddi.apiv3.delete_tModel deleteTModel = new org.uddi.apiv3.delete_tModel();
-                deleteTModel.authInfo=(authToken);
-                deleteTModel.tModelKey=new string[]{tModelKey};
+                deleteTModel.authInfo = (authToken);
+                deleteTModel.tModelKey = new string[] { tModelKey };
                 getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_tModel(deleteTModel);
             }
             catch (Exception e)
@@ -517,8 +514,8 @@ namespace org.apache.juddi.v3.client.con
             {
                 String authToken = getAuthToken(node.securityUrl);
                 delete_subscription deleteSubscription = new delete_subscription();
-                deleteSubscription.authInfo=(authToken);
-                deleteSubscription.subscriptionKey = new string[]{subscriptionKey};
+                deleteSubscription.authInfo = (authToken);
+                deleteSubscription.subscriptionKey = new string[] { subscriptionKey };
                 getUDDINode().getTransport().getUDDISubscriptionService(node.securityUrl).delete_subscription(deleteSubscription);
             }
             catch (Exception e)
@@ -536,7 +533,7 @@ namespace org.apache.juddi.v3.client.con
         public tModelList findTModel(find_tModel findTModel, org.apache.juddi.apiv3.node node)
         {
 
-            findTModel.authInfo=(getAuthToken(node.securityUrl));
+            findTModel.authInfo = (getAuthToken(node.securityUrl));
             try
             {
                 tModelList tModelList = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).find_tModel(findTModel);
@@ -545,17 +542,17 @@ namespace org.apache.juddi.v3.client.con
             catch (Exception dr)
             {
                 log.error("", dr);
-//                DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
+                //                DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
                 //checkForErrorInDispositionReport(report, null, null);
             }
-            
+
             return null;
         }
 
         public tModelDetail getTModelDetail(String tModelKey)
         {
             get_tModelDetail getTModelDetail = new get_tModelDetail();
-            getTModelDetail.tModelKey = new string[]{tModelKey};
+            getTModelDetail.tModelKey = new string[] { tModelKey };
             return this.getTModelDetail(getTModelDetail);
         }
 
@@ -567,7 +564,7 @@ namespace org.apache.juddi.v3.client.con
         public tModelDetail getTModelDetail(get_tModelDetail getTModelDetail, org.apache.juddi.apiv3.node node)
         {
 
-            getTModelDetail.authInfo=(getAuthToken(node.securityUrl));
+            getTModelDetail.authInfo = (getAuthToken(node.securityUrl));
             try
             {
                 tModelDetail tModelDetail = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_tModelDetail(getTModelDetail);
@@ -579,7 +576,7 @@ namespace org.apache.juddi.v3.client.con
                 //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
                 //checkForErrorInDispositionReport(report, null, null);
             }
-            
+
             return null;
         }
 
@@ -591,8 +588,8 @@ namespace org.apache.juddi.v3.client.con
         public businessService findService(String serviceKey, org.apache.juddi.apiv3.node node)
         {
             get_serviceDetail getServiceDetail = new get_serviceDetail();
-            getServiceDetail.serviceKey=new string[]{serviceKey};
-            getServiceDetail.authInfo=(getAuthToken(node.securityUrl));
+            getServiceDetail.serviceKey = new string[] { serviceKey };
+            getServiceDetail.authInfo = (getAuthToken(node.securityUrl));
             try
             {
                 serviceDetail sd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_serviceDetail(getServiceDetail);
@@ -609,7 +606,7 @@ namespace org.apache.juddi.v3.client.con
                 //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
                 //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, serviceKey);
             }
-            
+
             return null;
         }
 
@@ -621,8 +618,8 @@ namespace org.apache.juddi.v3.client.con
         public bindingTemplate findServiceBinding(String bindingKey, org.apache.juddi.apiv3.node node)
         {
             get_bindingDetail getBindingDetail = new get_bindingDetail();
-            getBindingDetail.bindingKey = new string[]{bindingKey};
-            getBindingDetail.authInfo=(getAuthToken(node.securityUrl));
+            getBindingDetail.bindingKey = new string[] { bindingKey };
+            getBindingDetail.authInfo = (getAuthToken(node.securityUrl));
             try
             {
                 bindingDetail bd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_bindingDetail(getBindingDetail);
@@ -639,7 +636,7 @@ namespace org.apache.juddi.v3.client.con
                 //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
                 //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, bindingKey);
             }
-            
+
             return null;
         }
 
@@ -662,8 +659,8 @@ namespace org.apache.juddi.v3.client.con
         public businessEntity findBusiness(String businessKey, org.apache.juddi.apiv3.node node)
         {
             get_businessDetail getBusinessDetail = new get_businessDetail();
-            getBusinessDetail.businessKey = new string[]{businessKey};
-            getBusinessDetail.authInfo=(node.securityUrl);
+            getBusinessDetail.businessKey = new string[] { businessKey };
+            getBusinessDetail.authInfo = (node.securityUrl);
             try
             {
                 businessDetail bd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_businessDetail(getBusinessDetail);
@@ -678,22 +675,22 @@ namespace org.apache.juddi.v3.client.con
             return null;
         }
 
-         /**
-         * Looks up the BusinessEntiry in the registry, will return null if is not
-         * found.
-         *
-         * @param businessKey - the key we are looking for
-         * @param node - the node which is going to be queried
-         * @return businessEntity is found, or null if not found.
-         * @throws RemoteException
-         * @throws TransportException
-         * @throws ConfigurationException
-         */
+        /**
+        * Looks up the BusinessEntiry in the registry, will return null if is not
+        * found.
+        *
+        * @param businessKey - the key we are looking for
+        * @param node - the node which is going to be queried
+        * @return businessEntity is found, or null if not found.
+        * @throws RemoteException
+        * @throws TransportException
+        * @throws ConfigurationException
+        */
         public relatedBusinessesList findRelatedBusinesses(String businessKey, org.apache.juddi.apiv3.node node)
         {
             find_relatedBusinesses findRelatedBusinesses = new find_relatedBusinesses();
-            findRelatedBusinesses.Item=(businessKey);
-            findRelatedBusinesses.authInfo=(node.securityUrl);
+            findRelatedBusinesses.Item = (businessKey);
+            findRelatedBusinesses.authInfo = (node.securityUrl);
             try
             {
                 relatedBusinessesList rbl = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).find_relatedBusinesses(findRelatedBusinesses);
@@ -705,7 +702,7 @@ namespace org.apache.juddi.v3.client.con
                 //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
                 //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, businessKey);
             }
-            
+
             return null;
         }
         /*
@@ -738,7 +735,7 @@ namespace org.apache.juddi.v3.client.con
             if ((authToken != null && !"".Equals(authToken)) && (tokenBirthDate != null && DateTime.Now > tokenBirthDate.AddMilliseconds(600000)))
             {
                 discard_authToken discardAuthToken = new discard_authToken();
-                discardAuthToken.authInfo=(authToken);
+                discardAuthToken.authInfo = (authToken);
                 using (UDDI_Security_SoapBinding sec = getUDDINode().getTransport().getUDDISecurityService(endpointURL))
                 {
                     getUDDINode().getTransport().getUDDISecurityService(endpointURL).discard_authToken(discardAuthToken);
@@ -749,21 +746,22 @@ namespace org.apache.juddi.v3.client.con
             {
                 tokenBirthDate = new DateTime();
                 get_authToken getAuthToken = new get_authToken();
-                getAuthToken.userID=(getPublisher());
+                getAuthToken.userID = (getPublisher());
                 if (isEncrypted)
                 {
                     if (String.IsNullOrEmpty(cryptoProvider))
                     {
                         log.error("Credentials are encrypted but no cryptoProvider was defined in the config file!");
-                    }else
+                    }
+                    else
                         try
                         {
-                            getAuthToken.cred=(CryptorFactory.getCryptor(this.cryptoProvider).decrypt(getPassword()));
+                            getAuthToken.cred = (CryptorFactory.getCryptor(this.cryptoProvider).decrypt(getPassword()));
                         }
                         catch (Exception ex)
                         {
                             log.error("Unable to decrypt credentials! sending it as is", ex);
-                            getAuthToken.cred=(getPassword());
+                            getAuthToken.cred = (getPassword());
                         }
                 }
                 else
@@ -786,8 +784,8 @@ namespace org.apache.juddi.v3.client.con
             {
                 log.info("Sending node " + node.name + " info to jUDDI " + getUDDINode().getName());
                 org.apache.juddi.apiv3.save_noodeInfo savenode = new org.apache.juddi.apiv3.save_noodeInfo();
-                savenode.authInfo=(getAuthToken(node.securityUrl));
-                savenode.node=new apiv3.node[]{node};
+                savenode.authInfo = (getAuthToken(node.securityUrl));
+                savenode.node = new apiv3.node[] { node };
                 using (org.apache.juddi.apiv3.JUDDIApiService juddi = getUDDINode().getTransport().getJUDDIApiService(node.juddiApiUrl))
                 {
                     nodeDetail = juddi.save_Node(savenode);
@@ -798,7 +796,7 @@ namespace org.apache.juddi.v3.client.con
                 log.error("Unable to save node " + node.name
                         + " ." + e.Message, e);
             }
-            
+
             return nodeDetail;
         }
 
@@ -961,22 +959,22 @@ namespace org.apache.juddi.v3.client.con
             }
             tModel tm = new tModel();
             tm.name = new name();
-            tm.name.Value=(DescriptiveName);
-            tm.name.lang=(DescriptiveNameLanguage);
+            tm.name.Value = (DescriptiveName);
+            tm.name.lang = (DescriptiveNameLanguage);
             tm.categoryBag = new categoryBag();
             keyedReference kr = new keyedReference();
-            kr.tModelKey=(UDDIConstants.KEY_GENERATOR_TMODEL);
-            kr.keyName=(UDDIConstants.KEY_GENERATOR);
-            kr.keyValue=(UDDIConstants.KEY_GENERATOR_VALUE);
+            kr.tModelKey = (UDDIConstants.KEY_GENERATOR_TMODEL);
+            kr.keyName = (UDDIConstants.KEY_GENERATOR);
+            kr.keyValue = (UDDIConstants.KEY_GENERATOR_VALUE);
             tm.categoryBag.Items = new object[] { kr };
             overviewDoc
                 overviewDoc = new overviewDoc();
             overviewURL overviewUrl = new overviewURL();
-            overviewUrl.useType=("text");
-            overviewUrl.Value=("http://uddi.org/pubs/uddi_v3.htm#keyGen");
-            overviewDoc.Items= new object[]{overviewUrl};
-            tm.overviewDoc = new overviewDoc[]{overviewDoc};
-            tm.tModelKey=(partitionName.ToLower());
+            overviewUrl.useType = ("text");
+            overviewUrl.Value = ("http://uddi.org/pubs/uddi_v3.htm#keyGen");
+            overviewDoc.Items = new object[] { overviewUrl };
+            tm.overviewDoc = new overviewDoc[] { overviewDoc };
+            tm.tModelKey = (partitionName.ToLower());
             return tm;
         }
 

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs Thu Sep 19 00:06:38 2013
@@ -23,6 +23,7 @@ using org.apache.juddi.v3.client.config;
 using System.Threading;
 using org.apache.juddi.v3.client.transport;
 using System.Configuration;
+using org.uddi.apiv3;
 
 namespace org.apache.juddi.v3.client
 {
@@ -176,7 +177,8 @@ namespace org.apache.juddi.v3.client
 						//homeClerk.saveClerk(clerk);
 					}
 				} else {
-					log.error("The client config needs to have one homeJUDDI node and found " + numberOfHomeJUDDIs);
+		
+			log.error("The client config needs to have one homeJUDDI node and found " + numberOfHomeJUDDIs);
 				}
 			} else {
 				log.debug("No home clerk found.");
@@ -204,24 +206,31 @@ namespace org.apache.juddi.v3.client
             }
             log.debug("Cross registration completed");
         }
-        /**
-         * Registers services to UDDI using a clerk, and the uddi.xml
-         * configuration.
-         */
+     
+        /// <summary>
+        /// Registers services to UDDI using a clerk, and the uddi.xml configuration.
+        /// For .NET users, the class names must be AssemblyQualifiedNames
+        /// </summary>
+        /// <pre>
+        /// Type objType = typeof(System.Array);
+        /// Console.WriteLine ("Qualified assembly name:\n   {0}.", objType.AssemblyQualifiedName.ToString()); 
+        /// </pre>
         public void registerAnnotatedServices()
         {
             Dictionary<String, UDDIClerk> uddiClerks = clientConfig.getUDDIClerks();
             if (uddiClerks.Count > 0)
             {
-                /*AnnotationProcessor ap = new AnnotationProcessor();
-                for (UDDIClerk uddiClerk : uddiClerks.values()) {
-                    Collection<BusinessService> services = ap.readServiceAnnotations(
-                            uddiClerk.getClassWithAnnotations(),uddiClerk.getUDDINode().getProperties());
-                    for (BusinessService businessService : services) {
-                        log.info("Node=" + uddiClerk.getUDDINode().getApiNode().getName());
-                        uddiClerk.register(businessService, uddiClerk.getUDDINode().getApiNode());
+                AnnotationProcessor ap = new AnnotationProcessor();
+                Dictionary<string, UDDIClerk>.Enumerator it=uddiClerks.GetEnumerator();
+                while (it.MoveNext()){
+                    UDDIClerk c=it.Current.Value;
+                    List<businessService> services = ap.readServiceAnnotations(
+                            c.getClassWithAnnotations(),c.getUDDINode().getProperties());
+                    foreach (businessService businessService in services) {
+                        log.info("Node=" + c.getUDDINode().getApiNode().name);
+                        c.register(businessService, c.getUDDINode().getApiNode());
                     }
-                }*/
+                }
             }
         }
         /**
@@ -234,14 +243,18 @@ namespace org.apache.juddi.v3.client
             Dictionary<String, UDDIClerk> clerks = clientConfig.getUDDIClerks();
             if (clerks.Count > 0)
             {
-                /*AnnotationProcessor ap = new AnnotationProcessor();
-                for (UDDIClerk clerk : clerks.values()) {
-                    Collection<BusinessService> services = ap.readServiceAnnotations(
-                            clerk.getClassWithAnnotations(),clerk.getUDDINode().getProperties());
-                    for (BusinessService businessService : services) {
-                        clerk.unRegisterService(businessService.getServiceKey(),clerk.getUDDINode().getApiNode());
+                AnnotationProcessor ap = new AnnotationProcessor();
+                Dictionary<string, UDDIClerk>.Enumerator it = clerks.GetEnumerator();
+                while (it.MoveNext())
+                {
+                    UDDIClerk c = it.Current.Value;
+                    List<businessService> services = ap.readServiceAnnotations(
+                            c.getClassWithAnnotations(), c.getUDDINode().getProperties());
+                    foreach (businessService businessService in services)
+                    {
+                        c.unRegisterService(businessService.serviceKey, c.getUDDINode().getApiNode());
                     }
-                }*/
+                }
             }
         }
 
@@ -259,29 +272,31 @@ namespace org.apache.juddi.v3.client
             Dictionary<String, UDDIClerk> clerks = clientConfig.getUDDIClerks();
             if (clerks.Count > 0)
             {
-                /*AnnotationProcessor ap = new AnnotationProcessor();
-                for (UDDIClerk clerk : clerks.values()) {
-                    Collection<BusinessService> services = ap.readServiceAnnotations(
-                            clerk.getClassWithAnnotations(),clerk.getUDDINode().getProperties());
-                    for (BusinessService businessService : services) {
-                        if (businessService.getBindingTemplates() != null) {
-                            List<BindingTemplate> bindingTemplates = businessService.getBindingTemplates().getBindingTemplate();
-                            for (BindingTemplate bindingTemplate : bindingTemplates) {
-                                clerk.unRegisterBinding(bindingTemplate.getBindingKey(), clerk.getUDDINode().getApiNode());
+                AnnotationProcessor ap = new AnnotationProcessor();
+                Dictionary<string, UDDIClerk>.Enumerator it = clerks.GetEnumerator();
+                while (it.MoveNext())
+                {
+                       UDDIClerk c = it.Current.Value;
+                    List<businessService> services = ap.readServiceAnnotations(
+                           c.getClassWithAnnotations(),c.getUDDINode().getProperties());
+                    foreach (businessService businessService in services) {
+                        if (businessService.bindingTemplates != null) {
+                            foreach (bindingTemplate bindingTemplate in businessService.bindingTemplates) {
+                                c.unRegisterBinding(bindingTemplate.bindingKey, c.getUDDINode().getApiNode());
                             }
                         }
                         if (removeServiceWithNoBindingTemplates) {
                             try {
-                                BusinessService existingService = clerk.findService(businessService.getServiceKey(), clerk.getUDDINode().getApiNode());
-                                if (existingService.getBindingTemplates()==null || existingService.getBindingTemplates().getBindingTemplate().size()==0) {
-                                    clerk.unRegisterService(businessService.getServiceKey(),clerk.getUDDINode().getApiNode());
+                                businessService existingService = c.findService(businessService.serviceKey, c.getUDDINode().getApiNode());
+                                if (existingService.bindingTemplates==null || existingService.bindingTemplates.Length==0) {
+                                    c.unRegisterService(businessService.serviceKey,c.getUDDINode().getApiNode());
                                 }
                             } catch (Exception e) {
                                 log.error(e.Message,e);
                             }
                         }
                     }
-                }*/
+                }
             }
 
         }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs Thu Sep 19 00:06:38 2013
@@ -46,5 +46,24 @@ namespace org.apache.juddi.v3.client.con
             }
         }
 
+        public static void SaveXmlConfiguration(string filename, uddi config)
+        {
+           
+            using (StringWriter sr = new StringWriter())
+            {
+                try
+                {
+                    XmlSerializer xs = new XmlSerializer(typeof(uddi));
+                    xs.Serialize(sr, config);
+                    File.WriteAllText(filename, sr.ToString());
+                }
+                catch (Exception ex)
+                {
+                    LogFactory.getLog(typeof(XmlConfiguration)).error("Error saving config file from " + filename + " ", ex);
+                    throw ex;
+                }
+            }
+        }
+
     }
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs Thu Sep 19 00:06:38 2013
@@ -59,7 +59,6 @@ namespace org.apache.juddi.v3.client.tra
 
         public AspNetTransport(string managerName, string nodeName, config.ClientConfig clientConfig)
         {
-            // TODO: Complete member initialization
             this.managerName = managerName;
             this.nodeName = nodeName;
             this.clientConfig = clientConfig;

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs?rev=1524601&r1=1524600&r2=1524601&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs Thu Sep 19 00:06:38 2013
@@ -108,7 +108,7 @@ namespace org.apache.juddi.v3.client.log
 
         public void Dispose()
         {
-            throw new NotImplementedException();
+            
         }
     }
 }



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