You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2010/01/20 08:28:26 UTC
svn commit: r901090 - in /webservices/juddi/trunk:
juddi-core/src/main/java/org/apache/juddi/config/
juddi-core/src/main/java/org/apache/juddi/mapping/
juddi-core/src/main/resources/juddi_install_data/
juddi-core/src/test/java/org/apache/juddi/config/ ...
Author: kstam
Date: Wed Jan 20 07:27:41 2010
New Revision: 901090
URL: http://svn.apache.org/viewvc?rev=901090&view=rev
Log:
JUDDI-316, allowing runtime token replacement of juddi.server.baseurl in accessPoints
Modified:
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
webservices/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml
webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/config/ApplicationConfigurationTest.java
webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties
webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties
webservices/juddi/trunk/qa/juddi-xlt/config/test.properties
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java Wed Jan 20 07:27:41 2010
@@ -32,8 +32,6 @@
import java.util.UUID;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
@@ -565,37 +563,13 @@
xml.append(new String(b, 0, n));
}
log.debug("inserting: " + xml.toString());
- StringReader reader = new StringReader(replaceTokens(xml.toString(), config));
+ StringReader reader = new StringReader(xml.toString());
JAXBContext jc = JAXBContext.newInstance(packageName);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Object obj = ((JAXBElement<?>)unmarshaller.unmarshal(new StreamSource(reader))).getValue();
return obj;
}
-
- private static String replaceTokens(String installData, Configuration config) throws ConfigurationException {
-
- installData = installData.replaceAll("\\n"," ").replaceAll("\\r", "");
- /* pattern that is multi-line (?m), and looks for a pattern of
- * ${token}, in a 'reluctant' manner, by using the ? to
- * make sure we find ALL the tokens.
- */
- Pattern pattern = Pattern.compile("(?m)\\$\\{.*?\\}");
- Matcher matcher = pattern.matcher(installData);
- while (matcher.find()) {
- String token = matcher.group();
- token = token.substring(2,token.length()-1);
- String replacement = config.getString(token);
- if (replacement!=null) {
- log.debug("Found token " + token + " and replacement value " + replacement);
- installData = installData.replaceAll("\\$\\{" + token + "\\}", replacement);
- } else {
- log.error("Found token " + token + " but could not obtain its value. Data: " + installData);
- }
- }
- log.debug("Data after token replacement: " + installData);
- return installData;
- }
/**
* Public convenience method that allows one to retrieve the node business entity (perhaps to display during an install process, or even to
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java Wed Jan 20 07:27:41 2010
@@ -22,6 +22,8 @@
import javax.xml.bind.JAXBException;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.juddi.config.AppConfig;
import org.apache.juddi.jaxb.JAXBMarshaller;
import org.apache.juddi.model.OverviewDoc;
import org.apache.juddi.model.UddiEntity;
@@ -360,7 +362,20 @@
apiBindingTemplate.setBindingKey(modelBindingTemplate.getEntityKey());
org.uddi.api_v3.AccessPoint apiAccessPoint = new org.uddi.api_v3.AccessPoint();
apiAccessPoint.setUseType(modelBindingTemplate.getAccessPointType());
- apiAccessPoint.setValue(modelBindingTemplate.getAccessPointUrl());
+ String accessPointValue = modelBindingTemplate.getAccessPointUrl();
+ if (accessPointValue!=null) {
+ try {
+ String baseUrl = AppConfig.getConfiguration().getString("juddi.server.baseurl");
+ if (baseUrl==null) {
+ logger.warn("Token 'juddi.server.baseurl' not found in the juddiv3.properties, defaulting to 'http://localhost:8080'");
+ baseUrl = "http://localhost:8080";
+ }
+ accessPointValue = accessPointValue.replaceAll("\\$\\{juddi.server.url\\}", baseUrl);
+ } catch (ConfigurationException e) {
+ logger.error(e.getMessage(),e);
+ }
+ }
+ apiAccessPoint.setValue(accessPointValue);
apiBindingTemplate.setAccessPoint(apiAccessPoint);
if (modelBindingTemplate.getHostingRedirector()!=null) {
org.uddi.api_v3.HostingRedirector apiHost = new org.uddi.api_v3.HostingRedirector();
Modified: webservices/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml (original)
+++ webservices/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/root_BusinessEntity.xml Wed Jan 20 07:27:41 2010
@@ -45,7 +45,7 @@
<description xml:lang="en">This is a UDDI v3 registry node as implemented by Apache jUDDI.</description>
<discoveryURLs>
<!-- This discovery URL should point to the home installation URL of jUDDI -->
- <discoveryURL useType="home">http://${juddi.server.name}:${juddi.server.port}/juddiv3</discoveryURL>
+ <discoveryURL useType="home">${juddi.server.baseurl}/juddiv3</discoveryURL>
</discoveryURLs>
<categoryBag>
<keyedReference tModelKey="uddi:uddi.org:categorization:nodes" keyValue="node" />
@@ -61,7 +61,7 @@
<description>UDDI Inquiry API V3</description>
<!-- This should be changed to the WSDL URL of the inquiry API. An access point inside a bindingTemplate will be found for every service
in this file. They all must point to their API's WSDL URL -->
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/inquiry?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/inquiry?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_inquiry">
<instanceDetails>
@@ -90,7 +90,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-publish-ws" serviceKey="uddi:juddi.apache.org:services-publish">
<description>UDDI Publication API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/publish?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/publish?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_publication">
<instanceDetails>
@@ -117,7 +117,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-security-ws" serviceKey="uddi:juddi.apache.org:services-security">
<description>UDDI Security API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/security?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/security?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_security" />
</tModelInstanceDetails>
@@ -133,7 +133,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-custodytransfer-ws" serviceKey="uddi:juddi.apache.org:services-custodytransfer">
<description>UDDI Custody and Ownership Transfer API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/custody-transfer?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/custody-transfer?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_ownership_transfer">
<instanceDetails>
@@ -161,7 +161,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-subscription-ws" serviceKey="uddi:juddi.apache.org:services-subscription">
<description>UDDI Subscription API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/subscription?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/subscription?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscription">
<instanceDetails>
@@ -190,7 +190,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws" serviceKey="uddi:juddi.apache.org:services-subscriptionlistener">
<description>UDDI Subscription Listener API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/subscription-listener?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/subscription-listener?wsdl</accessPoint>
<tModelInstanceDetails>
<tModelInstanceInfo tModelKey="uddi:uddi.org:v3_subscriptionlistener" />
</tModelInstanceDetails>
@@ -206,7 +206,7 @@
<bindingTemplates>
<bindingTemplate bindingKey="uddi:juddi.apache.org:servicebindings-publisher-ws" serviceKey="uddi:juddi.apache.org:services-publisher">
<description>jUDDI Publisher Service API V3</description>
- <accessPoint useType="wsdlDeployment">http://${juddi.server.name}:${juddi.server.port}/juddiv3/services/publisher?wsdl</accessPoint>
+ <accessPoint useType="wsdlDeployment">${juddi.server.baseurl}/juddiv3/services/publisher?wsdl</accessPoint>
<categoryBag>
<keyedReference keyName="uddi-org:types:wsdl" keyValue="wsdlDeployment" tModelKey="uddi:uddi.org:categorization:types"/>
</categoryBag>
Modified: webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/config/ApplicationConfigurationTest.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/config/ApplicationConfigurationTest.java?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/config/ApplicationConfigurationTest.java (original)
+++ webservices/juddi/trunk/juddi-core/src/test/java/org/apache/juddi/config/ApplicationConfigurationTest.java Wed Jan 20 07:27:41 2010
@@ -49,4 +49,5 @@
Assert.fail();
}
}
+
}
Modified: webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties (original)
+++ webservices/juddi/trunk/juddi-core/src/test/resources/juddiv3.properties Wed Jan 20 07:27:41 2010
@@ -5,11 +5,8 @@
# file can be overriden by system parameters #
# #
################################################################
-# These two tokens are referenced in the install data. Note that you
-# can use any tokens, and that their values can be set here or as
-# System parameters.
-juddi.server.name=localhost
-juddi.server.port=8080
+# The ${juddi.server.baseurl} token can be referenced in accessPoints and will be resolved at runtime.
+juddi.server.baseurl=http://localhost:8080
juddi.root.publisher=root
#
Modified: webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties (original)
+++ webservices/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/classes/juddiv3.properties Wed Jan 20 07:27:41 2010
@@ -6,6 +6,9 @@
# #
################################################################
#
+# The ${juddi.server.baseurl} token can be referenced in accessPoints and will be resolved at runtime.
+juddi.server.baseurl=http://localhost:8080
+#
juddi.root.publisher=root
#
# Name of the persistence unit to use (the default, "juddiDatabase" refers to the unit compiled into the juddi library)
Modified: webservices/juddi/trunk/qa/juddi-xlt/config/test.properties
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/qa/juddi-xlt/config/test.properties?rev=901090&r1=901089&r2=901090&view=diff
==============================================================================
--- webservices/juddi/trunk/qa/juddi-xlt/config/test.properties (original)
+++ webservices/juddi/trunk/qa/juddi-xlt/config/test.properties Wed Jan 20 07:27:41 2010
@@ -87,11 +87,11 @@
## Test case specific configuration.
-com.xceptance.xlt.loadtests.TRegisterBusinessPT.users = 10
+com.xceptance.xlt.loadtests.TRegisterBusinessPT.users = 500
com.xceptance.xlt.loadtests.TRegisterBusinessPT.arrivalRate = 2000
-com.xceptance.xlt.loadtests.TFindBusinessPT.users = 10
+com.xceptance.xlt.loadtests.TFindBusinessPT.users = 500
com.xceptance.xlt.loadtests.TFindBusinessPT.arrivalRate = 2000
-com.xceptance.xlt.loadtests.TDeleteBusinessPT.users = 10
+com.xceptance.xlt.loadtests.TDeleteBusinessPT.users = 500
com.xceptance.xlt.loadtests.TDeleteBusinessPT.arrivalRate = 2000
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org