[jboss-cvs] JBossAS SVN: r79367 - trunk/connector/src/tests/org/jboss/tests/jca/managed.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Oct 12 20:21:50 EDT 2008
Author: scott.stark at jboss.org
Date: 2008-10-12 20:21:50 -0400 (Sun, 12 Oct 2008)
New Revision: 79367
Modified:
trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
Log:
JBAS-6037, test java beans xml and jaxb xml output for local ds metadata
Modified: trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
===================================================================
--- trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java 2008-10-13 00:14:14 UTC (rev 79366)
+++ trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java 2008-10-13 00:21:50 UTC (rev 79367)
@@ -21,13 +21,26 @@
*/
package org.jboss.tests.jca.managed;
+import java.beans.BeanInfo;
+import java.beans.ExceptionListener;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.beans.XMLEncoder;
+import java.io.ByteArrayOutputStream;
+import java.net.URL;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.namespace.QName;
+
import org.jboss.managed.api.DeploymentTemplateInfo;
import org.jboss.managed.api.ManagedObject;
import org.jboss.managed.api.ManagedProperty;
@@ -44,8 +57,11 @@
import org.jboss.resource.deployers.management.LocalDSInstanceClassFactory;
import org.jboss.resource.deployers.management.TxInstanceClassFactory;
import org.jboss.resource.deployers.management.XADSInstanceClassFactory;
+import org.jboss.resource.metadata.mcf.DBMSMetaData;
import org.jboss.resource.metadata.mcf.DataSourceConnectionPropertyMetaData;
import org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData;
+import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
import org.jboss.resource.metadata.mcf.NoTxDataSourceDeploymentMetaData;
import org.jboss.resource.metadata.mcf.SecurityMetaData;
import org.jboss.resource.metadata.mcf.TxConnectionFactoryDeploymentMetaData;
@@ -462,6 +478,99 @@
}
/**
+ * Just a test to see what the java.beans.XMLEncoder output for the
+ * local ds metadata looks like.
+ */
+ public void testJavaBeanXml()
+ throws Exception
+ {
+ ManagedConnectionFactoryDeploymentGroup mcfs = initMCFDG();
+
+ BeanInfo info = Introspector.getBeanInfo(mcfs.getClass());
+ for(PropertyDescriptor pd : info.getPropertyDescriptors())
+ System.out.println(pd.getName() + ", "+pd.getReadMethod());
+
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ XMLEncoder oos = new XMLEncoder(baos);
+ oos.setExceptionListener(new ExceptionListener()
+ {
+ public void exceptionThrown(Exception e)
+ {
+ e.printStackTrace();
+ }
+ });
+ oos.writeObject(mcfs);
+ oos.close();
+
+ String s = new String(baos.toByteArray());
+ System.out.println(s);
+ }
+ /**
+ * Just a test to see what the jaxb output for the
+ * local ds metadata looks like.
+ */
+ public void testJaxbMCFXml()
+ throws Exception
+ {
+ ManagedConnectionFactoryDeploymentGroup mcfs = initMCFDG();
+
+ JAXBContext ctx = JAXBContext.newInstance(ManagedConnectionFactoryDeploymentGroup.class);
+ Marshaller marshaller = ctx.createMarshaller();
+ marshaller.setProperty("jaxb.formatted.output", Boolean.TRUE);
+ QName mcfsName = new QName("datasources");
+ JAXBElement<ManagedConnectionFactoryDeploymentGroup> root = new
+ JAXBElement<ManagedConnectionFactoryDeploymentGroup>(mcfsName,
+ ManagedConnectionFactoryDeploymentGroup.class, mcfs);
+ marshaller.marshal(root, System.out);
+ }
+
+ private ManagedConnectionFactoryDeploymentGroup initMCFDG()
+ throws Exception
+ {
+ ManagedConnectionFactoryDeploymentGroup mcfs = new ManagedConnectionFactoryDeploymentGroup();
+ LocalDataSourceDeploymentMetaData lds = new LocalDataSourceDeploymentMetaData();
+ lds.setBackgroundValidation(true);
+ lds.setBackgroundValidationMillis(5000);
+ lds.setBlockingTimeoutMilliSeconds(5000);
+ lds.setCheckValidConnectionSQL("select something from somewhere");
+ lds.setConnectionDefinition("conn def");
+ lds.setConnectionUrl("jdbc:xyz:a=b");
+ DataSourceConnectionPropertyMetaData cp1 = new DataSourceConnectionPropertyMetaData();
+ cp1.setName("cp1-name");
+ cp1.setValue("cp1-value");
+ DataSourceConnectionPropertyMetaData cp2 = new DataSourceConnectionPropertyMetaData();
+ cp2.setName("cp2-name");
+ cp2.setValue("cp2-value");
+ DataSourceConnectionPropertyMetaData[] cps = {
+ cp1, cp2
+ };
+ lds.setDataSourceConnectionProperties(Arrays.asList(cps));
+ lds.setDriverClass("org.jboss.jdbc.SomeDriver");
+ lds.setExceptionSorterClassName("org.jboss.jdbc.SomeExceptionSorter");
+ String[] depends = {"jboss:service=Naming", "jboss:service=Hypersonic,database=localDB"};
+ lds.setDependsNames(Arrays.asList(depends));
+ lds.setIdleTimeoutMinutes(15);
+ lds.setInterleaving(false);
+ lds.setMaxSize(100);
+ lds.setMinSize(1);
+ DBMSMetaData md = new DBMSMetaData();
+ md.setTypeMapping("Hypersonic SQL");
+ lds.setDBMSMetaData(md);
+ lds.setNewConnectionSQL("run this on a new conn");
+ lds.setPassWord("password");
+ lds.setPrefill(true);
+ lds.setPreparedStatementCacheSize(50);
+ lds.setQueryTimeout(30000);
+ lds.setUserName("user");
+
+ ManagedConnectionFactoryDeploymentMetaData[] mds = {lds};
+ mcfs.setDeployments(Arrays.asList(mds));
+ mcfs.setUrl(new URL("file:/deploy/some-ds.xml"));
+ return mcfs;
+ }
+
+ /**
* Build the missingNames, extraNames from the input expectedPropertyNames
* and sortedPropertyNames.
*
More information about the jboss-cvs-commits
mailing list