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 2008/03/06 10:23:15 UTC

svn commit: r634198 - in /openejb/trunk/openejb3: container/openejb-core/ container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/core/security/ container/openejb-core/src/main/...

Author: dblevins
Date: Thu Mar  6 01:23:13 2008
New Revision: 634198

URL: http://svn.apache.org/viewvc?rev=634198&view=rev
Log:
More fixes for paths with spaces

Modified:
    openejb/trunk/openejb3/container/openejb-core/pom.xml
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/SecurityServiceImpl.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
    openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Main.java
    openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/LoginTestUtil.java
    openejb/trunk/openejb3/server/openejb-ejbd/pom.xml
    openejb/trunk/openejb3/server/openejb-http/pom.xml
    openejb/trunk/openejb3/server/openejb-webadmin/pom.xml

Modified: openejb/trunk/openejb3/container/openejb-core/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/pom.xml?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/pom.xml (original)
+++ openejb/trunk/openejb3/container/openejb-core/pom.xml Thu Mar  6 01:23:13 2008
@@ -90,7 +90,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <forkMode>pertest</forkMode>
-          <argLine>-javaagent:${basedir}/target/openejb-javaagent-${version}.jar -enableassertions</argLine>
+          <argLine>"-javaagent:${basedir}/target/openejb-javaagent-${version}.jar" -enableassertions</argLine>
           <workingDirectory>${basedir}/target</workingDirectory>
           <systemProperties>
             <property>
@@ -341,7 +341,7 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
               <forkMode>pertest</forkMode>
-              <argLine>-javaagent:${basedir}/target/openejb-javaagent-${version}.jar -enableassertions
+              <argLine>"-javaagent:${basedir}/target/openejb-javaagent-${version}.jar" -enableassertions
                 -agentlib:jdwp=transport=dt_socket,server=y,address=5005</argLine>
               <workingDirectory>${basedir}/target</workingDirectory>
               <systemProperties>

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java Thu Mar  6 01:23:13 2008
@@ -165,7 +165,7 @@
         }
 
         // Persistence Unit Root Url
-        unitInfo.setRootUrlAndJarUrls(new File(info.persistenceUnitRootUrl).toURL(), info.jarFiles);
+        unitInfo.setRootUrlAndJarUrls(info.persistenceUnitRootUrl, info.jarFiles);
 
         // create the persistence provider
         String persistenceProviderClassName = unitInfo.getPersistenceProviderClassName();

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/SecurityServiceImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/SecurityServiceImpl.java?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/SecurityServiceImpl.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/security/SecurityServiceImpl.java Thu Mar  6 01:23:13 2008
@@ -18,11 +18,13 @@
 
 import org.apache.openejb.core.security.jaas.UsernamePasswordCallbackHandler;
 import org.apache.openejb.util.ConfUtils;
+import org.apache.openejb.util.URLs;
 
 import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 import java.net.URL;
+import java.net.URLDecoder;
 import java.util.UUID;
 
 /**
@@ -52,7 +54,7 @@
 
         URL loginConfig = ConfUtils.getConfResource("login.config");
 
-        System.setProperty("java.security.auth.login.config", loginConfig.toExternalForm());
+        System.setProperty("java.security.auth.login.config", URLDecoder.decode(loginConfig.toExternalForm()));
     }
 
     public UUID login(String realmName, String username, String password) throws LoginException {

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java Thu Mar  6 01:23:13 2008
@@ -16,16 +16,22 @@
  */
 package org.apache.openejb.persistence;
 
+import org.apache.openejb.util.Join;
+
 import java.lang.instrument.ClassFileTransformer;
 import java.lang.instrument.IllegalClassFormatException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.security.ProtectionDomain;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
+import java.io.File;
+import java.io.IOException;
 import javax.persistence.spi.ClassTransformer;
 import javax.persistence.spi.PersistenceUnitInfo;
 import javax.persistence.spi.PersistenceUnitTransactionType;
@@ -189,17 +195,41 @@
         return persistenceUnitRootUrl;
     }
 
