[jboss-cvs] JBossAS SVN: r70464 - 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
Thu Mar 6 01:41:37 EST 2008


Author: scott.stark at jboss.org
Date: 2008-03-06 01:41:37 -0500 (Thu, 06 Mar 2008)
New Revision: 70464

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/LocalDataSourceDeploymentMetaData.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
   trunk/connector/src/resources/deployers/jca-deployers-beans.xml
   trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
Log:
JBAS-5258, change to use the DeploymentTemplateInfoFactory

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -30,7 +30,9 @@
 
 import org.jboss.annotation.factory.AnnotationProxy;
 import org.jboss.managed.api.Fields;
+import org.jboss.managed.api.ManagedProperty;
 import org.jboss.managed.api.annotation.ManagementObjectID;
+import org.jboss.managed.plugins.BasicDeploymentTemplateInfo;
 import org.jboss.managed.plugins.DefaultFieldsImpl;
 import org.jboss.managed.plugins.ManagedObjectImpl;
 import org.jboss.managed.plugins.ManagedPropertyImpl;
@@ -40,7 +42,6 @@
 import org.jboss.metatype.api.types.MetaTypeFactory;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.MetaValueFactory;
-import org.jboss.profileservice.management.plugins.BasicDeploymentTemplateInfo;
 import org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.XADataSourceDeploymentMetaData;
 import org.jboss.resource.metadata.mcf.DBMSMetaData;
@@ -63,6 +64,12 @@
    private Map<String, String> propertyNameMappings;
    private String dsType = "local-tx-datasource";
 
+   public DsDataSourceTemplateInfo(String arg0, String arg1, Map<String, ManagedProperty> arg2)
+   {
+      super(arg0, arg1, arg2);
+      // TODO Auto-generated constructor stub
+   }
+
    public DsDataSourceTemplateInfo(String name, String description, String datasourceType)
    {
       super(name, description);

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/DataSourceDeploymentMetaData.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -97,7 +97,8 @@
    }
 
    @ManagementProperty(name="transaction-isolation",
-         description="The DataSource transaction isolation level")
+         description="The DataSource transaction isolation level",
+         includeInTemplate=true)
    public String getTransactionIsolation()
    {
       return transactionIsolation;
@@ -108,7 +109,8 @@
       this.transactionIsolation = transactionIsolation;
    }
 
-   @ManagementProperty(name="password", description="The DataSource password")
+   @ManagementProperty(name="password", description="The DataSource password",
+         includeInTemplate=true)
    public String getPassWord()
    {
       return passWord;
@@ -119,7 +121,8 @@
       this.passWord = passWord;
    }
 
-   @ManagementProperty(name="user-name", description="The DataSource username")
+   @ManagementProperty(name="user-name", description="The DataSource username",
+         includeInTemplate=true)
    public String getUserName()
    {
       return userName;
@@ -132,7 +135,8 @@
    
       
    @ManagementProperty(name="check-valid-connection-sql",
-         description="The SQL statement to validate a connection")
+         description="The SQL statement to validate a connection",
+         includeInTemplate=true)
    public String getCheckValidConnectionSQL()
    {
       return checkValidConnectionSQL;
@@ -144,7 +148,8 @@
    }
 
    @ManagementProperty(name="exception-sorter-class-name",
-         description="The exception sorter class name")
+         description="The exception sorter class name",
+         includeInTemplate=true)
    public String getExceptionSorterClassName()
    {
       return exceptionSorterClassName;
@@ -155,7 +160,8 @@
       this.exceptionSorterClassName = exceptionSorterClassName;
    }
 
-   @ManagementProperty(name="new-connection-sql", description="The new connection SQL")
+   @ManagementProperty(name="new-connection-sql", description="The new connection SQL",
+         includeInTemplate=true)
    public String getNewConnectionSQL()
    {
       return newConnectionSQL;
@@ -166,7 +172,9 @@
       this.newConnectionSQL = newConnectionSQL;
    }
 
-   @ManagementProperty(name="valid-connection-checker-class-name", description="The DataSource connection checker class name")
+   @ManagementProperty(name="valid-connection-checker-class-name",
+         description="The DataSource connection checker class name",
+         includeInTemplate=true)
    public String getValidConnectionCheckerClassName()
    {
       return validConnectionCheckerClassName;
@@ -177,7 +185,9 @@
       this.validConnectionCheckerClassName = validConnectionCheckerClassName;
    }
 
