You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/02/19 21:52:01 UTC

svn commit: r1072438 - in /commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3: plugins/strategies/LoaderFromStream.java xmlrules/FromXmlRulesModule.java xmlrules/metaparser/XmlRulesModule.java

Author: simonetripodi
Date: Sat Feb 19 20:52:01 2011
New Revision: 1072438

URL: http://svn.apache.org/viewvc?rev=1072438&view=rev
Log:
added the missing feature to include xmlrules with a prefix pattern

Modified:
    commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/plugins/strategies/LoaderFromStream.java
    commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java
    commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/XmlRulesModule.java

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/plugins/strategies/LoaderFromStream.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/plugins/strategies/LoaderFromStream.java?rev=1072438&r1=1072437&r2=1072438&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/plugins/strategies/LoaderFromStream.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/plugins/strategies/LoaderFromStream.java Sat Feb 19 20:52:01 2011
@@ -74,6 +74,7 @@ public class LoaderFromStream extends Ru
 
         InputSource source = new InputSource(new ByteArrayInputStream(this.input));
         FromXmlRulesModule ruleModule = new FromXmlRulesModule(source);
+        ruleModule.setRootPath(path);
         // creating new digester allows decorating existing Rules instance
         newLoader(ruleModule).setClassLoader(d.getClassLoader()).decorate(d);
     }

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java?rev=1072438&r1=1072437&r2=1072438&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/FromXmlRulesModule.java Sat Feb 19 20:52:01 2011
@@ -48,6 +48,8 @@ public final class FromXmlRulesModule im
 
     private URL xmlRulesDtdUrl = this.getClass().getResource(DIGESTER_DTD_PATH);
 
+    private String rootPath;
+
     /**
      * 
      * @param file
@@ -100,11 +102,15 @@ public final class FromXmlRulesModule im
         this.xmlRulesDtdUrl = xmlRulesDtdUrl;
     }
 
+    public void setRootPath(String rootPath) {
+        this.rootPath = rootPath;
+    }
+
     /**
      * {@inheritDoc}
      */
     public void configure(RulesBinder rulesBinder) {
-        XmlRulesModule xmlRulesModule = new XmlRulesModule(rulesBinder, this.getSystemId());
+        XmlRulesModule xmlRulesModule = new XmlRulesModule(rulesBinder, this.getSystemId(), this.rootPath);
 
         try {
             newLoader(xmlRulesModule)

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/XmlRulesModule.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/XmlRulesModule.java?rev=1072438&r1=1072437&r2=1072438&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/XmlRulesModule.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/XmlRulesModule.java Sat Feb 19 20:52:01 2011
@@ -30,11 +30,16 @@ public final class XmlRulesModule implem
 
     private final String rootSystemId;
 
+    private final String rootPath;
+
     private WithMemoryRulesBinder memoryRulesBinder;
 
-    public XmlRulesModule(final RulesBinder targetRulesBinder, String rootSystemId) {
+    public XmlRulesModule(final RulesBinder targetRulesBinder,
+            String rootSystemId,
+            /* @Nullable */ String rootPath) {
         this.targetRulesBinder = targetRulesBinder;
         this.rootSystemId = rootSystemId;
+        this.rootPath = rootPath;
     }
 
     /**
@@ -52,6 +57,10 @@ public final class XmlRulesModule implem
 
         PatternStack patternStack = this.memoryRulesBinder.getPatternStack();
 
+        if (this.rootPath != null) {
+            patternStack.push(this.rootPath);
+        }
+
         try {
             forPattern("*/pattern")
                 .addRule(new PatternRule(patternStack));