[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