[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