[jboss-svn-commits] JBL Code SVN: r6981 - in labs/jbossesb/workspace/eschifman/trunk/product/core: listeners/src/org/jboss/soa/esb/actions listeners/src/org/jboss/soa/esb/listeners/gateway listeners/src/org/jboss/soa/esb/listeners/message listeners/src/org/jboss/soa/esb/listeners/old listeners/tests/src/org/jboss/soa/esb/actions listeners/tests/src/org/jboss/soa/esb/listeners/old listeners/tests/src/org/jboss/soa/esb/util rosetta/src/org/jboss/internal/soa/esb/command rosetta/src/org/jboss/internal/soa/esb/message/format/xml rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal rosetta/src/org/jboss/internal/soa/esb/notification rosetta/src/org/jboss/soa/esb/addressing/util rosetta/src/org/jboss/soa/esb/helpers rosetta/src/org/jboss/soa/esb/helpers/persist rosetta/src/org/jboss/soa/esb/notification rosetta/src/org/jboss/soa/esb/services rosetta/src/org/jboss/soa/esb/util rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests rosetta/tests/src/org/jboss/soa/esb/command r! osetta/tests/src/org/jboss/soa/esb/helpers rosetta/tests/src/org/jboss/soa/esb/notification services/src/org/jboss/soa/esb/internal/core/objectstore services/src/org/jboss/soa/esb/services services/src/org/jboss/soa/esb/services/beans services/tests/src/org/jboss/soa/esb/internal/core/objectstore services/tests/src/org/jboss/soa/esb/services/beans

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 20 16:03:40 EDT 2006


Author: estebanschifman
Date: 2006-10-20 16:02:47 -0400 (Fri, 20 Oct 2006)
New Revision: 6981

Removed:
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/DomElement.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/DomElementUnitTest.java
Modified:
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractFileAction.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionDefinitionFactory.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpDownloader.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpUploader.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerController.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/EsbListenerController.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractListener.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractPoller.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/DirectoryPoller.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/GpListener.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/JmsQueueListener.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/RemoteDirectoryPoller.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/SqlTablePoller.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionDefinitionFactoryUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/AbstractListenerUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/GpListenerUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/SqlTablePollerUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/AbstractMockListner.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNonblockingListener.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockPoller.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/internal/core/objectstore/BobjStore.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateLocal.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateRemote.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/beans/NotificationHandlerBean.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/internal/core/objectstore/BobjStoreUnitTest.java
   labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/beans/NotificationUnitTest.java
Log:
Got rid of DomElement - now using ConfigTree everywhere

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractFileAction.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractFileAction.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/AbstractFileAction.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -44,7 +44,7 @@
      * name of the original file that has been processed. The suffix will be
      * different according to the result of processing (OK or Exception). Files
      * could be moved to different directories as well <br/> Parameters for