-   @ManagementProperty(name="stale-connection-checker-class-name", description="The DataSource stale connection checker class name")
+   @ManagementProperty(name="stale-connection-checker-class-name",
+         description="The DataSource stale connection checker class name",
+         includeInTemplate=true)
    public String getStaleConnectionCheckerClassName()
    {
       return staleConnectionCheckerClassName;
@@ -188,7 +198,8 @@
       this.staleConnectionCheckerClassName = staleConnectionCheckerClassName;
    }
 
-   @ManagementProperty(name="url-delimiter", description="The DataSource url delimiter")
+   @ManagementProperty(name="url-delimiter", description="The DataSource url delimiter",
+         includeInTemplate=true)
    public String getURLDelimiter()
    {
       return urlDelimiter;
@@ -199,7 +210,9 @@
       this.urlDelimiter = urlDelimiter;
    }
 
-   @ManagementProperty(name="url-selector-strategy-class-name", description="The DataSource url selector strategy class name")
+   @ManagementProperty(name="url-selector-strategy-class-name",
+         description="The DataSource url selector strategy class name",
+         includeInTemplate=true)
    public String getURLSelectorStrategyClassName()
    {
       return urlSelectorStrategyClassName;
@@ -211,7 +224,8 @@
    }
       
    @ManagementProperty(name="prepared-statement-cache-size",
-         description="The DataSource prepared statement cache size")
+         description="The DataSource prepared statement cache size",
+         includeInTemplate=true)
    public int getPreparedStatementCacheSize()
    {
       return preparedStatementCacheSize;
@@ -222,7 +236,8 @@
       this.preparedStatementCacheSize = preparedStatementCacheSize;
    }
 
-   @ManagementProperty(name="query-timeout", description="The query timeout")
+   @ManagementProperty(name="query-timeout", description="The query timeout",
+         includeInTemplate=true)
    public int getQueryTimeout()
    {
       return queryTimeout;
@@ -233,7 +248,9 @@
       this.queryTimeout = queryTimeout;
    }
 
-   @ManagementProperty(name="share-prepared-statements", description="Should prepared statements be shared")
+   @ManagementProperty(name="share-prepared-statements",
+         description="Should prepared statements be shared",
+         includeInTemplate=true)
    public boolean isSharePreparedStatements()
    {
       return sharePreparedStatements;
@@ -244,7 +261,8 @@
       this.sharePreparedStatements = sharePreparedStatements;
    }
 
-   @ManagementProperty(name="track-statements", description="The track statements method")
+   @ManagementProperty(name="track-statements", description="The track statements method",
+         includeInTemplate=true)
    public String getTrackStatements()
    {
       return trackStatements;
@@ -255,7 +273,8 @@
       this.trackStatements = trackStatements;
    }
 
-   @ManagementProperty(name="set-tx-query-timeout", description="Should query timeout be enabled")
+   @ManagementProperty(name="set-tx-query-timeout", description="Should query timeout be enabled",
+         includeInTemplate=true)
    public boolean isUseQueryTimeout()
    {
       return useQueryTimeout;
@@ -267,7 +286,9 @@
    }
 
    @Override
