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