You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2010/11/01 03:14:50 UTC
svn commit: r1029529 - in /openejb/trunk/openejb3: ./
container/openejb-core/src/main/java/org/apache/openejb/config/
container/openejb-core/src/test/java/org/apache/openejb/config/
examples/alternate-descriptors/src/main/resources/META-INF/
Author: dblevins
Date: Mon Nov 1 02:14:50 2010
New Revision: 1029529
URL: http://svn.apache.org/viewvc?rev=1029529&view=rev
Log:
svn merge -r 1027753:1027754 https://svn.apache.org/repos/asf/openejb/branches/openejb-3.1.x
http://svn.apache.org/viewvc?view=revision&revision=1027754
------------------------------------------------------------------------
r1027754 | dblevins | 2010-10-26 14:59:44 -0700 (Tue, 26 Oct 2010) | 2 lines
OPENEJB-1389: Automatically encode # in provider attribute of "new://Resource?provider=org.acme#FooResource" URIs
------------------------------------------------------------------------
Modified:
openejb/trunk/openejb3/ (props changed)
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java (props changed)
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/ConfigureServiceTest.java
openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml (props changed)
Propchange: openejb/trunk/openejb3/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 1 02:14:50 2010
@@ -1,3 +1,3 @@
/openejb/branches/openejb-3.1.1:779593
-/openejb/branches/openejb-3.1.x:945409,945448,1004381,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527
+/openejb/branches/openejb-3.1.x:945409,945448,1004381,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527,1027754
/openejb/branches/openejb-jcdi:984659-985270
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1029529&r1=1029528&r2=1029529&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Mon Nov 1 02:14:50 2010
@@ -466,9 +466,9 @@ public class ConfigurationFactory implem
String value = (String) entry.getValue();
try {
- URI uri = new URI(value);
+ final Object service = toConfigDeclaration(name, value);
- openejb.add(toConfigDeclaration(name, uri));
+ openejb.add(service);
} catch (URISyntaxException e) {
logger.error("Error declaring service '" + name + "'. Invalid Service URI '" + value + "'. java.net.URISyntaxException: " + e.getMessage());
} catch (OpenEJBException e) {
@@ -477,6 +477,16 @@ public class ConfigurationFactory implem
}
}
+ protected Object toConfigDeclaration(String name, String value) throws URISyntaxException, OpenEJBException {
+// value = value.replaceFirst("(.)#", "$1%23");
+ value = value.replaceFirst("(provider=[^#=&]+)#", "$1%23");
+
+ URI uri = new URI(value);
+
+ final Object service = toConfigDeclaration(name, uri);
+ return service;
+ }
+
public Object toConfigDeclaration(String id, URI uri) throws OpenEJBException {
String serviceType = null;
try {
Propchange: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 1 02:14:50 2010
@@ -1,3 +1,3 @@
/openejb/branches/openejb-3.1.1/container/openejb-core/src/test/java/org/apache/openejb/config/UberInterfaceTest.java:779593
-/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:945409,945448,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527
+/openejb/branches/openejb-3.1.x/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:945409,945448,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527,1027754
/openejb/branches/openejb-jcdi/container/openejb-core/src/test/java/org/apache/openejb/config/BusinessInterfacesTest.java:984659-985270
Modified: openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/ConfigureServiceTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/ConfigureServiceTest.java?rev=1029529&r1=1029528&r2=1029529&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/ConfigureServiceTest.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/ConfigureServiceTest.java Mon Nov 1 02:14:50 2010
@@ -137,6 +137,25 @@ public class ConfigureServiceTest extend
assertEquals("Cheese is good", myStatelessContainer.properties.getProperty("anotherProperty"));
}
+ public void testConfigureServiceAddedPropertyViaURI_Unencoded() throws Exception {
+ ConfigurationFactory factory = new ConfigurationFactory();
+
+ Container container = (Container) factory.toConfigDeclaration("MyContainer", "new://Container?type=STATELESS&provider=org.acme#CheddarContainer");
+
+ container.getProperties().setProperty("anotherProperty", "Cheese is good");
+ StatelessSessionContainerInfo myStatelessContainer = factory.configureService(container, StatelessSessionContainerInfo.class);
+
+ assertNotNull(myStatelessContainer);
+ assertEquals("MyContainer", myStatelessContainer.id);
+ assertEquals("org.acme.SuperContainer", myStatelessContainer.className);
+ assertNotNull(myStatelessContainer.constructorArgs);
+ assertNotNull(myStatelessContainer.properties);
+ assertNotNull(myStatelessContainer.properties.getProperty("myProperty"));
+ assertEquals("Yummy Cheese", myStatelessContainer.properties.getProperty("myProperty"));
+ assertNotNull(myStatelessContainer.properties.getProperty("anotherProperty"));
+ assertEquals("Cheese is good", myStatelessContainer.properties.getProperty("anotherProperty"));
+ }
+
public void testQueue() throws Exception {
ConfigurationFactory factory = new ConfigurationFactory();
Propchange: openejb/trunk/openejb3/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 1 02:14:50 2010
@@ -1,3 +1,3 @@
/openejb/branches/openejb-3.1.1/examples/alternate-descriptors/src/main/resources/META-INF/ejb-jar.xml:779593
-/openejb/branches/openejb-3.1.x/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:945409,945448,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527
+/openejb/branches/openejb-3.1.x/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:945409,945448,1005322,1021880,1021903,1021955,1021961,1021965,1021975,1021979,1021990,1022375,1022393,1023096,1023116,1023125,1026527,1027754
/openejb/branches/openejb-jcdi/examples/alternate-descriptors/src/main/resources/META-INF/test.ejb-jar.xml:984659-985270