[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Wed Nov 8 02:09:16 EST 2006
User: gavin
Date: 06/11/08 02:09:16
Modified: src/main/org/jboss/seam/core EntityManagerFactory.java
Log:
JPA needs the jndi trick too
Revision Changes Path
1.3 +22 -3 jboss-seam/src/main/org/jboss/seam/core/EntityManagerFactory.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EntityManagerFactory.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/EntityManagerFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- EntityManagerFactory.java 14 Oct 2006 22:50:10 -0000 1.2
+++ EntityManagerFactory.java 8 Nov 2006 07:09:16 -0000 1.3
@@ -1,12 +1,15 @@
-//$Id: EntityManagerFactory.java,v 1.2 2006/10/14 22:50:10 gavin Exp $
+//$Id: EntityManagerFactory.java,v 1.3 2006/11/08 07:09:16 gavin Exp $
package org.jboss.seam.core;
import static org.jboss.seam.InterceptionType.NEVER;
+import java.util.HashMap;
+import java.util.Hashtable;
import java.util.Map;
import javax.persistence.Persistence;
+import org.hibernate.cfg.Environment;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Destroy;
@@ -14,6 +17,7 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Startup;
import org.jboss.seam.annotations.Unwrap;
+import org.jboss.seam.util.Naming;
/**
* A Seam component that boostraps an EntityManagerFactory,
@@ -40,13 +44,28 @@
@Create
public void startup() throws Exception
{
- if (persistenceUnitProperties==null)
+ Map properties = new HashMap();
+ Hashtable<String, String> jndiProperties = Naming.getInitialContextProperties();
+ if ( jndiProperties!=null )
+ {
+ // Prefix regular JNDI properties for Hibernate
+ for (Map.Entry<String, String> entry : jndiProperties.entrySet())
+ {
+ properties.put( Environment.JNDI_PREFIX + "." + entry.getKey(), entry.getValue() );
+ }
+ }
+ if (persistenceUnitProperties!=null)
+ {
+ properties.putAll(persistenceUnitProperties);
+ }
+
+ if ( properties.isEmpty() )
{
entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName);
}
else
{
- entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName, persistenceUnitProperties);
+ entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName, properties);
}
}
More information about the jboss-cvs-commits
mailing list