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]