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));