[hibernate-commits] Hibernate SVN: r10909 - in branches/Branch_3_2/HibernateExt/ejb: . src/java/org/hibernate/ejb/packaging src/test/org/hibernate/ejb/test src/test/org/hibernate/ejb/test/pack src/test/org/hibernate/ejb/test/pack/spacepar src/test-resources src/test-resources/space par src/test-resources/space par/META-INF

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Dec 1 14:21:16 EST 2006


Author: epbernard
Date: 2006-12-01 14:21:14 -0500 (Fri, 01 Dec 2006)
New Revision: 10909

Added:
   branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/
   branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/
   branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml
   branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/
   branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java
Modified:
   branches/Branch_3_2/HibernateExt/ejb/build.xml
   branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java
   branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
Log:
EJB-244 space in directory on windows

Modified: branches/Branch_3_2/HibernateExt/ejb/build.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/build.xml	2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/build.xml	2006-12-01 19:21:14 UTC (rev 10909)
@@ -52,12 +52,13 @@
 
     <target name="packjar">
         <property name="extension" value="jar"/>
-        <!-- property name="jarname"/ -->
+		<property name="packagename" value="${jarname}"/>
+		<!-- property name="jarname"/ -->
         <mkdir dir="${build.testresources.dir}"/>
         <jar destfile="${build.testresources.dir}/${jarname}.${extension}">
             <!-- fileset dir="${build.temp.dir}"/ -->
             <fileset dir="${classes.dir}">
-                <include name="**/test/pack/${jarname}/**.*"/>
+                <include name="**/test/pack/${packagename}/**.*"/>
             </fileset>
             <fileset dir="${testresources.dir}/${jarname}">
                 <include name="**/*.*"/>
@@ -87,8 +88,13 @@
             <param name="extension" value="par"/>
             <param name="jarname" value="defaultpar"/>
         </antcall>
-        <antcall target="packjar" inheritall="true">
+		<antcall target="packjar" inheritall="true">
             <param name="extension" value="par"/>
+            <param name="jarname" value="space par"/>
+			<param name="packagename" value="spacepar"/>
+		</antcall>
+		<antcall target="packjar" inheritall="true">
+            <param name="extension" value="par"/>
             <param name="jarname" value="explicitpar"/>
         </antcall>
         <antcall target="packjar" inheritall="true">
@@ -103,7 +109,8 @@
             <param name="extension" value="par"/>
             <param name="jarname" value="cfgxmlpar"/>
         </antcall>
-        <antcall target="packexploded" inheritall="true">
+
+		<antcall target="packexploded" inheritall="true">
             <param name="extension" value="par"/>
             <param name="jarname" value="explodedpar"/>
         </antcall>

Modified: branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java	2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/java/org/hibernate/ejb/packaging/JarVisitor.java	2006-12-01 19:21:14 UTC (rev 10909)
@@ -6,6 +6,7 @@
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -86,7 +87,15 @@
 			return new InputStreamZippedJarVisitor( jarUrl, filters );
 		}
 		else if ( StringHelper.isEmpty( protocol ) || "file".equals( protocol ) ) {
-			File file = new File( jarUrl.getFile() );
+			File file;
+			try {
+				file = new File( jarUrl.toURI().getSchemeSpecificPart() );
+			}
+			catch (URISyntaxException e) {
+				throw new IllegalArgumentException(
+						"Unable to visit JAR " + jarUrl + ". Cause: " + e.getMessage()
+				);
+			}
 			if ( file.isDirectory() ) {
 				return new ExplodedJarVisitor( jarUrl, filters );
 			}

Modified: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2006-12-01 19:21:14 UTC (rev 10909)
@@ -20,6 +20,7 @@
 import org.hibernate.ejb.test.pack.explodedpar.Carpet;
 import org.hibernate.ejb.test.pack.explodedpar.Elephant;
 import org.hibernate.ejb.test.pack.externaljar.Scooter;
+import org.hibernate.ejb.test.pack.spacepar.Bug;
 import org.hibernate.stat.Statistics;
 import org.hibernate.validator.InvalidStateException;
 import org.hibernate.JDBCException;
@@ -174,6 +175,21 @@
 		emf.close();
 	}
 
+	public void testSpacePar() throws Exception {
+		EntityManagerFactory emf = Persistence.createEntityManagerFactory( "space par", new HashMap() );
+		EntityManager em = emf.createEntityManager();
+		Bug bug = new Bug();
+		bug.setSubject( "Spaces in directory name don't play well on Windows");
+		em.getTransaction().begin();
+		em.persist( bug );
+		em.flush();
+		em.remove( bug );
+		assertNotNull( bug.getId() );
+		em.getTransaction().rollback();
+		em.close();
+		emf.close();
+	}
+
 	public void testListenersOverridingCfgXmlPar() throws Exception {
 		EntityManagerFactory emf = Persistence.createEntityManagerFactory( "cfgxmlpar", new HashMap() );
 		EntityManager em = emf.createEntityManager();

Added: branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java	2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test/org/hibernate/ejb/test/pack/spacepar/Bug.java	2006-12-01 19:21:14 UTC (rev 10909)
@@ -0,0 +1,42 @@
+//$Id: $
+package org.hibernate.ejb.test.pack.spacepar;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+
+/**
+ * @author Emmanuel Bernard
+ */
+ at Entity
+public class Bug {
+	@Id
+	@GeneratedValue
+	private Long id;
+	private String subject;
+	private String comment;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public String getSubject() {
+		return subject;
+	}
+
+	public void setSubject(String subject) {
+		this.subject = subject;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+}

Added: branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml	2006-12-01 18:11:26 UTC (rev 10908)
+++ branches/Branch_3_2/HibernateExt/ejb/src/test-resources/space par/META-INF/persistence.xml	2006-12-01 19:21:14 UTC (rev 10909)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- example of a default persistence.xml -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
+             version="1.0">
+    <persistence-unit name="space par">
+        <properties>
+            <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
+            <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
+            <property name="hibernate.connection.username" value="sa"/>
+            <property name="hibernate.connection.password" value=""/>
+            <property name="hibernate.connection.url" value="jdbc:hsqldb:."/>
+            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/>
+        </properties>
+    </persistence-unit>
+</persistence>




More information about the hibernate-commits mailing list