Author: skitching Date: Sun Feb 6 02:01:08 2005 New Revision: 151563 URL: http://svn.apache.org/viewcvs?view=rev&rev=151563 Log: Fix bug where ruleManager might be accessed before being created.
Modified: jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SAXHandler.java Modified: jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SAXHandler.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SAXHandler.java?view=diff&r1=151562&r2=151563 ============================================================================== --- jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SAXHandler.java (original) +++ jakarta/commons/proper/digester/branches/digester2/src/java/org/apache/commons/digester2/SAXHandler.java Sun Feb 6 02:01:08 2005 @@ -654,7 +654,7 @@ */ public void addRule(String pattern, Action action) throws InvalidRuleException { - ruleManager.addRule(pattern, action); + getRuleManager().addRule(pattern, action); } /** @@ -885,7 +885,10 @@ configure(); try { - ruleManager.startParse(context); + // This also has the side-effect of creating a RuleManager if + // one has not been created before. Of course this would only + // happen if no rules had ever been added... + getRuleManager().startParse(context); } catch(DigestionException ex) { throw new NestedSAXException(ex); } @@ -1132,6 +1135,8 @@ // Fire "begin" events for all relevant rules List actions; try { + // NB: don't need getRuleManager here, as we know it was + // created at startDocument if not before.. actions = ruleManager.getMatchingActions(matchPath); } catch(DigestionException ex) { throw new NestedSAXException(ex); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]