-     * these options can be provided at run time in the DomElement (arg 0 in
+     * these options can be provided at run time in the ConfigTree (arg 0 in
      * constructor)
      * @param message The message payload to be processed.
      * @return The processing result.

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionDefinitionFactory.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionDefinitionFactory.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionDefinitionFactory.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 
 /**
@@ -54,14 +54,14 @@
      * @param config ActionDefinition configuration.
      * @throws ConfigurationException Invalid configuration.
      */
-    public ActionDefinitionFactory(DomElement config) throws ConfigurationException {
+    public ActionDefinitionFactory(ConfigTree config) throws ConfigurationException {
         if(config == null || !config.getName().equals("Actions")) {
             throw new ConfigurationException("No 'Actions' configuration.");
         }
         
         // Read the processor alias and action def configurations from the XML configuration...
-        DomElement processorAliasConfig = config.getFirstElementChild("ProcessorAliases");
-        DomElement[] actions = config.getElementChildren("Action");
+        ConfigTree processorAliasConfig = config.getFirstChild("ProcessorAliases");
+        ConfigTree[] actions = config.getChildren("Action");
         if(processorAliasConfig == null) {
             throw new ConfigurationException("No 'Actions/ProcessorAliases' configuration.");
         }
@@ -94,14 +94,14 @@
      * @param processorClasses Processor classes keyed by alias name.
      * @throws ConfigurationException 
      */
-    private void initialiseActionDefinitions(DomElement[] actions, Hashtable<String, String> processorClasses) throws ConfigurationException {
+    private void initialiseActionDefinitions(ConfigTree[] actions, Hashtable<String, String> processorClasses) throws ConfigurationException {
         if(processorClasses == null || processorClasses.isEmpty()) {
             throw new ConfigurationException("No action processor classes defined.");
         }
         
-        for(DomElement action : actions) {
-            String name = action.getAttr("name");
-            String processorAlias = action.getAttr("processor");
+        for(ConfigTree action : actions) {
+            String name = action.getAttribute("name");
+            String processorAlias = action.getAttribute("processor");
             String processorClass;
             List<KeyValuePair> properties;
 
@@ -132,17 +132,17 @@
      * @return Processor runtime classs 
      * @throws ConfigurationException Bad configuration.
      */
-    private Hashtable<String, String> getProcessorClasses(DomElement processorAliasConfig) throws ConfigurationException {
-        DomElement[] aliases = processorAliasConfig.getElementChildren("Alias");
+    private Hashtable<String, String> getProcessorClasses(ConfigTree processorAliasConfig) throws ConfigurationException {
+        ConfigTree[] aliases = processorAliasConfig.getChildren("Alias");
         Hashtable<String, String> processorClasses = new Hashtable<String, String>();
         
         if(aliases == null) {
             throw new ConfigurationException("No 'Actions/ProcessorAliases/Alias' configurations.");
         }
         
-        for(DomElement alias : aliases) {
-            String name = alias.getAttr("name");
-            String className = alias.getAttr("class");
+        for(ConfigTree alias : aliases) {
+            String name = alias.getAttribute("name");
+            String className = alias.getAttribute("class");
     
             // Check the required attributes...
             if(name == null || name.trim().equals("")) {
@@ -165,20 +165,20 @@
      * if no properties are defined on the action.
      * @throws ConfigurationException A property name or value is empty or undefined.
      */
-    private List<KeyValuePair> getProperties(DomElement action) throws ConfigurationException {
-        DomElement[] properties = action.getElementChildren("property");
+    private List<KeyValuePair> getProperties(ConfigTree action) throws ConfigurationException {
+        ConfigTree[] properties = action.getChildren("property");
         List<KeyValuePair> propertyList = new ArrayList<KeyValuePair>();
         
-        for(DomElement property : properties) {
-            String name = property.getAttr("name");
-            String value = property.getAttr("value");
+        for(ConfigTree property : properties) {
+            String name = property.getAttribute("name");
+            String value = property.getAttribute("value");
 
             // Check the required attributes...
             if(name == null || name.trim().equals("")) {
-                throw new ConfigurationException("Actions/Action/property has no 'name' defined. Action [" + action.getAttr("name") + "].");
+                throw new ConfigurationException("Actions/Action/property has no 'name' defined. Action [" + action.getAttribute("name") + "].");
             }
             if(value == null || value.trim().equals("")) {
-                throw new ConfigurationException("Actions/Action/property has no 'value' defined. Action [" + action.getAttr("name") + "], Property [" + name + "].");
+                throw new ConfigurationException("Actions/Action/property has no 'value' defined. Action [" + action.getAttribute("name") + "], Property [" + name + "].");
             }
             
             propertyList.add(new KeyValuePair(name, value));

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/ActionUtils.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -24,7 +24,6 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.helpers.DomElement;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.notification.NotificationList;
@@ -124,11 +123,11 @@
     	return null;
     }
     
-    //TODO  this is temporary until NotificationList extends ConfigTree (not DomElement)
+    //TODO  this is temporary until NotificationList extends ConfigTree (not ConfigTree)
     public static NotificationList notifListfromConfig(ConfigTree tree)
     {
     	Exception thrown = null;
-    	try { return new NotificationList(DomElement.fromXml(tree.toXml())); }
+    	try { return new NotificationList(ConfigTree.fromXml(tree.toXml())); }
     	catch (Exception e) 	{thrown = e;}
     	Logger.getLogger(ActionUtils.class).error(thrown);
     	return null;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpDownloader.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpDownloader.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpDownloader.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.listeners.old.GpListener;
 import org.jboss.soa.esb.listeners.old.RemoteDirectoryPoller;
@@ -37,7 +37,7 @@
 
 public class FtpDownloader extends AbstractFileAction 
 {
-	DomElement		_parms;
+	ConfigTree		_parms;
 	FtpClientUtil 	_ftpClient;
 	String			_localDir;
 	RemoteDirectoryPoller.WorkingFile _workFile;
@@ -50,9 +50,9 @@
      * @throws ConfigurationException Action not properly configured.
      */
 	public FtpDownloader(String actionName, List<KeyValuePair> properties)
-	{	_parms	= new DomElement("fromProps");
+	{	_parms	= new ConfigTree("fromProps");
 	  	for (KeyValuePair oCurr : properties)
-	  		_parms.setAttr(oCurr.getKey(),oCurr.getValue());
+	  		_parms.setAttribute(oCurr.getKey(),oCurr.getValue());
 	} //________________________________
 
 	@Override
@@ -72,12 +72,12 @@
         		for (KeyValuePair kvp : _workFile.getFtpProps())
         		{
         			String sVal = kvp.getValue();
-        			_parms.setAttr(kvp.getKey(),(null==sVal)?"":sVal);
+        			_parms.setAttribute(kvp.getKey(),(null==sVal)?"":sVal);
         		}
         	// end of kludge
 //        	System.out.println("Downloading "+_workFile);
 			_ftpClient = new FtpClientUtil(_parms,true);
-			_localDir = _parms.getAttr(FtpClientUtil.PARMS_LOCAL_DIR);
+			_localDir = _parms.getAttribute(FtpClientUtil.PARMS_LOCAL_DIR);
 			String sFrom = FtpClientUtil.fileToFtpString(_workFile);
 			_ftpClient.downloadFile(sFrom,_workFile.getInputFile().getName());
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpUploader.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpUploader.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/actions/FtpUploader.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.listeners.old.DirectoryPoller;
 import org.jboss.soa.esb.listeners.old.GpListener;
@@ -37,7 +37,7 @@
 
 public class FtpUploader extends AbstractFileAction 
 {
-	DomElement		_parms;
+	ConfigTree		_parms;
 	FtpClientUtil 	_ftpClient;
 	String			_remoteDir;
 	DirectoryPoller.WorkingFile _workFile;
@@ -50,9 +50,9 @@
      * @throws ConfigurationException Action not properly configured.
      */
 	public FtpUploader(String actionName, List<KeyValuePair> properties)
-	{	_parms	= new DomElement("fromProps");
+	{	_parms	= new ConfigTree("fromProps");
 	  	for (KeyValuePair oCurr : properties)
-	  		_parms.setAttr(oCurr.getKey(),oCurr.getValue());
+	  		_parms.setAttribute(oCurr.getKey(),oCurr.getValue());
 	} //________________________________
 
 	@Override
@@ -69,7 +69,7 @@
 		{
         	System.out.println("FTP uploading "+obj);
 			_ftpClient = new FtpClientUtil(_parms,true);
-			_remoteDir = _parms.getAttr(FtpClientUtil.PARMS_REMOTE_DIR);
+			_remoteDir = _parms.getAttribute(FtpClientUtil.PARMS_REMOTE_DIR);
 			_ftpClient.uploadFile(_workFile,_workFile.getInputFile().getName());
 
 			if (_workFile.isPostDelete())
@@ -99,7 +99,7 @@
 		return new StringBuilder()
 		.append(_workFile.getInputFile().toString())
 		.append("successfully uploaded to ").append(_remoteDir)
-		.append(" on ").append(_parms.getAttr(FtpClientUtil.PARMS_FTP_SERVER))
+		.append(" on ").append(_parms.getAttribute(FtpClientUtil.PARMS_FTP_SERVER))
 		.toString();
 	} //________________________________
 	
@@ -108,7 +108,7 @@
 		return new StringBuilder()
 		.append("Failed to upload ").append(_workFile.getInputFile().toString())
 		.append(" to ").append(_remoteDir)
-		.append(" on ").append(_parms.getAttr(FtpClientUtil.PARMS_FTP_SERVER))
+		.append(" on ").append(_parms.getAttribute(FtpClientUtil.PARMS_FTP_SERVER))
 		.toString();
 	} //________________________________
 	

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerController.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerController.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/gateway/GatewayListenerController.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -39,7 +39,6 @@
 import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.common.ModulePropertyManager;
 import org.jboss.soa.esb.helpers.ConfigTree;
-import org.jboss.soa.esb.helpers.DomElement;
 import org.jboss.soa.esb.parameters.ParamRepositoryException;
 import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
 import org.jboss.soa.esb.util.Util;
@@ -195,7 +194,7 @@
 
 		// Open the command queue...
 		if (null!=_commandQueue)
-			_commandQueue.open(DomElement.fromConfigTree(p_oP));
+			_commandQueue.open(p_oP);
 
 		// if RELOAD_SECONDS_TAG not set, and no command queue
 		// then reload every 10 minutes
@@ -219,7 +218,7 @@
         if(actionConfig == null) {
             throw new ConfigurationException("No 'Actions' configuration.");
         }        
-        actionDefinitionFactory = new ActionDefinitionFactory(DomElement.fromConfigTree(actionConfig));
+        actionDefinitionFactory = new ActionDefinitionFactory(actionConfig);
         
 	} // ________________________________
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/EsbListenerController.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/EsbListenerController.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/message/EsbListenerController.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -240,7 +240,7 @@
 
 		// Open the command queue...
 		if (null!=commandQueue)
-			commandQueue.open(org.jboss.soa.esb.helpers.DomElement.fromConfigTree(p_oP));
+			commandQueue.open(p_oP);
 
 		// if PARM_RELOAD_SECS not set, and no command queue
 		// then reload every 10 minutes

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractListener.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractListener.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractListener.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -30,7 +30,7 @@
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.actions.ActionUtils;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
 
@@ -49,7 +49,7 @@
 	public static final String MESSAGE_PROCESSING_ACTIONS_LIST = "MESSAGE_PROCESSING_ACTIONS_LIST";
 	
     // You can override these values at constructor time of your
-    // derived class after calling super(GpListener,DomElement)
+    // derived class after calling super(GpListener,ConfigTree)
     protected int m_iSleepForThreads = 3000; // default sleep if no threads available
     protected int m_iUpperThreadLimit = 10; // just in case - override if you wish
 
@@ -58,12 +58,12 @@
     protected ThreadGroup 	m_oThrGrp = null;
     protected Logger 		logger;
     protected GpListener 	m_oDad;
-    protected DomElement 	listenerConfig;
+    protected ConfigTree 	listenerConfig;
     protected String[] 		m_oActions;
     protected ActionDefinitionFactory m_oActionDefinitionFactory;
     protected MessageFactory m_oMsgFactory;
 
-    protected AbstractListener(GpListener p_oDad, DomElement p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
+    protected AbstractListener(GpListener p_oDad, ConfigTree p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
         
         logger 		= Logger.getLogger(this.getClass());
         m_oDad 		= p_oDad;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractPoller.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractPoller.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/AbstractPoller.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -25,7 +25,7 @@
 import java.util.List;
 
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Abstract Polling Listener.
@@ -39,7 +39,7 @@
 public abstract class AbstractPoller extends AbstractListener {
 
     // You can override these values at constructor time of your
-    // derived class after calling super(GpListener,DomElement)
+    // derived class after calling super(GpListener,ConfigTree)
     protected int m_iMinPollMillis = 3000 // minimum polling interval
             , m_iDfltPollMillis = 20000 // default polling interval
             ;
@@ -55,10 +55,10 @@
      * @param actionDefinitionFactory The action definition factory for the bus.
      * @throws Exception
      */
-    protected AbstractPoller(GpListener commandListener, DomElement listenerConfig, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
+    protected AbstractPoller(GpListener commandListener, ConfigTree listenerConfig, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
         super(commandListener, listenerConfig, actionDefinitionFactory);
 
-        String sAtt = listenerConfig.getAttr(PARM_POLL_LTCY);
+        String sAtt = listenerConfig.getAttribute(PARM_POLL_LTCY);
         m_iPollMillis = (null == sAtt) ? m_iDfltPollMillis : 1000 * Integer.parseInt(sAtt);
         if (m_iPollMillis < m_iMinPollMillis) {
             m_iPollMillis = m_iMinPollMillis;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/DirectoryPoller.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/DirectoryPoller.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/DirectoryPoller.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -31,7 +31,7 @@
 
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.util.Util;
 
 public class DirectoryPoller extends AbstractPoller
@@ -45,7 +45,7 @@
   public static final String FILE_POST_SFX  	= "postSuffix";
   public static final String FILE_POST_DEL  	= "postDelete";
 
-  public DirectoryPoller(GpListener p_oDad, DomElement p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception
+  public DirectoryPoller(GpListener p_oDad, ConfigTree p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception
   {
 	super(p_oDad, p_oParms, actionDefinitionFactory);
 	checkMyParms();

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/GpListener.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/GpListener.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/GpListener.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -40,7 +40,7 @@
 import org.jboss.soa.esb.common.Configuration;
 import org.jboss.soa.esb.common.Environment;
 import org.jboss.soa.esb.common.ModulePropertyManager;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.notification.NotificationList;
 import org.jboss.soa.esb.parameters.ParamRepositoryException;
 import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
@@ -97,14 +97,14 @@
 	// Attribute name that denotes listener class to be instantiated in a child
 	// thread
 	// This attribute is not in the root node but in first level child
-	// DomElements
+	// ConfigTrees
 	public static final String PARM_LISTENER_CLASS = "listenerClass";
 	public static final String PARM_ACTIONS = "actions";
 	public static final String PARM_MAX_THREADS = "maxThreads";
 	public static final String CHLD_EMAIL_PARMS = "EmailProperties";
 
 	private String m_sParmsName;
-	private DomElement m_oParms;
+	private ConfigTree m_oParms;
 
 	private HashMap<String, Object> m_oAtts;
 
@@ -189,7 +189,7 @@
 	 * @throws Exception
 	 *             Unable to load/use the supplied configuration.
 	 */
-	public GpListener(DomElement config) throws Exception {
+	public GpListener(ConfigTree config) throws Exception {
 		m_oParms = config;
 		m_oState = State.Loading_parameters;
 
@@ -197,7 +197,7 @@
 			checkParms(m_oParms);
 			setEmailSystemProperties();
 		} catch (Exception e) {
-			String configSource = config.getAttr("configSource");
+			String configSource = config.getAttribute("configSource");
 
 			m_oState = State.Exception_thrown;
 			m_oState.m_oException = e;
@@ -216,7 +216,7 @@
 	 * @param reposParam
 	 *            The name of the repository entry containing the Listener
 	 *            configuration.
-	 * @return Listener Configuration as {@link DomElement}.
+	 * @return Listener Configuration as {@link ConfigTree}.
 	 * @throws IOException
 	 *             Unable to access the repository.
 	 * @throws ParamRepositoryException
@@ -224,12 +224,12 @@
 	 * @throws SAXException
 	 *             Unable to parse the configuration.
 	 */
-	private static DomElement getListenerConfig(String reposParam)
+	private static ConfigTree getListenerConfig(String reposParam)
 			throws IOException, ParamRepositoryException, SAXException {
 		String sXml = ParamRepositoryFactory.getInstance().get(reposParam);
-		DomElement config = DomElement.fromXml(sXml);
+		ConfigTree config = ConfigTree.fromXml(sXml);
 
-		config.setAttr("configSource", "param-repository:" + reposParam);
+		config.setAttribute("configSource", "param-repository:" + reposParam);
 
 		return config;
 	}
@@ -239,13 +239,13 @@
 	 * values to some of them
 	 * 
 	 * @param p_oP
-	 *            DomElement - Where to look for the mandatory/optional
+	 *            ConfigTree - Where to look for the mandatory/optional
 	 *            configuration attributes
 	 * @throws Exception -
 	 *             If attributes are wrong or not enough for a proper runtime
 	 *             configuration
 	 */
-	public void checkParms(DomElement p_oP) throws Exception {
+	public void checkParms(ConfigTree p_oP) throws Exception {
 		// We've just loaded - set to false until next reload requested
 		m_bReloadRequested = false;
 		commandQueue = createCommandQueue(p_oP);
@@ -257,7 +257,7 @@
 		// if PARM_RELOAD_SECS not set, and no command queue
 		// then reload every 10 minutes
 		// If there is a command queue, run until command is received
-		String sRldSecs = p_oP.getAttr(PARM_RELOAD_SECS);
+		String sRldSecs = p_oP.getAttribute(PARM_RELOAD_SECS);
 		m_lNextReload = (null != sRldSecs) 
 				? System.currentTimeMillis() + 1000 * Long.parseLong(sRldSecs)
 				: (null == commandQueue) 
@@ -267,12 +267,12 @@
 		// if PARM_END_TIME not set try to run forever
 		// not a good practice if command queue is not set
 		// Expected date format is "yyyyMMdd hh:mm:ss"
-		String sEndT = p_oP.getAttr(PARM_END_TIME);
+		String sEndT = p_oP.getAttribute(PARM_END_TIME);
 		m_lEndTime = (null == sEndT) ? Long.MAX_VALUE : s_oDateParse.parse(
 				sEndT).getTime();
 
         // Read and initialise the action definitions...
-        DomElement actionConfig = p_oP.getFirstElementChild("Actions");
+        ConfigTree actionConfig = p_oP.getFirstChild("Actions");
         if(actionConfig == null) {
             throw new ConfigurationException("No 'Actions' configuration.");
         }        
@@ -285,8 +285,8 @@
      * @param config GpListener config.
      * @return GpListener CommandQueue instance.
      */
-	private CommandQueue createCommandQueue(DomElement config) {
-		String commandQueueClass = config.getAttr("command-queue-class");
+	private CommandQueue createCommandQueue(ConfigTree config) {
+		String commandQueueClass = config.getAttribute("command-queue-class");
 		
 		if(commandQueueClass != null) {
 			try {
@@ -321,8 +321,8 @@
 	public void run() {
 		while (endNotRequested()) {
 			m_oState = State.Running;
-			for (DomElement oCurr : m_oParms.getAllElemChildren()) {
-				String sClass = oCurr.getAttr(PARM_LISTENER_CLASS);
+			for (ConfigTree oCurr : m_oParms.getAllChildren()) {
+				String sClass = oCurr.getAttribute(PARM_LISTENER_CLASS);
 				if (Util.isNullString(sClass))
 					continue;
 				tryToLaunchChildListener(oCurr, sClass);
@@ -338,7 +338,7 @@
 					m_oState = State.Loading_parameters;
 					m_oLogger
 							.info("Reloading parameters _____________________________________________________");
-					DomElement oNew = GpListener.getListenerConfig(m_sParmsName);
+					ConfigTree oNew = GpListener.getListenerConfig(m_sParmsName);
 					checkParms(oNew);
 					m_oParms = oNew;
 					setEmailSystemProperties();
@@ -363,11 +363,11 @@
 		}
 	} // ________________________________
 
-	private void tryToLaunchChildListener(DomElement p_oP, String p_sClassName) {
+	private void tryToLaunchChildListener(ConfigTree p_oP, String p_sClassName) {
 		try {
 			Class oListener = Class.forName(p_sClassName);
 			Constructor oConst = oListener.getConstructor(new Class[] {
-					this.getClass(), DomElement.class, ActionDefinitionFactory.class });
+					this.getClass(), ConfigTree.class, ActionDefinitionFactory.class });
 			Runnable oRun = (Runnable) oConst.newInstance(new Object[] { this,
 					p_oP, actionDefinitionFactory });
 			new Thread(oRun).start();
@@ -532,10 +532,10 @@
 		Environment.SMTP_AUTH };
 
 	private void setEmailSystemProperties() {
-		DomElement oEmail = m_oParms.getFirstElementChild(CHLD_EMAIL_PARMS);
+		ConfigTree oEmail = m_oParms.getFirstChild(CHLD_EMAIL_PARMS);
 		if (null != oEmail)
 			for (String sCurr : s_saMailProps) {
-				String sProp = oEmail.getAttr(sCurr);
+				String sProp = oEmail.getAttribute(sCurr);
 				if (null != sProp)
 					ModulePropertyManager.getPropertyManager(ModulePropertyManager.TRANSPORTS_MODULE).setProperty(sCurr, sProp);
 			}
@@ -545,7 +545,7 @@
 	 * Find an attribute in the tree (arg 0) or assign default value (arg 2)
 	 * 
 	 * @param p_oP
-	 *            DomElement - look for attributes in this Element only
+	 *            ConfigTree - look for attributes in this Element only
 	 * @param p_sAtt
 	 *            String - Name of attribute to find
 	 * @param p_sDefault
@@ -555,9 +555,9 @@
 	 *             If requested attribute not found and no default value
 	 *             supplied by invoker
 	 */
-	public static String obtainAtt(DomElement p_oP, String p_sAtt, String p_sDefault)
+	public static String obtainAtt(ConfigTree p_oP, String p_sAtt, String p_sDefault)
 			throws ConfigurationException {
-		String sVal = p_oP.getAttr(p_sAtt);
+		String sVal = p_oP.getAttribute(p_sAtt);
 		if ((null == sVal) && (null == p_sDefault))
 			throw new ConfigurationException("Missing or invalid <" + p_sAtt + "> attribute");
 
@@ -569,19 +569,19 @@
 	 * 'type' that starts with "ok" (case insensitive)
 	 * 
 	 * @param p_oP -
-	 *            DomElement to search for "NotificationList" child Elements
+	 *            ConfigTree to search for "NotificationList" child Elements
 	 * @param p_oSer
 	 *            Serializable - Will constitute the body of the notification
 	 */
-	public static void notifyOK(DomElement p_oP, Serializable p_oSer) {
+	public static void notifyOK(ConfigTree p_oP, Serializable p_oSer) {
         if(p_oSer ==  null) {
             return;
         }
         
 		try {
 			Serializable oNotif = p_oSer;
-			for (DomElement oCurr : p_oP
-					.getElementChildren(NotificationList.ELEMENT)) {
+			for (ConfigTree oCurr : p_oP
+					.getChildren(NotificationList.ELEMENT)) {
 				NotificationList oNL = new NotificationList(oCurr);
 				if (!oNL.isOK())
 					continue;
@@ -597,14 +597,14 @@
 	 * set
 	 * 
 	 * @param p_oP -
-	 *            DomElement to search for "NotificationList" child Elements
+	 *            ConfigTree to search for "NotificationList" child Elements
 	 * @param p_e -
 	 *            Exception if not null, will be appended to the body
 	 * @param p_oSer
 	 *            Serializable - Will be included at the beginning of the body
 	 *            of the notification
 	 */
-	public static void notifyError(DomElement p_oP, Exception p_e, Serializable p_oSer) {
+	public static void notifyError(ConfigTree p_oP, Exception p_e, Serializable p_oSer) {
         if(p_oSer ==  null) {
             return;
         }
@@ -619,8 +619,8 @@
 			oPS.close();
 
 			String sMsg = oBO.toString();
-			for (DomElement oCurr : p_oP
-					.getElementChildren(NotificationList.ELEMENT)) {
+			for (ConfigTree oCurr : p_oP
+					.getChildren(NotificationList.ELEMENT)) {
 				NotificationList oNL = new NotificationList(oCurr);
 				if (!oNL.isErr())
 					continue;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/JmsQueueListener.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/JmsQueueListener.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/JmsQueueListener.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -37,7 +37,7 @@
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
 import org.jboss.soa.esb.helpers.AppServerContext;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class JmsQueueListener extends AbstractListener {
 
@@ -56,7 +56,7 @@
     protected MessageConsumer jmsMessageReceiver;
 
 
-    public JmsQueueListener(GpListener commandListener, DomElement listenerConfig, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
+    public JmsQueueListener(GpListener commandListener, ConfigTree listenerConfig, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
         super(commandListener, listenerConfig, actionDefinitionFactory);
         checkMyParms();
     } // __________________________________
@@ -74,7 +74,7 @@
         String sQueue = GpListener.obtainAtt(listenerConfig, LISTEN_QUEUE, null);
 
         // No problem if selector is null - everything in queue will be returned
-        m_sSelector = listenerConfig.getAttr(LISTEN_MSG_SELECTOR);
+        m_sSelector = listenerConfig.getAttribute(LISTEN_MSG_SELECTOR);
 
         m_oQconn = null;
         m_oQsess = null;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/RemoteDirectoryPoller.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/RemoteDirectoryPoller.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/RemoteDirectoryPoller.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -30,7 +30,7 @@
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.util.FtpClientUtil;
 import org.jboss.soa.esb.util.Util;
@@ -46,11 +46,11 @@
   public static final String FILE_POST_SFX  	= "postSuffix";
   public static final String FILE_POST_DEL  	= "postDelete";
   
-  private DomElement _params;
+  private ConfigTree _params;
   private Logger	_logger = Logger.getLogger(this.getClass());
   FtpClientUtil		_ftpClient;
 
-  public RemoteDirectoryPoller(GpListener p_oDad, DomElement p_oParms,ActionDefinitionFactory actionDF)
+  public RemoteDirectoryPoller(GpListener p_oDad, ConfigTree p_oParms,ActionDefinitionFactory actionDF)
   	throws Exception
   {
 	super(p_oDad,p_oParms,actionDF);
@@ -189,7 +189,7 @@
       };
       for (String sProp : sa)
       {
-    	  String sVal = _params.getAttr(sProp);
+    	  String sVal = _params.getAttribute(sProp);
     	  if (!Util.isNullString(sVal))
     		  m_ftpProps.add(new KeyValuePair(sProp,sVal));
       }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/SqlTablePoller.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/SqlTablePoller.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/src/org/jboss/soa/esb/listeners/old/SqlTablePoller.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -39,7 +39,7 @@
 
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
 import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
 import org.jboss.soa.esb.util.Util;
@@ -53,7 +53,7 @@
  *   
  *   Each retrieved row (see OPTIONAL_ATT.whereCondition) should be considered as a trigger
  *   that is intended to instantiate an object of "actionClass".  The new instance will 
- *   receive the full DomElement (level 1 for each child group)
+ *   receive the full ConfigTree (level 1 for each child group)
  *   
  *	@author Esteban Schifman
  */
@@ -165,10 +165,10 @@
   * <br/>m_iSleepForThreads	: how long to sleep if all configured threads are in use (default 3000)
   * <br/>m_iUpperThreadLimit : max number of threads allowed (default 10) 
   * @param p_oDad GpListener - The controlling process
-  * @param p_oParms DomElement - Sub tree that corresponds to this instance
+  * @param p_oParms ConfigTree - Sub tree that corresponds to this instance
   * @throws Exception
   */
-  public SqlTablePoller(GpListener p_oDad, DomElement p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception
+  public SqlTablePoller(GpListener p_oDad, ConfigTree p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception
   {
 	super(p_oDad, p_oParms, actionDefinitionFactory);
 	try { checkMyParms(); }
@@ -179,7 +179,7 @@
 	}
   } //__________________________________
   
-    private void checkAndStoreAtt(DomElement p_oP, String p_sName, String p_sDflt)
+    private void checkAndStoreAtt(ConfigTree p_oP, String p_sName, String p_sDflt)
     	throws Exception
     {
     	m_oVals.put(p_sName,GpListener.obtainAtt(p_oP,p_sName,p_sDflt));

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionDefinitionFactoryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionDefinitionFactoryUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/actions/ActionDefinitionFactoryUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 import junit.framework.TestCase;
 
 import org.jboss.soa.esb.ConfigurationException;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.xml.sax.SAXException;
 
@@ -40,7 +40,7 @@
 public class ActionDefinitionFactoryUnitTest extends TestCase {
 
     public void test_good_config() throws SAXException, IOException, ConfigurationException {
-        DomElement config = DomElement.fromInputStream(getClass().getResourceAsStream("ActionDefinition-Config-01.xml"));
+        ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("ActionDefinition-Config-01.xml"));
         ActionDefinitionFactory factory = new ActionDefinitionFactory(config);
 
         // ActionProcessor Impl with a non-default public constructor 
@@ -79,7 +79,7 @@
     }
     
     private void test_bad_config(String configName, String exceptionMsg) throws SAXException, IOException, ConfigurationException {
-        DomElement config = DomElement.fromInputStream(getClass().getResourceAsStream(configName));
+        ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream(configName));
         try {
             new ActionDefinitionFactory(config);
             fail("Expected ConfigurationException");

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/AbstractListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/AbstractListenerUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/AbstractListenerUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 import org.jboss.soa.esb.actions.ActionProcessingException;
 import org.jboss.soa.esb.actions.ActionUtils;
 import org.jboss.soa.esb.actions.BaseTestActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.old.AbstractListener;
 import org.jboss.soa.esb.listeners.old.GpListener;
 import org.jboss.soa.esb.message.Message;
@@ -43,7 +43,7 @@
 
 	private MockGpListener gpListener;
 	private ActionDefinitionFactory factory;
-	private DomElement listenerConfig;
+	private ConfigTree listenerConfig;
 	private ActionDefinition action_ActionA;
 	private ActionDefinition action_ActionB;
 	private ActionDefinition action_ActionC;
@@ -54,9 +54,9 @@
 	@Override
 	protected void setUp() throws Exception {
 		gpListener = new MockGpListener();
-		listenerConfig = new DomElement("listenerConfig");
+		listenerConfig = new ConfigTree("listenerConfig");
 
-        DomElement config = DomElement.fromInputStream(getClass().getResourceAsStream("AbstractListener_ActionConfig.xml"));
+        ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("AbstractListener_ActionConfig.xml"));
         factory = new ActionDefinitionFactory(config);
         action_ActionA = factory.getInstance("ActionA");
         action_ActionB = factory.getInstance("ActionB");
@@ -81,12 +81,12 @@
 		assertActionsConfigException(message, "Message attachement [MESSAGE_PROCESSING_ACTIONS_LIST] was specified but with an empty value.  Aborting message processing.");
 		
 		// Bad actions config as an override attachment - unknown action...
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionX");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionX");
 		assertActionsConfigException("message1", "Bad Listener Configuration.  No 'Actions/Action' definition for action [ActionX].");
 	}
 
 	public void test_ActionsListenerConfig() throws Exception {
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionA, ActionB");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionA, ActionB");
 		
 		// Run the listener and check that the proper actions were run...
 		runListener("message1", null);
@@ -99,7 +99,7 @@
 		Message message = MessageFactory.getInstance().getMessage();
 
 		// Set the actions on both the listener config and on the message as an attachment...
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionA, ActionB");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionA, ActionB");
 		message.getAttachment().put(AbstractListener.MESSAGE_PROCESSING_ACTIONS_LIST, "ActionA, ActionC");
 		ActionUtils.setTaskObject(message, "message1");
 		
@@ -111,7 +111,7 @@
 	}
 
 	public void test_PrematureTermination_By_Exception() throws Exception {
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
 		
 		((BaseTestActionProcessor)action_ActionB.getProcessor()).exception = new ActionProcessingException("Premature termination by Exception!");
 		
@@ -123,7 +123,7 @@
 	}
 
 	public void test_PrematureTermination_By_Null() throws Exception {
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
 		
 		((BaseTestActionProcessor)action_ActionB.getProcessor()).returnNull = true;
 		
@@ -135,7 +135,7 @@
 	}
 
 	public void test_Last_Action_Returning_Null_OK() throws Exception {
-		listenerConfig.setAttr(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
+		listenerConfig.setAttribute(GpListener.PARM_ACTIONS, "ActionA, ActionB, ActionC");
 		
 		((BaseTestActionProcessor)action_ActionC.getProcessor()).returnNull = true;
 		

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/GpListenerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/GpListenerUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/GpListenerUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 import org.jboss.internal.soa.esb.command.InMemoryCommandQueue;
 import org.jboss.soa.esb.actions.ToNowhereRouter;
 import org.jboss.soa.esb.common.tests.BaseTest;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.old.GpListener;
 import org.jboss.soa.esb.util.ListenersManagerExecThread;
 import org.jboss.soa.esb.util.MockPoller;
@@ -60,7 +60,7 @@
 
 
     public void test_newGpListener() throws Exception {
-        DomElement config = DomElement.fromInputStream(getClass().getResourceAsStream("GpListener-Config-01.xml"));
+        ConfigTree config = ConfigTree.fromInputStream(getClass().getResourceAsStream("GpListener-Config-01.xml"));
         GpListener listenerManager = new GpListener(config);
         ListenersManagerExecThread execThread = new ListenersManagerExecThread(listenerManager);
         long currentTimeInMillis = System.currentTimeMillis();

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/SqlTablePollerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/SqlTablePollerUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/listeners/old/SqlTablePollerUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -53,7 +53,7 @@
     /*
     public void test_Construction() throws Exception {
 
-        DomElement domElement = DomElement.fromInputStream(
+        ConfigTree domElement = ConfigTree.fromInputStream(
                 getClass().getResourceAsStream("SqlTablePollerUnitTest.xml"));
 
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/AbstractMockListner.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/AbstractMockListner.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/AbstractMockListner.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -27,7 +27,7 @@
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.old.AbstractListener;
 import org.jboss.soa.esb.listeners.old.GpListener;
 
@@ -43,7 +43,7 @@
 	public List<MessageInError> messagesInError = new Vector<MessageInError>();
 	public List<Object> messagesCompleted = new Vector<Object>();
 	
-	public AbstractMockListner(GpListener p_oDad, DomElement p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
+	public AbstractMockListner(GpListener p_oDad, ConfigTree p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
 		super(p_oDad, p_oParms, actionDefinitionFactory);
 	}
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNonblockingListener.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNonblockingListener.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNonblockingListener.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -22,7 +22,7 @@
 package org.jboss.soa.esb.util;
 
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.old.GpListener;
 
 /**
@@ -36,7 +36,7 @@
 
 	public Object[] messages;
 	
-	public MockNonblockingListener(GpListener p_oDad, DomElement p_oParms,
+	public MockNonblockingListener(GpListener p_oDad, ConfigTree p_oParms,
 			ActionDefinitionFactory actionDefinitionFactory) throws Exception {
 		super(p_oDad, p_oParms, actionDefinitionFactory);
 	}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockNotificationTarget.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -7,7 +7,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.notification.NotificationTarget;
 
 /**
@@ -29,10 +29,10 @@
 	private static Hashtable<String, List<Serializable>> targetLists = new Hashtable<String, List<Serializable>>();
 	private List<Serializable> targetList;
 	
-	public MockNotificationTarget(DomElement config) {
+	public MockNotificationTarget(ConfigTree config) {
 		super(config);
 		
-		String name = config.getAttr("name");
+		String name = config.getAttribute("name");
 		
 		if(name == null || name.trim().equals("")) {
 			TestCase.fail("Mock NotificationTarget configured incorrectly.  Must specify a 'name' attribute on the NotificationList/target element.");

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockPoller.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockPoller.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/listeners/tests/src/org/jboss/soa/esb/util/MockPoller.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -8,7 +8,7 @@
 
 import org.jboss.soa.esb.actions.ActionDefinitionFactory;
 import org.jboss.soa.esb.actions.ActionProcessor;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.listeners.old.AbstractPoller;
 import org.jboss.soa.esb.listeners.old.GpListener;
 
@@ -24,7 +24,7 @@
 	public List<MessageInError> messagesInError = new Vector<MessageInError>();
 	public List<Object> messagesCompleted = new Vector<Object>();
 	
-	public MockPoller(GpListener p_oDad, DomElement p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
+	public MockPoller(GpListener p_oDad, ConfigTree p_oParms, ActionDefinitionFactory actionDefinitionFactory) throws Exception {
 		super(p_oDad, p_oParms, actionDefinitionFactory);
         m_iPollMillis = 250;
 	}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/CommandQueue.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,6 +1,6 @@
 package org.jboss.internal.soa.esb.command;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Command queue abstraction.
@@ -14,7 +14,7 @@
 	 * @param config Command queue configuration.
 	 * @throws CommandQueueException Queue exception.  Check for probable chained cause exceptions.
 	 */
-	public void open(DomElement config) throws CommandQueueException;
+	public void open(ConfigTree config) throws CommandQueueException;
 	
 	/**
 	 * Receive a message from the underlying queue implementation.

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/InMemoryCommandQueue.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -4,7 +4,7 @@
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * In Memory Blocking Command Queue.
@@ -13,7 +13,7 @@
  * <p/>
  * The command queue's configuration needs to specify the
  * queue name via a "command-queue-name" attribute supplied in the configuration to the
- * {@link #open(DomElement)} method.  The queues are stored statically and can be accessed via the
+ * {@link #open(ConfigTree)} method.  The queues are stored statically and can be accessed via the
  * {@link #getQueue(String)} method using the queue name.
  * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
  * @since Version 4.0
@@ -30,12 +30,12 @@
 	private String name;
 	private BlockingQueue<String> queue = new LinkedBlockingQueue<String>();
 	
-	public void open(DomElement config) throws CommandQueueException {
+	public void open(ConfigTree config) throws CommandQueueException {
 		if(config == null) {
 			throw new IllegalArgumentException("null 'config' arg in method call.");
 		}
 		
-		name = config.getAttr(COMMAND_QUEUE_NAME);
+		name = config.getAttribute(COMMAND_QUEUE_NAME);
 		if(name == null) {
 			throw new CommandQueueException("Attribute 'command-queue-name' must be specified on the command queue configuration.");
 		}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/command/JmsCommandQueue.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -21,7 +21,7 @@
 import org.apache.log4j.Logger;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.helpers.AppServerContext;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.util.Util;
 
 /**
@@ -53,7 +53,7 @@
 
 	private Connection m_oJmsConn;
 	
-	public void open(DomElement config) throws CommandQueueException {
+	public void open(ConfigTree config) throws CommandQueueException {
 		try {
 			initialiseJMS(config);
 		} catch (Exception e) {
@@ -94,9 +94,9 @@
 		return null;
 	}
 
-	private void initialiseJMS(DomElement p_oP) throws Exception {
+	private void initialiseJMS(ConfigTree p_oP) throws Exception {
 		// Only check for JMS attributes if a queue JNDI name was specified
-		String sJndiName = p_oP.getAttr(COMMAND_JNDI_NAME);
+		String sJndiName = p_oP.getAttribute(COMMAND_JNDI_NAME);
 		if (!Util.isNullString(sJndiName)) {
 			Map<String, Object> oNewAtts = new HashMap<String, Object>();
 
@@ -116,7 +116,7 @@
 				sFactClass = "ConnectionFactory";
 			Object oFactCls = oJndiCtx.lookup(sFactClass);
 
-			String sMsgSelector = p_oP.getAttr(COMMAND_MSG_SELECTOR);
+			String sMsgSelector = p_oP.getAttribute(COMMAND_MSG_SELECTOR);
 			if (null != sMsgSelector)
 				oNewAtts.put(COMMAND_MSG_SELECTOR, sMsgSelector);
 
@@ -151,7 +151,7 @@
 	 * Find an attribute in the tree (arg 0) or assign default value (arg 2)
 	 * 
 	 * @param p_oP
-	 *            DomElement - look for attributes in this Element only
+	 *            ConfigTree - look for attributes in this Element only
 	 * @param p_sAtt
 	 *            String - Name of attribute to find
 	 * @param p_sDefault
@@ -161,9 +161,9 @@
 	 *             If requested attribute not found and no default value
 	 *             supplied by invoker
 	 */
-	private String obtainAtt(DomElement p_oP, String p_sAtt, String p_sDefault)
+	private String obtainAtt(ConfigTree p_oP, String p_sAtt, String p_sDefault)
 			throws ConfigurationException {
-		String sVal = p_oP.getAttr(p_sAtt);
+		String sVal = p_oP.getAttribute(p_sAtt);
 		if ((null == sVal) && (null == p_sDefault))
 			throw new ConfigurationException("Missing or invalid <" + p_sAtt + "> attribute");
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,6 +1,5 @@
 package org.jboss.internal.soa.esb.message.format.xml;
 
-import java.io.Serializable;
 import java.util.Enumeration;
 import java.util.Hashtable;
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/marshal/MarshalUnmarshalManager.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,16 +1,3 @@
-package org.jboss.internal.soa.esb.message.format.xml.marshal;
-
-import java.net.URI;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import org.jboss.soa.esb.MarshalException;
-import org.jboss.soa.esb.UnmarshalException;
-import org.jboss.soa.esb.common.ModulePropertyManager;
-import org.jboss.soa.esb.message.format.MessagePlugin;
-import org.w3c.dom.Element;
-
 /*
  * JBoss, Home of Professional Open Source
  * Copyright 2006, JBoss Inc., and others contributors as indicated 
@@ -32,6 +19,18 @@
  * @author mark.little at jboss.com
  */
 
+package org.jboss.internal.soa.esb.message.format.xml.marshal;
+
+import java.net.URI;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Properties;
+
+import org.jboss.soa.esb.MarshalException;
+import org.jboss.soa.esb.UnmarshalException;
+import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.w3c.dom.Element;
+
 /**
  * Used to plug in new Object marshal/unmarshal formats dynamically. When packing
  * objects in XML, the system runs through the list of registered plug-ins until it

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/notification/MacroExpander.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -24,12 +24,7 @@
 
 import java.util.Map;
 
-import org.jboss.soa.esb.helpers.DomElement;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * MacroExpander class.
@@ -55,22 +50,15 @@
 
 	/**
 	 * Perform a macro replacement on the DOM tree attribute values
-	 * of the supplied DomElement using the supplied macro token
+	 * of the supplied ConfigTree using the supplied macro token
 	 * replacement map.
 	 * @param domTree The DOM Tree to be operated on.
 	 * @param replacementTokenMapMap The token replacement map.
 	 */
-	public static void replaceMacros(DomElement domTree, Map replacementTokenMapMap) {
-		replaceMacros(domTree.getDomElement(), replacementTokenMapMap);
-	}
-	
-	private static void replaceMacros(Element element, Map p_oMap) {
-		NamedNodeMap attributes = element.getAttributes();
-		int attribCount = attributes.getLength();
+	public static void replaceMacros(ConfigTree domTree, Map replacementTokenMap) {
 
-		for (int i = 0; i < attribCount; i++) {
-			Attr attribute = (Attr) attributes.item(i);
-			String sVal = attribute.getValue();
+		for (String currAtt : domTree.getAttributeNames()) {
+			String sVal = domTree.getAttribute(currAtt);
 			boolean bSubst = false;
 			int iPos = 0;
 
@@ -81,7 +69,7 @@
 					if (!sRest.startsWith(sMac)) {
 						continue;
 					}
-					Object oRpl = (null != p_oMap) ? p_oMap.get(sMac) : null;
+					Object oRpl = (null != replacementTokenMap) ? replacementTokenMap.get(sMac) : null;
 					if (null == oRpl) {
 						continue;
 					}
@@ -91,20 +79,15 @@
 				}
 			}
 			if (bSubst) {
-				attribute.setValue(sVal);
+				domTree.setAttribute(currAtt,sVal);
 			}
 		}
 		
 		// Iterate over the child elements and recursively call this method...
-		NodeList children = element.getChildNodes();
-		int childCount = children.getLength();
-		for (int i = 0; i < childCount; i++) {
-			Node child = children.item(i);
+		for (ConfigTree child : domTree.getAllChildren()) {
 			
-			if(child.getNodeType() != Node.ELEMENT_NODE) {
-				continue;
-			}
-			replaceMacros((Element)child, p_oMap);
+			if(! child.isPureText())
+				replaceMacros(child, replacementTokenMap);
 		}
 	}
 }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/addressing/util/EPRManager.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,5 +1,3 @@
-package org.jboss.soa.esb.addressing.util;
-
 /*
  * JBoss, Home of Professional Open Source
  * Copyright 2006, JBoss Inc., and others contributors as indicated 
@@ -21,8 +19,9 @@
  * @author mark.little at jboss.com
  */
 
+package org.jboss.soa.esb.addressing.util;
+
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/ConfigTree.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -13,7 +13,7 @@
 import org.xml.sax.SAXException;
 /**
  * Objects of this class are to be used for run time configuration of ESB components 
- * <p/>  This should gradually replace the DomElement class
+ * <p/>  This should gradually replace the ConfigTree class
  * <br/> It is a subset of Tree that accepts a Map of attributes, and a List of children
  * <br/> children can only be String values, or objects of this class
  * <p/> fromXml() and toXml() methods allow 'visible' representations of objects of this class
@@ -40,6 +40,14 @@
 		setName(name);
 		setParent(dad);
 	} // _______________________________
+/**
+ * protected constructor
+ * @param other - Where to get values for deep copy
+ */
+	protected ConfigTree(ConfigTree other)
+	{
+		copyFrom(other);
+	} // _______________________________
 
 	/**
 	 * 
@@ -62,11 +70,11 @@
 	 * @return ConfigTree - the parent tree of 'this' 
 	 */
 	public ConfigTree getParent() 			{ return _dad; }
+	
 	private  void   setParent(ConfigTree dad)	
 	{ 
 		if (null!=_dad && null!=_dad._childs)
 				_dad._childs.remove(this);
-		_dad = dad;
 		if (null!=_dad)
 			_dad.addChild(this); 
 	} 	
@@ -190,7 +198,9 @@
  * @param value String - the text to assign to the added child node
  */
 	public void addTextChild (String value) { new Child(value); }
-	private void addChild(ConfigTree child)	{ new Child(child); }
+	
+	private void addChild(ConfigTree child)	
+		{ child._dad = this; new Child(child); }
 /**
  * retrieve list of child elements of 'this' that are instances of ConfigTree
  * @return ConfigTree[] - Array containing all child elements of class ConfigTree
@@ -300,6 +310,23 @@
 			}
 		return oRet;
 	} // __________________________________
+	/**
+	 * Deep copy of other tree
+	 * @param other - from where to copy values
+	 */
+	protected void copyFrom(ConfigTree other)
+	{
+		this.setName(other.getName());
+		this._pureText	= other._pureText;
+
+		if (null != other._attributes)
+			for (Map.Entry<String,String> oneAtt : other._attributes.entrySet())
+				setAttribute(oneAtt.getKey(),oneAtt.getValue());
+		if (null != other._childs)
+			for (Child child : other._childs)
+				new Child(child);
+			
+	} // __________________________________
 /**
  * obtain an instance of this class, from a 'normalized' xml format, with the default encoding
  * <p/> the 'normalized' xml format is the output of the toXml() instance method
@@ -360,36 +387,42 @@
 		}
 		Document oDoc = builder.parse(input);
 		oDoc.normalize();
-		return fromDomElement(oDoc.getDocumentElement(),null);
+		
+		return fromElement(oDoc.getDocumentElement());
+		
 	} // __________________________________
-/**
- * Obtain a ConfigTree from a org.w3c.dom.Element
- * @param elem Element - where to obtain the data from
- * @param dad - where should the resulting object be added as a child
- * @return a valid ConfigTree
- */	
-	public static ConfigTree fromDomElement(Element elem, ConfigTree dad) 
+
+	private static ConfigTree fromElement(Element elem)
 	{
-		ConfigTree oRet = new ConfigTree(elem.getNodeName(),dad);
-		for (Node nCurr = elem.getFirstChild();null!=nCurr;nCurr = nCurr.getNextSibling())
-			switch (nCurr.getNodeType())
+		ConfigTree tree = new ConfigTree(elem.getNodeName());
+		NamedNodeMap NM = elem.getAttributes();
+		if (null!=NM)
+			for (int i1=0; i1<NM.getLength(); i1++)
 			{
-				case Node.ELEMENT_NODE:
-					fromDomElement((Element)nCurr,oRet);
-					break;
-				case Node.TEXT_NODE:
-					oRet.addTextChild(nCurr.getNodeValue());
-					break;
+				Node node = NM.item(i1);
+				tree.setAttribute(node.getNodeName(),node.getNodeValue());
 			}
-		NamedNodeMap named = elem.getAttributes();
-		for (int i1=0; i1<named.getLength(); i1++)
-		{
-			Node nCurr = named.item(i1);
-			oRet.setAttribute(nCurr.getNodeName(), nCurr.getNodeValue());
-		}
-		return oRet;
+		NodeList NL = elem.getChildNodes();
+		if (null!=NL)
+			for (int i1=0; i1<NL.getLength(); i1++)
+			{
+				Node node = NL.item(i1);
+				if (!(node instanceof Element))
+					continue;
+				switch (node.getNodeType())
+				{	
+					case Node.ELEMENT_NODE:
+						tree.addChild(ConfigTree.fromElement((Element)node));
+						break;
+					case Node.TEXT_NODE:
+						tree.addTextChild(node.getNodeValue());
+						break;
+				}
+			}
+		
+		return tree;
 	} // __________________________________
-	
+
 	private Element toElement(Document doc)
 	{
 		Element elem = doc.createElement(_name);
@@ -472,36 +505,7 @@
 	} // __________________________________
 	
 	/**
-	 * Store an arbitrary object in a 'transient' object Map
-	 * @param key String
-	 * @param value Object - if &lt;null&gt; => old object will be removed and no new value stored
-	 * @return Object - The previous value stored under the key  -   &lt;null&gt; if none was
-	 */
-//	public Object setTransient(String key, Object value)
-//	{
-//		if (null==key)
-//			throw new IllegalArgumentException("Key must be not null");
-//		if (null==_transients)
-//			_transients = new HashMap<String,Object>();
-//		Object oRet = _transients.remove(key);
-//		if (null!=value)
-//			_transients.put(key,value);
-//		return oRet;
-//	} //________________________________
-	
-	/**
 	 * 
-	 * @return Object - value stored in the map of transient objects 
-	 */
-//	public Object getTransient(String key) 
-//	{
-//		if (null==key)
-//			throw new IllegalArgumentException("Key must be not null");
-//		return (null==_transients) ? null : _transients.get(key); 
-//	} //________________________________
-	
-	/**
-	 * 
 	 * @return boolean - indicating if 'this' element has ONLY text children (and consequently no ConfigTree children)
 	 */
 	public boolean isPureText() { return _pureText; }
@@ -517,6 +521,21 @@
 		}
 		private Child(ConfigTree obj)	{addToDad(obj); _pureText = false;}
 		private Child(String obj)		{addToDad(obj); }
+		private Child(Child other)		
+		{	
+			if (other._obj instanceof ConfigTree)
+			{
+				addToDad(((ConfigTree)other._obj).cloneObj());
+				_pureText	= false;
+				return;
+			}
+			if (other._obj instanceof String)
+			{
+				addToDad((String)other._obj);
+				return;
+			}
+
+		}
 		private void addToDad(Object obj)
 		{	if (null==_childs)
 				_childs = new ArrayList<Child>();

Deleted: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/DomElement.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/DomElement.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/DomElement.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,431 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, 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.soa.esb.helpers;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.jboss.soa.esb.common.ModulePropertyManager;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.SAXException;
-
-/**
- * Wrapper class around the W3C DOM API. <p/> This clas attempts to remove some
- * of the complexity of dealing with the W3C DOM API. It's basically a wrapper
- * class around the {@link org.w3c.dom.Element} and {@link org.w3c.dom.Document}
- * classes. <p/> It provides utility methods for constructing a DOM from a
- * stream, adding/removing elements and attributes from the DOM, and methods for
- * serializing the DOM.
- * 
- * @author <a href="mailto:schifest at gmail.com">Esteban Shifman</a>
- */
-public class DomElement
-{
-	protected static final String LINE_BREAK = ModulePropertyManager
-			.getPropertyManager(ModulePropertyManager.CORE_MODULE).getProperty("line.separator");
-
-	private static final transient String s_sCharset = "ISO-8859-1";
-
-	// private static final transient String s_sEncoding = "<?xml
-	// version=\"1.0\" encoding=\"ISO-8859-1\"?>";
-
-	private transient static DocumentBuilder s_oDocumentBuilder;
-
-	private transient static Transformer s_Transformer;
-
-	private transient Element m_oRootW3CElement;
-
-	private DomElement m_oParentDomElement;
-
-	public DomElement getDad()
-	{
-		return m_oParentDomElement;
-	}
-
-	static
-	{
-		try
-		{
-			s_oDocumentBuilder = DocumentBuilderFactory.newInstance()
-					.newDocumentBuilder();
-			s_Transformer = TransformerFactory.newInstance().newTransformer();
-			s_Transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,
-					"yes");
-			s_Transformer.setOutputProperty(OutputKeys.INDENT, "no");
-			s_Transformer.setOutputProperty(OutputKeys.ENCODING, s_sCharset);
-		} catch (Exception e)
-		{
-		}
-	};
-
-	private DomElement()
-	{
-	}
-
-	protected DomElement(Element p_oE)
-	{
-		this();
-		Document oDoc = null;
-		synchronized (s_oDocumentBuilder)
-		{
-			oDoc = s_oDocumentBuilder.newDocument();
-		}
-		Node oNew = oDoc.importNode(p_oE.cloneNode(true), true);
-		m_oRootW3CElement = (Element) oDoc.appendChild(oNew);
-	} // __________________________________
-
-	public DomElement(String p_sName)
-	{
-		this(p_sName, null);
-	}
-
-	/**
-	 * Construct a new DomElement object by cloning arg 1
-	 * <p>
-	 * Cloning makes it safe to work on the new object without altering the
-	 * contents of the argument
-	 * </p>
-	 * 
-	 * @param p_oP
-	 *            DomElement
-	 * @throws Exception
-	 */
-	protected DomElement(DomElement p_oP) throws Exception
-	{
-		m_oRootW3CElement = p_oP.cloneObj().m_oRootW3CElement;
-	}
-
-	private DomElement(String p_sName, DomElement p_oParentDomElement)
-	{
-		this();
-		Document oW3CDoc = null;
-		if (null == p_oParentDomElement)
-		{
-			synchronized (s_oDocumentBuilder)
-			{
-				oW3CDoc = s_oDocumentBuilder.newDocument();
-			}
-			m_oRootW3CElement = (Element) oW3CDoc.appendChild(oW3CDoc
-					.createElement(p_sName));
-		} else
-		{
-			m_oParentDomElement = p_oParentDomElement;
-			oW3CDoc = p_oParentDomElement.m_oRootW3CElement.getOwnerDocument();
-			m_oRootW3CElement = (Element) p_oParentDomElement.m_oRootW3CElement
-					.appendChild(oW3CDoc.createElement(p_sName));
-		}
-	} // __________________________________
-
-	public static DomElement fromConfigTree(ConfigTree tree)
-	{
-		if (null==tree)
-			throw new IllegalArgumentException("tree must be not null");
-		try { return fromXml(tree.toXml()); }
-		// This should never throw an exception, but... just in case
-		catch (IOException e) 	{e.printStackTrace(); }
-		catch (SAXException e)	{e.printStackTrace(); }
-		return null;
-	} // __________________________________
-
-	public static DomElement fromInputStream(InputStream p_oIS)
-			throws SAXException, IOException
-	{
-		Document oDoc = null;
-		synchronized (s_oDocumentBuilder)
-		{
-			oDoc = s_oDocumentBuilder.parse(p_oIS);
-		}
-		DomElement oRet = new DomElement();
-		oRet.m_oRootW3CElement = oDoc.getDocumentElement();
-		return oRet;
-	} // __________________________________
-
-	public static DomElement fromURL(String p_sFname) throws Exception
-	{
-		return fromInputStream(new FileInputStream(p_sFname));
-	} // __________________________________
-
-	public static DomElement fromXml(String p_xmlString) throws SAXException,
-			IOException
-	{
-		// TF: Modified this constructor to use the fromInputStream method.
-
-		if (p_xmlString == null || p_xmlString.trim().equals(""))
-		{
-			throw new IllegalArgumentException(
-					"Null or empty 'p_xmlString' arg in call.");
-		}
-
-		InputStream oIS = new ByteArrayInputStream(p_xmlString
-				.getBytes(s_sCharset));
-
-		return fromInputStream(oIS);
-	} // __________________________________
-
-	public String toString()
-	{
-		return toXml().toString().replaceAll(LINE_BREAK, "&#10;").replaceAll(
-				"\t", "")
-				+ LINE_BREAK;
-	} // ________________________________
-
-	public ByteArrayOutputStream toXml()
-	{
-		Document oDoc = null;
-		synchronized (s_oDocumentBuilder)
-		{
-			oDoc = s_oDocumentBuilder.newDocument();
-		}
-		oDoc.appendChild(oDoc.importNode(m_oRootW3CElement, true));
-		oDoc.normalize();
-		DOMSource src = new DOMSource(oDoc);
-
-		ByteArrayOutputStream oStrm = new ByteArrayOutputStream(5000);
-		StreamResult res = new StreamResult(oStrm);
-
-		try
-		{
-			synchronized (s_Transformer)
-			{
-				s_Transformer.transform(src, res);
-			}
-		} catch (Exception e)
-		{
-			try
-			{
-				oStrm.write("ERROR Dom3Element.toXml()".getBytes());
-			} catch (Exception e1)
-			{
-			}
-		}
-		return oStrm;
-	} // __________________________________
-
-	// _________ GETTERS
-	// ____________________________________________________________
-
-	public Element getDomElement()
-	{
-		return m_oRootW3CElement;
-	}
-
-	public String getName()
-	{
-		return m_oRootW3CElement.getNodeName();
-	}
-
-	public String[] getAttrKeys()
-	{
-		NamedNodeMap NM = m_oRootW3CElement.getAttributes();
-		String[] saRet = new String[NM.getLength()];
-		for (int i1 = 0; i1 < saRet.length; i1++)
-			saRet[i1] = NM.item(i1).getNodeName();
-		return saRet;
-	} // __________________________________
-
-	public String getAttr(String p_sAttribName)
-	{
-		if (!m_oRootW3CElement.hasAttribute(p_sAttribName))
-			return null;
-		return m_oRootW3CElement.getAttribute(p_sAttribName);
-	} // __________________________________
-
-	public static String getTextValue(Node p_Node)
-	{
-		StringBuffer sb = new StringBuffer();
-		Node nCurr = p_Node.getFirstChild();
-		while (null != nCurr)
-		{
-			if (nCurr instanceof Text)
-				sb.append(nCurr.getNodeValue());
-			nCurr = nCurr.getNextSibling();
-		}
-		return sb.toString();
-	} // __________________________________
-
-	public String[] getTextChildren(String p_sElementName)
-	{
-		NodeList NL = getElementNodeList(p_sElementName);
-		List<String> oL = new ArrayList<String>();
-		for (int i1 = 0; i1 < NL.getLength(); i1++)
-			oL.add(getTextValue(NL.item(i1)));
-		String[] saRet = new String[oL.size()];
-		oL.toArray(saRet);
-		return saRet;
-	} // __________________________________
-
-	public DomElement[] getElementChildren(String p_sElementName)
-	{
-		DomElement oDE = null;
-
-		NodeList NL = getElementNodeList(p_sElementName);
-		List<DomElement> oL = new ArrayList<DomElement>();
-
-		for (int i1 = 0; i1 < NL.getLength(); i1++)
-		{
-			Node nCurr = NL.item(i1);
-			if (nCurr instanceof Element)
-			{
-				oL.add(oDE = new DomElement((Element) nCurr));
-				oDE.m_oParentDomElement = this;
-			}
-		}
-		DomElement[] oaRet = new DomElement[oL.size()];
-		oL.toArray(oaRet);
-		return oaRet;
-	} // __________________________________
-
-	public DomElement getFirstElementChild(String p_sElementName)
-	{
-		DomElement[] children = getElementChildren(p_sElementName);
-
-		if (children != null && children.length > 0)
-		{
-			return children[0];
-		} else
-		{
-			return null;
-		}
-	} // __________________________________
-
-	/**
-	 * Get a nodelist for the specified element name from the associated
-	 * Document.
-	 * 
-	 * @param p_sElementName
-	 *            Element tag name.
-	 * @return Nodelist.
-	 */
-	private NodeList getElementNodeList(String p_sElementName)
-	{
-		// TF: Modified the following line to allow the document root element be
-		// included in the lookup..
-		return m_oRootW3CElement.getOwnerDocument().getElementsByTagName(
-				p_sElementName);
-	}
-
-	public DomElement[] getAllElemChildren()
-	{
-		DomElement oDE = null;
-		List<DomElement> oL = new ArrayList<DomElement>();
-		Node nCurr = m_oRootW3CElement.getFirstChild();
-
-		while (null != nCurr)
-		{
-			if (nCurr instanceof Element)
-			{
-				oL.add(oDE = new DomElement((Element) nCurr));
-				oDE.m_oParentDomElement = this;
-			}
-			nCurr = nCurr.getNextSibling();
-		}
-		DomElement[] oaRet = new DomElement[oL.size()];
-		oL.toArray(oaRet);
-		return oaRet;
-	} // __________________________________
-
-	// _________ SETTERS
-	// ____________________________________________________________
-
-	public void setAttr(String p_sAttribName, String p_sAttribValue)
-	{
-		if (null == p_sAttribName)
-		{
-			// REVIEW: Shouldn't this throw an IllegalArgumentException???
-			return;
-		}
-		m_oRootW3CElement.removeAttribute(p_sAttribName);
-		if (null != p_sAttribValue)
-		{
-			m_oRootW3CElement.setAttribute(p_sAttribName, p_sAttribValue);
-		}
-	} // __________________________________
-
-	public void addTextChild(String p_sKey, String p_sVal)
-	{
-		if (null == p_sKey || null == p_sVal)
-			return;
-		DomElement oNew = new DomElement(p_sKey, this);
-		oNew.m_oRootW3CElement.appendChild(m_oRootW3CElement.getOwnerDocument()
-				.createTextNode(p_sVal));
-	} // __________________________________
-
-	public void addTextChildren(String p_sKey, String[] p_saVal)
-	{
-		if (null == p_sKey || null == p_saVal)
-			return;
-		for (int i1 = 0; i1 < p_saVal.length; i1++)
-			addTextChild(p_sKey, p_saVal[i1]);
-	} // __________________________________
-
-	public void addElemChild(DomElement p_oElementChild)
-	{
-		p_oElementChild.m_oParentDomElement = this;
-		Document oDoc = m_oRootW3CElement.getOwnerDocument();
-		// Need to clone the node because the Elements are from different
-		// Document - you'll get
-		// an exception if you simply try to append it.
-		Element clonedElement = (Element) oDoc.importNode(
-				p_oElementChild.m_oRootW3CElement, true);
-		m_oRootW3CElement.appendChild(clonedElement);
-		// Reset W3C element of the child DomElement to be the cloned element.
-		p_oElementChild.m_oRootW3CElement = clonedElement;
-	} // __________________________________
-
-	public void rmvChildsByName(String p_sTagName)
-	{
-		NodeList NL = m_oRootW3CElement.getElementsByTagName(p_sTagName);
-		for (int i1 = 0; i1 < NL.getLength(); i1++)
-			m_oRootW3CElement.removeChild(NL.item(i1));
-	} // __________________________________
-
-	// _________ UTILITIES /
-	// HELPERS_________________________________________________
-
-	public DomElement cloneObj() throws SAXException, IOException
-	{
-		// REVIEW: This must be a performance killer - surely the
-		// associated DOM can be cloned Vs serialising to a string and parsing
-		// from scratch again!!!
-		return DomElement.fromXml(this.toString());
-	} // __________________________________
-
-} // ____________________________________________________________________________

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/Email.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -54,7 +54,7 @@
  * 
  * <h3 id="p_oMessageParms">Message Parmeters</h3>
  * The class constructor is supplied the following parameters via a
- * {@link org.jboss.soa.esb.helpers.DomElement} instance:
+ * {@link org.jboss.soa.esb.helpers.ConfigTree} instance:
  * <ol>
  * 	<li><b>FROM</b>: valid e-mail address</li>
  * 	<li><b>SENDTO</b>: valid comma separated list of e-mail addresses</li>
@@ -63,9 +63,9 @@
  * 	<li><b>ATTACH</b>: list (as Text children) of valid accessible filenames to
  * 			attach to the e-mail</li>
  * </ol>
- * All parameters except 'ATTACH' are attributes of the DomElement argument. ATTACH
- * parameters (attachments) are added as child DomElements of the  supplied
- * DomElement.
+ * All parameters except 'ATTACH' are attributes of the ConfigTree argument. ATTACH
+ * parameters (attachments) are added as child ConfigTrees of the  supplied
+ * ConfigTree.
  * 
  * @author: Heuristica - Buenos Aires - Argentina
  */
@@ -76,35 +76,35 @@
 	 */
 	private static Logger logger = Logger.getLogger(Email.class);
 	/**
-	 * DomElement attribute : will be the contents of the From: field in the
+	 * ConfigTree attribute : will be the contents of the From: field in the
 	 * outgoing message
 	 */
 	public static final String FROM = "from";
 
 	/**
-	 * DomElement attribute : comma separated list of recipients
+	 * ConfigTree attribute : comma separated list of recipients
 	 */
 	public static final String SENDTO = "sendTo";
 
 	/**
-	 * DomElement attribute : comma separated list of Copy recipients
+	 * ConfigTree attribute : comma separated list of Copy recipients
 	 */
 	public static final String COPYTO = "ccTo";
 
 	/**
-	 * DomElement attribute : will be the contents of the Subject: field in the
+	 * ConfigTree attribute : will be the contents of the Subject: field in the
 	 * outgoing message
 	 */
 	public static final String SUBJECT = "subject";
 
 	/**
-	 * DomElement attribute : Value of this attribute will be the content of the
+	 * ConfigTree attribute : Value of this attribute will be the content of the
 	 * e-mail's text
 	 */
 	public static final String ATTACH = "attachment";
 
 	/**
-	 * DomElement child Text elements : Each child represents the name of a file
+	 * ConfigTree child Text elements : Each child represents the name of a file
 	 * to be attached in the outgoing message
 	 */
 	public static final String MESSAGE = "message";
@@ -160,10 +160,10 @@
 	 * method.
 	 * 
 	 * @param p_oMessageParms
-	 *            A DomElement object containing the elements mentioned above
+	 *            A ConfigTree object containing the elements mentioned above
 	 * @throws MessagingException 
 	 * @throws AddressException 
-	 * @see DomElement
+	 * @see ConfigTree
 	 * 
 	 */
 	public Email() throws AddressException, MessagingException {
@@ -290,7 +290,7 @@
 	private MimeMessage createMailMessage(Session oMailSess) throws AddressException, MessagingException {
 		MimeMessage oMessage = new MimeMessage(oMailSess);
 		
-		// Populate the message with the data supplied in the p_oMessageParms DomElement.
+		// Populate the message with the data supplied in the p_oMessageParms ConfigTree.
 		addMessageAddressing(oMessage);
 		addMessageSubject( oMessage);
 		addMessageContent(oMessage);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/helpers/persist/SimpleDataSource.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -27,7 +27,7 @@
 
 import javax.sql.DataSource;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * <p>
@@ -40,7 +40,7 @@
  * 
  * @version 1.0
  * @see JdbcCleanConn
- * @see DomElement
+ * @see ConfigTree
  */
 public class SimpleDataSource implements DataSource {
 	private PrintWriter m_oPW = new PrintWriter(System.out);
@@ -63,7 +63,7 @@
 	}
 
 	/**
-	 * Obtain a DataSource by providing connection parameters. DomElement
+	 * Obtain a DataSource by providing connection parameters. ConfigTree
 	 * argument must contain the following attributes
 	 * <p>
 	 * <li> driver-class</li>
@@ -73,16 +73,16 @@
 	 * </p>
 	 * 
 	 * @param p_oP
-	 *            DomElement - Parameter tree that contains the 4 attributes
+	 *            ConfigTree - Parameter tree that contains the 4 attributes
 	 *            needed
 	 * @throws Exception
-	 * @see DomElement
+	 * @see ConfigTree
 	 * @see SimpleDataSource#SimpleDataSource(String,String,String,String)
 	 * @see javax.sql.DataSource
 	 */
-	public SimpleDataSource(DomElement p_oP) throws Exception {
-		this(p_oP.getAttr(DRIVER), p_oP.getAttr(URL), p_oP.getAttr(USER), p_oP
-				.getAttr(PASSWORD));
+	public SimpleDataSource(ConfigTree p_oP) throws Exception {
+		this(p_oP.getAttribute(DRIVER), p_oP.getAttribute(URL), p_oP.getAttribute(USER), p_oP
+				.getAttribute(PASSWORD));
 	} // ________________________________
 
 	/**

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationList.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -24,7 +24,7 @@
 
 import java.io.Serializable;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Holds lists of NotificationTarget objects so that the
@@ -43,8 +43,13 @@
  * 
  * @version 1.0
  */
-public class NotificationList extends DomElement {
+public class NotificationList extends ConfigTree {
 	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
 	 * Mnemonic name for the XML element name for the serialized form of objects
 	 * of this class
 	 */
@@ -60,22 +65,22 @@
 	 * Instantiate an object according to the contents of &lt;arg 1&gt;
 	 * 
 	 * @param p_oP
-	 *            DomElement - Parameter object containing the information
+	 *            ConfigTree - Parameter object containing the information
 	 *            needed to instantiate this object, including child elements
 	 *            named "target" that represent each individual
 	 *            NotificationTarget object
 	 * @throws Exception -
 	 *             the getMessage() of the Exception explains the problem
 	 */
-	public NotificationList(DomElement p_oP) throws Exception {
+	public NotificationList(ConfigTree p_oP){
 		super(p_oP);
-		m_sType = p_oP.getAttr(TYPE);
+		m_sType = p_oP.getAttribute(TYPE);
 		if (null != m_sType)
 			m_sType = m_sType.toLowerCase();
 	} // __________________________________
 
 	private NotificationTarget[] getTargets() throws Exception {
-		DomElement[] oaTgts = super.getElementChildren(CHILD_TGT);
+		ConfigTree[] oaTgts = super.getChildren(CHILD_TGT);
 		NotificationTarget[] oaRet = new NotificationTarget[oaTgts.length];
 		
 		for (int i1 = 0; i1 < oaRet.length; i1++) {
@@ -109,9 +114,9 @@
 	 * @return boolean - Yes, Attribute "type" of constructor parameters starts
 	 *         with "ok", OR there was no "type" attribute in the constructor
 	 *         <li>A NotificationList can be both OK and Error if no "type"
-	 *         attribute was specified at constructor time in the DomElement
+	 *         attribute was specified at constructor time in the ConfigTree
 	 *         argument</li>
-	 * @see DomElement#getAttr(String)
+	 * @see ConfigTree#getAttr(String)
 	 */
 	public boolean isOK() {
 		return (null == m_sType) ? true : m_sType.startsWith("ok");
@@ -123,9 +128,9 @@
 	 * @return boolean - Yes, Attribute "type" of constructor parameters starts
 	 *         with "err", OR there was no "type" attribute in the constructor
 	 *         <li>A NotificationList can be both OK and Error if no "type"
-	 *         attribute was specified at constructor time in the DomElement
+	 *         attribute was specified at constructor time in the ConfigTree
 	 *         argument</li>
-	 * @see DomElement#getAttr(String)
+	 * @see ConfigTree#getAttr(String)
 	 */
 	public boolean isErr() {
 		return (null == m_sType) ? true : m_sType.startsWith("err");

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotificationTarget.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -25,7 +25,7 @@
 
 import java.lang.reflect.Constructor;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 /**
  * Abstract class to define expected behaviour of all NotificationTargets and
  * provide some common functionality to all of them
@@ -41,7 +41,7 @@
    * @param p_o Object - The toString() method of this object will be the actual
    * notification content
    * @throws Exception - invoke Exception.getMessage() at runtime for this object
-   * @see DomElement
+   * @see ConfigTree
    */
   public abstract void sendNotification(java.io.Serializable p_o) throws Exception;
 
@@ -53,7 +53,7 @@
    * Common object to hold details of object's information - Each derived class
    * will hold it's own needs
    */
-  protected DomElement    m_oParms;
+  protected ConfigTree    m_oParms;
   /**
    * Instantiate an empty NotificationTarget object
    */
@@ -61,15 +61,15 @@
   /**
    * Instantiate a NotificationTarget object with the information contained
    * in &lt;arg 1&gt;
-   * @param p_oP DomElement - Holds details to instantiate this object
+   * @param p_oP ConfigTree - Holds details to instantiate this object
    */
-  protected NotificationTarget (DomElement p_oP)
+  protected NotificationTarget (ConfigTree p_oP)
   { m_oParms  = p_oP;
   } //__________________________________
 
   /**
    * A typical  Factory.getInstance() method
-   * @param p_oP DomElement - Contents of this argument will determine the
+   * @param p_oP ConfigTree - Contents of this argument will determine the
    * type (derived class) of NotificationTarget returned
    * @throws Exception - Arg 1 does not contain a valid structure for currently
    * implemented NotificationTarget subclasses - invoke Exception.getMessage() at
@@ -77,8 +77,8 @@
    * @return NotificationTarget - An object that instantiates the NotificationTarget
    * abstract class
    */
-  public static NotificationTarget fromParams (DomElement p_oP) throws Exception
-  { String sClass = p_oP.getAttr(PRM_NOTIF_CLASS);
+  public static NotificationTarget fromParams (ConfigTree p_oP) throws Exception
+  { String sClass = p_oP.getAttribute(PRM_NOTIF_CLASS);
     if (null==sClass) throw new Exception("Missing '"+PRM_NOTIF_CLASS
                                           +"' attribute in parameters");
     Class       oCls  = null;
@@ -91,10 +91,10 @@
       throw new Exception("Invalid class <"+sClass+">, or missing library");
 
     Constructor oCons = null;
-    try { oCons = oCls.getConstructor(new Class[] {DomElement.class}); }
+    try { oCons = oCls.getConstructor(new Class[] {ConfigTree.class}); }
     catch (Exception e) {}
     if (null==oCons)
-      throw new Exception("No valid constructor "+sClass+"(DomElement)");
+      throw new Exception("No valid constructor "+sClass+"(ConfigTree)");
 
     Object oRet = null;
     try { oRet = oCons.newInstance(new Object[] {p_oP}); }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyEmail.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 import javax.mail.internet.AddressException;
 import javax.mail.internet.InternetAddress;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.Email;
 import org.jboss.soa.esb.util.Util;
 
@@ -49,22 +49,22 @@
 	 * &lt;arg 1&gt;
 	 * 
 	 * @param p_oP
-	 *            DomElement - See attributes and structure needed for the
+	 *            ConfigTree - See attributes and structure needed for the
 	 *            Email() constructor - The MESSAGE attribute will
 	 *            be filled in at sendNotification(Serializable) time
 	 * @throws Exception
 	 * @see NotifyEmail#sendNotification(Serializable)
 	 */
-	public NotifyEmail(DomElement p_oP) throws Exception {
+	public NotifyEmail(ConfigTree p_oP) throws Exception {
 		super(p_oP);
 
-		String sAtt = (String) m_oParms.getAttr(Email.FROM);
+		String sAtt = (String) m_oParms.getAttribute(Email.FROM);
 		if (null != sAtt)
 			InternetAddress.parse(sAtt);
 
-		InternetAddress.parse(m_oParms.getAttr(Email.SENDTO));
+		InternetAddress.parse(m_oParms.getAttribute(Email.SENDTO));
 
-		sAtt = (String) m_oParms.getAttr(Email.COPYTO);
+		sAtt = (String) m_oParms.getAttribute(Email.COPYTO);
 		if (null != sAtt)
 			InternetAddress.parse(sAtt);
 	} // __________________________________
@@ -79,10 +79,10 @@
 	 */
 	public void sendNotification(Serializable p_o) {
 		try {
-			DomElement oP = m_oParms.cloneObj();
-			String sMsg = oP.getAttr(Email.MESSAGE);
+			ConfigTree oP = m_oParms.cloneObj();
+			String sMsg = oP.getAttribute(Email.MESSAGE);
 			sMsg = ((null == sMsg) ? p_o.toString() : sMsg + "\n") + p_o.toString();
-			oP.setAttr(Email.MESSAGE, sMsg);
+			oP.setAttribute(Email.MESSAGE, sMsg);
 			sendEmailNotification(oP);
 		} catch (Exception e) {
 			Util.getDefaultLogger(this.getClass()).error("Send Mail Failed",
@@ -97,16 +97,16 @@
 	 * This method allows overriding for test purposes.
 	 * @param messageParams Message parameters.
 	 */
-	protected void sendEmailNotification(DomElement messageParams) throws AddressException, MessagingException {
+	protected void sendEmailNotification(ConfigTree messageParams) throws AddressException, MessagingException {
         
 		Email esbMail = new Email();
-        esbMail.setSendTo(messageParams.getAttr(Email.SENDTO));
-        esbMail.setFrom(messageParams.getAttr(Email.FROM));
-        esbMail.setCopyTo(messageParams.getAttr(Email.COPYTO));
-        esbMail.setSubject(messageParams.getAttr(Email.SUBJECT));
+        esbMail.setSendTo(messageParams.getAttribute(Email.SENDTO));
+        esbMail.setFrom(messageParams.getAttribute(Email.FROM));
+        esbMail.setCopyTo(messageParams.getAttribute(Email.COPYTO));
+        esbMail.setSubject(messageParams.getAttribute(Email.SUBJECT));
 
         esbMail.setAttachments(messageParams.getTextChildren(Email.ATTACH));
-        esbMail.setMessage(messageParams.getAttr(Email.MESSAGE));
+        esbMail.setMessage(messageParams.getAttribute(Email.MESSAGE));
         
 		esbMail.sendMessage();
 	}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyFiles.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,14 +28,14 @@
 import java.io.Serializable;
 import java.net.URI;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Write the notification contents into a list of files specified in the
  * constructor time parameters.
  * <p>
  * Description: The constructor searches for all child elements of the
- * DomElement argument having "file" as element name, that will be used to store
+ * ConfigTree argument having "file" as element name, that will be used to store
  * (or append) the contents of the argument to the sendNotification(Object)
  * method, to each and every one of the files contained in the list
  * </p>
@@ -73,14 +73,14 @@
 	 * Instantiate a NotifyFiles object according to contents of &lt;arg 1&gt;
 	 * 
 	 * @param p_oP
-	 *            DomElement - Should contain a nonempty set of child elements
+	 *            ConfigTree - Should contain a nonempty set of child elements
 	 *            with elementName="file". Each child element must have a "URI"
 	 *            attribute and optionally a "append" element
 	 * @throws Exception
 	 */
-	public NotifyFiles(DomElement p_oP) throws Exception {
+	public NotifyFiles(ConfigTree p_oP) throws Exception {
 		super(p_oP);
-		setFiles(p_oP.getElementChildren(CHILD_FILE));
+		setFiles(p_oP.getChildren(CHILD_FILE));
 
 	} // __________________________________
 
@@ -89,18 +89,18 @@
 	 * of the input argument
 	 * 
 	 * @param p_oaP
-	 *            DomElement[] - Each entry must have a "URI" attribute, and can
+	 *            ConfigTree[] - Each entry must have a "URI" attribute, and can
 	 *            have an optional "append" attribute
 	 * @throws Exception -
 	 *             invoke Exception.getMessage() at runtime for details
-	 * @see DomElement#getAttr(String)
+	 * @see ConfigTree#getAttr(String)
 	 */
-	protected void setFiles(DomElement[] p_oaP) throws Exception {
+	protected void setFiles(ConfigTree[] p_oaP) throws Exception {
 		m_oaOutF = new NotificationFile[p_oaP.length];
 		
 		for (int i = 0; i < p_oaP.length; i++) {
-			String fileURI = p_oaP[i].getAttr(ATT_URI);
-			String append = p_oaP[i].getAttr(ATT_APPEND);
+			String fileURI = p_oaP[i].getAttribute(ATT_URI);
+			String append = p_oaP[i].getAttribute(ATT_APPEND);
 			
 			if (null == fileURI) {
 				throw new IllegalArgumentException("Bad File Notification Configuration: Missing file URI attribute.");
@@ -126,7 +126,7 @@
 	 * @param p_o
 	 *            Object - This object's toString() results will be written to
 	 *            (appended to) each one of the files in m_oaOutF
-	 * @see NotifyFiles#setFiles(DomElement[])
+	 * @see NotifyFiles#setFiles(ConfigTree[])
 	 * @see NotifyFiles#m_oaOutF
 	 */
 	public void sendNotification(Serializable p_o) {

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyJMS.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -33,7 +33,7 @@
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Abstract class that defines the behaviour of NotifyQueues and NotifyTopics
@@ -59,7 +59,7 @@
 	protected abstract void sendToAll(Message p_oMsg);
 
 	/**
-	 * Element name mnemonic to search for child elements in the DomElement at
+	 * Element name mnemonic to search for child elements in the ConfigTree at
 	 * constructor time, that will hold a "name" "value" pair to be included in
 	 * the JMS message header
 	 */
@@ -113,22 +113,22 @@
 	 * initialization tasks that are common to all derived classes
 	 * 
 	 * @param p_oP
-	 *            DomElement
+	 *            ConfigTree
 	 *            <p>
 	 *            Will contain a variable number of "messageProp" child elements
 	 *            that will be added to messages sent to
 	 *            </p>
 	 * @throws Exception
 	 */
-	protected NotifyJMS(DomElement p_oP) throws Exception {
+	protected NotifyJMS(ConfigTree p_oP) throws Exception {
 		super(p_oP);
 
-		DomElement[] oaMsgP = p_oP.getElementChildren(CHILD_MSG_PROP);
+		ConfigTree[] oaMsgP = p_oP.getChildren(CHILD_MSG_PROP);
 		for (int i1 = 0; i1 < oaMsgP.length; i1++) {
-			String sKey = oaMsgP[i1].getAttr(ATT_PROP_NAME);
+			String sKey = oaMsgP[i1].getAttribute(ATT_PROP_NAME);
 			if (null == sKey)
 				continue;
-			String sVal = oaMsgP[i1].getAttr(ATT_PROP_VALUE);
+			String sVal = oaMsgP[i1].getAttribute(ATT_PROP_VALUE);
 			if (null == sVal)
 				continue;
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyQueues.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -31,7 +31,7 @@
 import javax.jms.QueueSession;
 import javax.naming.NamingException;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 ;
 
@@ -52,7 +52,7 @@
 	 */
 	public static final String CONNECTION_FACTORY = "ConnectionFactory";
 	/**
-	 * Element name mnemonic to search for child elements in the DomElement at
+	 * Element name mnemonic to search for child elements in the ConfigTree at
 	 * constructor time, that will hold a "jndiName" attribute specifying the
 	 * value to look up in the JNDI context in order to obtain a queue
 	 * 
@@ -60,12 +60,12 @@
 	 */
 	public static final String CHILD_QUEUE = "queue";
 
-	public NotifyQueues(DomElement p_oP) throws Exception {
+	public NotifyQueues(ConfigTree p_oP) throws Exception {
 		super(p_oP);
-		setQueues(p_oP.getElementChildren(CHILD_QUEUE));
+		setQueues(p_oP.getChildren(CHILD_QUEUE));
 	} // __________________________________
 
-	protected void setQueues(DomElement[] p_oaP) throws Exception {
+	protected void setQueues(ConfigTree[] p_oaP) throws Exception {
 		QueueConnectionFactory qcf = lookupQueueConnectionFactory();
 		QueueConnection oQconn = qcf.createQueueConnection();
 		QueueSession oQsess = oQconn.createQueueSession(false,
@@ -73,7 +73,7 @@
 
 		m_oaMssProd = new MessageProducer[p_oaP.length];
 		for (int i1 = 0; i1 < p_oaP.length; i1++) {
-			String sAtt = p_oaP[i1].getAttr(ATT_DEST_NAME);
+			String sAtt = p_oaP[i1].getAttribute(ATT_DEST_NAME);
 			if (null == sAtt)
 				throw new Exception("Missing queue jndiName");
 			Queue oQ = (Queue) m_oCtx.lookup(sAtt);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifySqlTable.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -25,7 +25,7 @@
 import java.sql.PreparedStatement;
 import java.util.Properties;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.persist.JdbcCleanConn;
 import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
 
@@ -44,7 +44,7 @@
 
 	protected Properties m_oCols;
 
-	public NotifySqlTable(DomElement p_oP) throws Exception {
+	public NotifySqlTable(ConfigTree p_oP) throws Exception {
 		super(p_oP);
 		m_sDriver = getAttr(SimpleDataSource.DRIVER);
 		m_sURL = getAttr(SimpleDataSource.URL);
@@ -54,10 +54,10 @@
 		m_sDataCol = getAttr(ATT_DATA);
 
 		m_oCols = new Properties();
-		DomElement[] oaP = p_oP.getElementChildren(CHILD_COLUMN);
+		ConfigTree[] oaP = p_oP.getChildren(CHILD_COLUMN);
 		for (int i1 = 0; i1 < oaP.length; i1++) {
-			DomElement oCurr = oaP[i1];
-			String sCol = oCurr.getAttr(ATT_NAME);
+			ConfigTree oCurr = oaP[i1];
+			String sCol = oCurr.getAttribute(ATT_NAME);
 			if (null == sCol) {
 				continue;
 			}
@@ -65,7 +65,7 @@
 			if (sCol.length() < 1) {
 				continue;
 			}
-			String sVal = oCurr.getAttr(ATT_VALUE);
+			String sVal = oCurr.getAttribute(ATT_VALUE);
 			if (null == sVal) {
 				sVal = "";
 			}
@@ -74,7 +74,7 @@
 	} // __________________________________
 
 	private String getAttr(String p_sAtt) throws Exception {
-		String sRet = m_oParms.getAttr(p_sAtt);
+		String sRet = m_oParms.getAttribute(p_sAtt);
 		if (null == sRet) {
 			throw new Exception("Missing " + p_sAtt + " attribute");
 		}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyTopics.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -30,20 +30,20 @@
 import javax.jms.TopicPublisher;
 import javax.jms.TopicSession;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class NotifyTopics extends NotifyJMS {
 
 	public static final String CONNECTION_FACTORY = "ConnectionFactory";
 	public static final String CHILD_TOPIC = "topic";
 
-	public NotifyTopics(DomElement p_oP) throws Exception {
+	public NotifyTopics(ConfigTree p_oP) throws Exception {
 		super(p_oP);
 
-		setTopics(p_oP.getElementChildren(CHILD_TOPIC));
+		setTopics(p_oP.getChildren(CHILD_TOPIC));
 	} // __________________________________
 
-	protected void setTopics(DomElement[] p_oaP) throws Exception {
+	protected void setTopics(ConfigTree[] p_oaP) throws Exception {
 		// REVIEW: The connection factory name is hardcoded and is the same as that of the queue connection factory.
 		TopicConnectionFactory qcf = (TopicConnectionFactory) m_oCtx.lookup(CONNECTION_FACTORY);
 		TopicConnection oTconn = qcf.createTopicConnection();
@@ -52,7 +52,7 @@
 
 		m_oaMssProd = new MessageProducer[p_oaP.length];
 		for (int i1 = 0; i1 < p_oaP.length; i1++) {
-			String sAtt = p_oaP[i1].getAttr(ATT_DEST_NAME);
+			String sAtt = p_oaP[i1].getAttribute(ATT_DEST_NAME);
 			if (null == sAtt)
 				throw new Exception("Missing topic jndiName");
 			Topic oT = (Topic) m_oCtx.lookup(sAtt);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/notification/NotifyUtil.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,20 +28,20 @@
 import java.util.Map;
 
 import org.jboss.internal.soa.esb.notification.MacroExpander;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.NotificationManager;
 
 public class NotifyUtil {
 
 	public static void notifyOK(NotificationManager p_oNH,
-			DomElement p_oParent, Serializable p_o, Map p_oCtx) {
+			ConfigTree p_oParent, Serializable p_o, Map p_oCtx) {
 		try {
-			DomElement[] oaP = p_oParent.getElementChildren(NotificationList.ELEMENT);
+			ConfigTree[] oaP = p_oParent.getChildren(NotificationList.ELEMENT);
 			for (int i1 = 0; i1 < oaP.length; i1++) {
 				NotificationList oCurr = new NotificationList(oaP[i1]);
 				if (!oCurr.isOK())
 					continue;
-				DomElement oCpy = oaP[i1].cloneObj();
+				ConfigTree oCpy = oaP[i1].cloneObj();
 				MacroExpander.replaceMacros(oCpy, p_oCtx);
 				p_oNH.sendNotifications(oCpy, p_o);
 			}
@@ -51,7 +51,7 @@
 	} // __________________________________
 
 	public static void notifyError(NotificationManager p_oNH,
-			DomElement p_oParent, Object p_o, Map p_oCtx, Exception p_e) {
+			ConfigTree p_oParent, Object p_o, Map p_oCtx, Exception p_e) {
 		ByteArrayOutputStream oBO = new ByteArrayOutputStream();
 		PrintStream oPS = new PrintStream(oBO);
 		try {
@@ -62,7 +62,7 @@
 			oPS.close();
 
 			String sMsg = oBO.toString();
-			DomElement[] oaP = p_oParent.getElementChildren(NotificationList.ELEMENT);
+			ConfigTree[] oaP = p_oParent.getChildren(NotificationList.ELEMENT);
 			// if (oaP.length<1) // Uncomment this line to send only to the list
 			
 			// REVIEW: What's going on here?  What's the difference between sending an

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/services/NotificationManager.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -24,7 +24,7 @@
 
 import java.io.Serializable;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * Use this interface to group all methods that can be useful to
@@ -38,9 +38,9 @@
 	
 	// REVIEW: Add some Javadoc for this interface!!!
 /**
- * public void sendNotifications(DomElement p_oP, Serializable p_o)
+ * public void sendNotifications(ConfigTree p_oP, Serializable p_o)
  * 
- * @param p_oP DomElement - A serialized NotificationList object (as a DomElement)
+ * @param p_oP ConfigTree - A serialized NotificationList object (as a ConfigTree)
  * @param p_o  The Serializable object that will be sent to all the
  * NotificationTarget objects contained in the NotificationList
  * 
@@ -57,7 +57,7 @@
  *  (suc as contents of certain columns in SQL, or message properties for
  *  JMS notification targets, etc. 
  */	
-	public void sendNotifications(DomElement p_oP, Serializable p_o) throws Exception;
+	public void sendNotifications(ConfigTree p_oP, Serializable p_o) throws Exception;
 
 	public void sendNotifications(Serializable p_o) throws Exception;
 } // ____________________________________________________________________________

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/src/org/jboss/soa/esb/util/FtpClientUtil.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -24,7 +24,7 @@
 import java.io.File;
 import java.util.List;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 
 import com.enterprisedt.net.ftp.FTPClient;
@@ -61,7 +61,7 @@
   ,binary
   };
 
-  private DomElement	m_oParms;
+  private ConfigTree	m_oParms;
   private String    	m_sFtpServer  ,m_sUser        ,m_sPasswd;
   private String    	m_sRemoteDir  ,m_sLocalDir;
   private int			m_iPort;
@@ -74,7 +74,7 @@
   /**
    * Checks validity and completeness of parameters, and keeps the info internally
    * for subsequent FTP requests
-   * @param p_oP DomElement
+   * @param p_oP ConfigTree
    * @throws Exception : if parameters are invalid or incomplete
    * <li>Parameters: (XML attributes at the root level) </li>
    * <li> ftpServer = name or IP of FTP server </li>
@@ -85,16 +85,16 @@
    * computer </li>
    */
 
-  public FtpClientUtil (DomElement p_oP, boolean p_bConnect) throws Exception
+  public FtpClientUtil (ConfigTree p_oP, boolean p_bConnect) throws Exception
    { m_oParms = p_oP;
    	 initialize(p_bConnect);
    } //_________________________________
 
   public FtpClientUtil (List<KeyValuePair> attribs, boolean connect) throws Exception
   {
-	  m_oParms = new DomElement("fromProps");
+	  m_oParms = new ConfigTree("fromProps");
 	  for (KeyValuePair oCurr : attribs)
-		m_oParms.setAttr(oCurr.getKey(),oCurr.getValue());
+		m_oParms.setAttribute(oCurr.getKey(),oCurr.getValue());
 	  initialize(connect);
   } //__________________________________
 
@@ -255,34 +255,34 @@
 
    private void checkParms() throws Exception
    {
-     m_sFtpServer  = m_oParms.getAttr(PARMS_FTP_SERVER);
+     m_sFtpServer  = m_oParms.getAttribute(PARMS_FTP_SERVER);
      if (null==m_sFtpServer) throw new Exception ("No FTP server specified");
 
-     m_sUser       = m_oParms.getAttr(PARMS_USER);
+     m_sUser       = m_oParms.getAttribute(PARMS_USER);
      if (null==m_sUser) throw new Exception ("No username specified for FTP");
 
-     m_sPasswd     = m_oParms.getAttr(PARMS_PASSWD);
+     m_sPasswd     = m_oParms.getAttribute(PARMS_PASSWD);
      if (null==m_sPasswd) throw new Exception ("No password specified for FTP");
 
-     m_sRemoteDir  = m_oParms.getAttr(PARMS_REMOTE_DIR);
+     m_sRemoteDir  = m_oParms.getAttribute(PARMS_REMOTE_DIR);
      if (null==m_sRemoteDir)
     	 m_sRemoteDir = "";
 
-     m_sLocalDir  = m_oParms.getAttr(PARMS_LOCAL_DIR);
+     m_sLocalDir  = m_oParms.getAttribute(PARMS_LOCAL_DIR);
      if (null==m_sLocalDir)
     	 m_sLocalDir = ".";
 
-     String sAux	= m_oParms.getAttr(PARMS_PORT);
+     String sAux	= m_oParms.getAttribute(PARMS_PORT);
      m_iPort = (null==sAux) ? 21 : Integer.parseInt(sAux);
 
      boolean bAscii = false;
-     sAux = m_oParms.getAttr(PARMS_ASCII);
+     sAux = m_oParms.getAttribute(PARMS_ASCII);
      if (null!=sAux)
     	 bAscii = Boolean.parseBoolean(sAux);
      setXferType((bAscii)?XFER_TYPE.ascii:XFER_TYPE.binary);
 
      m_bPassive = false;
-     sAux = m_oParms.getAttr(PARMS_PASSIVE);
+     sAux = m_oParms.getAttribute(PARMS_PASSIVE);
      m_bPassive = (null!=sAux) && Boolean.parseBoolean(sAux);
 
      return;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/addressing/util/tests/EPRManagerUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -22,13 +22,11 @@
 
 package org.jboss.soa.esb.addressing.util.tests;
 
-import org.jboss.soa.esb.addressing.EPR;
+import junit.framework.TestCase;
+
 import org.jboss.soa.esb.addressing.helpers.EmailEpr;
 import org.jboss.soa.esb.addressing.util.EPRManager;
-import org.jboss.soa.esb.helpers.Email;
 
-import junit.framework.TestCase;
-
 /**
  * Unit tests for the Class class.
  * 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/command/InMemoryCommandQueueUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -8,7 +8,7 @@
 import org.jboss.internal.soa.esb.command.CommandQueue;
 import org.jboss.internal.soa.esb.command.CommandQueueException;
 import org.jboss.internal.soa.esb.command.InMemoryCommandQueue;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class InMemoryCommandQueueUnitTest extends TestCase {
 
@@ -22,7 +22,7 @@
 			// OK
 		}
 
-		DomElement config = new DomElement("config");
+		ConfigTree config = new ConfigTree("config");
 		try {
 			commandQueue.open(config);
 			fail("Expected CommandQueueException.");
@@ -32,10 +32,10 @@
 	}
 	
 	public void test_queue_open_close() throws CommandQueueException {
-		DomElement config = new DomElement("config");
+		ConfigTree config = new ConfigTree("config");
 		InMemoryCommandQueue commandQueue = new InMemoryCommandQueue();
 
-		config.setAttr(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
+		config.setAttribute(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
 		assertEquals(null, InMemoryCommandQueue.getQueue("test-queue"));
 		commandQueue.open(config);
 		assertEquals(commandQueue, InMemoryCommandQueue.getQueue("test-queue"));
@@ -44,7 +44,7 @@
 	}
 	
 	public void test_queue_receive() throws CommandQueueException, InterruptedException {
-		DomElement config = new DomElement("config");
+		ConfigTree config = new ConfigTree("config");
 		InMemoryCommandQueue commandQueue = new InMemoryCommandQueue();
 
 		// receive should fail if the queue hasn't been opened yet...
@@ -55,7 +55,7 @@
 			// OK
 		}
 		
-		config.setAttr(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
+		config.setAttribute(InMemoryCommandQueue.COMMAND_QUEUE_NAME, "test-queue");
 		commandQueue.open(config);
 		
 		// Start the consumer thread - it will receive the commands from the queue.

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/ConfigTreeUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -32,7 +32,7 @@
 import org.xml.sax.SAXParseException;
 
 /**
- * Unit tests for the DomElement class.
+ * Unit tests for the ConfigTree class.
  * @author <a href="mailto:schifest at heuristica.com.ar">schifest at heuristica.com.ar</a>
  */
 public class ConfigTreeUnitTest extends BaseTest {

Deleted: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/DomElementUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/DomElementUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/DomElementUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,259 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, 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.soa.esb.helpers;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.StringUtils;
-import org.jboss.soa.esb.common.tests.BaseTest;
-import org.xml.sax.SAXException;
-
-/**
- * Unit tests for the DomElement class.
- * @author <a href="mailto:tom.fennelly at jboss.com">tom.fennelly at jboss.com</a>
- */
-public class DomElementUnitTest extends BaseTest {
-
-	public void test_fromInputStream_args() throws SAXException, IOException {
-		try {
-			DomElement.fromInputStream(null);
-			fail("Expected IllegalArgumentException on null stream.");
-		} catch(IllegalArgumentException e) {
-			// Expected
-		}
-	}
-	
-	public void test_fromInputStream_and_toXML() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile1.xml"));
-		ByteArrayOutputStream output;
-		byte[] expected = StreamUtils.readStream(getClass().getResourceAsStream("expected_01.xml"));
-		
-		// Create the DomElement from a Stream.  Then...
-		// Dump the XML to a buffer and compare it with the expected - checking that the
-		// Created DomElement DOM is the same as what was supplied in the stream.  Also
-		// tests the toXML method.  If this fails, either fromInputStream is not working correctly
-		// or the toXML method is not serialising correctly.
-		output = domElement.toXml();
-		assertTrue("DomElement creation from a stream failed, or, DomElement toXML failed - failed to produce the same XML.", 
-				StringUtils.equalsIgnoreLinebreaks(new String(expected), output.toString(), false));
-	}
-
-	public void test_fromXML_args() throws SAXException, IOException {		
-		try {
-			DomElement.fromXml(null);
-			fail("Expected IllegalArgumentException on null String.");
-		} catch(IllegalArgumentException e) {
-			// Expected
-		}
-		try {
-			DomElement.fromXml(" ");
-			fail("Expected IllegalArgumentException on null String.");
-		} catch(IllegalArgumentException e) {
-			// Expected
-		}
-	}
-
-	public void test_fromXML_and_toXML() throws SAXException, IOException {
-		byte[] source = StreamUtils.readStream(getClass().getResourceAsStream("expected_01.xml"));
-		DomElement domElement = DomElement.fromXml(new String(source));
-		ByteArrayOutputStream output;
-		byte[] expected = source;
-		
-		// Create the DomElement from a String.  Then...
-		// Dump the XML to a buffer and compare it with the expected - checking that the
-		// Created DomElement DOM is the same as what was supplied in the stream.  Also
-		// tests the toXML method.  If this fails, either fromInputStream is not working correctly
-		// or the toXML method is not serialising correctly.
-		output = domElement.toXml();
-		assertTrue("DomElement creation from a String failed, or, DomElement toXML failed - failed to produce the same XML.", 
-				StringUtils.equalsIgnoreLinebreaks(new String(expected), output.toString(), false));
-	}
-
-	public void test_Constructor_W3CElement() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile1.xml"));
-//		ByteArrayOutputStream output;
-		byte[] expected = StreamUtils.readStream(getClass().getResourceAsStream("expected_01.xml"));
-		
-		// Create a new DomElement from an existing one and compare it with the expected.
-		domElement = new DomElement(domElement.getDomElement());
-		assertTrue("DomElement creation from a stream failed, or, DomElement(Element) Constructor failed - failed to produce the same XML.", 
-				StringUtils.equalsIgnoreLinebreaks(new String(expected), new String(domElement.toXml().toByteArray()), false));
-	}
-
-	public void test_Constructor_String_withoutparent() throws SAXException, IOException {
-		// Create a new DomElement from without a parent DomElement.
-		DomElement domElement = new DomElement("newDomElement");
-		
-		assertEquals("New DomElement invalid.", "<newDomElement/>" + DomElement.LINE_BREAK, domElement.toString());
-	}
-	
-	public void test_getName() {
-		DomElement domElement = new DomElement("newDomElement");
-		assertEquals("getName returned invalid data.", "newDomElement", domElement.getName());
-	}
-	
-	public void test_getAttrKeys_hasnokeys() throws SAXException, IOException {
-		DomElement domElement = new DomElement("newDomElement");
-		String[] expected = new String[] {};
-		String[] actual = domElement.getAttrKeys();
-		
-		assertTrue("invalid attribute name list", Arrays.equals(expected, actual));
-	}
-	
-	public void test_getAttrKeys_haskeys() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile2.xml"));
-		String[] expected = new String[] {"attrib1", "attrib2", "attrib3"};
-		String[] actual = domElement.getAttrKeys();
-		
-		assertTrue("invalid attribute name list", Arrays.equals(expected, actual));
-	}
-	
-	public void test_getAttr() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile2.xml"));
-		
-		assertEquals("invalid attribute value", "value2", domElement.getAttr("attrib2"));
-		assertEquals("invalid attribute value", null, domElement.getAttr("attribXX"));
-	}
-	
-	public void test_getTextChildren() throws SAXException, IOException {
-		// This test also tests the static method getTextValue. 
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile3.xml"));
-		
-		// REVIEW: These tests capture the current behavior of the getTextChildren method.  I'm not convinced this behavior is correct!!
-		// I think perhaps this method should not be depending on getTextValue because getTextValue
-		// concatentates the child text nodes.
-		assertTrue("invalid Text Children list", 
-				Arrays.equals(new String[] {"Some root text... and some more root text..."}, domElement.getTextChildren("root")));
-		assertTrue("invalid Text Children list", 
-				Arrays.equals(new String[] {"", "Some nested text..."}, domElement.getTextChildren("el")));
-	}
-
-	public void test_getElementChildren() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile3.xml"));
-		DomElement[] domElements;
-
-		// Test the root element - of which there's only 1...
-		domElements = domElement.getElementChildren("root");
-		assertEquals("Wrong number of DomElement ElementChildren.", 1, domElements.length);
-		String expected = new String(StreamUtils.readStream(getClass().getResourceAsStream("expected_03.xml"))).trim();
-		assertEquals("Wrong DomElement ElementChild value.", expected, domElements[0].toString().trim());
-
-		// Test the nested <el> elements - of which there are 2...
-		domElements = domElement.getElementChildren("el");
-		assertEquals("Wrong number of DomElement ElementChildren.", 2, domElements.length);
-		assertEquals("Wrong DomElement ElementChild value.", "<el index=\"1\"/>", domElements[0].toString().trim());
-		assertEquals("Wrong DomElement ElementChild value.", "<el index=\"2\">Some nested text...</el>", domElements[1].toString().trim());
-
-		// Test for a non-existant element...
-		domElements = domElement.getElementChildren("xxxx");
-		assertEquals("Wrong number of DomElement ElementChildren.", 0, domElements.length);
-	}
-	
-	public void test_getFirstElementChild() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile3.xml"));
-		
-		// Test the root element - of which there's only 1...
-		domElement = domElement.getFirstElementChild("root");
-		String expected = new String(StreamUtils.readStream(getClass().getResourceAsStream("expected_03.xml"))).trim();
-		assertEquals("Wrong DomElement ElementChild value.", expected, domElement.toString().trim());
-
-		// Test the nested <el> elements - of which there are 2...
-		domElement = domElement.getFirstElementChild("el");
-		assertEquals("Wrong DomElement ElementChild value.", "<el index=\"1\"/>", domElement.toString().trim());
-
-		// Test for a non-existant element...
-		domElement = domElement.getFirstElementChild("xxxx");
-		assertEquals("Expected null DomElement ElementChildren for non-existant element.", null, domElement);
-	}
-
-	public void test_getAllElemChildren() throws SAXException, IOException {
-		DomElement domElement = DomElement.fromInputStream(getClass().getResourceAsStream("testfile3.xml"));
-		DomElement[] domElements;
-
-		domElements = domElement.getAllElemChildren();
-		assertEquals("Wrong number of DomElement ElementChildren.", 2, domElements.length);
-		assertEquals("Wrong DomElement ElementChild value.", "<el index=\"1\"/>", domElements[0].toString().trim());
-		assertEquals("Wrong DomElement ElementChild value.", "<el index=\"2\">Some nested text...</el>", domElements[1].toString().trim());
-
-		// REVIEW: Note, this method only returns DomElement instances for the child elements
-		// of the document root node. Comparing this to the behaviour of getFirstElementChild
-		// would seem to demonstrate an inconsitency???  To be consistent, I would expect this method 
-		// to return a list of 3 DomElement instances - the <root> and 2 <el> elements.
-	}
-	
-	public void test_setAttr() throws SAXException, IOException {
-		DomElement domElement = new DomElement("newDomElement");
-		
-		domElement.setAttr("attrib1", "value1");
-		assertEquals("value1", domElement.getAttr("attrib1"));
-
-		// A null value removes the attribute.
-		domElement.setAttr("attrib1", null);
-		assertEquals(null, domElement.getAttr("attrib1"));
-
-		// null attrib name currently just causes the method to return???
-		domElement.setAttr(null, null);
-	}
-	
-	public void test_addElemChild() throws SAXException, IOException {
-		DomElement domElement1 = new DomElement("newDomElement");
-		DomElement domElementX = new DomElement("X");
-		DomElement domElementY1 = new DomElement("Y1");
-		DomElement domElementY2 = new DomElement("Y2");
-		
-		domElement1.addElemChild(domElementX);
-		domElement1.addElemChild(domElementY1);
-		domElementX.addElemChild(domElementY2);
-		assertEquals("<newDomElement><X><Y2/></X><Y1/></newDomElement>", domElement1.toString().trim());
-	}
-	
-	public void test_rmvChildsByName() throws SAXException, IOException {
-		DomElement domElement1 = new DomElement("newDomElement");
-		DomElement domElementX = new DomElement("X");
-		DomElement domElementY1 = new DomElement("Y1");
-		DomElement domElementY2 = new DomElement("Y2");
-		
-		domElement1.addElemChild(domElementX);
-		domElement1.addElemChild(domElementY1);
-		domElementX.addElemChild(domElementY2);
-		assertEquals("<newDomElement><X><Y2/></X><Y1/></newDomElement>", domElement1.toString().trim());
-		domElement1.rmvChildsByName("Y1");
-		assertEquals("<newDomElement><X><Y2/></X></newDomElement>", domElement1.toString().trim());
-	}
-	
-	public void test_cloneObj() throws SAXException, IOException {
-		DomElement domElement1 = new DomElement("newDomElement");
-		DomElement domElementX = new DomElement("X");
-		DomElement domElementY = new DomElement("Y");
-		
-		domElement1.addElemChild(domElementX);
-		domElement1.addElemChild(domElementY);
-		
-		DomElement clone = domElement1.cloneObj();
-		
-		assertTrue("Clone should produce a completely different object", (domElement1 != clone));
-		assertEquals("Clone should produce the same XML", domElement1.toString(), clone.toString());
-	}
-}

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/helpers/EmailUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -38,24 +38,24 @@
  */
 public class EmailUnitTest extends TestCase {
 
-	private DomElement mailParams;
+	private ConfigTree mailParams;
 	
 	@Override
 	protected void setUp() throws Exception {
-		mailParams = DomElement.fromInputStream(getClass().getResourceAsStream("testfile4.xml"));
+		mailParams = ConfigTree.fromInputStream(getClass().getResourceAsStream("testfile4.xml"));
 	}
 
 	public void test_Email() throws AddressException, MessagingException, IOException {
 		// Look at the source message in testfile4.xml before reading this test.
 		
         Email esbMail = new Email();
-        esbMail.setSendTo(mailParams.getAttr(Email.SENDTO));
-        esbMail.setFrom(mailParams.getAttr(Email.FROM));
-        esbMail.setCopyTo(mailParams.getAttr(Email.COPYTO));
-        esbMail.setSubject(mailParams.getAttr(Email.SUBJECT));
+        esbMail.setSendTo(mailParams.getAttribute(Email.SENDTO));
+        esbMail.setFrom(mailParams.getAttribute(Email.FROM));
+        esbMail.setCopyTo(mailParams.getAttribute(Email.COPYTO));
+        esbMail.setSubject(mailParams.getAttribute(Email.SUBJECT));
 
         esbMail.setAttachments(mailParams.getTextChildren(Email.ATTACH));
-        esbMail.setMessage(mailParams.getAttr(Email.MESSAGE));
+        esbMail.setMessage(mailParams.getAttribute(Email.MESSAGE));
 		MimeMessage message = esbMail.getMailMessage();
 		Address[] addresses;
 

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/MacroExpanderUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -27,7 +27,7 @@
 
 import org.jboss.internal.soa.esb.notification.MacroExpander;
 import org.jboss.internal.soa.esb.util.StreamUtils;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * MacroExpander unit tests.
@@ -36,14 +36,13 @@
 public class MacroExpanderUnitTest extends TestCase {
 
 	public void testReplaceMacros() {
-		DomElement rootDomEl = new DomElement("rootEl");
-		DomElement childDomEl = new DomElement("childEl");
+		ConfigTree rootDomEl = new ConfigTree("rootEl");
 		HashMap<String, String> map = new HashMap<String, String>();
 		
-		rootDomEl.addElemChild(childDomEl);
-		rootDomEl.setAttr("attrb1", "value1");
-		rootDomEl.setAttr("attrb2", MacroExpander.CTX_BATCH_NUM + "BatchNumValue");
-		childDomEl.setAttr("attrb1", MacroExpander.CTX_BATCH_UID + "UIDValue");
+		ConfigTree childDomEl = new ConfigTree("childEl",rootDomEl);
+		rootDomEl.setAttribute("attrb1", "value1");
+		rootDomEl.setAttribute("attrb2", MacroExpander.CTX_BATCH_NUM + "BatchNumValue");
+		childDomEl.setAttribute("attrb1", MacroExpander.CTX_BATCH_UID + "UIDValue");
 		map.put(MacroExpander.CTX_BATCH_NUM, "ReplacementBNV!");
 		map.put(MacroExpander.CTX_BATCH_UID, "ReplacementUIDV!");
 		

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotificationListUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * NotificationList unit tests.
@@ -35,7 +35,7 @@
 public class NotificationListUnitTest extends TestCase {
 
 	public void test_NotificationList() throws Exception {
-		DomElement domEl = DomElement.fromInputStream(getClass().getResourceAsStream("NotificationListUnitTest_testfile1.xml"));
+		ConfigTree domEl = ConfigTree.fromInputStream(getClass().getResourceAsStream("NotificationListUnitTest_testfile1.xml"));
 		NotificationList nList = new NotificationList(domEl);
 		
 		List<String> messageList = new ArrayList<String>();
@@ -51,23 +51,23 @@
 	}
 	
 	public void test_assertionMethods() throws Exception {
-		DomElement domEl;
+		ConfigTree domEl;
 		NotificationList nList;
 		
-		domEl = new DomElement("notif");
+		domEl = new ConfigTree("notif");
 		nList = new NotificationList(domEl);
 		assertTrue(nList.isOK());
 		assertTrue(nList.isErr());
 		// REVIEW: Is this behavior OK??  Can be OK and Err at the same time!!
 		
-		domEl = new DomElement("notif");
-		domEl.setAttr(NotificationList.TYPE, "ok");
+		domEl = new ConfigTree("notif");
+		domEl.setAttribute(NotificationList.TYPE, "ok");
 		nList = new NotificationList(domEl);
 		assertTrue(nList.isOK());
 		assertTrue(!nList.isErr());
 
-		domEl = new DomElement("notif");
-		domEl.setAttr(NotificationList.TYPE, "err");
+		domEl = new ConfigTree("notif");
+		domEl.setAttribute(NotificationList.TYPE, "err");
 		nList = new NotificationList(domEl);
 		assertTrue(!nList.isOK());
 		assertTrue(nList.isErr());

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyEmailUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.Email;
 
 /**
@@ -36,23 +36,23 @@
 public class NotifyEmailUnitTest extends TestCase {
 
 	public void test_NotifyEmail() throws Exception {
-		DomElement emailMessageEl = new DomElement("email");
+		ConfigTree emailMessageEl = new ConfigTree("email");
 		
-		emailMessageEl.setAttr(Email.FROM, "a.b at c.com");
-		emailMessageEl.setAttr(Email.SENDTO, "d.e at f.com");
-		emailMessageEl.setAttr(Email.COPYTO, "g.h at i.com");
-		emailMessageEl.setAttr(Email.MESSAGE, "Hi there!!!");
+		emailMessageEl.setAttribute(Email.FROM, "a.b at c.com");
+		emailMessageEl.setAttribute(Email.SENDTO, "d.e at f.com");
+		emailMessageEl.setAttribute(Email.COPYTO, "g.h at i.com");
+		emailMessageEl.setAttribute(Email.MESSAGE, "Hi there!!!");
 		
 		NotifyEmail ne = new TestNotifyEmail(emailMessageEl);
 		ne.sendNotification("Hello");
 	}
 	
 	private class TestNotifyEmail extends NotifyEmail {
-		public TestNotifyEmail(DomElement p_oP) throws Exception {
+		public TestNotifyEmail(ConfigTree p_oP) throws Exception {
 			super(p_oP);
 		}
-		protected void sendEmailNotification(DomElement messageParams) throws AddressException, MessagingException {
-			assertEquals("Hi there!!!\nHello", messageParams.getAttr(Email.MESSAGE));
+		protected void sendEmailNotification(ConfigTree messageParams) throws AddressException, MessagingException {
+			assertEquals("Hi there!!!\nHello", messageParams.getAttribute(Email.MESSAGE));
 		}		
 	}
 }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyFilesUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * NotifyFiles unit tests.
@@ -35,20 +35,18 @@
 public class NotifyFilesUnitTest extends TestCase {
 	
 	public void test_BadFolderInfo() throws Exception {
-		DomElement rootEl = new DomElement("notif");
-		DomElement fileEl = new DomElement("file");
-		
-		rootEl.addElemChild(fileEl);
-		
-		// No file attribute defined on the DomElement
+		ConfigTree rootEl = new ConfigTree("notif");
+		ConfigTree fileEl = new ConfigTree("file",rootEl);
+			
+		// No file attribute defined on the ConfigTree
 		try {
 			new NotifyFiles(rootEl);
 			fail("Expected IllegalArgumentException");
 		} catch(IllegalArgumentException e) {
 			// Expected
 		}
-		// File attribute defined on the DomElement, but parent folder doesn't exist...
-		fileEl.setAttr("URI", new File("./").toURI().toString() + "/xyzzyx/a.txt");
+		// File attribute defined on the ConfigTree, but parent folder doesn't exist...
+		fileEl.setAttribute("URI", new File("./").toURI().toString() + "/xyzzyx/a.txt");
 		try {
 			new NotifyFiles(rootEl);
 			fail("Expected IllegalArgumentException");
@@ -66,7 +64,7 @@
 	}
 	
 	public void sendNotification(Serializable obj) throws Exception {
-		DomElement rootEl = new DomElement("notif");
+		ConfigTree rootEl = new ConfigTree("notif");
 		NotifyFiles notifyFiles;
 		
 		// Add the file configs to the config DOM for 4 files...
@@ -92,13 +90,12 @@
 		assertEquals(file1Obj.length(), file3Obj.length() * 2);
 	}
 	
-	private void addFileConfig(DomElement rootEl, String file, Boolean append) {
+	private void addFileConfig(ConfigTree rootEl, String file, Boolean append) {
 		File fileObj = getFileObject(file);
-		DomElement fileEl = new DomElement("file");
+		ConfigTree fileEl = new ConfigTree("file",rootEl);
 		
-		fileEl.setAttr("URI", fileObj.toURI().toString());
-		fileEl.setAttr("append", (append != null?append.toString():null));
-		rootEl.addElemChild(fileEl);
+		fileEl.setAttribute("URI", fileObj.toURI().toString());
+		fileEl.setAttribute("append", (append != null?append.toString():null));
 		
 		// Also want to delete the file incase the tests are being rerun...
 		fileObj.delete();

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyQueuesUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -31,7 +31,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.mockejb.jms.MockQueue;
 import org.mockejb.jms.MockTopic;
 import org.mockejb.jms.QueueConnectionFactoryImpl;
@@ -52,7 +52,7 @@
 		Context ctx = new InitialContext();
 		ctx.rebind(NotifyQueues.CONNECTION_FACTORY, new QueueConnectionFactoryImpl());
 
-		DomElement rootEl = new DomElement("rootEl");
+		ConfigTree rootEl = new ConfigTree("rootEl");
 
 		addMessagePropertyConfigs(rootEl);
 		addQueueConfig(rootEl, "queue1");
@@ -103,19 +103,18 @@
 		assertEquals(null, message.getStringProperty("testpropname"));
 	}
 	
-	private void addMessagePropertyConfigs(DomElement rootEl) {
-		DomElement propEl = new DomElement(NotifyQueues.CHILD_MSG_PROP);
+	private void addMessagePropertyConfigs(ConfigTree rootEl) {
+
+		ConfigTree propEl = new ConfigTree(NotifyQueues.CHILD_MSG_PROP,rootEl);
 		
-		propEl.setAttr(NotifyJMS.ATT_PROP_NAME, "testpropname");
-		propEl.setAttr(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
-		rootEl.addElemChild(propEl);		
+		propEl.setAttribute(NotifyJMS.ATT_PROP_NAME, "testpropname");
+		propEl.setAttribute(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
 	}
 
-	private void addQueueConfig(DomElement rootEl, String queueName) {
-		DomElement queueEl = new DomElement(NotifyQueues.CHILD_QUEUE);
+	private void addQueueConfig(ConfigTree rootEl, String queueName) {
+		ConfigTree queueEl = new ConfigTree(NotifyQueues.CHILD_QUEUE,rootEl);
 		
-		queueEl.setAttr(NotifyJMS.ATT_DEST_NAME, queueName);
-		rootEl.addElemChild(queueEl);		
+		queueEl.setAttribute(NotifyJMS.ATT_DEST_NAME, queueName);
 	}
 
 	private MockQueue createAndBindQueue(String queueName) throws NamingException {

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifySqlTableUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -23,7 +23,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 /**
  * NotifySqlTable unit tests.
@@ -32,7 +32,7 @@
 public class NotifySqlTableUnitTest extends TestCase {
 
 	public void test_NotifySqlTable() throws Exception {
-		DomElement domEl = DomElement.fromInputStream(getClass().getResourceAsStream("NotifySqlTable_testfile1.xml"));
+		ConfigTree domEl = ConfigTree.fromInputStream(getClass().getResourceAsStream("NotifySqlTable_testfile1.xml"));
 		NotifySqlTable nst = new NotifySqlTable(domEl);
 		
 		assertEquals("driver-class", nst.m_sDriver);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyTopicsUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -31,7 +31,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.mockejb.jms.MockTopic;
 import org.mockejb.jms.TopicConnectionFactoryImpl;
 import org.mockejb.jndi.MockContextFactory;
@@ -51,7 +51,7 @@
 		Context ctx = new InitialContext();
 		ctx.rebind(NotifyTopics.CONNECTION_FACTORY, new TopicConnectionFactoryImpl());
 
-		DomElement rootEl = new DomElement("rootEl");
+		ConfigTree rootEl = new ConfigTree("rootEl");
 
 		addMessagePropertyConfigs(rootEl);
 		addTopicConfig(rootEl, "topic1");
@@ -102,19 +102,17 @@
 		assertEquals(null, message.getStringProperty("testpropname"));
 	}
 	
-	private void addMessagePropertyConfigs(DomElement rootEl) {
-		DomElement propEl = new DomElement(NotifyTopics.CHILD_MSG_PROP);
+	private void addMessagePropertyConfigs(ConfigTree rootEl) {
+		ConfigTree propEl = new ConfigTree(NotifyTopics.CHILD_MSG_PROP,rootEl);
 		
-		propEl.setAttr(NotifyJMS.ATT_PROP_NAME, "testpropname");
-		propEl.setAttr(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
-		rootEl.addElemChild(propEl);		
+		propEl.setAttribute(NotifyJMS.ATT_PROP_NAME, "testpropname");
+		propEl.setAttribute(NotifyJMS.ATT_PROP_VALUE, "testpropvalue");
 	}
 
-	private void addTopicConfig(DomElement rootEl, String topicName) {
-		DomElement topicEl = new DomElement(NotifyTopics.CHILD_TOPIC);
+	private void addTopicConfig(ConfigTree rootEl, String topicName) {
+		ConfigTree topicEl = new ConfigTree(NotifyTopics.CHILD_TOPIC,rootEl);
 		
-		topicEl.setAttr(NotifyJMS.ATT_DEST_NAME, topicName);
-		rootEl.addElemChild(topicEl);		
+		topicEl.setAttribute(NotifyJMS.ATT_DEST_NAME, topicName);
 	}
 
 	private MockTopic createAndBindTopic(String topicName) throws NamingException {

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/NotifyUtilUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -28,7 +28,7 @@
 
 import junit.framework.TestCase;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.NotificationManager;
 
 /**
@@ -38,7 +38,7 @@
 public class NotifyUtilUnitTest extends TestCase {
 
 	public void test_NotifyUtil() {
-		DomElement rootEl = new DomElement("rootEl");
+		ConfigTree rootEl = new ConfigTree("rootEl");
 		
 		addNotificationConfig(rootEl, "message1", "ok");
 		addNotificationConfig(rootEl, "message2", "err");
@@ -59,18 +59,17 @@
 		assertTrue(handler.messages.get(2).startsWith("message4 - somemessage"));
 	}
 	
-	private void addNotificationConfig(DomElement rootEl, String message, String type) {
-		DomElement notifEl = new DomElement(NotificationList.ELEMENT);
-		notifEl.setAttr("message", message);
-		notifEl.setAttr(NotificationList.TYPE, type);
-		rootEl.addElemChild(notifEl);
+	private void addNotificationConfig(ConfigTree rootEl, String message, String type) {
+		ConfigTree notifEl = new ConfigTree(NotificationList.ELEMENT,rootEl);
+		notifEl.setAttribute("message", message);
+		notifEl.setAttribute(NotificationList.TYPE, type);
 	}
 
 	private class TestNotificationHandler implements NotificationManager {
 		private List<String> messages = new ArrayList<String>();
 		
-		public void sendNotifications(DomElement p_oP, Serializable p_o) throws Exception {
-			messages.add(p_oP.getAttr("message") + " - " + p_o);
+		public void sendNotifications(ConfigTree p_oP, Serializable p_o) throws Exception {
+			messages.add(p_oP.getAttribute("message") + " - " + p_o);
 		}
 		public void sendNotifications(Serializable p_o) throws Exception {
 			messages.add(p_o.toString());

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget1.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -4,21 +4,21 @@
 import java.io.Serializable;
 import java.util.List;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class TestNotificationTarget1 extends NotificationTarget {
 
-	private DomElement config;
+	private ConfigTree config;
 	
 	public static List<String> messageList;
 	
-	public TestNotificationTarget1(DomElement targetConf) {
+	public TestNotificationTarget1(ConfigTree targetConf) {
 		super(targetConf);
 		config = targetConf;
 	}
 
 	@Override
 	public void sendNotification(Serializable obj) throws Exception {
-		messageList.add(config.getAttr("message") + "-" + obj);
+		messageList.add(config.getAttribute("message") + "-" + obj);
 	}
 }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/notification/TestNotificationTarget2.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -1,10 +1,10 @@
 package org.jboss.soa.esb.notification;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 
 public class TestNotificationTarget2 extends TestNotificationTarget1 {
 
-	public TestNotificationTarget2(DomElement targetConf) {
+	public TestNotificationTarget2(ConfigTree targetConf) {
 		super(targetConf);
 	}
 }

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/internal/core/objectstore/BobjStore.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/internal/core/objectstore/BobjStore.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/internal/core/objectstore/BobjStore.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -33,7 +33,7 @@
 
 import org.jboss.soa.esb.common.Configuration;
 import org.jboss.soa.esb.common.Environment;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.beans.PersistHandler;
 import org.jboss.soa.esb.util.BaseBusinessObject;
 import org.jboss.soa.esb.util.BobjStdDTO;
@@ -74,14 +74,14 @@
 		return TBL_UIDS;
 	}
 
-	protected static void setStoreConfig(DomElement storeConfig) {
+	protected static void setStoreConfig(ConfigTree storeConfig) {
 		BobjStore.storeConfig = storeConfig;
 	}
 
 
 	private static String TBL_BATCHES;
 
-	private static DomElement storeConfig;
+	private static ConfigTree storeConfig;
 
 	public static void setBatchTableName(String p_s) {
 		TBL_BATCHES = p_s;
@@ -106,7 +106,7 @@
 	/**
 	 * Configure/Reconfigure the BobjStore.
 	 * <p/>
-	 * The configuration is set either through a prior call to {@link #setStoreConfig(DomElement)}, or
+	 * The configuration is set either through a prior call to {@link #setStoreConfig(ConfigTree)}, or
 	 * through a URI resource lookup configured by the "org.jboss.soa.esb.objStore.configfile" System property.
 	 * @throws SAXException 
 	 * @throws IOException 
@@ -119,21 +119,21 @@
 		}
 
 		if(storeConfig != null) {
-			setDataSourceJndi(storeConfig.getAttr(DATA_SOURCE_JNDI_NAME));
-			setUidTableName(storeConfig.getAttr(UID_TABLE));
-			setBatchTableName(storeConfig.getAttr(BATCH_TABLE));
+			setDataSourceJndi(storeConfig.getAttribute(DATA_SOURCE_JNDI_NAME));
+			setUidTableName(storeConfig.getAttribute(UID_TABLE));
+			setBatchTableName(storeConfig.getAttribute(BATCH_TABLE));
 			
-			for (DomElement oCurr : storeConfig.getElementChildren(CLASS_ELEMENT)) {
-				String sClass = oCurr.getAttr(CLASS_NAME_ATTR);
+			for (ConfigTree oCurr : storeConfig.getChildren(CLASS_ELEMENT)) {
+				String sClass = oCurr.getAttribute(CLASS_NAME_ATTR);
 				boolean bCrypt = "true".equalsIgnoreCase(oCurr
-						.getAttr(CLASS_ENCRYPT_ATTR));
+						.getAttribute(CLASS_ENCRYPT_ATTR));
 
-				BobjStore oNew = new BobjStore(oCurr.getAttr(CLASS_TYPE_ATTR), 
-						oCurr.getAttr(CLASS_TABLE_ATTR), null, 
+				BobjStore oNew = new BobjStore(oCurr.getAttribute(CLASS_TYPE_ATTR), 
+						oCurr.getAttribute(CLASS_TABLE_ATTR), null, 
 						sClass.substring(1 + sClass.lastIndexOf(".")), bCrypt);
 
-				for (DomElement oIcurr : oCurr.getElementChildren(INDEX_ELEMENT)) {
-					oNew.addLocatorTable(oIcurr.getAttr(INDEX_TABLE_ATTR));
+				for (ConfigTree oIcurr : oCurr.getChildren(INDEX_ELEMENT)) {
+					oNew.addLocatorTable(oIcurr.getAttribute(INDEX_TABLE_ATTR));
 				}
 				s_oStoreMap.put(sClass, oNew);
 			}
@@ -145,7 +145,7 @@
 	 * <p/>
 	 * Tries reading it from the classpath. If that fails, tries reading it through a URI stream.
 	 */
-	protected static DomElement readConfiguration() throws IOException, MalformedURLException, SAXException {
+	protected static ConfigTree readConfiguration() throws IOException, MalformedURLException, SAXException {
 		String configPath = Configuration.getObjStoreConfigFile();
 		URI configURI;
 		InputStream configStream = null;
@@ -175,7 +175,7 @@
 			throw new IllegalStateException("Unable to locate and read ObjStoreConfigFile: " + configPath);
 		}
 		
-		return DomElement.fromInputStream(configStream);
+		return ConfigTree.fromInputStream(configStream);
 	}
 
 	private String m_sSnapType, m_sSnapTbl, m_sClass;

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateLocal.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateLocal.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateLocal.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 
 import javax.naming.Context;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.beans.NotificationHandler;
 
 public class NotifHandlerBsDelegateLocal implements NotificationManager
@@ -39,7 +39,7 @@
 		m_oNotifH.create();
 	}
 
-	public void sendNotifications(DomElement p_oP, Serializable p_o)
+	public void sendNotifications(ConfigTree p_oP, Serializable p_o)
 			throws Exception
 			{
 		m_oNotifH.sendNotifications(p_oP.toString(), p_o);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateRemote.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateRemote.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/NotifHandlerBsDelegateRemote.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -27,7 +27,7 @@
 
 import javax.naming.Context;
 
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.services.beans.NotificationHandler;
 
 public class NotifHandlerBsDelegateRemote implements NotificationManager
@@ -40,7 +40,7 @@
         m_oNotifH.create();
 	}
 
-	public void sendNotifications(DomElement p_oP, Serializable p_o)
+	public void sendNotifications(ConfigTree p_oP, Serializable p_o)
 			throws Exception 
 	{
 		m_oNotifH.sendNotifications(p_oP.toString(), p_o);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/beans/NotificationHandlerBean.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/beans/NotificationHandlerBean.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/src/org/jboss/soa/esb/services/beans/NotificationHandlerBean.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -39,7 +39,7 @@
 import javax.ejb.TransactionManagementType;
 
 import org.apache.log4j.Logger;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.notification.NotificationList;
 import org.jboss.soa.esb.util.Util;
 /**
@@ -104,7 +104,7 @@
   private static NotificationList s_dfltList;
   static
   { try
-    { s_dfltList = new NotificationList(DomElement.fromXml(s_sDfltList)); }
+    { s_dfltList = new NotificationList(ConfigTree.fromXml(s_sDfltList)); }
     catch (Exception e) { e.printStackTrace(System.out); }
   }
 /**
@@ -115,7 +115,7 @@
   public void sendNotifications(String p_sParams, Serializable p_oMsg)
     throws Exception
   {
-	DomElement oP = (null==p_sParams)?null:DomElement.fromXml(p_sParams);
+	ConfigTree oP = (null==p_sParams)?null:ConfigTree.fromXml(p_sParams);
     NotificationList m_oL = (null==oP) ? s_dfltList : new NotificationList(oP);
     m_oL.sendNotification(p_oMsg);
   } //__________________________________

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/internal/core/objectstore/BobjStoreUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/internal/core/objectstore/BobjStoreUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/internal/core/objectstore/BobjStoreUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -26,7 +26,7 @@
 import java.net.MalformedURLException;
 
 import org.jboss.soa.esb.common.tests.BaseTest;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.xml.sax.SAXException;
 
 /**
@@ -66,7 +66,7 @@
 
 	public void test_readConfiguration_validconfig() throws MalformedURLException, IOException, SAXException {
 		String resPath = getResourceClasspath("BobjStoreUnitTest_config1.xml");
-		DomElement config1, config2;
+		ConfigTree config1, config2;
 		
 		// Test a read from a valid classpath resource...
 		setObjStoreConfigFile("classpath:" + resPath);

Modified: labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/beans/NotificationUnitTest.java
===================================================================
--- labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/beans/NotificationUnitTest.java	2006-10-20 19:27:35 UTC (rev 6980)
+++ labs/jbossesb/workspace/eschifman/trunk/product/core/services/tests/src/org/jboss/soa/esb/services/beans/NotificationUnitTest.java	2006-10-20 20:02:47 UTC (rev 6981)
@@ -34,7 +34,7 @@
 import org.apache.log4j.Priority;
 import org.jboss.soa.esb.common.tests.BaseTest;
 import org.jboss.soa.esb.common.tests.EJBContainerSetup;
-import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.helpers.ConfigTree;
 import org.jboss.soa.esb.helpers.KeyValuePair;
 import org.jboss.soa.esb.helpers.persist.SimpleDataSource;
 import org.jboss.soa.esb.notification.NotificationList;
@@ -53,20 +53,20 @@
 	    	InitialContext ctx = getInitialContext();
 	        @SuppressWarnings("unused")
 			NotificationHandler local = (NotificationHandler ) ctx.lookup("NotificationHandlerBean/local");
-	        DomElement oEl = new DomElement("MyFileList");
-	        oEl.setAttr(NotificationList.TYPE,"OK");
+	        ConfigTree oEl = new ConfigTree("MyFileList");
+	        oEl.setAttribute(NotificationList.TYPE,"OK");
 			
 	 //		oEl.addElemChild(fileListTarget());
 	 //		oEl.addElemChild(emailTarget());
 	 //		oEl.addElemChild(jmsQueueTarget());
 	 //		oEl.addElemChild(jmsTopicTarget());
-	         oEl.addElemChild(sqlTableTarget());
+	         sqlTableTarget(oEl);
 			
 	         NotificationList oNL = new NotificationList(oEl);
 			
 	         // to see how the XML looks like
 	         // this is just a unit test class
-	         // Typically the XML is used in a parameter object (DomElement.fromXml())
+	         // Typically the XML is used in a parameter object (ConfigTree.fromXml())
 	         System.out.println(oNL.toString());
 
 	         // a simple timestamped message
@@ -103,14 +103,14 @@
        return props;
     }
     
-//    static DomElement emailTarget() throws Exception
+//    static ConfigTree emailTarget() throws Exception
 //    {
-//        DomElement oTgt = new DomElement(NotificationList.CHILD_TGT);
-//        oTgt.setAttr(NotificationTarget.PRM_NOTIF_CLASS,"NotifyEmail");
-//        oTgt.setAttr(Email.FROM,"sender at jboss.com");
-//        oTgt.setAttr(Email.SENDTO,"receiver1 at hotmail.com,receiver2 at jboss.com");;
-//        oTgt.setAttr(Email.SUBJECT,"TEST from Rosetta");
-//        oTgt.setAttr(Email.MESSAGE,"This is the text of your message");
+//        ConfigTree oTgt = new ConfigTree(NotificationList.CHILD_TGT);
+//        oTgt.setAttribute(NotificationTarget.PRM_NOTIF_CLASS,"NotifyEmail");
+//        oTgt.setAttribute(Email.FROM,"sender at jboss.com");
+//        oTgt.setAttribute(Email.SENDTO,"receiver1 at hotmail.com,receiver2 at jboss.com");;
+//        oTgt.setAttribute(Email.SUBJECT,"TEST from Rosetta");
+//        oTgt.setAttribute(Email.MESSAGE,"This is the text of your message");
 //		
 //        // This class does NOT send the e-mails, the app server does
 //        // consequently these paths would have to be accessible in the
@@ -122,89 +122,89 @@
 //        return oTgt;
 //    } //________________________________
 //
-//    static DomElement fileListTarget() throws Exception
+//    static ConfigTree fileListTarget() throws Exception
 //    {
-//        DomElement oTgt = new DomElement(NotificationList.CHILD_TGT);
-//        oTgt.setAttr(NotificationTarget.PRM_NOTIF_CLASS,"NotifyFiles");
+//        ConfigTree oTgt = new ConfigTree(NotificationList.CHILD_TGT);
+//        oTgt.setAttribute(NotificationTarget.PRM_NOTIF_CLASS,"NotifyFiles");
 //
 //        // This class does NOT write the files, the app server does
 //        // consequently these paths would have to be accessible in the
 //        // application server (filesystem / mounts)
 //        String[] sa = {"file:///tmp/file1.notif","file:///tmp/file2.notif"};
 //        for (String sCurr : sa)
-//        {	DomElement oFile = new DomElement(NotifyFiles.CHILD_FILE);
-//            oFile.setAttr(NotifyFiles.ATT_URI,sCurr);
-//            oFile.setAttr(NotifyFiles.ATT_APPEND,Boolean.toString(true));
+//        {	ConfigTree oFile = new ConfigTree(NotifyFiles.CHILD_FILE);
+//            oFile.setAttribute(NotifyFiles.ATT_URI,sCurr);
+//            oFile.setAttribute(NotifyFiles.ATT_APPEND,Boolean.toString(true));
 //            oTgt.addElemChild(oFile);
 //        }
 //        return oTgt;
 //    } //________________________________
 //
-//    static DomElement jmsQueueTarget() throws Exception
+//    static ConfigTree jmsQueueTarget() throws Exception
 //    {
-//        DomElement oTgt = new DomElement(NotificationList.CHILD_TGT);
-//        oTgt.setAttr(NotificationTarget.PRM_NOTIF_CLASS,"NotifyQueues");
+//        ConfigTree oTgt = new ConfigTree(NotificationList.CHILD_TGT);
+//        oTgt.setAttribute(NotificationTarget.PRM_NOTIF_CLASS,"NotifyQueues");
 //
 //        String[] sa = {"queue/A","queue/B"};
 //        for (String sCurr : sa)
-//        {	DomElement oQ = new DomElement(NotifyQueues.CHILD_QUEUE);
-//            oQ.setAttr(NotifyJMS.ATT_DEST_NAME,sCurr);
-//            for (DomElement oProp : getMessageProperties())
+//        {	ConfigTree oQ = new ConfigTree(NotifyQueues.CHILD_QUEUE);
+//            oQ.setAttribute(NotifyJMS.ATT_DEST_NAME,sCurr);
+//            for (ConfigTree oProp : getMessageProperties())
 //                oQ.addElemChild(oProp);
 //            oTgt.addElemChild(oQ);
 //        }
 //        return oTgt;
 //    } //________________________________
 //
-//    static DomElement jmsTopicTarget() throws Exception
+//    static ConfigTree jmsTopicTarget() throws Exception
 //    {
-//        DomElement oTgt = new DomElement(NotificationList.CHILD_TGT);
-//        oTgt.setAttr(NotificationTarget.PRM_NOTIF_CLASS,"NotifyTopics");
+//        ConfigTree oTgt = new ConfigTree(NotificationList.CHILD_TGT);
+//        oTgt.setAttribute(NotificationTarget.PRM_NOTIF_CLASS,"NotifyTopics");
 //
 //        String[] sa = {"topic/testTopic"};
 //        for (String sCurr : sa)
-//        {	DomElement oQ = new DomElement(NotifyTopics.CHILD_TOPIC);
-//            oQ.setAttr(NotifyJMS.ATT_DEST_NAME,sCurr);
-//            for (DomElement oProp : getMessageProperties())
+//        {	ConfigTree oQ = new ConfigTree(NotifyTopics.CHILD_TOPIC);
+//            oQ.setAttribute(NotifyJMS.ATT_DEST_NAME,sCurr);
+//            for (ConfigTree oProp : getMessageProperties())
 //                oQ.addElemChild(oProp);
 //            oTgt.addElemChild(oQ);
 //        }
 //        return oTgt;
 //    } //________________________________
 //
-//    static DomElement[] getMessageProperties() throws Exception
+//    static ConfigTree[] getMessageProperties() throws Exception
 //    {
 //        KeyValuePair[] oaProps = new KeyValuePair[]
 //        {new KeyValuePair("prop1","111")
 //        ,new KeyValuePair("prop2","bbb")
 //        ,new KeyValuePair("prop3","abc123")
 //        };
-//        DomElement[] oaRet = new DomElement[oaProps.length];
+//        ConfigTree[] oaRet = new ConfigTree[oaProps.length];
 //        int iCurr = 0;
 //        for (KeyValuePair oCurr : oaProps)
-//        {	DomElement oElem = new DomElement(NotifyJMS.CHILD_MSG_PROP);
-//            oElem.setAttr(NotifyJMS.ATT_PROP_NAME,oCurr.getKey());
-//            oElem.setAttr(NotifyJMS.ATT_PROP_VALUE,oCurr.getValue());
+//        {	ConfigTree oElem = new ConfigTree(NotifyJMS.CHILD_MSG_PROP);
+//            oElem.setAttribute(NotifyJMS.ATT_PROP_NAME,oCurr.getKey());
+//            oElem.setAttribute(NotifyJMS.ATT_PROP_VALUE,oCurr.getValue());
 //            oaRet[iCurr++] = oElem;
 //        }
 //        return oaRet;
 //    } //________________________________
 
-    static DomElement sqlTableTarget() throws Exception
+    static ConfigTree sqlTableTarget(ConfigTree dad) throws Exception
     {
-        DomElement oTgt = new DomElement(NotificationList.CHILD_TGT);
-        oTgt.setAttr(NotificationTarget.PRM_NOTIF_CLASS,"NotifySqlTable");
+        ConfigTree oTgt = new ConfigTree(NotificationList.CHILD_TGT,dad);
+        oTgt.setAttribute(NotificationTarget.PRM_NOTIF_CLASS,"NotifySqlTable");
 
-        oTgt.setAttr(SimpleDataSource.DRIVER,"org.postgresql.Driver");
-        oTgt.setAttr(SimpleDataSource.URL,"jdbc:postgresql://localhost:5432/jbossesb");
-        oTgt.setAttr(SimpleDataSource.USER,"postgres");
-        oTgt.setAttr(SimpleDataSource.PASSWORD,"postgres");
+        oTgt.setAttribute(SimpleDataSource.DRIVER,"org.postgresql.Driver");
+        oTgt.setAttribute(SimpleDataSource.URL,"jdbc:postgresql://localhost:5432/jbossesb");
+        oTgt.setAttribute(SimpleDataSource.USER,"postgres");
+        oTgt.setAttribute(SimpleDataSource.PASSWORD,"postgres");
 		
         // Table name for insert - must exist in database (URL)
-        oTgt.setAttr(NotifySqlTable.ATT_TABLE,"test_notif_table");
+        oTgt.setAttribute(NotifySqlTable.ATT_TABLE,"test_notif_table");
         // Column that will contain the dynamic data generated by the ActionClass
         // must exist in table (ATT_TABLE above)
-        oTgt.setAttr(NotifySqlTable.ATT_DATA,"msg");
+        oTgt.setAttribute(NotifySqlTable.ATT_DATA,"msg");
 		
         // constant data that can be also added in the insert
         // (perhaps needed for queries)
@@ -215,10 +215,9 @@
           ,new KeyValuePair("val1","VVVV 11111")
           };
         for (KeyValuePair oCurr : oaCols)
-        {	DomElement oElem = new DomElement(NotifySqlTable.CHILD_COLUMN);
-            oElem.setAttr(NotifySqlTable.ATT_NAME,oCurr.getKey());
-            oElem.setAttr(NotifySqlTable.ATT_VALUE,oCurr.getValue());
-            oTgt.addElemChild(oElem);
+        {	ConfigTree oElem = new ConfigTree(NotifySqlTable.CHILD_COLUMN,oTgt);
+            oElem.setAttribute(NotifySqlTable.ATT_NAME,oCurr.getKey());
+            oElem.setAttribute(NotifySqlTable.ATT_VALUE,oCurr.getValue());
         }
 		
         return oTgt;




More information about the jboss-svn-commits mailing list