[jboss-cvs] JBossAS SVN: r68234 - trunk/connector/src/main/org/jboss/resource/deployers/management.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Dec 13 09:25:48 EST 2007


Author: alex.loubyansky at jboss.com
Date: 2007-12-13 09:25:48 -0500 (Thu, 13 Dec 2007)
New Revision: 68234

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java
Log:
JBAS-4671 complete set of props for local and xa ds

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java	2007-12-13 14:17:04 UTC (rev 68233)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplateInfo.java	2007-12-13 14:25:48 UTC (rev 68234)
@@ -21,7 +21,6 @@
  */
 package org.jboss.resource.deployers.management;
 
-import java.util.HashSet;
 import java.util.Map;
 import java.util.List;
 
@@ -29,17 +28,13 @@
 import org.jboss.managed.plugins.DefaultFieldsImpl;
 import org.jboss.managed.plugins.ManagedObjectImpl;
 import org.jboss.managed.plugins.ManagedPropertyImpl;
-import org.jboss.metatype.api.types.CompositeMetaType;
-import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
 import org.jboss.metatype.api.types.MetaType;
 import org.jboss.metatype.api.types.SimpleMetaType;
 import org.jboss.metatype.api.types.MetaTypeFactory;
-import org.jboss.metatype.api.values.MetaValue;
-import org.jboss.metatype.api.values.SimpleValueSupport;
 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.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.resource.metadata.mcf.DBMSMetaData;
 
 /**
  * The template for creating 
@@ -118,114 +113,103 @@
    private void createXaDsTemplate()
    {
       ManagedObjectImpl mo = new ManagedObjectImpl(XADataSourceDeploymentMetaData.class.getName());
-      addCommonProperties(mo);
-      // The driver-class field info
-      DefaultFieldsImpl f = new DefaultFieldsImpl();
-      setFieldName("xa-datasource-class", f);
-      f.setDescription("The xa datasource class name");
-      f.setMandatory(true);
-      f.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl xaDsClass = new ManagedPropertyImpl(mo, f);
-      super.addProperty(xaDsClass);
-      // The xa-datasource-property field info
-      f = new DefaultFieldsImpl();
-      setFieldName("xa-datasource-properties", f);
-      f.setDescription("The xa datasource properties");
-      f.setMandatory(false);
-      // TODO is this right?
-      f.setMetaType(MetaTypeFactory.getInstance().resolve(List.class));
-      ManagedPropertyImpl xaDsProps = new ManagedPropertyImpl(mo, f);
-      super.addProperty(xaDsProps);
+      addDsProperties(mo);
+      addManagedProperty("xa-datasource-class", "The xa datasource class name", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("xa-datasource-properties", "The xa datasource properties", false, MetaTypeFactory.getInstance().resolve(List.class), mo);
+      addManagedProperty("url-property", "The URL property", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("xa-resource-timeout", "The XA resource timeout", true, SimpleMetaType.INTEGER, new Integer(0), mo);
    }
 
    private void createLocalTxDsTemplate()
    {
       ManagedObjectImpl mo = new ManagedObjectImpl(LocalDataSourceDeploymentMetaData.class.getName());
+      addNonXADsProperties(mo);
+   }
+
+   private void addNonXADsProperties(ManagedObjectImpl mo)
+   {
+      addDsProperties(mo);
+      addManagedProperty("driver-class", "The jdbc driver class name", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("connection-url", "The jdbc url of the DataSource", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("connection-properties", "The jdbc driver connection properties", false, MetaTypeFactory.getInstance().resolve(List.class), mo);
+   }
+
+   private void addDsProperties(ManagedObjectImpl mo)
+   {
       addCommonProperties(mo);
-      // The connection-url field info
-      DefaultFieldsImpl f1 = new DefaultFieldsImpl();
-      setFieldName("connection-url", f1);
-      f1.setDescription("The jdbc url of the DataSource");
-      f1.setMandatory(true);
-      f1.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl conURL = new ManagedPropertyImpl(mo, f1);
-      super.addProperty(conURL);
-      // The user field info
-      DefaultFieldsImpl f2 = new DefaultFieldsImpl();
-      setFieldName("user-name", f2);
-      f2.setDescription("The username for the connection-url");
-      f2.setMandatory(false);
-      f2.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl user = new ManagedPropertyImpl(mo, f2);
-      super.addProperty(user);
-      // The password field info
-      DefaultFieldsImpl f3 = new DefaultFieldsImpl();
-      setFieldName("password", f3);
-      f3.setDescription("The password for the connection-url");
-      f3.setMandatory(false);
-      f3.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl password = new ManagedPropertyImpl(mo, f3);
-      super.addProperty(password);
-      // The driver-class field info
-      DefaultFieldsImpl f4 = new DefaultFieldsImpl();
-      setFieldName("driver-class", f4);
-      f4.setDescription("The jdbc driver class name");
-      f4.setMandatory(true);
-      f4.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl driverClass = new ManagedPropertyImpl(mo, f4);
-      super.addProperty(driverClass);
-      // The driver connection properties field info
-      DefaultFieldsImpl f5 = new DefaultFieldsImpl();
-      setFieldName("connection-properties", f5);
-      f5.setDescription("The jdbc driver connection properties");
-      f5.setMandatory(false);
-      String[] itemNames = {"conn-prop1", "conn-prop2"};
-      String[] itemDescriptions = {"conn-prop1 description", "conn-prop2 description"};
-      MetaType[] itemTypes = {SimpleMetaType.STRING, SimpleMetaType.STRING};
-      CompositeMetaType propsType = new ImmutableCompositeMetaType("java.lang.Properties", "DS connection properties",
-            itemNames, itemDescriptions, itemTypes);
-      f5.setMetaType(propsType);
-      ManagedPropertyImpl connProps = new ManagedPropertyImpl(mo, f5);
-      super.addProperty(connProps);
+      addManagedProperty("transaction-isolation", "The transaction isolation level", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("user-name", "The username for the connection-url", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("password", "The password for the connection-url", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("new-connection-sql", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("check-valid-connection-sql", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("valid-connection-checker-class-name", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("exception-sorter-class-name", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("stale-connection-checker-class-name", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("track-statements", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("prepared-statement-cache-size", "", false, SimpleMetaType.INTEGER, new Integer(0), mo);
+      addManagedProperty("share-prepared-statements", "", false, SimpleMetaType.BOOLEAN, Boolean.FALSE, mo);
+      addManagedProperty("set-tx-query-timeout", "", false, SimpleMetaType.BOOLEAN, Boolean.FALSE, mo);
+      addManagedProperty("query-timeout", "", false, SimpleMetaType.INTEGER, new Integer(0), mo);
+      addManagedProperty("url-delimiter", "", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("url-selector-strategy-class-name", "", false, SimpleMetaType.STRING, mo);
    }
 
    private void addCommonProperties(ManagedObjectImpl mo)
    {
-      // The jndi name field info
-      DefaultFieldsImpl f0 = new DefaultFieldsImpl();
-      setFieldName("jndi-name", f0);
-      f0.setDescription("The jndi name to bind the DataSource under");
-      f0.setMandatory(true);
-      f0.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl jndiName = new ManagedPropertyImpl(mo, f0);
-      super.addProperty(jndiName);
-      // The security-domain field info
-      DefaultFieldsImpl f4 = new DefaultFieldsImpl();
-      setFieldName("security-domain", f4);
-      f4.setDescription("The security-domain used to validate connections");
-      f4.setMandatory(false);
-      f4.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl secDomain = new ManagedPropertyImpl(mo, f4);
-      super.addProperty(secDomain);
-      // The config-property field info
-      DefaultFieldsImpl f = new DefaultFieldsImpl();
-      setFieldName("config-property", f);
-      f.setDescription("The connection factory config properties");
-      f.setMandatory(false);
-      // TODO is this right?
-      f.setMetaType(MetaTypeFactory.getInstance().resolve(List.class));
-      ManagedPropertyImpl configProps = new ManagedPropertyImpl(mo, f);
-      super.addProperty(configProps);
-      // The connection-definition field info
-      f = new DefaultFieldsImpl();
-      setFieldName("connection-definition", f);
-      f.setDescription("The connection factory class name");
-      f.setMandatory(true);
-      f.setMetaType(SimpleMetaType.STRING);
-      ManagedPropertyImpl connectionDef = new ManagedPropertyImpl(mo, f);
-      super.addProperty(connectionDef);
+      // perhaps these descriptions should be externalized in some way
+      addManagedProperty("jndi-name", "The jndi name to bind the DataSource under", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("rar-name", "The resource adapter archive name", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("use-java-context", "Whether to bind the connection factory under 'java:' context", true, SimpleMetaType.BOOLEAN, Boolean.TRUE, mo);
+      addManagedProperty("connection-definition", "The connection factory class name", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("jmx-invoker-name", "The name of the JMX invoker", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("min-pool-size", "The min size of the pool", true, SimpleMetaType.INTEGER, new Integer(0), mo);
+      addManagedProperty("max-pool-size", "The max size of the pool", true, SimpleMetaType.INTEGER, new Integer(10), mo);
+      addManagedProperty("blocking-timeout-millis", "The time to wait for a connection to become available before giving up", true, SimpleMetaType.LONG, new Long(30000), mo);
+      addManagedProperty("idle-timeout-minutes", "The idle timeout in minutes", true, SimpleMetaType.INTEGER, new Integer(30), mo);
+      addManagedProperty("prefill", "Whether to prefill the pool", true, SimpleMetaType.BOOLEAN, mo);
+      addManagedProperty("background-validation", "Whether to use backgroup validation", true, SimpleMetaType.BOOLEAN, Boolean.FALSE, mo);
+      addManagedProperty("background-validation-minutes", "", false, SimpleMetaType.INTEGER, new Integer(0), mo);
+      addManagedProperty("validate-on-match", "", true, SimpleMetaType.BOOLEAN, Boolean.TRUE, mo);
+      addManagedProperty("use-strict-min", "", true, SimpleMetaType.BOOLEAN, mo);
+      addManagedProperty("no-tx-separate-pools", "", true, SimpleMetaType.BOOLEAN, mo);
+      addManagedProperty("statistics-formatter", "", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("isSameRM-override-value", "", true, SimpleMetaType.BOOLEAN, mo);
+      addManagedProperty("track-connection-by-tx", "", true, SimpleMetaType.BOOLEAN, mo);
+      addManagedProperty("config-property", "The connection factory config properties", false, MetaTypeFactory.getInstance().resolve(List.class), mo);
+      addManagedProperty("security-domain", "The security-domain used to validate connections", false, SimpleMetaType.STRING, mo);
+      addManagedProperty("depends", "", false, MetaTypeFactory.getInstance().resolve(List.class), mo);
+      addManagedProperty("metadata", "", false, MetaTypeFactory.getInstance().resolve(DBMSMetaData.class), mo);
+      addManagedProperty("type-mapping", "", true, SimpleMetaType.STRING, mo);
+      addManagedProperty("local-transaction", "", true, SimpleMetaType.BOOLEAN, mo);
    }
 
+   private void addManagedProperty(String fieldName,
+                                   String fieldDescr,
+                                   boolean mandatory,
+                                   MetaType metaType,
+                                   ManagedObjectImpl mo)
+   {
+      addManagedProperty(fieldName, fieldDescr, mandatory, metaType, null, mo);
+   }
+
+   private void addManagedProperty(String fieldName,
+                                   String fieldDescr,
+                                   boolean mandatory,
+                                   MetaType metaType,
+                                   java.io.Serializable value,
+                                   ManagedObjectImpl mo)
+   {
+      DefaultFieldsImpl fields = new DefaultFieldsImpl();
+      setFieldName(fieldName, fields);
+      fields.setDescription(fieldDescr);
+      fields.setMandatory(mandatory);
+      fields.setMetaType(metaType);
+      ManagedPropertyImpl mp = new ManagedPropertyImpl(mo, fields);
+      super.addProperty(mp);
+      if(value != null)
+         mp.setValue(value);
+   }
+
    protected void setFieldName(String name, Fields f)
    {
       f.setField(Fields.NAME, name);




More information about the jboss-cvs-commits mailing list