XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5
    • None
    • None
    • Operating System: other
      Platform: Other

    • 31137

    Description

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            larsvonk@hotmail.com lars
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: