X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FJpaBuilder.java;h=e4cdcfbf7ce3110a88c622f1328d90be22804326;hb=685578ba5b0c34b26b127405cad1202623280e50;hp=8356ea2e52019b1d707df0d9d79ab4189a4eff76;hpb=07e46d60a7a448f54d53ea155d76dd91e4d095b1;p=utils diff --git a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java index 8356ea2e..e4cdcfbf 100644 --- a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java +++ b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java @@ -20,14 +20,11 @@ import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; -import javax.naming.InitialContext; -import javax.naming.NamingException; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; import javax.persistence.PersistenceException; -import javax.sql.DataSource; import org.wamblee.support.jndi.StubInitialContextFactory; @@ -63,22 +60,26 @@ public class JpaBuilder { } private PersistenceUnitDescription persistenceUnit; - private DataSource dataSource; + private String url; + private String user; + private String password; private EntityManagerFactory factory; /** * Constructs the builder. * - * @param aDataSource - * Datasource of database. + * @param aUrl JDBC URL + * @param aUser User name + * @param aPassword Password. * @param aPersistenceUnit * Persistence unit. */ - public JpaBuilder(DataSource aDataSource, + public JpaBuilder(String aUrl, String aUser, String aPassword, PersistenceUnitDescription aPersistenceUnit) { persistenceUnit = aPersistenceUnit; - dataSource = aDataSource; - StubInitialContextFactory.register(); + url = aUrl; + user = aUser; + password = aPassword; } /** @@ -87,12 +88,6 @@ public class JpaBuilder { * manager factory, and forces creation of the database schema. */ public void start() throws Exception { - try { - InitialContext ctx = new InitialContext(); - ctx.bind(persistenceUnit.getJndiName(), dataSource); - } catch (NamingException e) { - throw new RuntimeException("JNDI problem", e); - } factory = createFactory(); try { execute(new JpaUnitOfWork() { @@ -122,10 +117,16 @@ public class JpaBuilder { */ public EntityManagerFactory createFactory() { Map jpaProps = new TreeMap(); + + jpaProps.put("javax.persistence.jtaDataSource", null); + jpaProps.put("javax.persistence.transactionType", "RESOURCE_LOCAL"); + jpaProps.put("javax.persistence.jdbc.url", url); + jpaProps.put("javax.persistence.jdbc.user", user); + jpaProps.put("javax.persistence.jdbc.password", password); JpaCustomizerBuilder.getCustomizer().customize(persistenceUnit, jpaProps); - + // jpaProps.put("javax.persistence.provider", // HibernatePersistence.class.getName()); EntityManagerFactory emf = Persistence.createEntityManagerFactory(