[jboss-cvs] JBossAS SVN: r109740 - in trunk: connector/src/main/java/org/jboss/resource/deployers and 8 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Dec 7 01:48:37 EST 2010
Author: weston.price at jboss.com
Date: 2010-12-07 01:48:37 -0500 (Tue, 07 Dec 2010)
New Revision: 109740
Added:
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockConnection.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDataSource.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDriver.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJB.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBLocal.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBRemote.java
trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestServlet.java
trunk/testsuite/src/main/org/jboss/test/jca/support/JCATestSupport.java
trunk/testsuite/src/main/org/jboss/test/jca/test/DataSourceDeployerTestCase.java
trunk/testsuite/src/resources/jca/dsdeployer/ear/
trunk/testsuite/src/resources/jca/dsdeployer/ear/application.xml
trunk/testsuite/src/resources/jca/dsdeployer/war/
trunk/testsuite/src/resources/jca/dsdeployer/war/web.xml
Modified:
trunk/connector/src/main/java/org/jboss/resource/adapter/jdbc/local/LocalManagedConnectionFactory.java
trunk/connector/src/main/java/org/jboss/resource/deployers/DataSourceDeployerHelper.java
trunk/testsuite/imports/sections/jca.xml
Log:
[JBAS-8559] Modified UseDataSource property for LMCF to be more JMX friendly. Checking in new test class, support classes, descriptors etc for task. This includes a mock JDBC driver for DS and Driver testing in the new framework.
Modified: trunk/connector/src/main/java/org/jboss/resource/adapter/jdbc/local/LocalManagedConnectionFactory.java
===================================================================
--- trunk/connector/src/main/java/org/jboss/resource/adapter/jdbc/local/LocalManagedConnectionFactory.java 2010-12-07 06:04:19 UTC (rev 109739)
+++ trunk/connector/src/main/java/org/jboss/resource/adapter/jdbc/local/LocalManagedConnectionFactory.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -86,7 +86,7 @@
// check some invariants before they come back to haunt us
if(driverClass == null)
throw new JBossResourceException("driverClass is null");
- if(connectionURL == null && !isUseDataSource())
+ if(connectionURL == null && !getUseDataSource())
throw new JBossResourceException("connectionURL is null");
return super.createConnectionFactory(cm);
@@ -175,7 +175,7 @@
}
- public boolean isUseDataSource()
+ public boolean getUseDataSource()
{
return useDataSource;
}
Modified: trunk/connector/src/main/java/org/jboss/resource/deployers/DataSourceDeployerHelper.java
===================================================================
--- trunk/connector/src/main/java/org/jboss/resource/deployers/DataSourceDeployerHelper.java 2010-12-07 06:04:19 UTC (rev 109739)
+++ trunk/connector/src/main/java/org/jboss/resource/deployers/DataSourceDeployerHelper.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -95,7 +95,7 @@
String dataBaseName = dsmd.getDatabaseName();
int portNumber = dsmd.getPortNumber();
String url = dsmd.getUrl();
-
+
DataSourceConnectionPropertyMetaData xaProp = null;
if(serverName != null && !serverName.isEmpty())
@@ -126,6 +126,7 @@
}
+
if(useUrl)
{
depMd.setConnectionUrl(url);
Modified: trunk/testsuite/imports/sections/jca.xml
===================================================================
--- trunk/testsuite/imports/sections/jca.xml 2010-12-07 06:04:19 UTC (rev 109739)
+++ trunk/testsuite/imports/sections/jca.xml 2010-12-07 06:48:37 UTC (rev 109740)
@@ -412,8 +412,38 @@
<include name="jcaprimitive-ds.xml"/>
</fileset>
</copy>
+
+ <!-- Artifacts for new DataSourceDeployer -->
+
+ <jar destfile="${build.lib}/jca-mockdriver.jar">
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/jca/dsdeployer/Mock*.class"/>
+ </fileset>
+ </jar>
+ <jar destfile="${build.lib}/jca-dsdeployer-ejbtest.jar">
+
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/jca/dsdeployer/TestEJB*.class"/>
+ </fileset>
+ </jar>
+
+ <war destfile="${build.lib}/jca-dsdeployer-test.war" webxml="${build.resources}/jca/dsdeployer/war/web.xml">
+ <classes dir="${build.classes}">
+ <include name="org/jboss/test/jca/dsdeployer/TestServlet.class"/>
+ </classes>
+ </war>
+
+ <ear destfile="${build.lib}/jca-dsdeployer-test.ear" appxml="${build.resources}/jca/dsdeployer/ear/application.xml">
+ <fileset dir="${build.lib}">
+ <include name="jca-dsdeployer-test.war"/>
+ </fileset>
+
+ </ear>
+
</target>
+
+
</project>
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockConnection.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockConnection.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockConnection.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,326 @@
+package org.jboss.test.jca.dsdeployer;
+
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.CallableStatement;
+import java.sql.Clob;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.NClob;
+import java.sql.PreparedStatement;
+import java.sql.SQLClientInfoException;
+import java.sql.SQLException;
+import java.sql.SQLWarning;
+import java.sql.SQLXML;
+import java.sql.Savepoint;
+import java.sql.Statement;
+import java.sql.Struct;
+import java.util.Map;
+import java.util.Properties;
+
+public class MockConnection implements Connection {
+
+ @Override
+ public boolean isWrapperFor(Class<?> iface) throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public <T> T unwrap(Class<T> iface) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void clearWarnings() throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void close() throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void commit() throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Array createArrayOf(String arg0, Object[] arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Blob createBlob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Clob createClob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public NClob createNClob() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SQLXML createSQLXML() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Statement createStatement() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Statement createStatement(int arg0, int arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Statement createStatement(int arg0, int arg1, int arg2)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Struct createStruct(String arg0, Object[] arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean getAutoCommit() throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String getCatalog() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Properties getClientInfo() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public String getClientInfo(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getHoldability() throws SQLException {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public DatabaseMetaData getMetaData() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getTransactionIsolation() throws SQLException {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public Map<String, Class<?>> getTypeMap() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public SQLWarning getWarnings() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean isClosed() throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isReadOnly() throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public boolean isValid(int arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public String nativeSQL(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public CallableStatement prepareCall(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public CallableStatement prepareCall(String arg0, int arg1, int arg2)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public CallableStatement prepareCall(String arg0, int arg1, int arg2,
+ int arg3) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0, int arg1)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0, int[] arg1)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0, String[] arg1)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0, int arg1, int arg2)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public PreparedStatement prepareStatement(String arg0, int arg1, int arg2,
+ int arg3) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void releaseSavepoint(Savepoint arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void rollback() throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void rollback(Savepoint arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setAutoCommit(boolean arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setCatalog(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setClientInfo(Properties arg0) throws SQLClientInfoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setClientInfo(String arg0, String arg1)
+ throws SQLClientInfoException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setHoldability(int arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setReadOnly(boolean arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Savepoint setSavepoint() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Savepoint setSavepoint(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void setTransactionIsolation(int arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void setTypeMap(Map<String, Class<?>> arg0) throws SQLException {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDataSource.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDataSource.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDataSource.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,99 @@
+package org.jboss.test.jca.dsdeployer;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+import javax.sql.XAConnection;
+import javax.sql.XADataSource;
+
+public class MockDataSource implements DataSource, XADataSource {
+
+ private String serverName;
+ private String databaseName;
+ private int portNumber;
+
+ @Override
+ public PrintWriter getLogWriter() throws SQLException {
+ return null;
+ }
+
+ @Override
+ public int getLoginTimeout() throws SQLException {
+ return 0;
+ }
+
+ @Override
+ public void setLogWriter(PrintWriter arg0) throws SQLException {
+
+ }
+
+ @Override
+ public void setLoginTimeout(int arg0) throws SQLException {
+
+ }
+
+ @Override
+ public boolean isWrapperFor(Class<?> arg0) throws SQLException {
+ return false;
+ }
+
+ @Override
+ public <T> T unwrap(Class<T> arg0) throws SQLException {
+ return null;
+ }
+
+ @Override
+ public Connection getConnection() throws SQLException {
+ return new MockConnection();
+ }
+
+ @Override
+ public Connection getConnection(String arg0, String arg1)
+ throws SQLException {
+ return new MockConnection();
+ }
+
+ public String getServerName() {
+ return serverName;
+ }
+
+ public void setServerName(String serverName) {
+ this.serverName = serverName;
+ }
+
+ public String getDatabaseName() {
+ return databaseName;
+ }
+
+ public void setDatabaseName(String databaseName) {
+ this.databaseName = databaseName;
+ }
+
+ public int getPortNumber() {
+ return portNumber;
+ }
+
+ public void setPortNumber(int portNumber) {
+ this.portNumber = portNumber;
+ }
+
+ @Override
+ public XAConnection getXAConnection() throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public XAConnection getXAConnection(String arg0, String arg1)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDriver.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDriver.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/MockDriver.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,48 @@
+package org.jboss.test.jca.dsdeployer;
+
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.DriverPropertyInfo;
+import java.sql.SQLException;
+import java.util.Properties;
+
+public class MockDriver implements Driver {
+
+ @Override
+ public boolean acceptsURL(String arg0) throws SQLException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ public Connection connect(String arg0, Properties arg1) throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public int getMajorVersion() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public int getMinorVersion() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ @Override
+ public DriverPropertyInfo[] getPropertyInfo(String arg0, Properties arg1)
+ throws SQLException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public boolean jdbcCompliant() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJB.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJB.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJB.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,61 @@
+package org.jboss.test.jca.dsdeployer;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.annotation.sql.DataSourceDefinition;
+import javax.ejb.Local;
+import javax.ejb.Stateless;
+import javax.sql.DataSource;
+
+ at DataSourceDefinition(name="java:EJBAnnotDS", className="org.hsqldb.jdbcDriver", url="jdbc:hsqldb:mem:JCADataSourceDeployerDB")
+ at Stateless
+ at Local(TestEJBLocal.class)
+public class TestEJB implements TestEJBLocal, TestEJBRemote
+{
+
+// @Resource(mappedName="java:EJBAnnotDS")
+ private DataSource dataSource;
+
+ @Override
+ public void testDataSource() throws Exception
+ {
+ Connection c = null;
+ Statement s = null;
+ ResultSet rs = null;
+
+ try
+ {
+ //c = dataSource.getConnection();
+ s = c.createStatement();
+ rs = s.executeQuery("select * from iqserver");
+
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ throw e;
+ }
+ finally
+ {
+ try {
+ if(rs != null)
+ {
+ rs.close();
+ }
+ if(s != null)
+ {
+ s.close();
+ }
+ if(c != null)
+ {
+ c.close();
+ }
+ } catch (SQLException ignore)
+ {
+ }
+ }
+ }
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBLocal.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBLocal.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBLocal.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,8 @@
+package org.jboss.test.jca.dsdeployer;
+
+import javax.ejb.Local;
+
+public interface TestEJBLocal
+{
+ public void testDataSource() throws Exception;
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBRemote.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBRemote.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestEJBRemote.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,9 @@
+package org.jboss.test.jca.dsdeployer;
+
+import javax.ejb.Remote;
+
+ at Remote
+public interface TestEJBRemote
+{
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestServlet.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/dsdeployer/TestServlet.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,81 @@
+package org.jboss.test.jca.dsdeployer;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+import javax.annotation.Resource;
+import javax.annotation.sql.DataSourceDefinition;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.sql.DataSource;
+
+ at DataSourceDefinition(name="java:WebAnnotDS", className="org.hsqldb.jdbcDriver", url="jdbc:hsqldb:mem:JCADataSourceDeployerDB", user="sa")
+ at WebServlet(value="/test", name="TestServlet")
+public class TestServlet extends HttpServlet
+{
+
+ @Resource(mappedName="java:WebAnnotDS")
+ private DataSource webAnnotDS;
+
+ @Resource(mappedName="java:DSWebXML")
+ private DataSource webXMLDS;
+
+ @Resource(mappedName="java:DSEARXML")
+ private DataSource earXMLDS;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ doPost(req, resp);
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ {
+ Connection c = null;
+ Statement s = null;
+ ResultSet rs = null;
+
+ try
+ {
+// c = dataSource.getConnection();
+ s = c.createStatement();
+ rs = s.executeQuery("select * from iqserver");
+
+ System.out.println("Test for EJB");
+// ejb.testDataSource();
+ }
+ catch(Exception e)
+ {
+ throw new ServletException(e.getMessage(), e);
+ }
+ finally
+ {
+ try {
+ if(rs != null)
+ {
+ rs.close();
+ }
+ if(s != null)
+ {
+ s.close();
+ }
+ if(c != null)
+ {
+ c.close();
+ }
+ } catch (SQLException ignore)
+ {
+ }
+ }
+ }
+
+
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/support/JCATestSupport.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/support/JCATestSupport.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/support/JCATestSupport.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,30 @@
+package org.jboss.test.jca.support;
+
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+
+public class JCATestSupport
+{
+ private static MBeanServerConnection server;
+
+ private JCATestSupport(MBeanServerConnection server)
+ {
+ this.server = server;
+ }
+
+ public static JCATestSupport getInstance(MBeanServerConnection server)
+ {
+ return new JCATestSupport(server);
+ }
+ public static ObjectName getMCFForDeployment(final String name) throws Exception
+ {
+ return new ObjectName("jboss.jca:name=" + name + ",service=ManagedConnectionFactory");
+ }
+
+ public static ObjectName getPoolForDeployment(final String name) throws Exception
+ {
+ return new ObjectName("jboss.jca:name=" + name + ",service=ManagedConnectionPool");
+
+ }
+
+}
Added: trunk/testsuite/src/main/org/jboss/test/jca/test/DataSourceDeployerTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/test/DataSourceDeployerTestCase.java (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/jca/test/DataSourceDeployerTestCase.java 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,110 @@
+package org.jboss.test.jca.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.Properties;
+
+import junit.framework.Test;
+
+import org.jboss.test.JBossTestCase;
+import org.jboss.test.jca.support.JCATestSupport;
+
+public class DataSourceDeployerTestCase extends JBossTestCase
+{
+ private static final String EARXMLDS = "DSEARXML";
+ private static final String DRIVEREARXML = "DriverEARXML";
+ private static final String XADSEARXML = "XADSEARXML";
+
+ private static final String WEBANNOTDS = "WebAnnotDS";
+ private static final String WEBXMLDS = "DSWebXML";
+
+
+ public DataSourceDeployerTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testBasicDeployment() throws Exception
+ {
+ deploy("jca-mockdriver.jar");
+ Properties props = getConnectionProperties(EARXMLDS);
+ assertTrue(props.containsKey("serverName") && props.containsKey("databaseName") && props.containsKey("portNumber"));
+ assertTrue(deploymentUsesDataSource(EARXMLDS));
+
+ props.clear();
+
+ props = getConnectionProperties(DRIVEREARXML);
+ assertTrue(props.size() == 0);
+ assertFalse(deploymentUsesDataSource(DRIVEREARXML));
+
+ props.clear();
+ props = getConnectionProperties(XADSEARXML, true);
+ assertTrue("XADataSourceProperties should have been set", props.size() > 0);
+
+
+ undeploy("jca-mockdriver.jar");
+ }
+
+
+ public static Test suite() throws Exception
+ {
+ //getDeploySetup(DataSourceDeployerTestCase.class, "jca-mockdriver.jar");
+ Test t1 = getDeploySetup(DataSourceDeployerTestCase.class, "jca-dsdeployer-test.ear");
+ return t1;
+
+ }
+
+ private Object getMCFAttribute(String name, String attribute, Class<?> type) throws Exception
+ {
+ return invoke(JCATestSupport.getMCFForDeployment(name), "getManagedConnectionFactoryAttribute", new Object[]{attribute}, new String[]{type.getName()});
+ }
+
+ private Properties getXAConnectionProperties(String name) throws Exception
+ {
+ return getConnectionProperties(name, true);
+ }
+ private Properties getConnectionProperties(String name) throws Exception
+ {
+ return getConnectionProperties(name, false);
+ }
+
+ private Properties getConnectionProperties(String name, boolean xa) throws Exception
+ {
+ String strResults = null;
+
+ if(xa)
+ {
+ strResults = (String)getMCFAttribute(name, "XADataSourceProperties", String.class);
+
+ }
+ else
+ {
+ strResults = (String)getMCFAttribute(name, "ConnectionProperties", String.class);
+
+ }
+
+ log.debug("Received properties results from server fomr name " + name + " " + strResults);
+
+ Properties props = new Properties();
+ System.out.println(strResults);
+
+ if(strResults != null)
+ {
+ strResults = strResults.replaceAll("\\\\", "\\\\\\\\");
+ System.out.println(strResults);
+ InputStream is = new ByteArrayInputStream(strResults.getBytes());
+ props.load(is);
+
+ }
+
+ return props;
+ }
+
+ private boolean deploymentUsesDataSource(String name) throws Exception
+ {
+ Boolean results = (Boolean)getMCFAttribute(name, "UseDataSource", String.class);
+ String url = (String)getMCFAttribute(name, "ConnectionURL", String.class);
+ return (results != null && results && url == null) ? Boolean.TRUE : Boolean.FALSE;
+ }
+
+}
Added: trunk/testsuite/src/resources/jca/dsdeployer/ear/application.xml
===================================================================
--- trunk/testsuite/src/resources/jca/dsdeployer/ear/application.xml (rev 0)
+++ trunk/testsuite/src/resources/jca/dsdeployer/ear/application.xml 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+ http://java.sun.com/xml/ns/javaee/application_6.xsd"
+ version="6" id="jca-dsdeployer-test">
+
+ <application-name>JCA DataSourceDeployer Test</application-name>
+ <initialize-in-order>true</initialize-in-order>
+
+ <!--
+ <module>
+ <ejb>test-ejb.jar</ejb>
+ </module>
+ -->
+
+ <module>
+ <web>
+ <web-uri>jca-dsdeployer-test.war</web-uri>
+ <context-root>/testweb</context-root>
+ </web>
+ </module>
+ <data-source>
+ <name>DSEARXML</name>
+ <class-name>org.jboss.test.jca.dsdeployer.MockDataSource</class-name>
+ <server-name>dataSource2ServerName</server-name>
+ <port-number>2</port-number>
+ <database-name>dataSource2DatabaseName</database-name>
+ <url>jdbc:hsqldb:mem:JCADataSourceDeployerDB</url>
+ <user>sa</user>
+ <password></password>
+ <login-timeout>2</login-timeout>
+ <transactional>false</transactional>
+ <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
+ <initial-pool-size>2</initial-pool-size>
+ <max-pool-size>2</max-pool-size>
+ <min-pool-size>2</min-pool-size>
+ <max-idle-time>2</max-idle-time>
+ <max-statements>2</max-statements>
+ </data-source>
+ <data-source>
+ <name>DriverEARXML</name>
+ <class-name>org.jboss.test.jca.dsdeployer.MockDriver</class-name>
+ <server-name></server-name>
+ <port-number>-1</port-number>
+ <database-name></database-name>
+ <url>jdbc:hsqldb:mem:JCADataSourceDeployerDB</url>
+ <user>sa</user>
+ <password></password>
+ <login-timeout>2</login-timeout>
+ <transactional>false</transactional>
+ <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
+ <initial-pool-size>2</initial-pool-size>
+ <max-pool-size>2</max-pool-size>
+ <min-pool-size>2</min-pool-size>
+ <max-idle-time>2</max-idle-time>
+ <max-statements>2</max-statements>
+ </data-source>
+ <data-source>
+ <name>XADSEARXML</name>
+ <class-name>org.jboss.test.jca.dsdeployer.MockDriver</class-name>
+ <server-name>testServer</server-name>
+ <port-number>2</port-number>
+ <database-name>testDB</database-name>
+ <url>jdbc:hsqldb:mem:JCADataSourceDeployerDB</url>
+ <user>sa</user>
+ <password></password>
+ <login-timeout>2</login-timeout>
+ <transactional>true</transactional>
+ <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
+ <initial-pool-size>2</initial-pool-size>
+ <max-pool-size>2</max-pool-size>
+ <min-pool-size>2</min-pool-size>
+ <max-idle-time>2</max-idle-time>
+ <max-statements>2</max-statements>
+ </data-source>
+
+</application>
Added: trunk/testsuite/src/resources/jca/dsdeployer/war/web.xml
===================================================================
--- trunk/testsuite/src/resources/jca/dsdeployer/war/web.xml (rev 0)
+++ trunk/testsuite/src/resources/jca/dsdeployer/war/web.xml 2010-12-07 06:48:37 UTC (rev 109740)
@@ -0,0 +1,35 @@
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+
+ <!--
+ <servlet>
+ <servlet-name>TestServlet</servlet-name>
+ <servlet-class>org.test.web.TestServlet</servlet-class>
+ </servlet>
+ -->
+ <data-source>
+ <description>en-dataSource2-desc</description>
+<!--
+ <description xml:lang="fr">fr-dataSource2-desc</description>
+ <description xml:lang="de">de-dataSource2-desc</description>
+-->
+ <name>DSWebXML</name>
+ <class-name>org.jboss.test.jca.dsdeployer.MockDataSource</class-name>
+ <server-name>localhost</server-name>
+ <port-number>2</port-number>
+ <database-name>localdb</database-name>
+ <url>jdbc:hsqldb:mem:JCADataSourceDeployerDB</url>
+ <user>sa</user>
+ <password></password>
+ <login-timeout>2</login-timeout>
+ <transactional>false</transactional>
+ <isolation-level>TRANSACTION_READ_COMMITTED</isolation-level>
+ <initial-pool-size>2</initial-pool-size>
+ <max-pool-size>2</max-pool-size>
+ <min-pool-size>2</min-pool-size>
+ <max-idle-time>2</max-idle-time>
+ <max-statements>2</max-statements>
+ </data-source>
+
+</web-app>
More information about the jboss-cvs-commits
mailing list