From: Scott M S. <st...@us...> - 2003-09-29 21:46:25
|
User: starksm Date: 03/09/28 05:28:34 Modified: src/main/org/jboss/resource/connectionmanager Tag: Branch_3_2 RARDeployment.java Log: Allow the ManagedConnectionFactoryProperties property values to refer to system properties which will be replaced by any existing system property. This also affects the *-ds.xml elements like connection-url, connection-property, xa-datasource-class, xa-datasource-property. The replacement can be disabled by specifying a replace=false attribute on the ManagedConnectionFactoryProperties attribute element. Revision Changes Path No revision No revision 1.9.2.11 +13 -5 jbosscx/src/main/org/jboss/resource/connectionmanager/RARDeployment.java Index: RARDeployment.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/connectionmanager/RARDeployment.java,v retrieving revision 1.9.2.10 retrieving revision 1.9.2.11 diff -u -r1.9.2.10 -r1.9.2.11 --- RARDeployment.java 16 Sep 2003 22:26:45 -0000 1.9.2.10 +++ RARDeployment.java 28 Sep 2003 12:28:34 -0000 1.9.2.11 @@ -25,6 +25,7 @@ import org.jboss.resource.RARMetaData; import org.jboss.system.ServiceMBeanSupport; import org.jboss.util.Classes; +import org.jboss.util.Strings; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -642,8 +643,13 @@ return; } // end of if () - // the properties that the deployment descriptor says we need to - // set + // See if the config has disabled property replacement + boolean replace = true; + String replaceAttr = mcfProps.getAttribute("replace"); + if( replaceAttr.length() > 0 ) + replace = Boolean.valueOf(replaceAttr).booleanValue(); + + // the properties that the deployment descriptor says we need to set NodeList props = mcfProps.getChildNodes(); for (int i = 0; i < props.getLength(); i++ ) { @@ -679,11 +685,10 @@ } if (type == null || type.length() == 0) { - type = "java.lang.String";//guess at default, for convenience. + // Default to String for convenience. + type = "java.lang.String"; } // end of if () - - // see if it is a primitive type first Class clazz = Classes.getPrimitiveTypeForName(type); if (clazz == null) @@ -708,6 +713,9 @@ "skipping property"); continue; } + + if( replace == true ) + value = Strings.replaceProperties(value); log.debug("setting property: " + name + " to value " + value); try { |