[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