DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=31137>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=31137 Caching of rules Summary: Caching of rules Product: Commons Version: 1.5 Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: Digester AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hello, I am trying to define my rules in a xml file, read it once and reuse them throughout the application. I experienced the following problems by doing so: I defined my rules in a rule-file and created a RulesSet with the org.apache.commons.digester.xmlrules.FromXmlRuleSet. However when i reused this RuleSet for the second Digester call: Digester digester = new Digester() digester.addRuleSet(rsh.getRuleSet()); (where rsh.getRuleSet() returns the one instance of the RuleSet), the call addRuleSet failed with a "java.lang.NoSuchMethodException: No such accessible method: add() on object: org.apache.commons.digester.ObjectCreateRule." This is logical because there is no such method in ObjectCreateRule. If i create a new RuleSet for each digester it works fine. I did some debugging and i found out that when you add a RuleSet to a Digester the Digester performs a [ruleSet.addRuleInstances(this);] Is it true that this call adds all the standard rules to the RulesSet again so they are now devined double in the RuleSet? What is the proper way to define your rules in a xml file and create Rules from that file. In http://wiki.apache.org/jakarta-commons/Digester/FAQ 1.3 is stated that one can reuse a RulesBase safely, but how can a RulesBase be created from a xml file? Does the FAQ 1.3 not apply to a RulesSet? Regards, Lars Vonk --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