-    public void setRootUrlAndJarUrls(URL persistenceUnitRootUrl, List<String> jarFiles) throws MalformedURLException {
-        this.persistenceUnitRootUrl = persistenceUnitRootUrl;
+    public void setRootUrlAndJarUrls(String persistenceUnitRootUrl, List<String> jarFiles) throws MalformedURLException {
+        File root = new File(persistenceUnitRootUrl);
+
+        this.persistenceUnitRootUrl = toUrl(root);
         try {
-            URI uri = persistenceUnitRootUrl.toURI();
+
             for (String path : jarFiles) {
-                URI jarURI = uri.resolve(path);
-                jarFileUrls.add(jarURI.toURL());
+                File file = new File(root, path);
+                file = file.getCanonicalFile();
+                jarFileUrls.add(toUrl(file));
             }
-        } catch (URISyntaxException e) {
+        } catch (IOException e) {
             throw new IllegalStateException(e);
         }
+    }
+
+    private URL toUrl(File root) throws MalformedURLException {
+        URL url = root.toURL();
+
+        try {
+            url.toURI();
+        } catch (URISyntaxException e) {
+            // Likely has spaces in it.
+            try {
+                String s = url.toExternalForm();
+                URL fixed = new URL(s.replaceAll(" ", "%20"));
+                fixed.toURI();
+                url = fixed;
+            } catch (MalformedURLException e1) {
+            } catch (URISyntaxException e1) {
+                // oh well, we tried.
+            }
+        }
+
+        return url;
     }
 
     public List<String> getManagedClassNames() {

Modified: openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Main.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Main.java?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Main.java (original)
+++ openejb/trunk/openejb3/server/openejb-client/src/main/java/org/apache/openejb/client/Main.java Thu Mar  6 01:23:13 2008
@@ -27,6 +27,7 @@
 import java.lang.reflect.InvocationTargetException;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.net.URLDecoder;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.security.PrivilegedExceptionAction;
@@ -142,7 +143,7 @@
         if (path == null) {
             URL resource = classLoader.getResource("client.login.conf");
             if (resource != null) {
-                System.setProperty("java.security.auth.login.config", resource.toExternalForm());
+                System.setProperty("java.security.auth.login.config", URLDecoder.decode(resource.toExternalForm()));
             }
         }
     }

Modified: openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/LoginTestUtil.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/LoginTestUtil.java?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/LoginTestUtil.java (original)
+++ openejb/trunk/openejb3/server/openejb-client/src/test/java/org/apache/openejb/client/LoginTestUtil.java Thu Mar  6 01:23:13 2008
@@ -19,6 +19,7 @@
 
 import java.rmi.RemoteException;
 import java.net.URL;
+import java.net.URLDecoder;
 
 public class LoginTestUtil {
     public static Request serverRequest;
@@ -29,7 +30,7 @@
         if (path == null) {
             URL resource = ClientLoginTest.class.getClassLoader().getResource("client.login.conf");
             if (resource != null) {
-                path = resource.getFile();
+                path = URLDecoder.decode(resource.getFile());
                 System.setProperty("java.security.auth.login.config", path);
             }
         }

Modified: openejb/trunk/openejb3/server/openejb-ejbd/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/pom.xml?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/pom.xml (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/pom.xml Thu Mar  6 01:23:13 2008
@@ -61,7 +61,7 @@
           <forkMode>pertest</forkMode>
           <!-- DEBUG: Uncomment this line and comment out the next -->
           <!--<argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar</argLine>-->
-          <argLine>-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar</argLine>
+          <argLine>"-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar"</argLine>
           <systemProperties>
             <property>
               <name>openejb.home</name>

Modified: openejb/trunk/openejb3/server/openejb-http/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-http/pom.xml?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-http/pom.xml (original)
+++ openejb/trunk/openejb3/server/openejb-http/pom.xml Thu Mar  6 01:23:13 2008
@@ -66,7 +66,7 @@
         <configuration>
           <!-- DEBUG: Uncomment this line and comment out the next -->
           <!--<argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -javaagent:${project.build.directory}/target/openejb-javaagent-${version}.jar=foo=bar</argLine>-->
-          <argLine>-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar</argLine>
+          <argLine>"-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar"</argLine>
           <systemProperties>
             <property>
               <name>openejb.home</name>

Modified: openejb/trunk/openejb3/server/openejb-webadmin/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/pom.xml?rev=634198&r1=634197&r2=634198&view=diff
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/pom.xml (original)
+++ openejb/trunk/openejb3/server/openejb-webadmin/pom.xml Thu Mar  6 01:23:13 2008
@@ -60,7 +60,7 @@
         <configuration>
           <!-- DEBUG: Uncomment this line and comment out the next -->
           <!--<argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -javaagent:${project.build.directory}/target/openejb-javaagent-${version}.jar=foo=bar</argLine>-->
-          <argLine>-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar</argLine>
+          <argLine>"-javaagent:${project.build.directory}/openejb-javaagent-${version}.jar=foo=bar"</argLine>
           <systemProperties>
             <property>
               <name>openejb.home</name>