-   @ManagementProperty(name="config-property", description="The connection factory property info", managed=true, propertyFactory= ConnectionFactoryProperty.class)
+   @ManagementProperty(name="config-property",
+         description="The connection factory property info", managed=true, propertyFactory= ConnectionFactoryProperty.class,
+         includeInTemplate=true)
    public List<ManagedConnectionFactoryPropertyMetaData> getManagedConnectionFactoryProperties()
    {
       List<ManagedConnectionFactoryPropertyMetaData> properties = new ArrayList<ManagedConnectionFactoryPropertyMetaData>();

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/LocalDataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/LocalDataSourceDeploymentMetaData.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/LocalDataSourceDeploymentMetaData.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -28,6 +28,7 @@
 import org.jboss.managed.api.annotation.ManagementComponent;
 import org.jboss.managed.api.annotation.ManagementObject;
 import org.jboss.managed.api.annotation.ManagementProperty;
+import org.jboss.managed.api.annotation.ViewUse;
 
 
 /**
@@ -51,7 +52,7 @@
       setTransactionSupportMetaData(ManagedConnectionFactoryTransactionSupportMetaData.LOCAL);
    }
 
-   @ManagementProperty(name="local-transaction")
+   @ManagementProperty(name="local-transaction", use={ViewUse.RUNTIME})
    @Override
    public Boolean getLocalTransactions()
    {

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentMetaData.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -38,6 +38,7 @@
 import org.jboss.managed.api.annotation.ManagementObjectRef;
 import org.jboss.managed.api.annotation.ManagementProperties;
 import org.jboss.managed.api.annotation.ManagementProperty;
+import org.jboss.managed.api.annotation.ViewUse;
 import org.jboss.system.metadata.ServiceMetaData;
 import org.jboss.resource.deployers.management.ConnectionFactoryProperty;
 
@@ -155,7 +156,8 @@
     * 
     * @return the connectionDefinition.
     */
-   @ManagementProperty(name="connection-definition")
+   @ManagementProperty(name="connection-definition",
+         includeInTemplate=true)
    public String getConnectionDefinition()
    {
       return connectionDefinition;
@@ -176,7 +178,9 @@
     * 
     * @return the jndiName.
     */
-   @ManagementProperty(name="jndi-name", description="The global JNDI name to bind the factory under")
+   @ManagementProperty(name="jndi-name",
+         description="The global JNDI name to bind the factory under",
+         includeInTemplate=true)
    @ManagementObjectID(type="DataSource")
    public String getJndiName()
    {
@@ -219,7 +223,9 @@
     * 
     * @return the useJavaContext.
     */
-   @ManagementProperty(name="use-java-context")
+   @ManagementProperty(name="use-java-context",
+         description="Should the jndi name be bound under the java: context",
+         includeInTemplate=true)
    public boolean isUseJavaContext()
    {
       return useJavaContext;
@@ -240,7 +246,8 @@
     * 
     * @return the managedConnectionFactoryProperties.
     */
-   @ManagementProperty(name="config-property", managed=true, propertyFactory= ConnectionFactoryProperty.class)
+   @ManagementProperty(name="config-property", managed=true, includeInTemplate=true,
+         propertyFactory= ConnectionFactoryProperty.class)
    public List<ManagedConnectionFactoryPropertyMetaData> getManagedConnectionFactoryProperties()
    {
       return managedConnectionFactoryProperties;
@@ -283,7 +290,7 @@
     * 
     * @return the securityMetaData.
     */
-   @ManagementProperty(name="security-domain", managed=true)
+   @ManagementProperty(name="security-domain", managed=true, includeInTemplate=true)
    public SecurityMetaData getSecurityMetaData()
    {
       return securityMetaData;
@@ -305,7 +312,7 @@
     * 
     * @return the typeMapping.
     */
-   @ManagementProperty(name="type-mapping")
+   @ManagementProperty(name="type-mapping", includeInTemplate=true)
    public String getTypeMapping()
    {
       return typeMapping;
@@ -385,7 +392,7 @@
       this.dependsServices = dependsServices;
    }
    
-   @ManagementProperty(name="min-pool-size")
+   @ManagementProperty(name="min-pool-size", includeInTemplate=true)
    public void setMinSize(int minSize)
    {
       this.minSize = minSize;
@@ -397,7 +404,7 @@
       
    }
    
-   @ManagementProperty(name="max-pool-size")
+   @ManagementProperty(name="max-pool-size", includeInTemplate=true)
    public void setMaxSize(int maxSize)
    {
       this.maxPoolSize = maxSize;
@@ -409,7 +416,7 @@
       
    }
    
-   @ManagementProperty(name="blocking-timeout-millis")
+   @ManagementProperty(name="blocking-timeout-millis", includeInTemplate=true)
    public void setBlockingTimeoutMilliSeconds(long blockTimeout)
    {
      this.blockingTimeout = blockTimeout;
@@ -422,7 +429,7 @@
       
    }
    
-   @ManagementProperty(name="idle-timeout-minutes")
+   @ManagementProperty(name="idle-timeout-minutes", includeInTemplate=true)
    public void setIdleTimeoutMinutes(int idleTimeout)
    {
       this.idleTimeout = idleTimeout;
@@ -434,7 +441,7 @@
       
    }
 
-   @ManagementProperty(name="prefill")
+   @ManagementProperty(name="prefill", includeInTemplate=true)
    public void setPrefill(Boolean prefill)
    {
       this.prefill = prefill;
@@ -452,7 +459,7 @@
       
    }
 
-   @ManagementProperty(name="background-validation")
+   @ManagementProperty(name="background-validation", includeInTemplate=true)
    public boolean isBackgroundValidation()
    {
       return this.backgroundValidation;
@@ -463,7 +470,7 @@
       this.backgroundValidationMinutes = interval;
    }
 
-   @ManagementProperty(name="background-validation-minutes")
+   @ManagementProperty(name="background-validation-minutes", includeInTemplate=true)
    public int getBackgroundValidationMinutes()
    {
       return this.backgroundValidationMinutes;
@@ -474,14 +481,14 @@
       this.validateOnMatch = validateOnMatch;
    }
 
-   @ManagementProperty(name="validate-on-match")
+   @ManagementProperty(name="validate-on-match", includeInTemplate=true)
    public boolean isValidateOnMatch()
    {
       return this.validateOnMatch;
       
    }
 
-   @ManagementProperty(name="isSameRM-override-value")
+   @ManagementProperty(name="isSameRM-override-value", includeInTemplate=true)
    public Boolean getIsSameRMOverrideValue()
    {
       return isSameRMOverrideValue;
@@ -492,7 +499,7 @@
       this.isSameRMOverrideValue = isSameRMOverrideValue;
    }
 
-   @ManagementProperty(name="track-connection-by-tx")
+   @ManagementProperty(name="track-connection-by-tx", includeInTemplate=true)
    public Boolean getTrackConnectionByTransaction()
    {
       return getLocalTransactions() || trackConnectionByTransaction;
@@ -503,7 +510,7 @@
       this.trackConnectionByTransaction = trackConnectionByTransaction;
    }
 
-   @ManagementProperty(name="local-transaction")
+   @ManagementProperty(name="local-transaction", use={ViewUse.RUNTIME})
    public Boolean getLocalTransactions()
    {
       return localTransactions;
@@ -514,7 +521,7 @@
       this.localTransactions = localTransactions;
    }
 
-   @ManagementProperty(name="use-strict-min")
+   @ManagementProperty(name="use-strict-min", includeInTemplate=true)
    public Boolean getUseStrictMin()
    {
       return useStrictMin;
@@ -525,7 +532,7 @@
       this.useStrictMin = useStrictMin;
    }
 
-   @ManagementProperty(name="statistics-formatter")
+   @ManagementProperty(name="statistics-formatter", includeInTemplate=true)
    public String getStatisticsFormatter()
    {
       return statisticsFormatter;
@@ -536,7 +543,7 @@
       this.statisticsFormatter = statisticsFormatter;
    }
    
-   @ManagementProperty(name="no-tx-separate-pools")
+   @ManagementProperty(name="no-tx-separate-pools", includeInTemplate=true)
    public Boolean getNoTxSeparatePools()
    {
       return this.noTxSeparatePools;
@@ -547,7 +554,7 @@
       this.noTxSeparatePools = notxpool;
    }
 
-   @ManagementProperty(name="metadata")
+   @ManagementProperty(name="metadata", includeInTemplate=true)
    public DBMSMetaData getDBMSMetaData()
    {
       return dbmsMetaData;

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/NonXADataSourceDeploymentMetaData.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -53,7 +53,8 @@
    @XmlElement(name="connection-property")
    private List<DataSourceConnectionPropertyMetaData> connectionProperties = new ArrayList<DataSourceConnectionPropertyMetaData>();
 
-   @ManagementProperty(name="connection-url", description="The DataSource connection URL")
+   @ManagementProperty(name="connection-url", description="The DataSource connection URL",
+         includeInTemplate=true)
    public String getConnectionUrl()
    {
       return connectionUrl;
@@ -64,7 +65,9 @@
       this.connectionUrl = connectionUrl;
    }
 
-   @ManagementProperty(name="driver-class", description="The DataSource connection driver class name")
+   @ManagementProperty(name="driver-class",
+         description="The DataSource connection driver class name",
+         includeInTemplate=true)
    public String getDriverClass()
    {
       return driverClass;
@@ -75,8 +78,10 @@
       this.driverClass = driverClass;
    }
    
-   @ManagementProperty(name="connection-properties", description="The DataSource connection properties",
-         managed=true, propertyFactory=ConnectionFactoryProperty.class)
+   @ManagementProperty(name="connection-properties",
+         description="The DataSource connection properties",
+         managed=true, includeInTemplate=true,
+         propertyFactory=ConnectionFactoryProperty.class)
    public List<DataSourceConnectionPropertyMetaData> getDataSourceConnectionProperties()
    {
       return this.connectionProperties;      
@@ -88,8 +93,10 @@
    }
    
    @Override
-   @ManagementProperty(name="config-property", description="The connection factory property info",
-         managed=true, propertyFactory= ConnectionFactoryProperty.class)
+   @ManagementProperty(name="config-property",
+         description="The connection factory property info",
+         managed=true, includeInTemplate=true,
+         propertyFactory= ConnectionFactoryProperty.class)
    public List<ManagedConnectionFactoryPropertyMetaData> getManagedConnectionFactoryProperties()
    {
       

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/XADataSourceDeploymentMetaData.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -50,7 +50,8 @@
       setTransactionSupportMetaData(ManagedConnectionFactoryTransactionSupportMetaData.XA);
    }
 
-   @ManagementProperty(name="xa-datasource-class", description="The XADataSource class")
+   @ManagementProperty(name="xa-datasource-class", description="The XADataSource class",
+         includeInTemplate=true)
    public String getXaDataSourceClass()
    {
       return xaDataSourceClass;
@@ -61,7 +62,8 @@
       this.xaDataSourceClass = xaDataSourceClass;
    }
 
-   @ManagementProperty(name="url-property", description="The url-property")
+   @ManagementProperty(name="url-property", description="The url-property",
+         includeInTemplate=true)
    public String getURLProperty()
    {
       return urlProperty;
@@ -72,7 +74,8 @@
       this.urlProperty = urlProperty;
    }
 
-   @ManagementProperty(name="xa-resource-timeout", description="The XAResource timeout")
+   @ManagementProperty(name="xa-resource-timeout", description="The XAResource timeout",
+         includeInTemplate=true)
    public int getXaResourceTimeout()
    {
       return xaResourceTimeout;
@@ -83,7 +86,10 @@
       this.xaResourceTimeout = xaResourceTimeout;
    }
    
-   @ManagementProperty(name="xa-datasource-properties", description="The DataSource properties", managed=true, propertyFactory= XAConnectionFactoryProperty.class)
+   @ManagementProperty(name="xa-datasource-properties",
+         description="The DataSource properties",
+         managed=true, includeInTemplate=true,
+         propertyFactory= XAConnectionFactoryProperty.class)
    public List<XAConnectionPropertyMetaData> getXADataSourceProperties()
    {
       return this.xaDataSourceProperties;      
@@ -95,7 +101,10 @@
    }
    
    @Override
-   @ManagementProperty(name="config-property", description="The connection factory property info", managed=true, propertyFactory= ConnectionFactoryProperty.class)
+   @ManagementProperty(name="config-property",
+         description="The connection factory property info",
+         managed=true, includeInTemplate=true,
+         propertyFactory= ConnectionFactoryProperty.class)
    public List<ManagedConnectionFactoryPropertyMetaData> getManagedConnectionFactoryProperties()
    {
       List<ManagedConnectionFactoryPropertyMetaData> properties = super.getManagedConnectionFactoryProperties();

Modified: trunk/connector/src/resources/deployers/jca-deployers-beans.xml
===================================================================
--- trunk/connector/src/resources/deployers/jca-deployers-beans.xml	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/resources/deployers/jca-deployers-beans.xml	2008-03-06 06:41:37 UTC (rev 70464)
@@ -61,61 +61,78 @@
       <property name="type">jca-ds</property>
    </bean>
 
+   <bean name="DSDeploymentTemplateInfoFactory"
+      class="org.jboss.managed.plugins.factory.DeploymentTemplateInfoFactory"/>
    <!-- The template for creating a datasource -->
    <bean name="LocalTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
       <property name="info"><inject bean="LocalTxDataSourceTemplateInfo"/></property>
    </bean>
    <bean name="LocalTxDataSourceTemplateInfo"
       class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
-      <constructor>
-         <parameter>LocalTxDataSourceTemplate</parameter>
-         <parameter>A template for datasource *-ds.xml deployments</parameter>
-         <parameter>local-tx-datasource</parameter>
+      <constructor factoryMethod="createTemplateInfo">
+         <factory bean="DSDeploymentTemplateInfoFactory"/>
+         <parameter class="java.lang.Class">org.jboss.resource.deployers.management.DsDataSourceTemplateInfo</parameter>
+         <parameter class="java.lang.Class">org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData</parameter>
+         <parameter class="java.lang.String">LocalTxDataSourceTemplate</parameter>
+         <parameter class="java.lang.String">A template for datasource *-ds.xml deployments</parameter>
       </constructor>
+      <property name="connectionFactoryType">local-tx-datasource</property>
    </bean>
    <bean name="XADataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
       <property name="info"><inject bean="XADataSourceTemplateInfo"/></property>
    </bean>
    <bean name="XADataSourceTemplateInfo"
       class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
-      <constructor>
-         <parameter>XADataSourceTemplate</parameter>
-         <parameter>A template for xa-datasource *-ds.xml deployments</parameter>
-         <parameter>xa-datasource</parameter>
+      <constructor factoryMethod="createTemplateInfo">
+         <factory bean="DSDeploymentTemplateInfoFactory"/>
+         <parameter class="java.lang.Class">org.jboss.resource.deployers.management.DsDataSourceTemplateInfo</parameter>
+         <parameter class="java.lang.Class">org.jboss.resource.metadata.mcf.XADataSourceDeploymentMetaData</parameter>
+         <parameter class="java.lang.String">XADataSourceTemplate</parameter>
+         <parameter class="java.lang.String">A template for xa-datasource *-ds.xml deployments</parameter>
       </constructor>
+      <property name="connectionFactoryType">xa-datasource</property>
    </bean>
    <bean name="NoTxDataSourceTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
       <property name="info"><inject bean="NoTxDataSourceTemplateInfo"/></property>
    </bean>
    <bean name="NoTxDataSourceTemplateInfo"
       class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
-      <constructor>
-         <parameter>NoTxDataSourceTemplate</parameter>
-         <parameter>A template for no-tx-datasource *-ds.xml deployments</parameter>
-         <parameter>no-tx-datasource</parameter>
+      <constructor factoryMethod="createTemplateInfo">
+         <factory bean="DSDeploymentTemplateInfoFactory"/>
+         <parameter class="java.lang.Class">org.jboss.resource.deployers.management.DsDataSourceTemplateInfo</parameter>
+         <parameter class="java.lang.Class">org.jboss.resource.metadata.mcf.NoTxDataSourceDeploymentMetaData</parameter>
+         <parameter class="java.lang.String">NoTxDataSourceTemplate</parameter>
+         <parameter class="java.lang.String">A template for no-tx-datasource *-ds.xml deployments</parameter>
       </constructor>
+      <property name="connectionFactoryType">no-tx-datasource</property>
    </bean>
    <bean name="TxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
       <property name="info"><inject bean="TxConnectionFactoryTemplateInfo"/></property>
    </bean>
    <bean name="TxConnectionFactoryTemplateInfo"
       class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
-      <constructor>
-         <parameter>TxConnectionFactoryTemplate</parameter>
-         <parameter>A template for tx-connection-factory *-ds.xml deployments</parameter>
-         <parameter>tx-connection-factory</parameter>
+      <constructor factoryMethod="createTemplateInfo">
+         <factory bean="DSDeploymentTemplateInfoFactory"/>
+         <parameter class="java.lang.Class">org.jboss.resource.deployers.management.DsDataSourceTemplateInfo</parameter>
+         <parameter class="java.lang.Class">org.jboss.resource.metadata.mcf.TxConnectionFactoryDeploymentMetaData</parameter>
+         <parameter class="java.lang.String">TxConnectionFactoryTemplate</parameter>
+         <parameter class="java.lang.String">A template for tx-connection-factory *-ds.xml deployments</parameter>
       </constructor>
+      <property name="connectionFactoryType">tx-connection-factory</property>
    </bean>
    <bean name="NoTxConnectionFactoryTemplate" class="org.jboss.resource.deployers.management.DsDataSourceTemplate">
       <property name="info"><inject bean="NoTxConnectionFactoryTemplateInfo"/></property>
    </bean>
    <bean name="NoTxConnectionFactoryTemplateInfo"
       class="org.jboss.resource.deployers.management.DsDataSourceTemplateInfo">
-      <constructor>
-         <parameter>NoTxConnectionFactoryTemplate</parameter>
-         <parameter>A template for no-tx-connection-factory *-ds.xml deployments</parameter>
-         <parameter>no-tx-connection-factory</parameter>
+      <constructor factoryMethod="createTemplateInfo">
+         <factory bean="DSDeploymentTemplateInfoFactory"/>
+         <parameter class="java.lang.Class">org.jboss.resource.deployers.management.DsDataSourceTemplateInfo</parameter>
+         <parameter class="java.lang.Class">org.jboss.resource.metadata.mcf.NoTxConnectionFactoryDeploymentMetaData</parameter>
+         <parameter class="java.lang.String">NoTxConnectionFactoryTemplate</parameter>
+         <parameter class="java.lang.String">A template for no-tx-connection-factory *-ds.xml deployments</parameter>
       </constructor>
+      <property name="connectionFactoryType">no-tx-connection-factory</property>
    </bean>
-   
+
 </deployment>

Modified: trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java
===================================================================
--- trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java	2008-03-06 06:40:00 UTC (rev 70463)
+++ trunk/connector/src/tests/org/jboss/tests/jca/managed/ManagedObjectTestCase.java	2008-03-06 06:41:37 UTC (rev 70464)
@@ -28,9 +28,11 @@
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.jboss.managed.api.DeploymentTemplateInfo;
 import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.ManagedProperty;
 import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.managed.plugins.factory.DeploymentTemplateInfoFactory;
 import org.jboss.metatype.api.types.CompositeMetaType;
 import org.jboss.metatype.api.types.MetaType;
 import org.jboss.metatype.api.values.CompositeValue;
@@ -61,6 +63,28 @@
  */
 public class ManagedObjectTestCase extends BaseTestCase
 {
+   static final String[] ManagedConnectionFactoryDeploymentTemplate_NAMES = {
+      "jndi-name",
+      "use-java-context",
+      "connection-definition",
+      "min-pool-size",
+      "max-pool-size",
+      "blocking-timeout-millis",
+      "idle-timeout-minutes",
+      "prefill",
+      "background-validation",
+      "background-validation-minutes",
+      "validate-on-match",
+      "use-strict-min",
+      "statistics-formatter",
+      "isSameRM-override-value",
+      "track-connection-by-tx",
+      "config-property",
+      "security-domain",
+      "type-mapping",
+      "metadata",
+      "no-tx-separate-pools"
+   };
    static final String[] ManagedConnectionFactoryDeploymentMetaData_NAMES = {
       "jndi-name",
       "rar-name",
@@ -86,6 +110,7 @@
       "metadata",
       "no-tx-separate-pools"
    };
+
    static final String[] DataSourceDeploymentMetaData_NAMES = {
       "transaction-isolation",
       "user-name",
@@ -103,22 +128,29 @@
       "url-delimiter",
       "url-selector-strategy-class-name"
    };
+   static final String[] DataSourceDeploymentTemplate_NAMES = DataSourceDeploymentMetaData_NAMES;
+
    static final String[] NonXADataSourceDeploymentMetaData_NAMES = {
       "driver-class",
       "connection-properties",
       "connection-url"
    };
+   static final String[] NonXADataSourceDeploymentTemplate_NAMES = NonXADataSourceDeploymentMetaData_NAMES;
+
    static final String[] XADataSourceDeploymentMetaData_NAMES = {
       "url-property",
       "xa-datasource-properties",
       "xa-datasource-class",
       "xa-resource-timeout"
    };
+   static final String[] XADataSourceDeploymentTemplate_NAMES = XADataSourceDeploymentMetaData_NAMES;
+   
    static final String[] TxConnectionFactoryDeploymentMetaData_NAMES = {
       "xa-resource-timeout",
       "xa-transaction",
       "local-transaction"
    };
+   static final String[] TxConnectionFactoryDeploymentTemplate_NAMES = TxConnectionFactoryDeploymentMetaData_NAMES;
    
    static final String[] JBossManagedConnectionPool_NAMES = {
       "availableConnectionCount",
@@ -306,26 +338,82 @@
       assertEquals("java:ClusteredDS", jndiNameTest);
    }
    /**
+    * Validate the expected LocalDataSourceDeploymentMetaData template properties
+    * @throws Exception
+    */
+   public void testXADataSourceTemplateProperties()
+      throws Exception
+   {
+      DeploymentTemplateInfoFactory factory = new DeploymentTemplateInfoFactory();
+      DeploymentTemplateInfo dsInfo = factory.createTemplateInfo(XADataSourceDeploymentMetaData.class, "TestDS", "test ds");
+      Map<String,ManagedProperty> props = dsInfo.getProperties();
+      
+      // Validate the expected property names
+      Set<String> expectedPropertyNames = new TreeSet<String>();
+      expectedPropertyNames.addAll(Arrays.asList(ManagedConnectionFactoryDeploymentTemplate_NAMES));
+      expectedPropertyNames.addAll(Arrays.asList(DataSourceDeploymentTemplate_NAMES));
+      expectedPropertyNames.addAll(Arrays.asList(XADataSourceDeploymentTemplate_NAMES));
+
+      Set<String> propertyNames = props.keySet();
+      TreeSet<String> sortedPropertyNames = new TreeSet<String>(propertyNames);
+      if(expectedPropertyNames.equals(sortedPropertyNames) == false)
+      {
+         Set<String> missingNames = new TreeSet<String>();
+         Set<String> extraNames = new TreeSet<String>();
+         analyzeDiffs(expectedPropertyNames, sortedPropertyNames,
+               missingNames, extraNames);
+         fail("Extra properties: "+extraNames+", missing properties: "+missingNames);
+      }
+   }
+   /**
     * Validate that the XATxDataSourceTemplate ManagedPropertys are values are of type MetaValue
     * @throws Exception
     */
    public void testXADataSourceTemplatePropertiesAreMetaValues()
       throws Exception
    {
-      DsDataSourceTemplateInfo dsInfo = new DsDataSourceTemplateInfo("TestDS", "test ds", "local-tx-datasource");
-      dsInfo.start();
+      DeploymentTemplateInfoFactory factory = new DeploymentTemplateInfoFactory();
+      DeploymentTemplateInfo dsInfo = factory.createTemplateInfo(XADataSourceDeploymentMetaData.class, "TestDS", "test ds");
       Map<String,ManagedProperty> props = dsInfo.getProperties();
       validatePropertyMetaValues(props);
    }
    /**
+    * Validate the expected LocalDataSourceDeploymentMetaData template properties
+    * @throws Exception
+    */
+   public void testLocalTxDataSourceTemplateProperties()
+      throws Exception
+   {
+      DeploymentTemplateInfoFactory factory = new DeploymentTemplateInfoFactory();
+      DeploymentTemplateInfo dsInfo = factory.createTemplateInfo(LocalDataSourceDeploymentMetaData.class, "TestDS", "test ds");
+      Map<String,ManagedProperty> props = dsInfo.getProperties();
+      
+      // Validate the expected property names
+      Set<String> expectedPropertyNames = new TreeSet<String>();
+      expectedPropertyNames.addAll(Arrays.asList(ManagedConnectionFactoryDeploymentTemplate_NAMES));
+      expectedPropertyNames.addAll(Arrays.asList(DataSourceDeploymentTemplate_NAMES));
+      expectedPropertyNames.addAll(Arrays.asList(NonXADataSourceDeploymentTemplate_NAMES));
+      
+      Set<String> propertyNames = props.keySet();
+      TreeSet<String> sortedPropertyNames = new TreeSet<String>(propertyNames);
+      if(expectedPropertyNames.equals(sortedPropertyNames) == false)
+      {
+         Set<String> missingNames = new TreeSet<String>();
+         Set<String> extraNames = new TreeSet<String>();
+         analyzeDiffs(expectedPropertyNames, sortedPropertyNames,
+               missingNames, extraNames);
+         fail("Extra properties: "+extraNames+", missing properties: "+missingNames);
+      }
+   }
+   /**
     * Validate that the LocalTxDataSourceTemplate ManagedPropertys are values are of type MetaValue
     * @throws Exception
     */
    public void testLocalTxDataSourceTemplatePropertiesAreMetaValues()
       throws Exception
    {
-      DsDataSourceTemplateInfo dsInfo = new DsDataSourceTemplateInfo("TestDS", "test ds", "xa-datasource");
-      dsInfo.start();
+      DeploymentTemplateInfoFactory factory = new DeploymentTemplateInfoFactory();
+      DeploymentTemplateInfo dsInfo = factory.createTemplateInfo(LocalDataSourceDeploymentMetaData.class, "TestDS", "test ds");
       Map<String,ManagedProperty> props = dsInfo.getProperties();
       validatePropertyMetaValues(props);
    }




More information about the jboss-cvs-commits mailing list