[jboss-svn-commits] JBL Code SVN: r20347 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/xml/processes and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jun 5 22:38:33 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-06-05 22:38:33 -0400 (Thu, 05 Jun 2008)
New Revision: 20347

Removed:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/Configuration.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/DefaultConfiguration.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExtensibleXmlParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/AbstractNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ActionNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConstraintHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/InPortHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/JoinNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MappingHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MilestoneNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/OutPortHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ParameterHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/RuleSetNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SplitNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SubProcessNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TimerNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ValueHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/VariableHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkItemNodeHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FunctionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PackageHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QualifiedIdentifierRestrictionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QueryHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RuleHandler.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java
Log:
JBRULES-1634 Update ExtensibleXmlReader to use DOM Elements instead of Configuration

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/Configuration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/Configuration.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/Configuration.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -1,103 +0,0 @@
-package org.drools.xml;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Configuration passed to a configurable <code>SemanticComponent</code>.
- * 
- * <p>
- * A <code>Configuration</code> may actually form a tree-shaped structure in
- * order to hold complex configuration data. Each node in the tree is
- * represented by a <code>Configuration</code> object that has a name and may
- * contain attributes, children and text.
- * </p>
- * 
- * @author <a href="mailto:bob at werken.com">bob mcwhirter </a>
- * 
- * @version $Id: Configuration.java,v 1.5 2005/01/23 18:16:20 mproctor Exp $
- */
-public interface Configuration {
-    // ----------------------------------------------------------------------
-    //     Constants
-    // ----------------------------------------------------------------------
-
-    /** Empty <code>Configuration</code> array. */
-    Configuration[] EMPTY_ARRAY = new Configuration[0];
-
-    // ----------------------------------------------------------------------
-    //     Interface
-    // ----------------------------------------------------------------------
-
-    /**
-     * Retrieve the node name.
-     * 
-     * @return The node name.
-     */
-    String getName();
-
-    /**
-     * Retrieve the node text.
-     * 
-     * @return The node text.
-     */
-    String getText();
-
-    /**
-     * Retrieve an attribute value.
-     * 
-     * @param name The attribute name.
-     * 
-     * @return The attribute value or <code>null</code> if no attribute
-     *         matches the specified name.
-     */
-    String getAttribute(String name);
-
-    /**
-     * Retrieve all attribute names.
-     * 
-     * @return The attribute names.
-     */
-    String[] getAttributeNames();
-
-    /**
-     * Retrieve a child node.
-     * 
-     * @param name The child name.
-     * 
-     * @return The first child matching the specified name, otherwise
-     *         <code>null</code> if none match.
-     */
-    Configuration getChild(String name);
-
-    /**
-     * Retrieve children nodes.
-     * 
-     * @param name The child name.
-     * 
-     * @return All children matching the specified name, otherwise an empty
-     *         array if none match.
-     */
-    Configuration[] getChildren(String name);
-
-    /**
-     * Retrieve all children nodes.
-     * 
-     * @return All children nodes, otherwise an empty array if this node
-     *         contains no children.
-     */
-    Configuration[] getChildren();
-}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/DefaultConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/DefaultConfiguration.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/DefaultConfiguration.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -1,176 +0,0 @@
-package org.drools.xml;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * Default implementation of <code>Configuration</code>.
- * 
- * @author <a href="mailto:bob at werken.com">bob mcwhirter </a>
- * 
- * @version $Id: DefaultConfiguration.java,v 1.2 2004/09/17 00:25:09 mproctor
- *          Exp $
- */
-public class DefaultConfiguration
-    implements
-    Configuration {
-    // ----------------------------------------------------------------------
-    //     Class members
-    // ----------------------------------------------------------------------
-
-    /** Empty <code>String</code> array. */
-    private static final String[] EMPTY_STRING_ARRAY = new String[0];
-
-    // ----------------------------------------------------------------------
-    //     Instance members
-    // ----------------------------------------------------------------------
-
-    /** Node name. */
-    private final String          name;
-
-    /** Node text. */
-    private String                text               = "";
-
-    /** Node attributes. */
-    private final Map             attrs;
-
-    /** Children nodes. */
-    private final List            children;
-
-    // ----------------------------------------------------------------------
-    //     Constructors
-    // ----------------------------------------------------------------------
-
-    /**
-     * Construct.
-     * 
-     * @param name
-     *            The name of the node.
-     */
-    public DefaultConfiguration(final String name) {
-        this.name = name;
-        this.attrs = new HashMap();
-        this.children = new ArrayList();
-    }
-
-    /**
-     * @see Configuration
-     */
-    public String getName() {
-        return this.name;
-    }
-
-    /**
-     * Set the node text.
-     * 
-     * @param text
-     *            The text.
-     */
-    public void setText(final String text) {
-        this.text = text;
-    }
-
-    /**
-     * @see Configuration
-     */
-    public String getText() {
-        return this.text;
-    }
-
-    /**
-     * Set an attribute value.
-     * 
-     * @param name
-     *            The attribute name.
-     * @param value
-     *            The attribute value.
-     */
-    public void setAttribute(final String name,
-                             final String value) {
-        this.attrs.put( name,
-                        value );
-    }
-
-    /**
-     * @see Configuration
-     */
-    public String getAttribute(final String name) {
-        return (String) this.attrs.get( name );
-    }
-
-    /**
-     * @see Configuration
-     */
-    public String[] getAttributeNames() {
-        return (String[]) this.attrs.keySet().toArray( DefaultConfiguration.EMPTY_STRING_ARRAY );
-    }
-
-    /**
-     * Add a child <code>Configuration</code>.
-     * 
-     * @param config
-     *            The child.
-     */
-    public void addChild(final Configuration config) {
-        this.children.add( config );
-    }
-
-    /**
-     * @see Configuration
-     */
-    public Configuration getChild(final String name) {
-        for ( final Iterator childIter = this.children.iterator(); childIter.hasNext(); ) {
-            final Configuration eachConfig = (Configuration) childIter.next();
-
-            if ( eachConfig.getName().equals( name ) ) {
-                return eachConfig;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * @see Configuration
-     */
-    public Configuration[] getChildren(final String name) {
-        final List result = new ArrayList();
-
-        for ( final Iterator childIter = this.children.iterator(); childIter.hasNext(); ) {
-            final Configuration eachConfig = (Configuration) childIter.next();
-
-            if ( eachConfig.getName().equals( name ) ) {
-                result.add( eachConfig );
-            }
-        }
-
-        return (Configuration[]) result.toArray( Configuration.EMPTY_ARRAY );
-    }
-
-    /**
-     * @see Configuration
-     */
-    public Configuration[] getChildren() {
-        return (Configuration[]) this.children.toArray( Configuration.EMPTY_ARRAY );
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExtensibleXmlParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExtensibleXmlParser.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/ExtensibleXmlParser.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -31,10 +31,15 @@
 import java.util.Map;
 import java.util.Set;
 
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
@@ -102,7 +107,10 @@
 
     private final Map           namespaces                    = new HashMap();
 
-    EntityResolver              entityResolver;
+    private EntityResolver      entityResolver;
+    
+    private Document            document;
+    private DocumentFragment    docFragment;
 
     // ----------------------------------------------------------------------
     // Constructors
@@ -154,6 +162,7 @@
      *            The reader containing the rule-set.
      *
      * @return The rule-set.
+     * @throws ParserConfigurationException 
      */
     public Object read(final Reader reader) throws SAXException,
                                            IOException {
@@ -167,6 +176,7 @@
      *            The input-stream containing the rule-set.
      *
      * @return The rule-set.
+     * @throws ParserConfigurationException 
      */
     public Object read(final InputStream inputStream) throws SAXException,
                                                      IOException {
@@ -180,9 +190,19 @@
      *            The rule-set input-source.
      *
      * @return The rule-set.
+     * @throws ParserConfigurationException 
      */
     public Object read(final InputSource in) throws SAXException,
                                             IOException {
+        if ( this.docFragment == null ) {
+            try {
+                this.document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+            } catch ( ParserConfigurationException e ) {
+                throw new RuntimeException( "Unable to create new DOM Document" );
+            }
+            this.docFragment = this.document.createDocumentFragment();
+        }
+        
         SAXParser localParser = null;
         if ( this.parser == null ) {
             final SAXParserFactory factory = SAXParserFactory.newInstance();
@@ -299,7 +319,7 @@
                                             localName );
 
         if ( handler == null ) {
-            startConfiguration( localName,
+            startElementBuilder( localName,
                                 attrs );
             return;
         }
@@ -337,7 +357,7 @@
 
         if ( handler == null ) {
             if ( this.configurationStack.size() >= 1 ) {
-                endConfiguration();
+                endElementBuilder();
             }
             return;
         }
@@ -348,7 +368,7 @@
                                  localName,
                                  this );
     }
-    
+
     public static class Null {
         public static final Null instance = new Null();
     }
@@ -437,38 +457,41 @@
      * @param attrs
      *            Tag attributes.
      */
-    public void startConfiguration(final String name,
-                                   final Attributes attrs) {
+    public void startElementBuilder(final String tagName,
+                                   final Attributes attrs) {        
         this.characters = new StringBuilder();
+                
 
-        final DefaultConfiguration config = new DefaultConfiguration( name );
+        final Element element = this.document.createElement( tagName );
+        
+        //final DefaultConfiguration config = new DefaultConfiguration( tagName );        
 
         final int numAttrs = attrs.getLength();
 
         for ( int i = 0; i < numAttrs; ++i ) {
-            config.setAttribute( attrs.getLocalName( i ),
+            element.setAttribute( attrs.getLocalName( i ),
                                  attrs.getValue( i ) );
         }
 
-        // lets add the namespaces as attributes
-        for ( final Iterator iter = this.namespaces.entrySet().iterator(); iter.hasNext(); ) {
-            final Map.Entry entry = (Map.Entry) iter.next();
-            String ns = (String) entry.getKey();
-            final String value = (String) entry.getValue();
-            if ( ns == null || ns.length() == 0 ) {
-                ns = "xmlns";
-            } else {
-                ns = "xmlns:" + ns;
-            }
-            config.setAttribute( ns,
-                                 value );
-        }
+//        // lets add the namespaces as attributes
+//        for ( final Iterator iter = this.namespaces.entrySet().iterator(); iter.hasNext(); ) {
+//            final Map.Entry entry = (Map.Entry) iter.next();
+//            String ns = (String) entry.getKey();
+//            final String value = (String) entry.getValue();
+//            if ( ns == null || ns.length() == 0 ) {
+//                ns = "xmlns";
+//            } else {
+//                ns = "xmlns:" + ns;
+//            }
+//            config.setAttribute( ns,
+//                                 value );
+//        }
 
         if ( this.configurationStack.isEmpty() ) {
-            this.configurationStack.addLast( config );
+            this.configurationStack.addLast( element );
         } else {
-            ((DefaultConfiguration) this.configurationStack.getLast()).addChild( config );
-            this.configurationStack.addLast( config );
+            ((Element) this.configurationStack.getLast()).appendChild( element );
+            this.configurationStack.addLast( element );
         }
     }
 
@@ -503,15 +526,15 @@
      *
      * @return The configuration.
      */
-    public Configuration endConfiguration() {
-        final DefaultConfiguration config = (DefaultConfiguration) this.configurationStack.removeLast();
+    public Element endElementBuilder() {
+        final Element element = (Element) this.configurationStack.removeLast();
         if ( this.characters != null ) {
-            config.setText( this.characters.toString() );
+            element.appendChild( this.document.createTextNode( this.characters.toString() ) );
         }
 
         this.characters = null;
 
-        return config;
+        return element;
     }
 
     public Object getParent() {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/AbstractNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/AbstractNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/AbstractNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -5,10 +5,10 @@
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.NodeContainer;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
 import org.drools.xml.ProcessBuildData;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -37,7 +37,8 @@
 
     public Object start(final String uri, final String localName, final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         NodeContainer nodeContainer = (NodeContainer) parser.getParent();
 
@@ -58,40 +59,40 @@
 
     public Object end(final String uri, final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         Node node = (Node) parser.getCurrent();
-        handleNode(node, config, uri, localName, parser);
+        handleNode(node, element, uri, localName, parser);
         return node;
     }
     
-    protected void handleNode(final Node node, final Configuration config, final String uri, 
+    protected void handleNode(final Node node, final Element element, final String uri, 
             final String localName, final ExtensibleXmlParser parser) throws SAXException {
-        final String x = config.getAttribute("x");
-        if (x != null && !"".equals(x)) {
+        final String x = element.getAttribute("x");
+        if (x != null && x.length() != 0) {
             try {
                 node.setMetaData("x", new Integer(x));
             } catch (NumberFormatException exc) {
                 throw new SAXParseException("<" + localName + "> requires an Integer 'x' attribute", parser.getLocator());
             }
         }
-        final String y = config.getAttribute("y");
-        if (y != null && !"".equals(y)) {
+        final String y = element.getAttribute("y");
+        if (y != null && y.length() != 0) {
             try {
                 node.setMetaData("y", new Integer(y));
             } catch (NumberFormatException exc) {
                 throw new SAXParseException("<" + localName + "> requires an Integer 'y' attribute", parser.getLocator());
             }
         }
-        final String width = config.getAttribute("width");
-        if (width != null && !"".equals(width)) {
+        final String width = element.getAttribute("width");
+        if (width != null && width.length() != 0) {
             try {
                 node.setMetaData("width", new Integer(width));
             } catch (NumberFormatException exc) {
                 throw new SAXParseException("<" + localName + "> requires an Integer 'width' attribute", parser.getLocator());
             }
         }
-        final String height = config.getAttribute("height");
-        if (height != null && !"".equals(height)) {
+        final String height = element.getAttribute("height");
+        if (height != null && height.length() != 0) {
             try {
                 node.setMetaData("height", new Integer(height));
             } catch (NumberFormatException exc) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ActionNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ActionNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ActionNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -3,9 +3,10 @@
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.impl.DroolsConsequenceAction;
 import org.drools.workflow.core.node.ActionNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.XmlDumper;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.SAXException;
 
 public class ActionNodeHandler extends AbstractNodeHandler {
@@ -14,19 +15,19 @@
         return new ActionNode();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         ActionNode actionNode = (ActionNode) node;
-        String text = config.getText();
+        String text = ((Text)element.getChildNodes().item( 0 )).getWholeText();
         if (text != null) {
             text.trim();
             if ("".equals(text)) {
                 text = null;
             }
         }
-        final String dialect = config.getAttribute("dialect");
+        final String dialect = element.getAttribute("dialect");
         DroolsConsequenceAction actionText = new DroolsConsequenceAction(dialect, text);
         actionNode.setAction(actionText);
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConnectionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -7,10 +7,10 @@
 import org.drools.workflow.core.NodeContainer;
 import org.drools.workflow.core.impl.ConnectionImpl;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
 import org.drools.xml.ProcessBuildData;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -37,8 +37,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );     
+        parser.startElementBuilder( localName,
+                                    attrs );   
         
         String fromId = attrs.getValue( "from" );
         emptyAttributeCheck( localName, "from", fromId, parser );
@@ -68,7 +68,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         return parser.getCurrent();
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConstraintHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConstraintHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ConstraintHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -6,9 +6,10 @@
 import org.drools.workflow.core.impl.ConstraintImpl;
 import org.drools.workflow.core.node.Split;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -30,36 +31,37 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         return null;
     }    
     
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         Split splitNode = (Split) parser.getParent();
-        final String toNodeIdString = config.getAttribute("toNodeId");
+        final String toNodeIdString = element.getAttribute("toNodeId");
         emptyAttributeCheck(localName, "toNodeId", toNodeIdString, parser);
         int toNodeId = new Integer(toNodeIdString);
-        final String toType = config.getAttribute("toType");
+        final String toType = element.getAttribute("toType");
         emptyAttributeCheck(localName, "toType", toType, parser);
         Split.ConnectionRef connectionRef = new Split.ConnectionRef(toNodeId, toType);
         Constraint constraint = new ConstraintImpl();
         
-        final String name = config.getAttribute("name");
+        final String name = element.getAttribute("name");
         constraint.setName(name);
-        final String priority = config.getAttribute("priority");
-        if (priority != null) {
+        final String priority = element.getAttribute("priority");
+        if (priority != null && priority.length() != 0) {
             constraint.setPriority(new Integer(priority));
         }
-        final String type = config.getAttribute("type");
+        final String type = element.getAttribute("type");
         constraint.setType(type);
-        final String dialect = config.getAttribute("dialect");
+        final String dialect = element.getAttribute("dialect");
         constraint.setDialect(dialect);
-        String text = config.getText();
+        String text = ((Text)element.getChildNodes().item( 0 )).getWholeText();
         if (text != null) {
-            text.trim();
+            text = text.trim();
             if ("".equals(text)) {
                 text = null;
             }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/GlobalHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -7,9 +7,9 @@
 import org.drools.process.core.Process;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -35,8 +35,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         
         WorkflowProcessImpl  process = ( WorkflowProcessImpl ) parser.getParent();        
         
@@ -59,7 +59,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ImportHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -6,9 +6,9 @@
 import org.drools.process.core.Process;
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -33,8 +33,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         
         WorkflowProcessImpl  process = ( WorkflowProcessImpl ) parser.getParent();        
         
@@ -54,7 +54,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/InPortHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/InPortHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/InPortHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -28,7 +28,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         CompositeNode compositeNode = (CompositeNode) parser.getParent();
         final String type = attrs.getValue("type");
         emptyAttributeCheck(localName, "type", type, parser);
@@ -43,7 +44,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/JoinNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/JoinNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/JoinNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -2,8 +2,8 @@
 
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.Join;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class JoinNodeHandler extends AbstractNodeHandler {
@@ -12,13 +12,13 @@
         return new Join();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         Join joinNode = (Join) node;
-        String type = config.getAttribute("type");
-        if (type != null) {
+        String type = element.getAttribute("type");
+        if (type != null && type.length() != 0 ) {
             joinNode.setType(new Integer(type));
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MappingHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MappingHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MappingHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -31,7 +31,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         Mappable mappable = (Mappable) parser.getParent();
         final String type = attrs.getValue("type");
         emptyAttributeCheck(localName, "type", type, parser);
@@ -53,7 +54,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MilestoneNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MilestoneNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/MilestoneNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -2,9 +2,10 @@
 
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.MilestoneNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.XmlDumper;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.SAXException;
 
 public class MilestoneNodeHandler extends AbstractNodeHandler {
@@ -13,12 +14,12 @@
         return new MilestoneNode();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         MilestoneNode milestone = (MilestoneNode) node;
-        String text = config.getText();
+        String text = ((Text)element.getChildNodes().item( 0 )).getWholeText();
         if (text != null) {
             text.trim();
             if ("".equals(text)) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/OutPortHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/OutPortHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/OutPortHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -28,7 +28,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         CompositeNode compositeNode = (CompositeNode) parser.getParent();
         final String type = attrs.getValue("type");
         emptyAttributeCheck(localName, "type", type, parser);
@@ -43,7 +44,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ParameterHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ParameterHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ParameterHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -12,9 +12,10 @@
 import org.drools.process.core.datatype.impl.type.StringDataType;
 import org.drools.process.core.impl.ParameterDefinitionImpl;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -40,18 +41,19 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         return null;
     }    
     
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         Work work = (Work) parser.getParent();
-        final String name = config.getAttribute("name");
+        final String name = element.getAttribute("name");
         emptyAttributeCheck(localName, "name", name, parser);
-        final String type = config.getAttribute("type");
+        final String type = element.getAttribute("type");
         emptyAttributeCheck(localName, "type", type, parser);
         DataType dataType = null;
         try {
@@ -66,9 +68,9 @@
             throw new SAXParseException(
                 "Could not access datatype " + name, parser.getLocator());
         }
-        String text = config.getText();
+        String text = ((Text)element.getChildNodes().item( 0 )).getWholeText();
         if (text != null) {
-            text.trim();
+            text = text.trim();
             if ("".equals(text)) {
                 text = null;
             }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ProcessHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -4,10 +4,10 @@
 
 import org.drools.ruleflow.core.RuleFlowProcess;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
 import org.drools.xml.ProcessBuildData;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -29,8 +29,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         
         final String id = attrs.getValue( "id" );
         final String name = attrs.getValue( "name" );
@@ -57,7 +57,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();        
+        final Element element = parser.endElementBuilder();        
         return parser.getCurrent();
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/RuleSetNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/RuleSetNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/RuleSetNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -2,8 +2,8 @@
 
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.RuleSetNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class RuleSetNodeHandler extends AbstractNodeHandler {
@@ -12,12 +12,12 @@
         return new RuleSetNode();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         RuleSetNode ruleSetNode = (RuleSetNode) node;
-        String ruleFlowGroup = config.getAttribute("ruleFlowGroup");
+        String ruleFlowGroup = element.getAttribute("ruleFlowGroup");
         ruleSetNode.setRuleFlowGroup(ruleFlowGroup);
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SplitNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SplitNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SplitNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -5,9 +5,9 @@
 import org.drools.workflow.core.Constraint;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.Split;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.XmlDumper;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class SplitNodeHandler extends AbstractNodeHandler {
@@ -16,13 +16,13 @@
         return new Split();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         Split splitNode = (Split) node;
-        String type = config.getAttribute("type");
-        if (type != null) {
+        String type = element.getAttribute("type");
+        if (type != null && type.length() != 0 ) {
             splitNode.setType(new Integer(type));
         }
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SubProcessNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SubProcessNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/SubProcessNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -4,8 +4,8 @@
 
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.SubProcessNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class SubProcessNodeHandler extends AbstractNodeHandler {
@@ -14,16 +14,16 @@
         return new SubProcessNode();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         SubProcessNode subProcessNode = (SubProcessNode) node;
-        String processId = config.getAttribute("processId");
+        String processId = element.getAttribute("processId");
         subProcessNode.setProcessId(processId);
-        String waitForCompletion = config.getAttribute("waitForCompletion");
+        String waitForCompletion = element.getAttribute("waitForCompletion");
         subProcessNode.setWaitForCompletion(!"false".equals(waitForCompletion));
-        String independent = config.getAttribute("independent");
+        String independent = element.getAttribute("independent");
         subProcessNode.setIndependent(!"false".equals(independent));
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TimerNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TimerNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TimerNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -3,8 +3,8 @@
 import org.drools.process.core.timer.Timer;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.TimerNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class TimerNodeHandler extends AbstractNodeHandler {
@@ -13,23 +13,23 @@
         return new TimerNode();
     }
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         TimerNode timerNode = (TimerNode) node;
-        String delay = config.getAttribute("delay");
-        String period = config.getAttribute("period");
+        String delay = element.getAttribute("delay");
+        String period = element.getAttribute("period");
         if (delay != null || period != null) {
             Timer timer = timerNode.getTimer();
             if (timer == null) {
                 timer = new Timer();
                 timerNode.setTimer(timer);
             }
-            if (delay != null) {
+            if (delay != null && delay.length() != 0 ) {
                 timer.setDelay(new Long(delay));
             }
-            if (period != null) {
+            if (period != null && period.length() != 0 ) {
                 timer.setPeriod(new Long(period));
             }
         }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/TypeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -32,7 +32,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         Variable variable = (Variable) parser.getParent();
         final String name = attrs.getValue("name");
         emptyAttributeCheck(localName, "name", name, parser);
@@ -57,7 +58,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ValueHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ValueHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/ValueHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -10,9 +10,10 @@
 import org.drools.process.core.datatype.impl.type.IntegerDataType;
 import org.drools.process.core.datatype.impl.type.StringDataType;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -38,16 +39,17 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         return null;
     }    
     
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         Variable variable = (Variable) parser.getParent();
-        String text = config.getText();
+        String text = ((Text)element.getChildNodes().item( 0 )).getWholeText();
         if (text != null) {
             text.trim();
             if ("".equals(text)) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/VariableHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/VariableHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/VariableHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -36,7 +36,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         WorkflowProcessImpl process = (WorkflowProcessImpl) parser.getParent();
         final String name = attrs.getValue("name");
         emptyAttributeCheck(localName, "name", name, parser);
@@ -63,7 +64,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -29,7 +29,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration(localName, attrs);
+        parser.startElementBuilder( localName,
+                                    attrs );
         WorkItemNode workItemNode = (WorkItemNode) parser.getParent();
         final String name = attrs.getValue("name");
         emptyAttributeCheck(localName, "name", name, parser);
@@ -42,7 +43,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        parser.endConfiguration();
+        parser.endElementBuilder();
         return null;
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkItemNodeHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkItemNodeHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/processes/WorkItemNodeHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -6,18 +6,18 @@
 import org.drools.process.core.Work;
 import org.drools.workflow.core.Node;
 import org.drools.workflow.core.node.WorkItemNode;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
+import org.w3c.dom.Element;
 import org.xml.sax.SAXException;
 
 public class WorkItemNodeHandler extends AbstractNodeHandler {
 
-    public void handleNode(final Node node, final Configuration config, final String uri,
+    public void handleNode(final Node node, final Element element, final String uri,
             final String localName, final ExtensibleXmlParser parser)
             throws SAXException {
-        super.handleNode(node, config, uri, localName, parser);
+        super.handleNode(node, element, uri, localName, parser);
         WorkItemNode workItemNode = (WorkItemNode) node;
-        final String waitForCompletion = config.getAttribute("waitForCompletion");
+        final String waitForCompletion = element.getAttribute("waitForCompletion");
         workItemNode.setWaitForCompletion(!"false".equals(waitForCompletion));
     }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,9 @@
 import org.drools.lang.descr.FromDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -54,7 +54,7 @@
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
 
-        parser.startConfiguration( localName,
+        parser.startElementBuilder( localName,
                                                   attrs );
         final AccumulateDescr accumulateDesrc = new AccumulateDescr();
         return accumulateDesrc;
@@ -64,7 +64,7 @@
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
 
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         final AccumulateDescr accumulateDescr = (AccumulateDescr) parser.getCurrent();
 
         final Object parent = parser.getParent();

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AccumulateHelperHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -22,9 +22,11 @@
 import org.drools.lang.descr.BaseDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -56,7 +58,7 @@
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
 
-        parser.startConfiguration( localName,
+        parser.startElementBuilder( localName,
                                                   attrs );
 
         return new BaseDescr();
@@ -66,9 +68,11 @@
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
 
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
-        final String expression = config.getText();
+        
+        
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
 
         final Object parent = parser.getParent();
 
@@ -88,8 +92,8 @@
             accumulate.setReverseCode( expression.trim() );
         } else if ( localName.equals( "external-function" ) ) {
             accumulate.setExternalFunction( true );
-            accumulate.setFunctionIdentifier( config.getAttribute( "evaluator" ) );
-            accumulate.setExpression( config.getAttribute( "expression" ) );
+            accumulate.setFunctionIdentifier( element.getAttribute( "evaluator" ) );
+            accumulate.setExpression( element.getAttribute( "expression" ) );
         }
 
         return null;

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/AndHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -31,9 +31,9 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -73,8 +73,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final AndDescr andDescr = new AndDescr();
 
         return andDescr;
@@ -83,7 +83,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final AndDescr andDescr = (AndDescr) parser.getCurrent();
 
@@ -92,9 +92,9 @@
         if ( parent instanceof RuleDescr || parent instanceof QueryDescr ) {
             final RuleDescr ruleDescr = (RuleDescr) parent;
             ruleDescr.setLhs( andDescr );
-        } else if ( parent instanceof MultiPatternDestinationDescr) {
-        	final MultiPatternDestinationDescr mpDescr = (MultiPatternDestinationDescr) parent;
-        	mpDescr.setInput(andDescr);        	
+        } else if ( parent instanceof MultiPatternDestinationDescr ) {
+            final MultiPatternDestinationDescr mpDescr = (MultiPatternDestinationDescr) parent;
+            mpDescr.setInput( andDescr );
         } else if ( parent instanceof ConditionalElementDescr ) {
             final ConditionalElementDescr ceDescr = (ConditionalElementDescr) parent;
             ceDescr.addDescr( andDescr );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/CollectHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,9 @@
 import org.drools.lang.descr.FromDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -54,9 +54,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final CollectDescr collectDescr = new CollectDescr();
         return collectDescr;
     }
@@ -65,7 +64,7 @@
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
 
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         final CollectDescr collectDescr = (CollectDescr) parser.getCurrent();
 
         final Object parent = parser.getParent();

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/EvalHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -27,9 +27,11 @@
 import org.drools.lang.descr.OrDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -66,8 +68,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final EvalDescr evalDescr = new EvalDescr();
 
@@ -77,11 +79,11 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final EvalDescr evalDescr = (EvalDescr) parser.getCurrent();
 
-        final String expression = config.getText();
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
 
         emptyContentCheck( localName, expression, parser );
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExistsHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -27,9 +27,9 @@
 import org.drools.lang.descr.OrDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -68,8 +68,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final ExistsDescr existsDescr = new ExistsDescr();
 
         return existsDescr;
@@ -78,7 +78,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final ExistsDescr existsDescr = (ExistsDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ExpressionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -29,9 +29,11 @@
 import org.drools.lang.descr.DeclarativeInvokerDescr;
 import org.drools.lang.descr.FromDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -65,20 +67,18 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
+        parser.startElementBuilder( localName,
+                                    attrs );
 
-        parser.startConfiguration( localName,
-                                                  attrs );
-
         return new BaseDescr();
     }
 
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
+        final Element element = parser.endElementBuilder();
 
-        final Configuration config = parser.endConfiguration();
-
-        final String expression = config.getText();
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
         
         emptyContentCheck( localName, expression, parser );
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldBindingHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,9 @@
 import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.PredicateDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -53,8 +53,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         
         final String identifier = attrs.getValue( "identifier" );
         final String fieldName = attrs.getValue( "field-name" );
@@ -71,7 +71,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final FieldBindingDescr fieldBindingDescr = (FieldBindingDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FieldConstraintHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -26,9 +26,9 @@
 import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.PredicateDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -65,8 +65,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String fieldName = attrs.getValue( "field-name" );
         
@@ -80,9 +80,8 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
+        final Element element = parser.endElementBuilder();
 
-        final Configuration config = parser.endConfiguration();
-
         final FieldConstraintDescr fieldConstraintDescr = (FieldConstraintDescr) parser.getCurrent();
         
         final Object parent = parser.getParent( );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ForallHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -27,9 +27,9 @@
 import org.drools.lang.descr.OrDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -69,10 +69,9 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
+        parser.startElementBuilder( localName,
+                                    attrs );
 
-        parser.startConfiguration( localName,
-                                             attrs );
-
         final ForallDescr forallDescr = new ForallDescr();
 
         return forallDescr;
@@ -84,7 +83,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final ForallDescr forallDescr = (ForallDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FromHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,9 @@
 import org.drools.lang.descr.FromDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -53,10 +53,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-
-        parser.startConfiguration( localName,
-                                                  attrs );
-
+        parser.startElementBuilder( localName,
+                                    attrs );
         final FromDescr fromDesctiptor = new FromDescr();
         return fromDesctiptor;
     }
@@ -64,9 +62,8 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
+        final Element element = parser.endElementBuilder();
 
-        final Configuration config = parser.endConfiguration();
-
         final FromDescr fromDescr = (FromDescr) parser.getCurrent();
 
         Object parent = parser.getParent();
@@ -74,8 +71,8 @@
         final PatternDescr patternDescr = (PatternDescr) parent;
 
         final ConditionalElementDescr parentDescr = (ConditionalElementDescr)  parser.getParent( 1 );
-
-        if ( (config.getChild( "expression" ) != null) ) {
+                
+        if ( element.getElementsByTagName( "expression" ).getLength() > 0 ) {
             patternDescr.setSource( fromDescr );    
         }
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FunctionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FunctionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/FunctionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,12 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -58,8 +61,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                             attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final String name = attrs.getValue( "name" );
         final String returnType = attrs.getValue( "return-type" );
         
@@ -75,15 +78,15 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         FunctionDescr functionDescr = ( FunctionDescr ) parser.getCurrent();
 
-        final Configuration[] parameters = config.getChildren( "parameter" );
+        final NodeList parameters = element.getElementsByTagName( "parameter" );
 
-        for ( int i = 0, length = parameters.length; i < length; i++ ) {
-            final String identifier = parameters[i].getAttribute( "identifier" );      
-            final String type = parameters[i].getAttribute( "type" );
+        for ( int i = 0, length = parameters.getLength(); i < length; i++ ) {
+            final String identifier = ((Element)parameters.item( i )).getAttribute( "identifier" );      
+            final String type = ((Element)parameters.item( i )).getAttribute( "type" );
             
             emptyAttributeCheck("parameter", "identifier", identifier, parser);                  
             emptyAttributeCheck("parameter", "type", type, parser);
@@ -93,13 +96,17 @@
         }
 
         // we allow empty, "", bodies - but make sure that we atleast have a body element
-        final Configuration body = config.getChild( "body" );
-        if ( body == null ) {
+              
+        NodeList list = element.getElementsByTagName( "body" );
+        if ( list.getLength() == 0 ) {
             throw new SAXParseException( "function must have a <body>",
                                          parser.getLocator() );
+
         }
 
-        functionDescr.setText( body.getText() );
+        
+        
+        functionDescr.setText( ((org.w3c.dom.Text)list.item( 0 ).getChildNodes().item( 0 )).getWholeText() );
 
         final PackageDescr packageDescr = (PackageDescr) parser.getData();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/LiteralRestrictionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -25,9 +25,9 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -62,8 +62,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String evaluator = attrs.getValue( "evaluator" );
         emptyAttributeCheck( localName, "evaluator", evaluator, parser );
@@ -79,7 +79,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final LiteralRestrictionDescr literalDescr = (LiteralRestrictionDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/NotHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -27,9 +27,9 @@
 import org.drools.lang.descr.OrDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -67,8 +67,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final NotDescr notDescr = new NotDescr();
 
         return notDescr;
@@ -77,7 +77,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final NotDescr notDescr = (NotDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/OrHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -28,9 +28,9 @@
 import org.drools.lang.descr.OrDescr;
 import org.drools.lang.descr.PatternDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -65,8 +65,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final OrDescr orDescr = new OrDescr();
 
         return orDescr;
@@ -75,7 +75,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final OrDescr orDescr = (OrDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PackageHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PackageHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PackageHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,10 @@
 import org.drools.lang.descr.ImportDescr;
 import org.drools.lang.descr.PackageDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -55,8 +56,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String ruleSetName = attrs.getValue( "name" );
 
@@ -75,12 +76,13 @@
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
         final PackageDescr packageDescr = ( PackageDescr ) parser.getData();
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
-        final Configuration[] imports = config.getChildren( "import" );
+        
+        NodeList imports = element.getElementsByTagName( "import" );     
 
-        for ( int i = 0, length = imports.length; i < length; i++ ) {
-            final String importEntry = imports[i].getAttribute( "name" );
+        for ( int i = 0, length = imports.getLength(); i < length; i++ ) {
+            final String importEntry = ((Element)imports.item(i)).getAttribute( "name" );
 
             if ( importEntry == null || importEntry.trim().equals( "" ) ) {
                 throw new SAXParseException( "<import> cannot be blank",
@@ -89,10 +91,10 @@
             packageDescr.addImport( new ImportDescr( importEntry ) );
         }
         
-        final Configuration[] importfunctions = config.getChildren( "importfunction" );
+        NodeList importfunctions = element.getElementsByTagName( "importfunction" );
 
-        for ( int i = 0, length = importfunctions.length; i < length; i++ ) {
-            final String importfunctionEntry = importfunctions[i].getAttribute( "name" );
+        for ( int i = 0, length = importfunctions.getLength(); i < length; i++ ) {
+            final String importfunctionEntry = ((Element)importfunctions.item(i)).getAttribute( "name" );
 
             if ( importfunctionEntry == null || importfunctionEntry.trim().equals( "" ) ) {
                 throw new SAXParseException( "<importfunction> cannot be blank",
@@ -103,20 +105,19 @@
             funcdescr.setTarget( importfunctionEntry );
             
             packageDescr.addFunctionImport(funcdescr);
-        }
+        }        
         
+        NodeList globals = element.getElementsByTagName( "global" );
 
-        final Configuration[] globals = config.getChildren( "global" );
+        for ( int i = 0, length = globals.getLength(); i < length; i++ ) {
+            final String identifier = ((Element)globals.item(i)).getAttribute( "identifier" );
 
-        for ( int i = 0, length = globals.length; i < length; i++ ) {
-            final String identifier = globals[i].getAttribute( "identifier" );
-
             if ( identifier == null || identifier.trim().equals( "" ) ) {
                 throw new SAXParseException( "<global> must have an identifier",
                                              parser.getLocator() );
             }
 
-            final String type = globals[i].getAttribute( "type" );
+            final String type = ((Element)globals.item(i)).getAttribute( "type" );
             if ( type == null || type.trim().equals( "" ) ) {
                 throw new SAXParseException( "<global> must have specify a type",
                                              parser.getLocator() );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PatternHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -30,9 +30,9 @@
 import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.PatternDestinationDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -75,8 +75,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String objectType = attrs.getValue( "object-type" );
 
@@ -101,8 +101,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
         final PatternDescr patternDescr = (PatternDescr) parser.getCurrent();
 
         final Object parent = parser.getParent();

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/PredicateHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -23,9 +23,11 @@
 import org.drools.lang.descr.PatternDescr;
 import org.drools.lang.descr.PredicateDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -57,9 +59,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
-
+        parser.startElementBuilder( localName,
+                                    attrs );
         final PredicateDescr predicateDescr = new PredicateDescr();
 
         return predicateDescr;
@@ -68,11 +69,11 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final PredicateDescr predicateDescr = (PredicateDescr) parser.getCurrent();
 
-        final String expression = config.getText();
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
 
         if ( expression == null || expression.trim().equals( "" ) ) {
             throw new SAXParseException( "<predicate> must have some content",

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QualifiedIdentifierRestrictionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QualifiedIdentifierRestrictionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QualifiedIdentifierRestrictionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -25,9 +25,11 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -61,8 +63,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         String evaluator = attrs.getValue( "evaluator" );
         emptyAttributeCheck( localName, "evaluator", evaluator, parser );
@@ -82,11 +84,11 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final QualifiedIdentifierRestrictionDescr qualifiedIdentifierRestricionDescr = (QualifiedIdentifierRestrictionDescr) parser.getCurrent();
 
-        final String expression = config.getText();
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
 
         emptyContentCheck( localName, expression, parser );
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QueryHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QueryHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/QueryHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -24,9 +24,9 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -59,8 +59,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String queryName = attrs.getValue( "name" );
         emptyAttributeCheck( localName, "name", queryName, parser );
@@ -73,7 +73,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final QueryDescr queryDescr = (QueryDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RestrictionConnectiveHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -25,9 +25,9 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -66,8 +66,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         RestrictionConnectiveDescr connectiveDescr = null;
         if ( localName.equals( RestrictionConnectiveHandler.OR ) ) {
@@ -82,7 +82,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final RestrictionConnectiveDescr connectiveDescr = (RestrictionConnectiveDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/ReturnValueRestrictionHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -25,9 +25,11 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.mvel.templates.res.TextNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -63,8 +65,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
         final String evaluator = attrs.getValue( "evaluator" );
         emptyAttributeCheck( localName, "evaluator", evaluator, parser );
 
@@ -76,11 +78,11 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final ReturnValueRestrictionDescr returnValueDescr = (ReturnValueRestrictionDescr) parser.getCurrent();
 
-        final String expression = config.getText();
+        final String expression =((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
         emptyContentCheck( localName, expression, parser );
 
         returnValueDescr.setContent( expression );

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RuleHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RuleHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/RuleHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -25,9 +25,11 @@
 import org.drools.lang.descr.QueryDescr;
 import org.drools.lang.descr.RuleDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.Text;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -60,11 +62,14 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String ruleName = attrs.getValue( "name" );
-        emptyAttributeCheck(localName, "name", ruleName, parser );
+        emptyAttributeCheck( localName,
+                             "name",
+                             ruleName,
+                             parser );
 
         final RuleDescr ruleDescr = new RuleDescr( ruleName.trim() );
 
@@ -74,7 +79,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final RuleDescr ruleDescr = (RuleDescr) parser.getCurrent();
 
@@ -85,26 +90,29 @@
                                          parser.getLocator() );
         }
 
-        final Configuration rhs = config.getChild( "rhs" );
-        if ( rhs == null ) {
+        NodeList list = element.getElementsByTagName( "rhs" );
+        if ( list.getLength() == 0 ) {
             throw new SAXParseException( "<rule> requires a <rh> child element",
                                          parser.getLocator() );
         }
 
-        ruleDescr.setConsequence( rhs.getText() );
+        ruleDescr.setConsequence( ((org.w3c.dom.Text)list.item( 0 ).getChildNodes().item( 0 )).getWholeText() );
 
-        final Configuration[] attributes = config.getChildren( "rule-attribute" );
-        for ( int i = 0, length = attributes.length; i < length; i++ ) {
-            final String name = attributes[i].getAttribute( "name" );
-            emptyAttributeCheck( "rule-attribute", "name", name, parser );
+        NodeList attributes = element.getElementsByTagName( "rule-attribute" );
+        for ( int i = 0, length = attributes.getLength(); i < length; i++ ) {
+            final String name = ((Element) attributes.item( i )).getAttribute( "name" );
+            emptyAttributeCheck( "rule-attribute",
+                                 "name",
+                                 name,
+                                 parser );
 
-            final String value = attributes[i].getAttribute( "value" );
+            final String value = ((Element) attributes.item( i )).getAttribute( "value" );
 
             ruleDescr.addAttribute( new AttributeDescr( name,
                                                         value ) );
         }
 
-        (( PackageDescr ) parser.getData()).addRule( ruleDescr );
+        ((PackageDescr) parser.getData()).addRule( ruleDescr );
 
         return ruleDescr;
     }

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/xml/rules/VariableRestrictionsHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -24,9 +24,9 @@
 import org.drools.lang.descr.ReturnValueRestrictionDescr;
 import org.drools.lang.descr.VariableRestrictionDescr;
 import org.drools.xml.BaseAbstractHandler;
-import org.drools.xml.Configuration;
 import org.drools.xml.ExtensibleXmlParser;
 import org.drools.xml.Handler;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -58,8 +58,8 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser parser) throws SAXException {
-        parser.startConfiguration( localName,
-                                                  attrs );
+        parser.startElementBuilder( localName,
+                                    attrs );
 
         final String evaluator = attrs.getValue( "evaluator" );
         final String identifier = attrs.getValue( "identifier" );
@@ -76,7 +76,7 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser parser) throws SAXException {
-        final Configuration config = parser.endConfiguration();
+        final Element element = parser.endElementBuilder();
 
         final VariableRestrictionDescr variableDescr = (VariableRestrictionDescr) parser.getCurrent();
 

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/StoreHandler.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -7,6 +7,7 @@
 import org.drools.workflow.core.impl.WorkflowProcessImpl;
 import org.drools.workflow.core.node.ActionNode;
 import org.drools.workflow.core.node.StartNode;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
@@ -32,7 +33,7 @@
                         final String localName,
                         final Attributes attrs,
                         final ExtensibleXmlParser xmlPackageReader) throws SAXException {
-        xmlPackageReader.startConfiguration( localName,
+        xmlPackageReader.startElementBuilder( localName,
                                                   attrs );
         
         WorkflowProcessImpl  process = ( WorkflowProcessImpl ) xmlPackageReader.getParent();
@@ -56,12 +57,12 @@
     public Object end(final String uri,
                       final String localName,
                       final ExtensibleXmlParser xmlPackageReader) throws SAXException {
-        final Configuration config = xmlPackageReader.endConfiguration();
+        final Element element = xmlPackageReader.endElementBuilder();
         WorkflowProcessImpl  process = ( WorkflowProcessImpl ) xmlPackageReader.getParent();
 
         ActionNode actionNode = ( ActionNode ) xmlPackageReader.getCurrent();
         
-        String text = config.getText();
+        String text = ((org.w3c.dom.Text)element.getChildNodes().item( 0 )).getWholeText();
         
         DroolsConsequenceAction actionText = new DroolsConsequenceAction( "mvel", "list.add(\"" + text + "\")" );
         

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java	2008-06-06 02:31:03 UTC (rev 20346)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/xml/processes/XMLPersistenceTest.java	2008-06-06 02:38:33 UTC (rev 20347)
@@ -68,7 +68,8 @@
             throw new IllegalArgumentException("Failed to persist empty nodes!");
         }
         
-//        System.out.println(xml);
+        System.out.println(xml);
+        System.out.println("-------------------");
         
         XmlProcessReader reader = new XmlProcessReader(
             new PackageBuilderConfiguration().getSemanticModules());




More information about the jboss-svn-commits mailing list