Author: kstam
Date: Fri May 13 13:59:39 2011
New Revision: 1102742
URL: http://svn.apache.org/viewvc?rev=1102742&view=rev
Log:
JUDDI-477 adding properties to support formatting keys according to a template
based on some configurational setting.
Modified:
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
Modified:
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
URL:
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java?rev=1102742&r1=1102741&r2=1102742&view=diff
==============================================================================
---
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
(original)
+++
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
Fri May 13 13:59:39 2011
@@ -16,14 +16,86 @@
*/
package org.apache.juddi.v3.client.config;
-public interface Property
+import java.util.Properties;
+
+import javax.xml.namespace.QName;
+
+public class Property
{
public final static String UDDI_RELOAD_DELAY ="reloadDelay";
-
- public final static String UDDI_PROXY_FACTORY_INITIAL
="java.naming.factory.initial";
- public final static String UDDI_PROXY_PROVIDER_URL
="java.naming.provider.url";
- public final static String UDDI_PROXY_FACTORY_URL_PKS
="java.naming.factory.url.pkgs";
+ public final static String UDDI_PROXY_FACTORY_INITIAL =
"java.naming.factory.initial";
+ public final static String UDDI_PROXY_PROVIDER_URL =
"java.naming.provider.url";
+ public final static String UDDI_PROXY_FACTORY_URL_PKS =
"java.naming.factory.url.pkgs";
- public final static String DEFAULT_UDDI_PROXY_TRANSPORT
="org.uddi.api_v3.client.transport.JAXWSTransport";
+ public final static String DEFAULT_UDDI_PROXY_TRANSPORT =
"org.uddi.api_v3.client.transport.JAXWSTransport";
+
+ //Properties that can be set in the uddi.xml
+ public static final String LANG = "lang";
+ public static final String BUSINESS_KEY =
"businessKey";
+ public static final String KEY_DOMAIN =
"keyDomain";
+ public static final String SERVICE_KEY_FORMAT =
"bpelServiceKeyFormat";
+ public static final String BUSINESS_KEY_FORMAT =
"businessKeyFormat";
+ public static final String BINDING_KEY_FORMAT =
"bindingKeyFormat";
+ public static final String SERVICE_DESCRIPTION =
"serviceDescription";
+ public static final String BINDING_DESCRIPTION =
"bindingDescription";
+ public static final String SERVICE_CATEGORY_BAG =
"serviceCategoryBag";
+ public static final String BINDING_CATEGORY_BAG =
"bindingCategoryBag";
+
+ //Default Values
+ public static final String DEFAULT_LANG = "en:";
+ public static final String DEFAULT_BUSINESS_KEY_FORMAT =
"uddi:${keyDomain}:${businessName}";
+ public static final String DEFAULT_SERVICE_KEY_FORMAT =
"uddi:${keyDomain}:${serviceName}";
+ public static final String DEFAULT_BINDING_KEY_FORMAT =
"uddi:${keyDomain}:${nodeName}_${serviceName}_${portName}";
+ public static final String DEFAULT_SERVICE_DESCRIPTION = "Default
service description when no <wsdl:document> element is defined inside the
<wsdl:service> element.";
+ public static final String DEFAULT_BINDING_DESCRIPTION = "Default
binding description when no <wsdl:document> element is defined inside the
<wsdl:binding> element.";
+ /**
+ * Constructs the serviceKey based on the bindingKeyFormat specified in
the properties. When no
+ * businessKeyFormat is specific the default format of
uddi:${keyDomain}:${businessName} is used. The businessName
+ * property needs to be set properties.
+ *
+ * @param properties
+ * @return the businessKey
+ */
+ public static String getBusinessKey(Properties properties) {
+ String keyFormat = properties.getProperty(BUSINESS_KEY_FORMAT,
DEFAULT_BUSINESS_KEY_FORMAT);
+ String businessKey = TokenResolver.replaceTokens(keyFormat,
properties).toLowerCase();
+ return businessKey;
+ }
+ /**
+ * Constructs the serviceKey based on the serviceKeyFormat specified in
the properties. When no
+ * serviceKeyFormat is specific the default format of
uddi:${keyDomain}:${serviceName} is used.
+ *
+ * @param properties
+ * @param serviceName
+ * @return the serviceKey
+ */
+ public static String getServiceKey(Properties properties, QName
serviceName) {
+ Properties tempProperties = new Properties();
+ tempProperties.putAll(properties);
+ tempProperties.put("serviceName", serviceName.getLocalPart());
+ //Constructing the serviceKey
+ String keyFormat =
tempProperties.getProperty(SERVICE_KEY_FORMAT, DEFAULT_SERVICE_KEY_FORMAT);
+ String serviceKey = TokenResolver.replaceTokens(keyFormat,
tempProperties).toLowerCase();
+ return serviceKey;
+ }
+ /**
+ * Constructs the bindingKey based on the bindingKeyFormat specified in
the properties. When no
+ * bindingKeyFormat is specific the default format of
uddi:${keyDomain}:${nodeName}-${serviceName}-{portName} is used.
+ *
+ * @param properties
+ * @param serviceName
+ * @param portName
+ * @return the bindingKey
+ */
+ public static String getBindingKey(Properties properties, QName
serviceName, String portName) {
+ Properties tempProperties = new Properties();
+ tempProperties.putAll(properties);
+ tempProperties.put("serviceName", serviceName.getLocalPart());
+ tempProperties.put("portName", portName);
+ //Constructing the binding Key
+ String keyFormat = properties.getProperty(BINDING_KEY_FORMAT,
DEFAULT_BINDING_KEY_FORMAT);
+ String bindingKey = TokenResolver.replaceTokens(keyFormat,
tempProperties).toLowerCase();
+ return bindingKey;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]