[jboss-cvs] JBossAS SVN: r78798 - in trunk: connector/src/main/org/jboss/resource/metadata/mcf and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 23 18:27:24 EDT 2008


Author: alex.loubyansky at jboss.com
Date: 2008-09-23 18:27:24 -0400 (Tue, 23 Sep 2008)
New Revision: 78798

Removed:
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionStringAdapter.java
   trunk/testsuite/src/main/org/jboss/test/jca/test/DsXmlJAXBUnmarshallingUnitTestCase.java
   trunk/testsuite/src/resources/org/jboss/test/jca/
Modified:
   trunk/connector/src/main/org/jboss/resource/connectionmanager/ManagedConnectionFactoryDeployment.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/DBMSMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceConnectionPropertyMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java
Log:
rollback previous commit for JBAS-4585 (missed Adrian's comments on the forums)

Modified: trunk/connector/src/main/org/jboss/resource/connectionmanager/ManagedConnectionFactoryDeployment.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/connectionmanager/ManagedConnectionFactoryDeployment.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/connectionmanager/ManagedConnectionFactoryDeployment.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -50,6 +50,7 @@
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.MetaData;
 import org.jboss.resource.metadata.ConfigPropertyMetaData;
 import org.jboss.resource.metadata.ConnectionDefinitionMetaData;
 import org.jboss.resource.metadata.ConnectorMetaData;
@@ -59,7 +60,10 @@
 import org.jboss.system.ServiceDynamicMBeanSupport;
 import org.jboss.util.Classes;
 import org.jboss.util.NestedRuntimeException;
+import org.jboss.util.StringPropertyReplacer;
 import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 
 /**
@@ -497,7 +501,8 @@
                   + "skipping property");
             continue;
          }
-
+         // TODO: should happen in parsing layer?
+         value = StringPropertyReplacer.replaceProperties(value);
          log.debug("setting property: " + name + " to value " + value);
          try
          {
@@ -556,7 +561,8 @@
                   + "skipping property");
             continue;
          }
-
+         // TODO: should happen in parsing layer?
+         value = StringPropertyReplacer.replaceProperties(value);
          log.debug("setting property: " + name + " to value " + value);
          try
          {

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/DBMSMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/DBMSMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/DBMSMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -26,6 +26,7 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 /**
@@ -41,7 +42,7 @@
    private static final long serialVersionUID = -5511233258559770711L;
    
    @XmlElement(name="type-mapping")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String typeMapping;
 
    public String getTypeMapping()

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceConnectionPropertyMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceConnectionPropertyMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceConnectionPropertyMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -25,7 +25,6 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementObject;
 import org.jboss.managed.api.annotation.ManagementProperty;
@@ -46,7 +45,6 @@
    protected String name;
    
    @XmlValue
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
    protected String value;
 
    public String getName()

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -25,6 +25,7 @@
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementProperty;
@@ -46,39 +47,39 @@
    private static final String RAR_NAME = "jboss-local-jdbc.rar";
 
    @XmlElement(name="transaction-isolation")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String transactionIsolation;
    
    @XmlElement(name="user-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String userName;
    
    @XmlElement(name="password")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String passWord;
    
    @XmlElement(name="new-connection-sql")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String newConnectionSQL;
    
    @XmlElement(name="check-valid-connection-sql")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String checkValidConnectionSQL;
    
    @XmlElement(name="valid-connection-checker-class-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String validConnectionCheckerClassName;
    
    @XmlElement(name="exception-sorter-class-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String exceptionSorterClassName;
    
    @XmlElement(name="stale-connection-checker-class-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String staleConnectionCheckerClassName;
    
    @XmlElement(name="track-statements")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String trackStatements;
    
    @XmlElement(name="prepared-statement-cache-size")
@@ -97,11 +98,11 @@
    private long useTryLock;
    
    @XmlElement(name="url-delimiter")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String urlDelimiter;
    
    @XmlElement(name="url-selector-strategy-class-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String urlSelectorStrategyClassName;
    
    public DataSourceDeploymentMetaData()

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -30,6 +30,7 @@
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementObject;
@@ -58,12 +59,12 @@
 
    /** The jndiName */   
    @XmlElement(name="jndi-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String jndiName;   
    
    /** The rarName */
    @XmlElement(name="rar-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String rarName;
    
    /** The useJavaContext */
@@ -72,12 +73,12 @@
    
    /** The connectionDefinition */
    @XmlElement(name="connection-definition")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String connectionDefinition;
 
    /** The jmxInvokerName */
    @XmlElement(name="jmx-invoker-name")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String jmxInvokerName = "jboss:service=invoker,type=jrmp";
    
    @XmlElement(name="min-pool-size")
@@ -113,7 +114,7 @@
    private Boolean noTxSeparatePools = Boolean.FALSE;
    
    @XmlElement(name="statistics-formatter")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String statisticsFormatter = "org.jboss.resource.statistic.pool.JBossDefaultSubPoolStatisticFormatter";
    
    @XmlElement(name="isSameRM-override-value")

Deleted: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionStringAdapter.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionStringAdapter.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionStringAdapter.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, 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.resource.metadata.mcf;
-
-
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-
-import org.jboss.util.StringPropertyReplacer;
-
-/**
- * A ManagedConnectionSystemPropertyResolverAdpater.
- * 
- * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
- * @version $Revision: 1.1 $
- */
-public class ManagedConnectionStringAdapter extends CollapsedStringAdapter
-{
-   @Override
-   public String marshal(String v)
-   {
-      return super.marshal(v);
-   }
-
-   @Override
-   public String unmarshal(String v)
-   {
-      v = super.unmarshal(v);
-      return v == null ? null : StringPropertyReplacer.replaceProperties(v);
-   }
-}

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -27,6 +27,7 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementProperty;
@@ -46,11 +47,11 @@
 public abstract class NonXADataSourceDeploymentMetaData extends DataSourceDeploymentMetaData
 {
    @XmlElement(name="driver-class", required=true)
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String driverClass;
    
    @XmlElement(name="connection-url", required=true)
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String connectionUrl;
    
    @XmlElement(name="connection-property")

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -28,6 +28,7 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementComponent;
@@ -55,14 +56,14 @@
    private static final String RAR_NAME = "jboss-xa-jdbc.rar";
    
    @XmlElement(name="xa-datasource-class")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String xaDataSourceClass;
    
    @XmlElement(name="xa-datasource-property")
    private List<XAConnectionPropertyMetaData> xaDataSourceProperties = new ArrayList<XAConnectionPropertyMetaData>();
    
    @XmlElement(name="url-property")
-   @XmlJavaTypeAdapter(ManagedConnectionStringAdapter.class)
+   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    private String urlProperty;
 
    @XmlElement(name="xa-resource-timeout")

Deleted: trunk/testsuite/src/main/org/jboss/test/jca/test/DsXmlJAXBUnmarshallingUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/jca/test/DsXmlJAXBUnmarshallingUnitTestCase.java	2008-09-23 20:08:01 UTC (rev 78797)
+++ trunk/testsuite/src/main/org/jboss/test/jca/test/DsXmlJAXBUnmarshallingUnitTestCase.java	2008-09-23 22:27:24 UTC (rev 78798)
@@ -1,222 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, 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.jca.test;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-
-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.NonXADataSourceDeploymentMetaData;
-import org.jboss.resource.metadata.mcf.XAConnectionPropertyMetaData;
-import org.jboss.resource.metadata.mcf.XADataSourceDeploymentMetaData;
-import org.jboss.test.AbstractTestCaseWithSetup;
-import org.jboss.test.AbstractTestDelegate;
-
-
-/**
- * A DsXmlJAXBUnmarshallingUnitTestCase.
- * 
- * @author <a href="alex at jboss.com">Alexey Loubyansky</a>
- * @version $Revision: 1.1 $
- */
-public class DsXmlJAXBUnmarshallingUnitTestCase extends AbstractTestCaseWithSetup
-{
-   private static final String PROP_PREFIX = "org.jboss.test.jca.test.";
-   private static final Object[] ARGS = new Object[0];
-
-   public DsXmlJAXBUnmarshallingUnitTestCase(String name)
-   {
-      super(name);
-   }
-
-   public void testStringSystemPropertiesLocalDs() throws Exception
-   {
-      String xml = findXML(getRootName() + "_" + getName() + ".xml");
-
-      Map<String, Method> supportedElements = new HashMap<String, Method>();
-      addElement(supportedElements, "check-valid-connection-sql", "getCheckValidConnectionSQL");
-      addElement(supportedElements, "exception-sorter-class-name", "getExceptionSorterClassName");
-      addElement(supportedElements, "new-connection-sql", "getNewConnectionSQL");
-      addElement(supportedElements, "password", "getPassWord");
-      addElement(supportedElements, "stale-connection-checker-class-name", "getStaleConnectionCheckerClassName");
-      addElement(supportedElements, "transaction-isolation", "getTransactionIsolation");
-      addElement(supportedElements, "url-delimiter", "getURLDelimiter");
-      addElement(supportedElements, "url-selector-strategy-class-name", "getURLSelectorStrategyClassName");
-      addElement(supportedElements, "user-name", "getUserName");
-      addElement(supportedElements, "valid-connection-checker-class-name", "getValidConnectionCheckerClassName");
-      // ManagedConnectionFactoryDeploymentMetaData
-      addElement(supportedElements, "connection-definition", "getConnectionDefinition");
-      addElement(supportedElements, "jmx-invoker-name", "getJmxInvokerName");
-      addElement(supportedElements, "jndi-name", "getJndiName");
-      addElement(supportedElements, "rar-name", "getRarName");
-      addElement(supportedElements, "statistics-formatter", "getStatisticsFormatter");
-      // NonXADataSourceDeploymentMetaData
-      addElement(supportedElements, "connection-url", "getConnectionUrl");
-      addElement(supportedElements, "driver-class", "getDriverClass");
-
-      setSystemProperties(supportedElements);
-      System.setProperty(PROP_PREFIX + "type-mapping", "type-mapping");
-      System.setProperty(PROP_PREFIX + "connection-property", "connection-property");
-      
-      JAXBContext context = JAXBContext.newInstance(ManagedConnectionFactoryDeploymentGroup.class);
-      Unmarshaller um = context.createUnmarshaller();      
-      JAXBElement<ManagedConnectionFactoryDeploymentGroup> elem = um.unmarshal(new StreamSource(xml), ManagedConnectionFactoryDeploymentGroup.class);
-      ManagedConnectionFactoryDeploymentGroup deployment = elem.getValue();
-      List<ManagedConnectionFactoryDeploymentMetaData> deployments = deployment.getDeployments();
-      assertNotNull(deployments);
-      assertEquals(1, deployments.size());
-      ManagedConnectionFactoryDeploymentMetaData ds = deployments.get(0);
-      assertNotNull(ds);
-      
-      assertValues(supportedElements, ds);
-      
-      DBMSMetaData metaData = ds.getDBMSMetaData();
-      assertNotNull(metaData);
-      assertEquals("type-mapping", metaData.getTypeMapping());
-      
-      List<DataSourceConnectionPropertyMetaData> props = ((NonXADataSourceDeploymentMetaData)ds).getDataSourceConnectionProperties();
-      assertNotNull(props);
-      assertEquals(1, props.size());
-      DataSourceConnectionPropertyMetaData prop = props.get(0);
-      assertNotNull(prop);
-      assertEquals("connection-property", prop.getName());
-      assertEquals("connection-property", prop.getValue());
-   }
-
-   public void testStringSystemPropertiesXaDs() throws Exception
-   {
-      String xml = findXML(getRootName() + "_" + getName() + ".xml");
-
-      Map<String, Method> supportedElements = new HashMap<String, Method>();
-      addElement(supportedElements, "xa-datasource-class", "getXaDataSourceClass", XADataSourceDeploymentMetaData.class);
-      addElement(supportedElements, "url-property", "getURLProperty", XADataSourceDeploymentMetaData.class);
-
-      setSystemProperties(supportedElements);
-      System.setProperty(PROP_PREFIX + "xa-datasource-property", "xa-datasource-property");
-      
-      JAXBContext context = JAXBContext.newInstance(ManagedConnectionFactoryDeploymentGroup.class);
-      Unmarshaller um = context.createUnmarshaller();      
-      JAXBElement<ManagedConnectionFactoryDeploymentGroup> elem = um.unmarshal(new StreamSource(xml), ManagedConnectionFactoryDeploymentGroup.class);
-      ManagedConnectionFactoryDeploymentGroup deployment = elem.getValue();
-      List<ManagedConnectionFactoryDeploymentMetaData> deployments = deployment.getDeployments();
-      assertNotNull(deployments);
-      assertEquals(1, deployments.size());
-      XADataSourceDeploymentMetaData ds = (XADataSourceDeploymentMetaData) deployments.get(0);
-      assertNotNull(ds);
-      
-      assertValues(supportedElements, ds);
-      
-      List<XAConnectionPropertyMetaData> props = ds.getXADataSourceProperties();
-      assertNotNull(props);
-      assertEquals(1, props.size());
-      XAConnectionPropertyMetaData prop = props.get(0);
-      assertNotNull(prop);
-      assertEquals("xa-datasource-property", prop.getName());
-      assertEquals("xa-datasource-property", prop.getValue());
-   }
-
-   private void assertValues(Map<String, Method> supportedElements,
-         ManagedConnectionFactoryDeploymentMetaData ds) throws IllegalAccessException,
-         InvocationTargetException
-   {
-      for(Map.Entry<String, Method> entry : supportedElements.entrySet())
-      {
-         String expected = entry.getKey(); //System.getProperty(propPrefix + entry.getKey());
-         System.clearProperty(PROP_PREFIX + entry.getKey());
-         assertNotNull(expected);
-         Object actual = entry.getValue().invoke(ds, ARGS);
-         assertEquals(expected, actual);
-      }
-   }
-
-   private void setSystemProperties(Map<String, Method> supportedElements)
-   {
-      for(String element : supportedElements.keySet())
-         System.setProperty(PROP_PREFIX + element, element);
-   }
-
-   private void addElement(Map<String, Method> supportedElements, String elementName, String getterName)
-         throws NoSuchMethodException
-   {
-      addElement(supportedElements, elementName, getterName, LocalDataSourceDeploymentMetaData.class);
-   }
-
-   private void addElement(Map<String, Method> supportedElements, String elementName, String getterName, Class<?> cls)
-         throws NoSuchMethodException
-   {
-      Class<?>[] types = new Class[0];
-      supportedElements.put(elementName, getterName == null ? null : cls.getMethod(getterName, types));
-   }
-   
-   /**
-    * Setup the test delegate
-    * 
-    * @param clazz the class
-    * @return the delegate
-    * @throws Exception for any error
-    */
-   public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
-   {
-      return new AbstractTestDelegate(clazz);
-   }
-
-   /**
-    * Find the xml
-    * 
-    * @param name the name
-    * @return the url of the xml
-    */
-   protected String findXML(String name)
-   {
-      URL url = getResource(name);
-      if (url == null)
-         fail(name + " not found");
-      return url.toString();
-   }
-
-   /**
-    * Get the package root name
-    * 
-    * @return the root name
-    */
-   protected String getRootName()
-   {
-      String longName = getClass().getName();
-      int dot = longName.lastIndexOf('.');
-      if (dot != -1)
-         return longName.substring(dot + 1);
-      return longName;
-   }
-}




More information about the jboss-cvs-commits mailing list