You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rd...@apache.org on 2003/10/29 00:31:08 UTC

cvs commit: jakarta-commons/digester/src/java/org/apache/commons/digester/plugins Declaration.java PluginCreateRule.java PluginDeclarationRule.java PluginManager.java PluginRules.java

rdonkin     2003/10/28 15:31:08

  Modified:    digester/src/java/org/apache/commons/digester/plugins
                        Declaration.java PluginCreateRule.java
                        PluginDeclarationRule.java PluginManager.java
                        PluginRules.java
  Log:
  Improvements to bring logging in line with the practice in the rest of digester.  Submitted by Simon Kitching.
  
  Revision  Changes    Path
  1.5       +16 -9     jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/Declaration.java
  
  Index: Declaration.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/Declaration.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Declaration.java	27 Oct 2003 13:37:35 -0000	1.4
  +++ Declaration.java	28 Oct 2003 23:31:08 -0000	1.5
  @@ -69,7 +69,6 @@
   import org.apache.commons.beanutils.MethodUtils;
   import org.apache.commons.digester.Digester;
   import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   /**
    * Simple structure to store the set of attributes that can be present on 
  @@ -78,7 +77,6 @@
    * @author Simon Kitching
    */
   public class Declaration {
  -    private static Log log = LogFactory.getLog(Declaration.class);
   
       /** 
        * The name of the method looked for on the plugin class and any
  @@ -225,7 +223,11 @@
        */
       public void init(Digester digester)
       throws PluginWrappedException {
  -        log.debug("init being called!");
  +        Log log = digester.getLogger();
  +        boolean debug = log.isDebugEnabled();
  +        if (debug) {
  +            log.debug("init being called!");
  +        }
           
           if (initialised_) {
               throw new PluginAssertionError("Init called multiple times.");
  @@ -292,7 +294,11 @@
        
       public void configure(Digester digester, String pattern)
       throws PluginWrappedException {
  -        log.debug("configure being called!");
  +        Log log = digester.getLogger();
  +        boolean debug = log.isDebugEnabled();
  +        if (debug) {
  +            log.debug("configure being called!");
  +        }
           
           if (!initialised_) {
               throw new PluginAssertionError("Not initialised.");
  @@ -350,7 +356,7 @@
   
           // look for rule class
           {
  -            if (log.isDebugEnabled()) {
  +            if (debug) {
                   log.debug("plugin class type:" + pluginClass_.getName());
               }
               String ruleClassName = pluginClass_.getName() + "RuleInfo";
  @@ -385,7 +391,7 @@
           
           // try autoSetProperties
           if (autoSetProperties_) {
  -            if (log.isDebugEnabled()) {
  +            if (debug) {
                   log.debug("adding autoset for pattern [" + pattern + "]");
               }
               digester.addSetProperties(pattern);
  @@ -410,6 +416,7 @@
                   is.close();
               }
               catch(IOException ioe) {
  +                Log log = digester.getLogger();
                   log.warn("Unable to close stream after reading rules", ioe);
               }
           }
  
  
  
  1.5       +19 -13    jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginCreateRule.java
  
  Index: PluginCreateRule.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginCreateRule.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PluginCreateRule.java	27 Oct 2003 13:37:35 -0000	1.4
  +++ PluginCreateRule.java	28 Oct 2003 23:31:08 -0000	1.5
  @@ -70,7 +70,6 @@
   import org.apache.commons.digester.Rule;
   import org.apache.commons.digester.Rules;
   import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   /**
    * Allows the original rules for parsing the configuration file to define
  @@ -81,8 +80,6 @@
    */
   public class PluginCreateRule extends Rule implements InitializableRule {
   
  -    private static Log log = LogFactory.getLog(PluginCreateRule.class);
  -
       private static final String PLUGIN_CLASS_ATTR = "plugin-class";
       private static final String PLUGIN_ID_ATTR = "plugin-id";
       
  @@ -195,8 +192,12 @@
        */
       public void postRegisterInit(String pattern)
       throws PluginConfigurationException {
  -        log.debug("PluginCreateRule.postRegisterInit" + 
  -                  ": rule registered for pattern [" + pattern + "]");
  +        Log log = LogUtils.getLogger(digester);
  +        boolean debug = log.isDebugEnabled();
  +        if (debug) {
  +            log.debug("PluginCreateRule.postRegisterInit" + 
  +                      ": rule registered for pattern [" + pattern + "]");
  +        }
   
           if (digester == null) {
               // We require setDigester to be called before this method.
  @@ -300,7 +301,9 @@
       String namespace, String name, 
       org.xml.sax.Attributes attributes)
       throws java.lang.Exception {
  -        if (log.isDebugEnabled()) {
  +        Log log = digester.getLogger();
  +        boolean debug = log.isDebugEnabled();
  +        if (debug) {
               log.debug("PluginCreateRule.begin" + ": pattern=[" + pattern_ + "]" + 
                     " match=[" + digester.getMatch() + "]");
           }
  @@ -325,7 +328,7 @@
               PluginManager pluginManager = localRules_.getPluginManager();
               Declaration currDeclaration = null;
               
  -            if (log.isDebugEnabled()) {
  +            if (debug) {
                   log.debug("PluginCreateRule.begin: installing new plugin: " 
                       + "oldrules=" + oldRules.toString()
                       + ", localrules=" + localRules_.toString());
  @@ -376,7 +379,7 @@
                   
                   Object instance = pluginClass.newInstance();
                   getDigester().push(instance);
  -                if (log.isDebugEnabled()) {
  +                if (debug) {
                       log.debug(
                           "PluginCreateRule.begin" + ": pattern=[" + pattern_ + "]" + 
                           " match=[" + digester.getMatch() + "]" + 
  @@ -391,7 +394,7 @@
           // fire the begin method of all custom rules
           Rules oldRules = digester.getRules();
           
  -        if (log.isDebugEnabled()) {
  +        if (debug) {
               log.debug("PluginCreateRule.begin: firing nested rules: " 
                   + "oldrules=" + oldRules.toString()
                   + ", localrules=" + localRules_.toString());
  @@ -402,7 +405,7 @@
           delegateBegin(namespace, name, attributes);
           digester.setRules(oldRules);
   
  -        if (log.isDebugEnabled()) {
  +        if (debug) {
               log.debug("PluginCreateRule.begin: restored old rules to " 
                   + "oldrules=" + oldRules.toString());
           }
  @@ -491,6 +494,7 @@
       throws java.lang.Exception {
           
           // Fire "begin" events for all relevant rules
  +        Log log = digester.getLogger();
           boolean debug = log.isDebugEnabled();
           String match = digester.getMatch();
           List rules = digester.getRules().match(namespace, match);
  @@ -510,6 +514,7 @@
       public void delegateBody(String namespace, String name, String text)
       throws Exception {
           // Fire "body" events for all relevant rules
  +        Log log = digester.getLogger();
           boolean debug = log.isDebugEnabled();
           String match = digester.getMatch();
           List rules = digester.getRules().match(namespace, match);
  @@ -529,6 +534,7 @@
       public void delegateEnd(String namespace, String name)
       throws Exception {
           // Fire "end" events for all relevant rules in reverse order
  +        Log log = digester.getLogger();
           boolean debug = log.isDebugEnabled();
           String match = digester.getMatch();
           List rules = digester.getRules().match(namespace, match);
  
  
  
  1.5       +11 -7     jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginDeclarationRule.java
  
  Index: PluginDeclarationRule.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginDeclarationRule.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PluginDeclarationRule.java	27 Oct 2003 13:37:35 -0000	1.4
  +++ PluginDeclarationRule.java	28 Oct 2003 23:31:08 -0000	1.5
  @@ -68,7 +68,6 @@
   import org.apache.commons.beanutils.MethodUtils;
   
   import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   /**
    * A Digester rule which allows the user to pre-declare a class which is to
  @@ -82,7 +81,6 @@
    */
   
   public class PluginDeclarationRule extends Rule {
  -    private static Log log = LogFactory.getLog(PluginDeclarationRule.class);
   
       //------------------- constructors ---------------------------------------
   
  @@ -114,6 +112,10 @@
               String name,
               org.xml.sax.Attributes attributes)
                throws java.lang.Exception {
  +                 
  +        Log log = digester.getLogger();
  +        boolean debug = log.isDebugEnabled();
  +        
           String id = attributes.getValue("id");
           String pluginClassName = attributes.getValue("class");
           String ruleMethodName = attributes.getValue("method");
  @@ -122,7 +124,7 @@
           String ruleFile = attributes.getValue("file");
           String autoSetPropertiesStr = attributes.getValue("setprops");
   
  -        if (log.isDebugEnabled()) {
  +        if (debug) {
               log.debug(
                   "mapping id [" + id + "] -> [" + pluginClassName + "]");
           }
  @@ -184,7 +186,9 @@
                   // the same external file at multiple locations within a
                   // parent document. if the declaration is identical,
                   // then we just ignore it.
  -                log.debug("plugin redeclaration is identical: ignoring");
  +                if (debug) {
  +                    log.debug("plugin redeclaration is identical: ignoring");
  +                }
                   return;
               } else {
                   throw new PluginInvalidInputException(
  
  
  
  1.4       +12 -7     jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginManager.java
  
  Index: PluginManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PluginManager.java	9 Oct 2003 21:09:48 -0000	1.3
  +++ PluginManager.java	28 Oct 2003 23:31:08 -0000	1.4
  @@ -66,7 +66,6 @@
   import org.apache.commons.digester.Digester;
   
   import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   /**
    * Coordinates between PluginDeclarationRule and PluginCreateRule objects,
  @@ -79,7 +78,6 @@
    */
   
   public class PluginManager {
  -    private static Log log = LogFactory.getLog(PluginManager.class);
   
       /** Map of classname->Declaration */
       private HashMap declarationsByClass_ = new HashMap();
  @@ -89,7 +87,7 @@
   
       /** the parent manager to which this one may delegate lookups. */
       private PluginManager parent_;
  -    
  +
       //------------------- constructors ---------------------------------------
       
       /** Constructor. */
  @@ -105,10 +103,17 @@
   
       /**
        * Add the declaration to the set of known declarations.
  +     * <p>
  +     * TODO: somehow get a reference to a Digester object
  +     * so that we can really log here. Currently, all
  +     * logging is disabled from this method.
        *
        *@param decl an object representing a plugin class.
        */
       public void addDeclaration(Declaration decl) {
  +        Log log = LogUtils.getLogger(null);
  +        boolean debug = log.isDebugEnabled();
  +        
           Class pluginClass = decl.getPluginClass();
           String id = decl.getId();
           
  @@ -116,7 +121,7 @@
               
           if (id != null) {
               declarationsById_.put(id, decl);
  -            if (log.isDebugEnabled()) {
  +            if (debug) {
                   log.debug(
                       "Indexing plugin-id [" + id + "]"
                       + " -> class [" + pluginClass.getName() + "]");
  
  
  
  1.4       +28 -12    jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginRules.java
  
  Index: PluginRules.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/plugins/PluginRules.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PluginRules.java	9 Oct 2003 21:09:48 -0000	1.3
  +++ PluginRules.java	28 Oct 2003 23:31:08 -0000	1.4
  @@ -75,7 +75,6 @@
   import org.apache.commons.digester.Rules;
   import org.apache.commons.digester.RulesBase;
   import org.apache.commons.logging.Log;
  -import org.apache.commons.logging.LogFactory;
   
   /**
    * A custom digester Rules manager which must be used as the Rules object
  @@ -85,7 +84,6 @@
    */
   
   public class PluginRules implements Rules {
  -    private static Log log = LogFactory.getLog(PluginRules.class);
                                                  
       /** 
        * The rules implementation that we are "enhancing" with plugins
  @@ -230,10 +228,14 @@
        * @param rule Rule instance to be registered
        */
       public void add(String pattern, Rule rule) {
  -        if (log.isDebugEnabled()) {
  +        Log log = LogUtils.getLogger(digester_);
  +        boolean debug = log.isDebugEnabled();
  +        
  +        if (debug) {
               log.debug("add entry" + ": mapping pattern [" + pattern + "]" + 
                     " to rule of type [" + rule.getClass().getName() + "]");
           }
  +        
           decoratedRules_.add(pattern, rule);
   
           if (rule instanceof InitializableRule) {
  @@ -245,13 +247,15 @@
                   // initialisable rule to remember that its initialisation
                   // failed, and to throw the exception when begin is
                   // called for the first time.
  -                log.debug("Rule initialisation failed", e);
  +                if (debug) {
  +                    log.debug("Rule initialisation failed", e);
  +                }
                   // throw e; -- alas, can't do this
                   return;
               }
           }
           
  -        if (log.isDebugEnabled()) {
  +        if (debug) {
               log.debug("add exit" + ": mapped pattern [" + pattern + "]" + 
                     " to rule of type [" + rule.getClass().getName() + "]");
           }
  @@ -298,16 +302,20 @@
        * @param pattern Nesting pattern to be matched
        */
       public List match(String namespaceURI, String pattern) {
  -        if (log.isDebugEnabled()) {
  +        Log log = LogUtils.getLogger(digester_);
  +        boolean debug = log.isDebugEnabled();
  +        
  +        if (debug) {
               log.debug(
                   "Matching pattern [" + pattern 
                   + "] on rules object " + this.toString());
           }
  +
           List matches;
           if ((currPluginCreateRule_ != null) && 
               (pattern.length() > currPluginCreateRule_.getPattern().length())) {
               // assert pattern.startsWith(currPluginCreateRule.getPattern())
  -            if (log.isDebugEnabled()) {
  +            if (debug) {
                   log.debug(
                       "Pattern [" + pattern + "] matching PluginCreateRule " 
                       + currPluginCreateRule_.toString());
  @@ -332,15 +340,20 @@
        * endPlugin method is called.
        */
       public void beginPlugin(PluginCreateRule pcr) {
  +        Log log = LogUtils.getLogger(digester_);
  +        boolean debug = log.isDebugEnabled();
  +
           if (currPluginCreateRule_ != null) {
               throw new PluginAssertionError(
                   "endPlugin called when currPluginCreateRule_ is not null.");
           }
  -        if (log.isDebugEnabled()) {
  +
  +        if (debug) {
               log.debug(
                   "Entering PluginCreateRule " + pcr.toString() 
                   + " on rules object " + this.toString());
           }
  +
           currPluginCreateRule_ = pcr;
       }
       
  @@ -349,6 +362,9 @@
        * See {@link #beginPlugin}.
        */
       public void endPlugin(PluginCreateRule pcr) {
  +        Log log = LogUtils.getLogger(digester_);
  +        boolean debug = log.isDebugEnabled();
  +
           if (currPluginCreateRule_ == null) {
               throw new PluginAssertionError(
                   "endPlugin called when currPluginCreateRule_ is null.");
  @@ -360,7 +376,7 @@
           }
           
           currPluginCreateRule_ = null;
  -        if (log.isDebugEnabled()) {
  +        if (debug) {
               log.debug(
                   "Leaving PluginCreateRule " + pcr.toString()
                   + " on rules object " + this.toString());
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org