Return-Path: Delivered-To: apmail-openejb-commits-archive@www.apache.org Received: (qmail 68473 invoked from network); 1 Nov 2010 02:15:20 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Nov 2010 02:15:20 -0000 Received: (qmail 19947 invoked by uid 500); 1 Nov 2010 02:15:51 -0000 Delivered-To: apmail-openejb-commits-archive@openejb.apache.org Received: (qmail 19922 invoked by uid 500); 1 Nov 2010 02:15:51 -0000 Mailing-List: contact commits-help@openejb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openejb.apache.org Delivered-To: mailing list commits@openejb.apache.org Received: (qmail 19915 invoked by uid 99); 1 Nov 2010 02:15:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Nov 2010 02:15:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Nov 2010 02:15:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E398D238890D; Mon, 1 Nov 2010 02:14:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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/ Date: Mon, 01 Nov 2010 02:14:50 -0000 To: commits@openejb.apache.org From: dblevins@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101101021450.E398D238890D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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