[hibernate-commits] Hibernate SVN: r11215 - in branches/Branch_3_2/HibernateExt/entitymanager/src: test/org/hibernate/ejb/test and 4 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Feb 19 10:04:42 EST 2007


Author: epbernard
Date: 2007-02-19 10:04:42 -0500 (Mon, 19 Feb 2007)
New Revision: 11215

Added:
   branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/explicitpar/META-INF/orm.xml
   branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/externaljar/META-INF/orm.xml
   branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/
   branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Airplane.java
   branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Seat.java
Modified:
   branches/Branch_3_2/HibernateExt/entitymanager/src/java/org/hibernate/ejb/Ejb3Configuration.java
   branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
Log:
EJB-259 multiple orms

Modified: branches/Branch_3_2/HibernateExt/entitymanager/src/java/org/hibernate/ejb/Ejb3Configuration.java
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/java/org/hibernate/ejb/Ejb3Configuration.java	2007-02-16 17:48:50 UTC (rev 11214)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/java/org/hibernate/ejb/Ejb3Configuration.java	2007-02-19 15:04:42 UTC (rev 11215)
@@ -336,16 +336,18 @@
 			List<String> packages = new ArrayList<String>();
 			List<String> xmlFiles = new ArrayList<String>( 50 );
 			if ( info.getMappingFileNames() != null ) xmlFiles.addAll( info.getMappingFileNames() );
-			if ( ! xmlFiles.contains( META_INF_ORM_XML ) ) xmlFiles.add( META_INF_ORM_XML );
+			//Should always be true if the container is not dump
+			boolean searchForORMFiles = ! xmlFiles.contains( META_INF_ORM_XML );
 
 			boolean[] detectArtifactForOtherJars = getDetectedArtifacts( info.getProperties(), null, false );
 			boolean[] detectArtifactForMainJar = getDetectedArtifacts( info.getProperties(), null, info.excludeUnlistedClasses() );
 			for ( URL jar : info.getJarFileUrls() ) {
 				if ( detectArtifactForOtherJars[0] ) scanForClasses( jar, packages, entities );
-				if ( detectArtifactForOtherJars[1] ) scanForHbmXmlFiles( jar, hbmFiles );
+				if ( detectArtifactForOtherJars[1] ) scanForXmlFiles( jar, hbmFiles, searchForORMFiles );
 			}
 			if ( detectArtifactForMainJar[0] ) scanForClasses( info.getPersistenceUnitRootUrl(), packages, entities );
-			if ( detectArtifactForMainJar[1] ) scanForHbmXmlFiles( info.getPersistenceUnitRootUrl(), hbmFiles );
+			if ( detectArtifactForMainJar[1] )
+				scanForXmlFiles( info.getPersistenceUnitRootUrl(), hbmFiles, searchForORMFiles );
 
 			Properties properties = info.getProperties() != null ?
 					info.getProperties() :
@@ -595,11 +597,13 @@
 		return filters;
 	}
 
-	private void scanForHbmXmlFiles(URL jar, List<NamedInputStream> hbmxmls) {
+	private void scanForXmlFiles(URL jar, List<NamedInputStream> hbmxmls, final boolean searchforORMFiles) {
 		Iterator it = ArchiveBrowser.getBrowser(
 				jar, new ArchiveBrowser.Filter() {
 			public boolean accept(String filename) {
-				return filename.endsWith( ".hbm.xml" );
+				return filename.endsWith( ".hbm.xml" )
+						|| (searchforORMFiles && filename.endsWith( META_INF_ORM_XML ) )
+						;
 			}
 		}
 		);

Modified: branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2007-02-16 17:48:50 UTC (rev 11214)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/PackagedEntityManagerTest.java	2007-02-19 15:04:42 UTC (rev 11215)
@@ -22,6 +22,8 @@
 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.ejb.test.pack.various.Seat;
+import org.hibernate.ejb.test.pack.various.Airplane;
 import org.hibernate.stat.Statistics;
 import org.hibernate.validator.InvalidStateException;
 import org.hibernate.JDBCException;
@@ -384,7 +386,7 @@
 		EntityManager em = factory.createEntityManager();
 		Scooter s = new Scooter();
 		s.setModel( "Abadah" );
-		s.setSpeed( new Long( 85 ) );
+		s.setSpeed( 85l );
 		em.getTransaction().begin();
 		em.persist( s );
 		em.getTransaction().commit();
@@ -398,6 +400,20 @@
 		em.close();
 	}
 
+	public void testORMFileOnMainAndExplicitJars() throws Exception {
+		EntityManager em = factory.createEntityManager();
+		Seat seat = new Seat();
+		seat.setNumber( "3B" );
+		Airplane plane = new Airplane();
+		plane.setSerialNumber( "75924418409052355");
+		em.getTransaction().begin();
+		em.persist( seat );
+		em.persist( plane );
+		em.flush();
+		em.getTransaction().rollback();
+		em.close();
+	}
+
 	public PackagedEntityManagerTest() {
 		super();
 	}

Added: branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Airplane.java
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Airplane.java	                        (rev 0)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Airplane.java	2007-02-19 15:04:42 UTC (rev 11215)
@@ -0,0 +1,17 @@
+//$Id: $
+package org.hibernate.ejb.test.pack.various;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Airplane {
+	private String serialNumber;
+
+	public String getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(String serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+}

Added: branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Seat.java
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Seat.java	                        (rev 0)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/test/org/hibernate/ejb/test/pack/various/Seat.java	2007-02-19 15:04:42 UTC (rev 11215)
@@ -0,0 +1,17 @@
+//$Id: $
+package org.hibernate.ejb.test.pack.various;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class Seat {
+	private String number;
+
+	public String getNumber() {
+		return number;
+	}
+
+	public void setNumber(String number) {
+		this.number = number;
+	}
+}

Added: branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/explicitpar/META-INF/orm.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/explicitpar/META-INF/orm.xml	                        (rev 0)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/explicitpar/META-INF/orm.xml	2007-02-19 15:04:42 UTC (rev 11215)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+                 version="1.0"
+        >
+    <package>org.hibernate.ejb.test.pack.various</package>
+    <entity class="Seat" access="PROPERTY" metadata-complete="true">
+        <attributes>
+            <id name="number"/>
+        </attributes>
+    </entity>
+</entity-mappings>
\ No newline at end of file

Added: branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/externaljar/META-INF/orm.xml
===================================================================
--- branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/externaljar/META-INF/orm.xml	                        (rev 0)
+++ branches/Branch_3_2/HibernateExt/entitymanager/src/test-resources/externaljar/META-INF/orm.xml	2007-02-19 15:04:42 UTC (rev 11215)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                 xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
+                 version="1.0"
+        >
+    <package>org.hibernate.ejb.test.pack.various</package>
+    <entity class="Airplane" metadata-complete="true" access="PROPERTY">
+        <attributes>
+            <id name="serialNumber"/>
+        </attributes>
+    </entity>
+</entity-mappings>
\ No newline at end of file




More information about the hibernate-commits mailing list