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
+ */
+@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>