Author: kstam
Date: Thu Jun  9 17:27:42 2011
New Revision: 1134009

URL: http://svn.apache.org/viewvc?rev=1134009&view=rev
Log:
JUDDI-492 adding option to run registration asynchronously, and allow to pass 
in properties

Modified:
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/AsyncRegistration.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=1134009&r1=1134008&r2=1134009&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
 Thu Jun  9 17:27:42 2011
@@ -56,10 +56,18 @@ public class ClientConfig 
         */
        public ClientConfig(String configurationFile) throws 
ConfigurationException 
        {
-               loadConfiguration(configurationFile);
+               loadConfiguration(configurationFile, null);
        }
-       protected void loadManager() throws ConfigurationException {
-               uddiNodes = readNodeConfig(config);
+       /**
+        * Constructor (note Singleton pattern).
+        * @throws ConfigurationException
+        */
+       public ClientConfig(String configurationFile, Properties properties) 
throws ConfigurationException 
+       {
+               loadConfiguration(configurationFile, properties);
+       }
+       protected void loadManager(Properties properties) throws 
ConfigurationException {
+               uddiNodes = readNodeConfig(config, properties);
                uddiClerks = readClerkConfig(config, uddiNodes);
                xServiceBindingRegistrations = 
readXServiceBindingRegConfig(config,uddiClerks);
                xBusinessRegistrations = readXBusinessRegConfig(config, 
uddiClerks);
@@ -70,7 +78,7 @@ public class ClientConfig 
         * file is updated the file will be reloaded. By default the 
reloadDelay is
         * set to 1 second to prevent excessive date stamp checking.
         */
-       private void loadConfiguration(String configurationFile) throws 
ConfigurationException {
+       private void loadConfiguration(String configurationFile, Properties 
properties) throws ConfigurationException {
                //Properties from system properties
                CompositeConfiguration compositeConfig = new 
CompositeConfiguration();
                compositeConfig.addConfiguration(new SystemConfiguration());
@@ -96,7 +104,7 @@ public class ClientConfig 
                compositeConfig.addConfiguration(xmlConfig);
                //Making the new configuration globally accessible.
                config = compositeConfig;
-               loadManager();
+               loadManager(properties);
        }
 
        private Map<String,UDDIClerk> readClerkConfig(Configuration config, 
Map<String,UDDINode> uddiNodes) 
@@ -133,7 +141,7 @@ public class ClientConfig 
                return isRegisterOnStartup;
        }
 
-       private Map<String,UDDINode> readNodeConfig(Configuration config) 
+       private Map<String,UDDINode> readNodeConfig(Configuration config, 
Properties properties) 
        throws ConfigurationException {
                String[] names = 
config.getStringArray("manager.nodes.node.name");
                Map<String,UDDINode> nodes = new HashMap<String,UDDINode>();
@@ -142,9 +150,9 @@ public class ClientConfig 
                        UDDINode uddiNode = new UDDINode();
                        String nodeName = 
config.getString("manager.nodes.node(" + i +").name");
                        String[] propertyKeys = 
config.getStringArray("manager.nodes.node(" + i 
+").properties.property[@name]");
-                       Properties properties = null;
+                       
                        if (propertyKeys!=null && propertyKeys.length>0) {
-                               properties = new Properties();
+                               if (properties==null) properties = new 
Properties();
                                for (int p=0; p<propertyKeys.length; p++) {
                                        String 
name=config.getString("manager.nodes.node(" + i +").properties.property(" + p + 
")[@name]");
                                        String 
value=config.getString("manager.nodes.node(" + i +").properties.property(" + p 
+ ")[@value]");

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java?rev=1134009&r1=1134008&r2=1134009&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
 Thu Jun  9 17:27:42 2011
@@ -20,6 +20,7 @@ import java.rmi.RemoteException;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 
 import org.apache.commons.configuration.ConfigurationException;
@@ -39,10 +40,12 @@ public class UDDIClerkManager {
        private static Log log = LogFactory.getLog(UDDIClerkManager.class);
     private ClientConfig clientConfig = null;
     private String CONFIG_FILE = "META-INF/uddi.xml";
+    private Properties properties = null;
        
     public UDDIClerkManager() throws ConfigurationException {
        super();
-               clientConfig = new ClientConfig(CONFIG_FILE);
+               clientConfig = new ClientConfig(CONFIG_FILE, properties);
+               
     }
        /**
         * Manages the clerks. Initiates reading the client configuration from 
the uddi.xml.
@@ -53,6 +56,14 @@ public class UDDIClerkManager {
                clientConfig = new ClientConfig(configurationFile);
        }
        /**
+        * Manages the clerks. Initiates reading the client configuration from 
the uddi.xml.
+        * @throws ConfigurationException 
+        */
+       public UDDIClerkManager(String configurationFile, Properties 
properties) throws ConfigurationException {
+               super();
+               clientConfig = new ClientConfig(configurationFile, properties);
+       }
+       /**
         * Stops the clerks.
         * @throws ConfigurationException 
         */

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/AsyncRegistration.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/AsyncRegistration.java?rev=1134009&r1=1134008&r2=1134009&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/AsyncRegistration.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/AsyncRegistration.java
 Thu Jun  9 17:27:42 2011
@@ -45,20 +45,23 @@ public class AsyncRegistration implement
        }
 
        public void run() {
+               
                try {
-                       if 
(RegistrationType.WSDL.equals(registrationInfo.getRegistrationType())) {
-                               WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(clerk, 
urlLocalizer, properties);
-                               BindingTemplate binding = 
wsdl2UDDI.register(registrationInfo.getServiceQName(), 
-                                                                  
registrationInfo.getPortName(),
-                                                                  
registrationInfo.getServiceUrl(),
-                                                                  
registrationInfo.getWsdlDefinition());
-                               ServiceLocator serviceLocator = null;
+                       ServiceLocator serviceLocator = null;
+                       synchronized (serviceLocators) {
                                if 
(!serviceLocators.containsKey(clerk.getName())) {
                                        serviceLocator = new 
ServiceLocator(clerk, urlLocalizer, properties);
                                        serviceLocators.put(clerk.getName(), 
serviceLocator);
                                } else {
                                        serviceLocator = 
serviceLocators.get(clerk.getName());
                                }
+                       }
+                       if 
(RegistrationType.WSDL.equals(registrationInfo.getRegistrationType())) {
+                               WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(clerk, 
urlLocalizer, properties);
+                               BindingTemplate binding = 
wsdl2UDDI.register(registrationInfo.getServiceQName(), 
+                                                                  
registrationInfo.getPortName(),
+                                                                  
registrationInfo.getServiceUrl(),
+                                                                  
registrationInfo.getWsdlDefinition());
                                
serviceLocator.addService(binding.getServiceKey());
                                
                        } else if 
(RegistrationType.BPEL.equals(registrationInfo.getRegistrationType())) {
@@ -67,13 +70,6 @@ public class AsyncRegistration implement
                                                                   
registrationInfo.getPortName(),
                                                                   
registrationInfo.getServiceUrl(),
                                                                   
registrationInfo.getWsdlDefinition());
-                               ServiceLocator serviceLocator = null;
-                               if 
(!serviceLocators.containsKey(clerk.getName())) {
-                                       serviceLocator = new 
ServiceLocator(clerk, urlLocalizer, properties);
-                                       serviceLocators.put(clerk.getName(), 
serviceLocator);
-                               } else {
-                                       serviceLocator = 
serviceLocators.get(clerk.getName());
-                               }
                                
serviceLocator.addService(binding.getServiceKey());
                        } else {
                                log.error("Registration error, due to 
unsupported registration type of " + registrationInfo.getRegistrationType());

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java?rev=1134009&r1=1134008&r2=1134009&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
 Thu Jun  9 17:27:42 2011
@@ -82,13 +82,14 @@ public class UDDIServiceCache {
                String url = urlLocalizer.rewrite(new 
URL("http://localhost:8080/subscriptionlistener_"; + clerk.getManagerName()));
                serviceUrl = new URL(url);
                
+               bindingKey = Property.getBindingKey(properties, serviceQName, 
portName, serviceUrl);
+               endpoint = Endpoint.create(new 
UDDIClientSubscriptionListenerImpl(bindingKey,this));
+               endpoint.publish(serviceUrl.toExternalForm());
+               
                WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(clerk, urlLocalizer, 
properties);
                Definition wsdlDefinition = new 
ReadWSDL().readWSDL("uddi_v3_service.wsdl");
                bindingKey = wsdl2UDDI.register(serviceQName, portName, 
serviceUrl, wsdlDefinition).getBindingKey();
                
-               endpoint = Endpoint.create(new 
UDDIClientSubscriptionListenerImpl(bindingKey,this));
-               endpoint.publish(serviceUrl.toExternalForm());
-               
                registerSubscription();
        }
        

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java?rev=1134009&r1=1134008&r2=1134009&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
 Thu Jun  9 17:27:42 2011
@@ -614,13 +614,13 @@ public class WSDL2UDDI {
                return service;
        }
        
-       public BindingTemplate createWSDLBinding(QName serviceName, String 
portName, URL serviceUrl, Definition wsdlDefinition) {
+       public BindingTemplate createWSDLBinding(QName serviceQName, String 
portName, URL serviceUrl, Definition wsdlDefinition) {
                        
        BindingTemplate bindingTemplate = new BindingTemplate();
                // Set BusinessService Key
-               
bindingTemplate.setServiceKey(Property.getServiceKey(properties, serviceName));
+               
bindingTemplate.setServiceKey(Property.getServiceKey(properties, serviceQName));
                // Set Binding Key
-               String bindingKey = Property.getBindingKey(properties, 
serviceName, portName, serviceUrl);
+               String bindingKey = Property.getBindingKey(properties, 
serviceQName, portName, serviceUrl);
                bindingTemplate.setBindingKey(bindingKey);
                // Set AccessPoint
                AccessPoint accessPoint = new AccessPoint();
@@ -628,7 +628,7 @@ public class WSDL2UDDI {
                accessPoint.setValue(urlLocalizer.rewrite(serviceUrl));
                bindingTemplate.setAccessPoint(accessPoint);
                
-               Service service =  wsdlDefinition.getService(serviceName);
+               Service service =  wsdlDefinition.getService(serviceQName);
                if (service!=null) {
                        TModelInstanceDetails tModelInstanceDetails = new 
TModelInstanceDetails();
                        
@@ -680,7 +680,7 @@ public class WSDL2UDDI {
                                log.error("Could not find Port with portName: " 
+ portName);
                        }
                } else {
-                       log.error("Could not find Service with serviceName: " + 
serviceName.getLocalPart());
+                       log.error("Could not find Service with serviceName: " + 
serviceQName.getLocalPart());
                }
                
                return bindingTemplate;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to