[jboss-cvs] JBossAS SVN: r75316 - in projects/jpa/trunk/deployers: src/main/java/org/jboss/jpa/deployers and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jul 2 16:57:25 EDT 2008
Author: wolfc
Date: 2008-07-02 16:57:25 -0400 (Wed, 02 Jul 2008)
New Revision: 75316
Added:
projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/DerbyService.java
projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/SimpleTransactionService.java
projects/jpa/trunk/deployers/src/test/resources/jndi.properties
projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jbossts-beans.xml
projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jndi-beans.xml
projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/derby-beans.xml
Modified:
projects/jpa/trunk/deployers/.classpath
projects/jpa/trunk/deployers/pom.xml
projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java
projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceUnitDeployer.java
projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceDeployment.java
projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceUnitDeployment.java
projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/MainDeployerTestDelegate.java
projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java
projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.xml
projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/pu/META-INF/persistence.xml
Log:
Deployment of a persistence unit working
Modified: projects/jpa/trunk/deployers/.classpath
===================================================================
--- projects/jpa/trunk/deployers/.classpath 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/.classpath 2008-07-02 20:57:25 UTC (rev 75316)
@@ -13,8 +13,10 @@
<classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
<classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-logging/commons-logging/1.1.0.jboss/commons-logging-1.1.0.jboss.jar" sourcepath="M2_REPO/apache-logging/commons-logging/1.1.0.jboss/commons-logging-1.1.0.jboss-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1.jar" sourcepath="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/derby/derby/10.4.1.3/derby-10.4.1.3.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
<classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar" sourcepath="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-sources.jar"/>
@@ -30,7 +32,7 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta12/jboss-classloading-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta12/jboss-classloading-2.0.0.Beta12-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta12/jboss-classloading-vfs-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta12/jboss-classloading-vfs-2.0.0.Beta12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.7.GA/jboss-common-core-2.2.7.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.7.GA/jboss-common-core-2.2.7.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta16/jboss-dependency-2.0.0.Beta16.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta16/jboss-dependency-2.0.0.Beta16-sources.jar"/>
@@ -62,13 +64,15 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta19/jboss-vfs-2.0.0.Beta19.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta19/jboss-vfs-2.0.0.Beta19-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jbossts/jbossjta/4.3.0.GA/jbossjta-4.3.0.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jbossts/jbossts-common/4.3.0.GA/jbossts-common-4.3.0.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.2.GA/jbossws-spi-1.0.2.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR10/jbossxb-2.0.0.CR10.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR10/jbossxb-2.0.0.CR10-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar" sourcepath="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
</classpath>
\ No newline at end of file
Modified: projects/jpa/trunk/deployers/pom.xml
===================================================================
--- projects/jpa/trunk/deployers/pom.xml 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/pom.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -18,13 +18,27 @@
<name>JBoss Container Managed JPA Deployers</name>
<dependencies>
+ <!-- For 'mocking' a TransactionManager we use JBossTS -->
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossjta</artifactId>
+ <version>4.3.0.GA</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
+ <!-- For 'mocking' a DataSource we use Derby -->
<dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.4.1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.3.2.GA</version>
@@ -44,7 +58,6 @@
<groupId>org.jboss.deployers</groupId>
<artifactId>jboss-deployers-vfs</artifactId>
<version>2.0.0.Beta18</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.deployers</groupId>
@@ -56,5 +69,31 @@
<artifactId>jboss-metadata</artifactId>
<version>1.0.0.Beta26</version>
</dependency>
+ <dependency>
+ <groupId>org.jboss.naming</groupId>
+ <artifactId>jnpserver</artifactId>
+ <version>5.0.0.CR1</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- For Arjuna / JBoss Transaction -->
+ <dependency>
+ <groupId>apache-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1.0.jboss</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>oswego-concurrent</groupId>
+ <artifactId>concurrent</artifactId>
+ <version>1.3.4-jboss-update1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossts</groupId>
+ <artifactId>jbossts-common</artifactId>
+ <version>4.3.0.GA</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java
===================================================================
--- projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceDeployer.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -39,7 +39,7 @@
public PersistenceDeployer()
{
- setComponentVisitor(new PersistenceUnitDeploymentVisitor());
+ //setComponentVisitor(new PersistenceUnitDeploymentVisitor());
setDeploymentVisitor(new PersistenceDeploymentVisitor());
}
Modified: projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceUnitDeployer.java
===================================================================
--- projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceUnitDeployer.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployers/PersistenceUnitDeployer.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -23,9 +23,12 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Properties;
import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import org.jboss.beans.metadata.api.annotations.MapValue;
import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
@@ -46,6 +49,8 @@
{
private static final Logger log = Logger.getLogger(PersistenceUnitDeployer.class);
+ private Properties defaultPersistenceProperties;
+
public PersistenceUnitDeployer()
{
super(PersistenceUnitMetaData.class);
@@ -61,20 +66,34 @@
{
log.debug("deploy " + metaData);
- InitialContext initialContext = null;
- PersistenceDeployment persistenceDeployment = null;
- List<String> explicitEntityClasses = new ArrayList<String>();
- String ear = null;
- String jar = null;
- boolean isScoped = false;
- VFSDeploymentUnit deploymentUnit = (VFSDeploymentUnit) unit.getParent();
- PersistenceUnitDeployment pu = new PersistenceUnitDeployment(initialContext, persistenceDeployment, explicitEntityClasses, metaData, ear, jar, isScoped, deploymentUnit);
-
- String name = "ToDo";
- AbstractBeanMetaData beanMetaData = new AbstractBeanMetaData(name, PersistenceUnitDeployment.class.getName());
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanMetaData);
- builder.setConstructorValue(pu);
-
- unit.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+ try
+ {
+ InitialContext initialContext = new InitialContext();
+ PersistenceDeployment persistenceDeployment = null;
+ List<String> explicitEntityClasses = new ArrayList<String>();
+ String ear = null;
+ String jar = null;
+ boolean isScoped = false;
+ VFSDeploymentUnit deploymentUnit = (VFSDeploymentUnit) unit.getParent();
+ PersistenceUnitDeployment pu = new PersistenceUnitDeployment(initialContext, persistenceDeployment, explicitEntityClasses, metaData, ear, jar, isScoped, deploymentUnit, defaultPersistenceProperties);
+
+ // TODO: fix me, must match the component name in PersistenceDeployer
+ String name = metaData.getName();
+ AbstractBeanMetaData beanMetaData = new AbstractBeanMetaData(name, PersistenceUnitDeployment.class.getName());
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(beanMetaData);
+ builder.setConstructorValue(pu);
+
+ unit.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+ }
+ catch(NamingException e)
+ {
+ throw new DeploymentException(e);
+ }
}
+
+ @MapValue(keyClass=String.class, value={}, valueClass=String.class)
+ public void setDefaultPersistenceProperties(Properties p)
+ {
+ this.defaultPersistenceProperties = p;
+ }
}
Modified: projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceDeployment.java
===================================================================
--- projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceDeployment.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceDeployment.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -44,6 +44,7 @@
* @author adrian at jboss.org
* @version $Revision$
*/
+ at Deprecated
public class PersistenceDeployment //extends ServiceMBeanSupport
// implements JavaEEModule, Ejb3DeploymentMBean
{
@@ -216,7 +217,7 @@
// cache_prefix = SecondLevelCacheUtil.createCacheRegionPrefix(earShortName, jarName, metaData.getName());
// properties.put(SecondLevelCacheUtil.HIBERNATE_CACHE_REGION_PREFIX, cache_prefix);
// }
- PersistenceUnitDeployment deployment = new PersistenceUnitDeployment(initialContext, this, explicitEntityClasses, metaData, earName, unit.getSimpleName(), isScoped, getDeploymentUnit());
+ PersistenceUnitDeployment deployment = new PersistenceUnitDeployment(initialContext, this, explicitEntityClasses, metaData, earName, unit.getSimpleName(), isScoped, getDeploymentUnit(), null);
PersistenceUnitRegistry.register(deployment);
persistenceUnitDeployments.add(deployment);
}
Modified: projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceUnitDeployment.java
===================================================================
--- projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceUnitDeployment.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/main/java/org/jboss/jpa/deployment/PersistenceUnitDeployment.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -64,8 +64,9 @@
protected String kernelName;
protected PersistenceDeployment deployment;
protected boolean scoped;
+ private Properties defaultPersistenceProperties;
- public PersistenceUnitDeployment(InitialContext initialContext, PersistenceDeployment deployment, List<String> explicitEntityClasses, PersistenceUnitMetaData metadata, String ear, String jar, boolean isScoped, VFSDeploymentUnit deploymentUnit)
+ public PersistenceUnitDeployment(InitialContext initialContext, PersistenceDeployment deployment, List<String> explicitEntityClasses, PersistenceUnitMetaData metadata, String ear, String jar, boolean isScoped, VFSDeploymentUnit deploymentUnit, Properties defaultPersistenceProperties)
{
//super(new SimpleJavaEEModule((deployment.getEar() != null ? deployment.getEar().getShortName() : null), deployment.getDeploymentUnit().getShortName()));
@@ -75,6 +76,8 @@
this.di = deploymentUnit;
this.explicitEntityClasses = explicitEntityClasses;
this.metaData = metadata;
+ this.defaultPersistenceProperties = defaultPersistenceProperties;
+
kernelName = "persistence.units:";
String name = getEntityManagerName();
if (name == null || name.length() == 0)
@@ -231,8 +234,7 @@
log.info("Starting persistence unit " + kernelName);
Properties props = new Properties();
- // FIXME: reinstate
-// props.putAll(di.getDefaultPersistenceProperties());
+ props.putAll(defaultPersistenceProperties);
props.put(HibernatePersistence.JACC_CONTEXT_ID, getJaccContextId());
PersistenceUnitInfoImpl pi = new PersistenceUnitInfoImpl();
Added: projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/DerbyService.java
===================================================================
--- projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/DerbyService.java (rev 0)
+++ projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/DerbyService.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jpa.deployers.test.common;
+
+import java.sql.Connection;
+
+import javax.naming.InitialContext;
+
+import org.apache.derby.jdbc.EmbeddedDataSource;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class DerbyService
+{
+ private String className = "org.apache.derby.jdbc.EmbeddedDataSource";
+ private String databaseName = "./target/derby.db";
+ private boolean createDatabase = true;
+ private String jndiName = "java:/DefaultDS";
+
+ private EmbeddedDataSource ds;
+ private InitialContext ctx;
+
+ public void create() throws Exception
+ {
+ System.setProperty("derby.stream.error.file", "target/derby.log");
+
+ Class<? extends EmbeddedDataSource> cls = (Class<? extends EmbeddedDataSource>) Class.forName(className);
+ this.ds = cls.newInstance();
+ ds.setDatabaseName(databaseName);
+ if(createDatabase)
+ ds.setCreateDatabase("create");
+
+ ctx = new InitialContext();
+ }
+
+ public void destroy() throws Exception
+ {
+ ctx.close();
+ ctx = null;
+ ds = null;
+ }
+
+ public void start() throws Exception
+ {
+ // Make sure that database is created before we go on.
+ Connection con = ds.getConnection();
+ con.close();
+
+ ctx.bind(jndiName, ds);
+ }
+
+ public void stop() throws Exception
+ {
+ ctx.unbind(jndiName);
+ }
+}
Modified: projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/MainDeployerTestDelegate.java
===================================================================
--- projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/MainDeployerTestDelegate.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/MainDeployerTestDelegate.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -41,11 +41,31 @@
super(clazz);
}
+ public KernelDeployment deploy(String resource) throws Exception
+ {
+ URL url = clazz.getResource(resource);
+ if(url == null)
+ throw new IllegalArgumentException("Can't find resource '" + resource + "'");
+ try
+ {
+ return deploy(url);
+ }
+ finally
+ {
+ validate();
+ }
+ }
+
public KernelDeployment deploy(URL url) throws Exception
{
return super.deploy(url);
}
+ public <T> T getBean(Object name, Class<T> expectedType)
+ {
+ return getBean(name, ControllerState.INSTALLED, expectedType);
+ }
+
public MainDeployer getMainDeployer()
{
return mainDeployer;
Added: projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/SimpleTransactionService.java
===================================================================
--- projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/SimpleTransactionService.java (rev 0)
+++ projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/common/SimpleTransactionService.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jpa.deployers.test.common;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import com.arjuna.ats.jta.utils.JNDIManager;
+
+/**
+ * Bind a JTA TransactionManager into JNDI.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SimpleTransactionService
+{
+ public void start() throws Exception
+ {
+ JNDIManager.bindJTAImplementation();
+ }
+
+ public void stop() throws NamingException
+ {
+ InitialContext ctx = new InitialContext();
+ ctx.unbind("java:/TransactionManager");
+ }
+}
Modified: projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java
===================================================================
--- projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/test/java/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.java 2008-07-02 20:57:25 UTC (rev 75316)
@@ -21,11 +21,14 @@
*/
package org.jboss.jpa.deployers.test.deployment;
+import static org.junit.Assert.assertNotNull;
+
import java.net.URL;
import org.jboss.deployers.vfs.spi.client.VFSDeployment;
import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
import org.jboss.jpa.deployers.test.common.MainDeployerTestDelegate;
+import org.jboss.jpa.spi.PersistenceUnit;
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
import org.junit.BeforeClass;
@@ -44,6 +47,10 @@
{
delegate = new MainDeployerTestDelegate(DeploymentTestCase.class);
delegate.setUp();
+
+ delegate.deploy("/org/jboss/jpa/deployers/test/common/jndi-beans.xml");
+ delegate.deploy("/org/jboss/jpa/deployers/test/common/jbossts-beans.xml");
+ delegate.deploy("derby-beans.xml");
}
@Test
@@ -54,9 +61,12 @@
VirtualFile file = VFS.getRoot(url);
VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(file);
delegate.getMainDeployer().deploy(deployment);
- delegate.getMainDeployer().checkComplete(deployment);
+ //delegate.getMainDeployer().checkComplete(deployment);
- // TODO:
+ // TODO: this name should be persistence.units:jar=pu,unitName=dummy
+ String name = "dummy";
+ PersistenceUnit pu = delegate.getBean(name, PersistenceUnit.class);
+ assertNotNull(pu);
delegate.getMainDeployer().undeploy(deployment);
}
Added: projects/jpa/trunk/deployers/src/test/resources/jndi.properties
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/jndi.properties (rev 0)
+++ projects/jpa/trunk/deployers/src/test/resources/jndi.properties 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,2 @@
+java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file
Added: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jbossts-beans.xml
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jbossts-beans.xml (rev 0)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jbossts-beans.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="TransactionManager" class="org.jboss.jpa.deployers.test.common.SimpleTransactionService">
+ <depends>NameServer</depends>
+ </bean>
+</deployment>
\ No newline at end of file
Added: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jndi-beans.xml
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jndi-beans.xml (rev 0)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/common/jndi-beans.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- JNDI -->
+ <bean name="NameServer" class="org.jnp.server.SingletonNamingServer"/>
+</deployment>
\ No newline at end of file
Modified: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.xml
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.xml 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/DeploymentTestCase.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -3,5 +3,14 @@
<bean name="PersistenceParsingDeployer" class="org.jboss.jpa.deployers.PersistenceParsingDeployer"/>
<bean name="PersistenceDeployer" class="org.jboss.jpa.deployers.PersistenceDeployer"/>
- <bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer"/>
+ <bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer">
+ <property name="defaultPersistenceProperties">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>hibernate.transaction.manager_lookup_class</key>
+ <value>org.hibernate.transaction.JBossTransactionManagerLookup</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
</deployment>
Added: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/derby-beans.xml
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/derby-beans.xml (rev 0)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/derby-beans.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- As a 'mock' DataSource we use Derby -->
+ <bean name="DerbyService" class="org.jboss.jpa.deployers.test.common.DerbyService"/>
+</deployment>
\ No newline at end of file
Modified: projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/pu/META-INF/persistence.xml
===================================================================
--- projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/pu/META-INF/persistence.xml 2008-07-02 20:16:45 UTC (rev 75315)
+++ projects/jpa/trunk/deployers/src/test/resources/org/jboss/jpa/deployers/test/deployment/pu/META-INF/persistence.xml 2008-07-02 20:57:25 UTC (rev 75316)
@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
- <persistence-unit name="ToDo">
+ <persistence-unit name="dummy">
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
More information about the jboss-cvs-commits
mailing list