[jboss-cvs] JBossAS SVN: r83933 - in projects/metadata/trunk/src: main/resources/schema and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 6 03:35:26 EST 2009


Author: jeff.zhang
Date: 2009-02-06 03:35:26 -0500 (Fri, 06 Feb 2009)
New Revision: 83933

Added:
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs60UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testBasic.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testLocalTxDsEverything.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testMinimal.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testNoTxDsEverything.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testXaDsEverything.xml
Removed:
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs50UnitTestCase.java
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testBasic.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testEverything.xml
Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceConnectionPropertyMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceDeploymentMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentGroup.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/NonXADataSourceDeploymentMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/SecurityMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/XADataSourceDeploymentMetaData.java
   projects/metadata/trunk/src/main/resources/schema/jboss-ds_6_0.xsd
Log:
[JBMETA-167] add coverage test for ds.xml

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceConnectionPropertyMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceConnectionPropertyMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceConnectionPropertyMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -39,16 +39,18 @@
 {
    private static final long serialVersionUID = 1444129514410015366L;
    
-   @XmlAttribute(name="name")
+   //@XmlAttribute(name="name")
    protected String name;
    
-   @XmlValue
+   //@XmlValue
    protected String value;
 
    public String getName()
    {
       return name;
    }
+   
+   @XmlAttribute(name="name")
    public void setName(String name)
    {
       this.name = name;
@@ -58,6 +60,7 @@
    {
       return value;
    }
+   @XmlValue
    public void setValue(String value)
    {
       this.value = value;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceDeploymentMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceDeploymentMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/DataSourceDeploymentMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -77,7 +77,7 @@
    @XmlElement(name="share-prepared-statements")
    private boolean sharePreparedStatements;
    
-   @XmlElement(name="set-tx-query-timeout")
+   //@XmlElement(name="set-tx-query-timeout")
    private boolean useQueryTimeout;
    
    @XmlElement(name="query-timeout")
@@ -255,6 +255,7 @@
       return useQueryTimeout;
    }
 
+   @XmlElement(name="set-tx-query-timeout")
    public void setUseQueryTimeout(boolean useQueryTimeout)
    {
       this.useQueryTimeout = useQueryTimeout;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentGroup.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentGroup.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentGroup.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -34,6 +34,7 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.jboss.metadata.javaee.spec.JavaEEMetaDataConstants;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
 /**
@@ -42,14 +43,14 @@
  * @author <a href="weston.price at jboss.org">Weston Price</a>
  * @author Scott.Stark at jboss.org
  * @author Jeff Zhang
- * @version $Revision: $
+ * @version $Revision$
  */
- at XmlRootElement(name="datasources", namespace="")
+ at XmlRootElement(name="datasources", namespace=JavaEEMetaDataConstants.JBOSS_NS)
 @JBossXmlSchema(
-      xmlns={@XmlNs(namespaceURI = "", prefix = "jee")},
+      xmlns={@XmlNs(namespaceURI = JavaEEMetaDataConstants.JBOSS_NS, prefix = "jboss")},
       ignoreUnresolvedFieldOrClass=false,
-      namespace="",
-      elementFormDefault=XmlNsForm.UNSET,
+      namespace=JavaEEMetaDataConstants.JBOSS_NS,
+      elementFormDefault=XmlNsForm.QUALIFIED,
       normalizeSpace=true)
 @XmlType(name="datasources", namespace="")
 public class ManagedConnectionFactoryDeploymentGroup implements Serializable

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -70,7 +70,7 @@
    //@XmlElement(name="max-pool-size")
    private int maxSize = 10;
    
-   @XmlElement(name="blocking-timeout-millis")
+   //@XmlElement(name="blocking-timeout-millis")
    private long blockingTimeoutMilliSeconds = 30000;
    
    @XmlElement(name="idle-timeout-minutes")
@@ -105,17 +105,14 @@
    @XmlElement(name="statistics-formatter")
    private String statisticsFormatter = "org.jboss.resource.statistic.pool.JBossDefaultSubPoolStatisticFormatter";
    
-   @XmlElement(name="isSameRM-override-value")
+   //@XmlElement(name="isSameRM-override-value")
    private Boolean isSameRMOverrideValue = Boolean.FALSE;
 
    // is always true now and left here for the xml binding
    @Deprecated
-   @XmlJavaTypeAdapter(ManagedConnectionEmptyContentAdapter.class)
-   @XmlElement(name="track-connection-by-tx")
    private Boolean trackConnectionByTransaction;
 
-   @XmlJavaTypeAdapter(ManagedConnectionEmptyContentAdapter.class)
-   @XmlElement(name="interleaving")
+
    private Boolean interleaving;
 
    /** The transactionSupportMetaData */
@@ -130,7 +127,7 @@
 
    private SecurityMetaData securityMetaData;
       
-   @XmlElement(name="depends")
+   //@XmlElement(name="depends")
    private List<String> dependsNames;// = new ArrayList<String>();
    
    //@XmlTransient
@@ -334,6 +331,7 @@
     * 
     * @param dependsNames The dependsNames to set.
     */
+   @XmlElement(name="depends")
    public void setDependsNames(List<String> dependsNames)
    {
       this.dependsNames = dependsNames;
@@ -367,6 +365,7 @@
       
    }
    
+   @XmlElement(name="blocking-timeout-millis")
    public void setBlockingTimeoutMilliSeconds(long blockTimeout)
    {
      this.blockingTimeoutMilliSeconds = blockTimeout;
@@ -456,6 +455,7 @@
       return isSameRMOverrideValue;
    }
 
+   @XmlElement(name="isSameRM-override-value")
    public void setIsSameRMOverrideValue(Boolean isSameRMOverrideValue)
    {
       this.isSameRMOverrideValue = isSameRMOverrideValue;
@@ -468,6 +468,8 @@
    }
 
    @Deprecated
+   @XmlJavaTypeAdapter(ManagedConnectionEmptyContentAdapter.class)
+   @XmlElement(name="track-connection-by-tx")
    public void setTrackConnectionByTransaction(Boolean trackConnectionByTransaction)
    {
       if(Boolean.TRUE == getLocalTransactions() && !Boolean.TRUE.equals(trackConnectionByTransaction))
@@ -480,6 +482,8 @@
       return interleaving == Boolean.TRUE && !Boolean.TRUE.equals(getLocalTransactions());
    }
 
+   @XmlJavaTypeAdapter(ManagedConnectionEmptyContentAdapter.class)
+   @XmlElement(name="interleaving")
    public void setInterleaving(Boolean interleaving)
    {
       this.interleaving = interleaving;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/NonXADataSourceDeploymentMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/NonXADataSourceDeploymentMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/NonXADataSourceDeploymentMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -52,7 +52,7 @@
    @XmlElement(name="connection-url", required=true)
    private String connectionUrl;
    
-   @XmlElement(name="connection-property")
+   //@XmlElement(name="connection-property")
    private List<DataSourceConnectionPropertyMetaData> connectionProperties = new ArrayList<DataSourceConnectionPropertyMetaData>();
 
    public String getConnectionUrl()
@@ -79,7 +79,8 @@
    {
       return this.connectionProperties;      
    }
-
+   
+   @XmlElement(name="connection-property")
    public void setConnectionProperties(List<DataSourceConnectionPropertyMetaData> connectionProperties)
    {
       this.connectionProperties = connectionProperties;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/SecurityMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/SecurityMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/SecurityMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -40,7 +40,7 @@
    /** The serialVersionUID */
    private static final long serialVersionUID = 8939054836116025885L;
    
-   @XmlValue
+   //@XmlValue
    private String domain;
    
    protected SecurityDeploymentType type;
@@ -62,6 +62,7 @@
    {
       return domain;
    }
+   @XmlValue
    public void setDomain(String domain)
    {
       this.domain = domain;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/XADataSourceDeploymentMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/XADataSourceDeploymentMetaData.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/rar/jboss/mcf/XADataSourceDeploymentMetaData.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -53,10 +53,8 @@
    
    private static final String RAR_NAME = "jboss-xa-jdbc.rar";
    
-   @XmlElement(name="xa-datasource-class")
    private String xaDataSourceClass;
    
-   @XmlElement(name="xa-datasource-property")
    private List<XAConnectionPropertyMetaData> xaDataSourceProperties = new ArrayList<XAConnectionPropertyMetaData>();
    
    @XmlElement(name="url-property")
@@ -75,6 +73,7 @@
       return xaDataSourceClass;
    }
 
+   @XmlElement(name="xa-datasource-class")
    public void setXaDataSourceClass(String xaDataSourceClass)
    {
       this.xaDataSourceClass = xaDataSourceClass;
@@ -102,6 +101,7 @@
       return this.xaDataSourceProperties;      
    }
    
+   @XmlElement(name="xa-datasource-property")
    public void setXaDataSourceProperties(List<XAConnectionPropertyMetaData> xaDataSourceProperties)
    {
       this.xaDataSourceProperties = xaDataSourceProperties;

Modified: projects/metadata/trunk/src/main/resources/schema/jboss-ds_6_0.xsd
===================================================================
--- projects/metadata/trunk/src/main/resources/schema/jboss-ds_6_0.xsd	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/main/resources/schema/jboss-ds_6_0.xsd	2009-02-06 08:35:26 UTC (rev 83933)
@@ -191,10 +191,14 @@
          type="jboss:type-mappingType"
          minOccurs="0"
          maxOccurs="1"/>
+      <xsd:element name="depends"
+         type="jboss:dependsType"
+         minOccurs="0"
+         maxOccurs="unbounded"/>
     </xsd:sequence>
   </xsd:group>  
 
-  <xsd:complexType name="securityType">
+  <xsd:group name="securityGroup">
     <xsd:annotation>
       <xsd:documentation>
    Security type
@@ -202,14 +206,14 @@
     </xsd:annotation>
       <xsd:choice>
          <xsd:element name="application-managed-security"
-                 type="javaee:emptyType">
+                 type="javaee:emptyType" minOccurs="0">
          </xsd:element>
          <xsd:element name="security-domain"
-                 type="jboss:security-domainType"/>
+                 type="jboss:security-domainType" minOccurs="0"/>
          <xsd:element name="security-domain-and-application"
-                 type="jboss:security-domain-and-applicationType"/>       
+                 type="jboss:security-domain-and-applicationType" minOccurs="0"/>       
       </xsd:choice>
-  </xsd:complexType>
+  </xsd:group>
   
  
   <!--
@@ -230,8 +234,7 @@
        type="javaee:emptyType" minOccurs="0" maxOccurs="1"/>        
 
       <xsd:group ref="jboss:connectionFactoryGroup"/>
-      <xsd:element name="security"
-       type="jboss:securityType" minOccurs="0" maxOccurs="1"/>
+      <xsd:group ref="jboss:securityGroup"/>
       <xsd:group ref="jboss:connectionPoolGroup"/>
 
       <xsd:element name="no-tx-separate-pools"
@@ -255,8 +258,7 @@
       <xsd:element name="jndi-name"
        type="jboss:jndi-nameType"/>
       <xsd:group ref="jboss:connectionFactoryGroup"/>
-      <xsd:element name="security"
-       type="jboss:securityType" minOccurs="0" maxOccurs="1"/>
+      <xsd:group ref="jboss:securityGroup"/>
       <xsd:group ref="jboss:connectionPoolGroup"/>
     <xsd:element name="prefill"
      type="jboss:prefillType" minOccurs="0" maxOccurs="1"/>      
@@ -280,8 +282,7 @@
       <xsd:element name="connection-property"
        type="jboss:connection-propertyType" minOccurs="0" maxOccurs="unbounded"/>        
       <xsd:group ref="jboss:userGroup"/>
-      <xsd:element name="security"
-       type="jboss:securityType" minOccurs="0" maxOccurs="1"/>
+      <xsd:group ref="jboss:securityGroup"/>
       <xsd:group ref="jboss:connectionPoolGroup"/>
 
       <xsd:element name="validate-on-match"
@@ -316,8 +317,7 @@
       <xsd:element name="connection-property"
        type="jboss:connection-propertyType" minOccurs="0" maxOccurs="unbounded"/>        
       <xsd:group ref="jboss:userGroup"/>
-      <xsd:element name="security"
-       type="jboss:securityType" minOccurs="0" maxOccurs="1"/>
+      <xsd:group ref="jboss:securityGroup"/>
       <xsd:group ref="jboss:connectionPoolGroup"/>
 
       <xsd:element name="validate-on-match"
@@ -348,8 +348,7 @@
        type="jboss:xa-datasource-classType"/>  
       <xsd:element name="xa-datasource-property"
        type="jboss:xa-datasource-propertyType" minOccurs="0" maxOccurs="unbounded"/>   
-      <xsd:element name="connection-url"
-       type="jboss:connection-urlType"/>
+
       <xsd:element name="url-property"
        type="jboss:url-propertyType" minOccurs="0" maxOccurs="1"/>  
       <xsd:group ref="jboss:urlGroup"/>
@@ -360,8 +359,7 @@
        type="jboss:transaction-isolationType" minOccurs="0" maxOccurs="1"/>  
       <xsd:group ref="jboss:userGroup"/>
 
-      <xsd:element name="security"
-       type="jboss:securityType" minOccurs="0" maxOccurs="1"/>
+      <xsd:group ref="jboss:securityGroup"/>
       <xsd:group ref="jboss:connectionPoolGroup"/>
 
       <xsd:element name="validate-on-match"
@@ -515,13 +513,14 @@
     
        Ex:
        <security-domain>HsqlDbRealm</security-domain>
-  -->
+
    <xsd:complexType name="security-domainType">
       <xsd:simpleContent>
          <xsd:restriction base="javaee:string"/>
       </xsd:simpleContent>
    </xsd:complexType>
-
+  -->
+  
   <!--
     Indicates that either app supplied parameters (such as from
     getConnection(user, pw)) or Subject (from security domain) are used to

Deleted: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs50UnitTestCase.java	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs50UnitTestCase.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -1,86 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt 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.test.metadata.rar;
-
-import org.jboss.metadata.rar.jboss.mcf.LocalDataSourceDeploymentMetaData;
-import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentGroup;
-import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
-import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
-
-public class JcaDs50UnitTestCase extends AbstractJavaEEMetaDataTest
-{
-   public static SchemaBindingResolver initResolver()
-   {
-      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
-      //resolver.addClassBinding("", ManagedConnectionFactoryDeploymentGroup.class);
-      resolver.addClassBindingForLocation("jboss-ds_5_0.dtd", ManagedConnectionFactoryDeploymentGroup.class);
-      return resolver;
-   }
-
-   public JcaDs50UnitTestCase(String name) {
-      super(name);
-   }
-
-
-   public void testBasic() throws Exception
-   {
-
-      ManagedConnectionFactoryDeploymentGroup ds = unmarshal(ManagedConnectionFactoryDeploymentGroup.class);
-      assertNotNull(ds);
-      assertEquals(ds.getDeployments().size(), 1);
-      assertNotNull(ds.getDeployments().get(0));
-      assertTrue(ds.getDeployments().get(0) instanceof LocalDataSourceDeploymentMetaData);
-      LocalDataSourceDeploymentMetaData ld = (LocalDataSourceDeploymentMetaData)ds.getDeployments().get(0);
-      assertNotNull(ld);
-
-   }
-
-   public void testEverything() throws Exception
-   {
-
-      ManagedConnectionFactoryDeploymentGroup ds = unmarshal(ManagedConnectionFactoryDeploymentGroup.class);
-      assertNotNull(ds);
-      assertEquals(ds.getDeployments().size(), 1);
-      assertNotNull(ds.getDeployments().get(0));
-      assertTrue(ds.getDeployments().get(0) instanceof LocalDataSourceDeploymentMetaData);
-      LocalDataSourceDeploymentMetaData ld = (LocalDataSourceDeploymentMetaData)ds.getDeployments().get(0);
-      assertEquals(ld.getJndiName(), "DefaultDS");
-      assertTrue(ld.getConnectionUrl().startsWith("jdbc"));
-      assertEquals(ld.getConnectionProperties().size(), 0);
-      assertEquals(ld.getDriverClass(), "org.hsqldb.jdbcDriver");
-      assertEquals(ld.getUserName(), "sa");
-      assertEquals(ld.getPassWord(), "");
-      assertEquals(ld.getMinSize(), 5);
-      assertEquals(ld.getMaxSize(), 20);
-      assertEquals(ld.getIdleTimeoutMinutes(), 0);
-      assertTrue(ld.getNewConnectionSQL().endsWith("sql"));
-      assertTrue(ld.getValidConnectionCheckerClassName().endsWith("Checker"));
-      assertTrue(ld.getCheckValidConnectionSQL().startsWith("select"));
-      assertTrue(ld.getExceptionSorterClassName().endsWith("Sorter"));
-      assertEquals(ld.getTrackStatements(), "");
-      assertEquals(ld.getPreparedStatementCacheSize(), 32);
-      
-
-   }
-}
-

Copied: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs60UnitTestCase.java (from rev 83921, projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs50UnitTestCase.java)
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs60UnitTestCase.java	                        (rev 0)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/rar/JcaDs60UnitTestCase.java	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,236 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt 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.test.metadata.rar;
+
+import org.jboss.metadata.rar.jboss.mcf.DataSourceDeploymentMetaData;
+import org.jboss.metadata.rar.jboss.mcf.LocalDataSourceDeploymentMetaData;
+import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.metadata.rar.jboss.mcf.ManagedConnectionFactoryDeploymentMetaData;
+import org.jboss.metadata.rar.jboss.mcf.NonXADataSourceDeploymentMetaData;
+import org.jboss.metadata.rar.jboss.mcf.XADataSourceDeploymentMetaData;
+import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+
+public class JcaDs60UnitTestCase extends AbstractJavaEEMetaDataTest
+{
+   public static SchemaBindingResolver initResolver()
+   {
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      //resolver.addClassBinding("", ManagedConnectionFactoryDeploymentGroup.class);
+      //resolver.addClassBindingForLocation("jboss-ds_5_0.dtd", ManagedConnectionFactoryDeploymentGroup.class);
+      resolver.addClassBindingForLocation("jboss-ds_6_0.xsd", ManagedConnectionFactoryDeploymentGroup.class);
+      return resolver;
+   }
+
+   public JcaDs60UnitTestCase(String name) {
+      super(name);
+   }
+
+   protected ManagedConnectionFactoryDeploymentGroup unmarshalMCFD() throws Exception
+   {
+      return unmarshal(ManagedConnectionFactoryDeploymentGroup.class);
+   }
+
+   /**
+    * test a minimal local-tx-datasource
+    */
+   public void testMinimal() throws Exception
+   {
+
+      ManagedConnectionFactoryDeploymentGroup ds = unmarshalMCFD();
+      assertNotNull(ds);
+      assertEquals(ds.getDeployments().size(), 1);
+      assertNotNull(ds.getDeployments().get(0));
+      assertTrue(ds.getDeployments().get(0) instanceof LocalDataSourceDeploymentMetaData);
+      LocalDataSourceDeploymentMetaData ld = (LocalDataSourceDeploymentMetaData)ds.getDeployments().get(0);
+      assertTestNoXAMinimal(ld);
+   }
+   
+   /**
+    * test a basic local-tx-datasource, for example hsql-ds.xml
+    */   
+   public void testBasic() throws Exception
+   {
+
+      ManagedConnectionFactoryDeploymentGroup ds = unmarshalMCFD();
+      LocalDataSourceDeploymentMetaData ld = (LocalDataSourceDeploymentMetaData)ds.getDeployments().get(0);
+      assertTestNoXAMinimal(ld);
+      assertEquals(ld.getConnectionProperties().size(), 0);
+      assertEquals(ld.getUserName(), "sa");
+      assertEquals(ld.getPassWord(), "");
+      
+      assertEquals(ld.getSecurityMetaData().getDomain(), "HsqlDbRealm");
+      assertEquals(ld.getMinSize(), 5);
+      assertEquals(ld.getMaxSize(), 20);
+      assertEquals(ld.getIdleTimeoutMinutes(), 0);
+
+
+      assertEquals(ld.getTrackStatements(), "");
+      assertEquals(ld.getPreparedStatementCacheSize(), 32);
+      assertNotNull(ld.getDbmsMetaData());
+      assertEquals(ld.getDbmsMetaData().getTypeMapping(), "Hypersonic SQL");
+   }
+
+   /**
+    * test a everything of no-tx-datasource
+    */ 
+   public void testNoTxDsEverything() throws Exception
+   {
+      ManagedConnectionFactoryDeploymentGroup ds = unmarshalMCFD();
+      NonXADataSourceDeploymentMetaData ld = (NonXADataSourceDeploymentMetaData)ds.getDeployments().get(0);
+      assertTestNoXAMinimal(ld);
+      
+      assertFalse(ld.isUseJavaContext());
+      assertTestUrl(ld);
+
+      assertEquals(ld.getConnectionProperties().size(), 2);
+      assertTrue(ld.getConnectionProperties().get(0).getName().equals("char.encoding"));
+      assertTrue(ld.getConnectionProperties().get(1).getValue().equals("+8"));
+      assertTestUser(ld);
+      assertEquals(ld.getSecurityMetaData().getDomain(), "HsqlDbRealm");
+      assertTestConnectionPool(ld);
+      assertTrue(ld.isValidateOnMatch());
+      assertTestDatasource(ld);
+
+      assertTestAddition(ld);
+      assertTestOption(ld);
+   }
+
+   /**
+    * test a everything of local-tx-datasource
+    */ 
+   public void testLocalTxDsEverything() throws Exception
+   {
+      ManagedConnectionFactoryDeploymentGroup ds = unmarshalMCFD();
+      LocalDataSourceDeploymentMetaData ld = (LocalDataSourceDeploymentMetaData)ds.getDeployments().get(0);
+      assertTestNoXAMinimal(ld);
+      
+      assertFalse(ld.isUseJavaContext());
+      assertTestUrl(ld);
+      assertNotNull(ld.getTransactionIsolation());
+      assertEquals(ld.getConnectionProperties().size(), 2);
+      assertTrue(ld.getConnectionProperties().get(0).getName().equals("char.encoding"));
+      assertTrue(ld.getConnectionProperties().get(1).getValue().equals("+8"));
+      assertTestUser(ld);
+      assertEquals(ld.getSecurityMetaData().getDomain(), "HsqlDbRealm");
+      assertTestConnectionPool(ld);
+      assertTrue(ld.isValidateOnMatch());
+      //assertTrue(ld.getNoTxSeparatePools());
+      assertTestDatasource(ld);
+      
+      assertTestAddition(ld);
+      assertTestOption(ld);
+   }
+
+   /**
+    * test a everything of xa-datasource
+    */ 
+   public void testXaDsEverything() throws Exception
+   {
+      ManagedConnectionFactoryDeploymentGroup ds = unmarshalMCFD();
+      XADataSourceDeploymentMetaData ld = (XADataSourceDeploymentMetaData)ds.getDeployments().get(0);
+      
+      assertFalse(ld.isUseJavaContext());
+      //assertTrue(ld.getTrackConnectionByTransaction());
+      assertTrue(ld.isInterleaving());
+      
+      assertTrue(ld.getXaDataSourceClass().startsWith("oracle"));
+      assertEquals(ld.getXaDataSourceProperties().size(), 3);
+      assertEquals(ld.getXaDataSourceProperties().get(0).getName(), "URL");
+      assertEquals(ld.getXaDataSourceProperties().get(2).getValue(), "tiger");
+      assertTestUrl(ld);
+      
+      assertFalse(ld.getIsSameRMOverrideValue());
+      //transaction-isolation
+
+      assertTestUser(ld);
+      assertEquals(ld.getSecurityMetaData().getDomain(), "HsqlDbRealm");
+      assertTestConnectionPool(ld);
+      assertTrue(ld.isValidateOnMatch());
+      //assertTrue(ld.getNoTxSeparatePools());
+      assertEquals(ld.getXaResourceTimeout(), 300);
+      assertTestDatasource(ld);
+      
+      assertTestAddition(ld);
+      assertTestOption(ld);
+   }
+
+   private void assertTestUrl(DataSourceDeploymentMetaData ld)
+   {
+      assertEquals(ld.getUrlDelimiter(), "|");
+      assertTrue(ld.getUrlSelectorStrategyClassName().endsWith("Stratery"));
+   }
+
+   private void assertTestUser(DataSourceDeploymentMetaData ld)
+   {
+      assertEquals(ld.getUserName(), "sa");
+      assertEquals(ld.getPassWord(), "");
+   }
+
+   private void assertTestConnectionPool(ManagedConnectionFactoryDeploymentMetaData ld)
+   {
+      assertEquals(ld.getMinSize(), 5);
+      assertEquals(ld.getMaxSize(), 20);
+      assertEquals(ld.getBlockingTimeoutMilliSeconds(), 30000);
+      assertTrue(ld.isBackgroundValidation());
+      assertEquals(ld.getBackgroundValidationMillis(), 3000);
+      assertEquals(ld.getIdleTimeoutMinutes(), 0);
+      assertEquals(ld.getAllocationRetry(), 0);
+      assertEquals(ld.getAllocationRetryWaitMillis(), 5000);
+   }
+
+   private void assertTestDatasource(DataSourceDeploymentMetaData ld)
+   {
+      assertTrue(ld.getNewConnectionSQL().endsWith("sql"));
+      assertTrue(ld.getValidConnectionCheckerClassName().endsWith("Checker"));
+      assertTrue(ld.getCheckValidConnectionSQL().startsWith("select"));
+      assertTrue(ld.getExceptionSorterClassName().endsWith("Sorter"));
+      assertTrue(ld.getStaleConnectionCheckerClassName().endsWith("Checker"));
+   }
+
+   private void assertTestAddition(DataSourceDeploymentMetaData ld)
+   {
+      assertEquals(ld.getPreparedStatementCacheSize(), 32);
+      assertTrue(ld.isSharePreparedStatements());
+      assertTrue(ld.isUseQueryTimeout());
+      assertEquals(ld.getQueryTimeout(), 300);
+      assertEquals(ld.getUseTryLock(), 300000);
+      assertEquals(ld.getTrackStatements(), "");
+   }
+   
+   private void assertTestOption(ManagedConnectionFactoryDeploymentMetaData ld)
+   {
+      assertEquals(ld.getTypeMapping(), "Hypersonic SQL");
+      assertEquals(ld.getDependsNames().size(), 2);
+      assertTrue(ld.getDependsNames().get(0).startsWith("jboss"));
+   }
+
+   protected void assertTestNoXAMinimal(NonXADataSourceDeploymentMetaData xad) throws Exception
+   {
+      assertNotNull(xad);
+      assertEquals(xad.getJndiName(), "DefaultDS");
+      assertTrue(xad.getConnectionUrl().startsWith("jdbc"));
+      assertEquals(xad.getDriverClass(), "org.hsqldb.jdbcDriver");
+   }
+}
+

Deleted: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testBasic.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testBasic.xml	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testBasic.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE datasources PUBLIC 
-"-//JBoss//DTD JBOSS JCA Config 5.0//EN"
-"http://www.jboss.org/j2ee/dtd/jboss-ds_5_0.dtd">
-
-<datasources>
-   <local-tx-datasource>
-
-      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
-      <!-- Datasources are not available outside the virtual machine -->
-      <jndi-name>DefaultDS</jndi-name>
-
-      <!-- For server mode db, allowing other processes to use hsqldb over tcp.
-      This requires the org.jboss.jdbc.HypersonicDatabase mbean.
-      <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
-      -->
-      <!-- For totally in-memory db, not saved when jboss stops. 
-      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
-      <connection-url>jdbc:hsqldb:.</connection-url>
-      -->
-      <!-- For in-process persistent db, saved when jboss stops.
-      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
-      -->
-      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
-
-      <!-- The driver class -->
-      <driver-class>org.hsqldb.jdbcDriver</driver-class>
-
-      <!-- The login and password -->
-      <user-name>sa</user-name>
-      <password></password>
-      
-      
-      <!-- Use the getConnection(user, pw) for logins
-        <application-managed-security/>
-      -->
-
-      <!-- Use the security domain defined in conf/login-config.xml -->
-      <security-domain>HsqlDbRealm</security-domain>
-
-      <!-- Use the security domain defined in conf/login-config.xml or the
-           getConnection(user, pw) for logins. The security domain takes precedence.
-        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
-      -->
-
-      <!--example of how to specify class that determines if exception means connection should be destroyed-->
-      <!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
-
-      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
-      <!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
-
-      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
-      <min-pool-size>5</min-pool-size>
-
-      <!-- The maximum connections in a pool/sub-pool -->
-      <max-pool-size>20</max-pool-size>
-
-      <!-- The time before an unused connection is destroyed -->
-      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
-      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
-      <idle-timeout-minutes>0</idle-timeout-minutes>
-
-      <!-- sql to call when connection is created
-        <new-connection-sql>some arbitrary sql</new-connection-sql>
-      -->
-
-      <!-- sql to call on an existing pooled connection when it is obtained from pool 
-         <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-      -->
-
-      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
-         <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
-      -->
-
-      <!-- Whether to check all statements are closed when the connection is returned to the pool,
-           this is a debugging feature that should be turned off in production -->
-      <track-statements/>
-
-      <!-- HSQL DB benefits from prepared statement caching -->
-      <prepared-statement-cache-size>32</prepared-statement-cache-size>
-
-      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
-      <metadata>
-         <type-mapping>Hypersonic SQL</type-mapping>
-      </metadata>
-      
-      <!-- 
-       When using in-process (standalone) mode 
-      <depends>jboss:service=Hypersonic,database=localDB</depends>
-       Uncomment when using hsqldb in server mode
-      <depends>jboss:service=Hypersonic</depends>
-      -->
-   </local-tx-datasource>
-
-</datasources>

Deleted: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testEverything.xml	2009-02-06 07:09:29 UTC (rev 83932)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testEverything.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE datasources PUBLIC 
-"-//JBoss//DTD JBOSS JCA Config 5.0//EN"
-"http://www.jboss.org/j2ee/dtd/jboss-ds_5_0.dtd">
-
-<datasources>
-   <local-tx-datasource>
-
-      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
-      <!-- Datasources are not available outside the virtual machine -->
-      <jndi-name>DefaultDS</jndi-name>
-
-      <!-- For server mode db, allowing other processes to use hsqldb over tcp.
-      This requires the org.jboss.jdbc.HypersonicDatabase mbean.
-      <connection-url>jdbc:hsqldb:hsql://${jboss.bind.address}:1701</connection-url>
-      -->
-      <!-- For totally in-memory db, not saved when jboss stops. 
-      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
-      <connection-url>jdbc:hsqldb:.</connection-url>
-      -->
-      <!-- For in-process persistent db, saved when jboss stops.
-      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
-      -->
-      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
-
-      <!-- The driver class -->
-      <driver-class>org.hsqldb.jdbcDriver</driver-class>
-
-      <!-- The login and password -->
-      <user-name>sa</user-name>
-      <password></password>
-      
-      
-      <!-- Use the getConnection(user, pw) for logins
-        <application-managed-security/>
-      -->
-
-      <!-- Use the security domain defined in conf/login-config.xml -->
-      <security-domain>HsqlDbRealm</security-domain>
-
-      <!-- Use the security domain defined in conf/login-config.xml or the
-           getConnection(user, pw) for logins. The security domain takes precedence.
-        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
-      -->
-
-
-      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
-      <min-pool-size>5</min-pool-size>
-
-      <!-- The maximum connections in a pool/sub-pool -->
-      <max-pool-size>20</max-pool-size>
-
-      <!-- The time before an unused connection is destroyed -->
-      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
-      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
-      <idle-timeout-minutes>0</idle-timeout-minutes>
-
-      <!-- sql to call when connection is created      -->
-        <new-connection-sql>some arbitrary sql</new-connection-sql>
-
-
-      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
-      <check-valid-connection-sql>select * from something</check-valid-connection-sql>
-
-
-      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool      -->
-         <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
-
-      <!--example of how to specify class that determines if exception means connection should be destroyed-->
-      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name>
-
-
-      <!-- Whether to check all statements are closed when the connection is returned to the pool,
-           this is a debugging feature that should be turned off in production -->
-      <track-statements/>
-
-      <!-- HSQL DB benefits from prepared statement caching -->
-      <prepared-statement-cache-size>32</prepared-statement-cache-size>
-
-      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
-      <metadata>
-         <type-mapping>Hypersonic SQL</type-mapping>
-      </metadata>
-      
-      <!-- 
-       When using in-process (standalone) mode 
-      <depends>jboss:service=Hypersonic,database=localDB</depends>
-       Uncomment when using hsqldb in server mode
-      <depends>jboss:service=Hypersonic</depends>
-      -->
-   </local-tx-datasource>
-
-</datasources>

Copied: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testBasic.xml (from rev 83921, projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs50_testBasic.xml)
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testBasic.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testBasic.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss-ds_6_0.xsd">
+   <local-tx-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <!-- For in-process persistent db, saved when jboss stops.
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      -->
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+      <!-- The driver class -->
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+      
+      
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>5</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <!-- sql to call when connection is created
+        <new-connection-sql>some arbitrary sql</new-connection-sql>
+      -->
+
+      <!-- sql to call on an existing pooled connection when it is obtained from pool 
+         <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
+      -->
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
+         <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+      -->
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
+      <metadata>
+         <type-mapping>Hypersonic SQL</type-mapping>
+      </metadata>
+      
+      <!-- 
+       When using in-process (standalone) mode 
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+       Uncomment when using hsqldb in server mode
+      <depends>jboss:service=Hypersonic</depends>
+      -->
+   </local-tx-datasource>
+
+</datasources>

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testLocalTxDsEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testLocalTxDsEverything.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testLocalTxDsEverything.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss-ds_6_0.xsd">
+   <local-tx-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <use-java-context>false</use-java-context>
+
+      <!-- For in-process persistent db, saved when jboss stops.
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      -->
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+      <url-delimiter>|</url-delimiter>
+
+      <url-selector-strategy-class-name>org.jboss.jca.UrlStratery</url-selector-strategy-class-name>
+
+      <!-- The driver class -->
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+      <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
+
+      <connection-property name="char.encoding">UTF-8</connection-property>
+      <connection-property name="time.zone">+8</connection-property>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+      
+      
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>5</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <blocking-timeout-millis>30000</blocking-timeout-millis>
+
+      <background-validation>true</background-validation>
+      <background-validation-millis>3000</background-validation-millis>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <allocation-retry>0</allocation-retry>
+      <allocation-retry-wait-millis>5000</allocation-retry-wait-millis>
+
+      <validate-on-match>true</validate-on-match>
+      <no-tx-separate-pools/>
+
+      <!-- sql to call when connection is created      -->
+      <new-connection-sql>some arbitrary sql</new-connection-sql>
+
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <check-valid-connection-sql>select * from something</check-valid-connection-sql>
+
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool      -->
+      <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name>
+      <stale-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.StaleConnectionChecker</stale-connection-checker-class-name>
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <prefill>true</prefill>
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <share-prepared-statements>true</share-prepared-statements>
+
+      <set-tx-query-timeout>true</set-tx-query-timeout>
+
+      <query-timeout>300</query-timeout>
+      <use-try-lock>300000</use-try-lock>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
+      <type-mapping>Hypersonic SQL</type-mapping>
+
+      <!-- 
+       When using in-process (standalone) mode 
+       Uncomment when using hsqldb in server mode
+      -->
+
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+      <depends>jboss:service=Hypersonic</depends>
+   </local-tx-datasource>
+
+</datasources>

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testMinimal.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testMinimal.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testMinimal.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss-ds_6_0.xsd">
+   <local-tx-datasource>
+      <jndi-name>DefaultDS</jndi-name>
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+     <driver-class>org.hsqldb.jdbcDriver</driver-class>
+   </local-tx-datasource>
+</datasources>

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testNoTxDsEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testNoTxDsEverything.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testNoTxDsEverything.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss-ds_6_0.xsd">
+   <no-tx-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <use-java-context>false</use-java-context>
+
+      <!-- For in-process persistent db, saved when jboss stops.
+      The org.jboss.jdbc.HypersonicDatabase mbean is required for proper db shutdown
+      -->
+      <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}localDB</connection-url>
+
+      <url-delimiter>|</url-delimiter>
+
+      <url-selector-strategy-class-name>org.jboss.jca.UrlStratery</url-selector-strategy-class-name>
+
+      <!-- The driver class -->
+      <driver-class>org.hsqldb.jdbcDriver</driver-class>
+
+      <connection-property name="char.encoding">UTF-8</connection-property>
+      <connection-property name="time.zone">+8</connection-property>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+      
+      
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>5</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <blocking-timeout-millis>30000</blocking-timeout-millis>
+
+      <background-validation>true</background-validation>
+      <background-validation-millis>3000</background-validation-millis>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <allocation-retry>0</allocation-retry>
+      <allocation-retry-wait-millis>5000</allocation-retry-wait-millis>
+
+      <validate-on-match>true</validate-on-match>
+
+      <!-- sql to call when connection is created      -->
+      <new-connection-sql>some arbitrary sql</new-connection-sql>
+
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <check-valid-connection-sql>select * from something</check-valid-connection-sql>
+
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool      -->
+      <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name>
+      <stale-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.StaleConnectionChecker</stale-connection-checker-class-name>
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <prefill>true</prefill>
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <share-prepared-statements>true</share-prepared-statements>
+
+      <set-tx-query-timeout>true</set-tx-query-timeout>
+
+      <query-timeout>300</query-timeout>
+      <use-try-lock>300000</use-try-lock>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
+      <type-mapping>Hypersonic SQL</type-mapping>
+
+      <!-- 
+       When using in-process (standalone) mode 
+       Uncomment when using hsqldb in server mode
+      -->
+
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+      <depends>jboss:service=Hypersonic</depends>
+   </no-tx-datasource>
+
+</datasources>

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testXaDsEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testXaDsEverything.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/rar/JcaDs60_testXaDsEverything.xml	2009-02-06 08:35:26 UTC (rev 83933)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<datasources xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss-ds_6_0.xsd">
+   <xa-datasource>
+
+      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
+      <!-- Datasources are not available outside the virtual machine -->
+      <jndi-name>DefaultDS</jndi-name>
+
+      <use-java-context>false</use-java-context>
+
+      <track-connection-by-tx/>
+      <interleaving/>
+      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
+      <xa-datasource-property name="URL">jdbc:oracle:oci8:@tc</xa-datasource-property>
+      <xa-datasource-property name="User">scott</xa-datasource-property>
+      <xa-datasource-property name="Password">tiger</xa-datasource-property>
+
+      <url-property>UrlProperty</url-property>
+
+      <url-delimiter>|</url-delimiter>
+
+      <url-selector-strategy-class-name>org.jboss.jca.UrlStratery</url-selector-strategy-class-name>
+
+      <isSameRM-override-value>false</isSameRM-override-value>
+
+      <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
+
+      <!-- The login and password -->
+      <user-name>sa</user-name>
+      <password></password>
+      
+      
+      <!-- Use the getConnection(user, pw) for logins
+        <application-managed-security/>
+      -->
+
+      <!-- Use the security domain defined in conf/login-config.xml -->
+      <security-domain>HsqlDbRealm</security-domain>
+
+      <!-- Use the security domain defined in conf/login-config.xml or the
+           getConnection(user, pw) for logins. The security domain takes precedence.
+        <security-domain-and-application>HsqlDbRealm</security-domain-and-application>
+      -->
+
+
+      <!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
+      <min-pool-size>5</min-pool-size>
+
+      <!-- The maximum connections in a pool/sub-pool -->
+      <max-pool-size>20</max-pool-size>
+
+      <blocking-timeout-millis>30000</blocking-timeout-millis>
+
+      <background-validation>true</background-validation>
+      <background-validation-millis>3000</background-validation-millis>
+
+      <!-- The time before an unused connection is destroyed -->
+      <!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
+      <!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
+      <idle-timeout-minutes>0</idle-timeout-minutes>
+
+      <allocation-retry>0</allocation-retry>
+      <allocation-retry-wait-millis>5000</allocation-retry-wait-millis>
+
+      <validate-on-match>true</validate-on-match>
+      <no-tx-separate-pools/>
+      <xa-resource-timeout>300</xa-resource-timeout>
+
+      <!-- sql to call when connection is created      -->
+      <new-connection-sql>some arbitrary sql</new-connection-sql>
+
+
+      <!-- this will be run before a managed connection is removed from the pool for use by a client-->
+      <check-valid-connection-sql>select * from something</check-valid-connection-sql>
+
+
+      <!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool      -->
+      <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
+
+      <!--example of how to specify class that determines if exception means connection should be destroyed-->
+      <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name>
+      <stale-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.StaleConnectionChecker</stale-connection-checker-class-name>
+
+      <!-- Whether to check all statements are closed when the connection is returned to the pool,
+           this is a debugging feature that should be turned off in production -->
+      <track-statements/>
+
+      <prefill>true</prefill>
+
+      <!-- HSQL DB benefits from prepared statement caching -->
+      <prepared-statement-cache-size>32</prepared-statement-cache-size>
+      <share-prepared-statements>true</share-prepared-statements>
+
+      <set-tx-query-timeout>true</set-tx-query-timeout>
+
+      <query-timeout>300</query-timeout>
+      <use-try-lock>300000</use-try-lock>
+
+      <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional)       -->
+      <type-mapping>Hypersonic SQL</type-mapping>
+
+      <!-- 
+       When using in-process (standalone) mode 
+       Uncomment when using hsqldb in server mode
+      -->
+
+      <depends>jboss:service=Hypersonic,database=localDB</depends>
+      <depends>jboss:service=Hypersonic</depends>
+   </xa-datasource>
+
+</datasources>




More information about the jboss-cvs-commits mailing list