dgraham     2003/02/13 21:42:07

  Modified:    src/share/org/apache/struts/taglib/html MessagesTag.java
  Log:
  Added debug log for missing resource key.  PR# 17050.
  
  Revision  Changes    Path
  1.9       +51 -32    
jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java
  
  Index: MessagesTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/MessagesTag.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- MessagesTag.java  30 Jan 2003 06:22:01 -0000      1.8
  +++ MessagesTag.java  14 Feb 2003 05:42:07 -0000      1.9
  @@ -7,7 +7,7 @@
    *
    * The Apache Software License, Version 1.1
    *
  - * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
  + * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
    * reserved.
    *
    * Redistribution and use in source and binary forms, with or without
  @@ -66,9 +66,12 @@
   import javax.servlet.jsp.JspException;
   import javax.servlet.jsp.tagext.BodyTagSupport;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
   import org.apache.struts.Globals;
   import org.apache.struts.action.ActionMessage;
   import org.apache.struts.action.ActionMessages;
  +import org.apache.struts.action.ActionServlet;
   import org.apache.struts.util.MessageResources;
   import org.apache.struts.util.RequestUtils;
   import org.apache.struts.util.ResponseUtils;
  @@ -94,6 +97,12 @@
          MessageResources.getMessageResources(Constants.Package + ".LocalStrings");
   
       /**
  +     * Commons Logging instance.
  +     * @since Struts 1.1
  +     */
  +    protected static Log log = LogFactory.getLog(MessagesTag.class);
  +
  +    /**
        * Iterator of the elements of this error collection, while we are actually
        * running.
       */
  @@ -224,8 +233,9 @@
           // Were any messages specified?
           ActionMessages messages = null;
   
  -        if (message != null && "true".equalsIgnoreCase(message))
  -           name = Globals.MESSAGE_KEY;
  +        if (message != null && "true".equalsIgnoreCase(message)) {
  +            name = Globals.MESSAGE_KEY;
  +        }
   
           try {
               messages = RequestUtils.getActionMessages(pageContext, name);
  @@ -235,36 +245,45 @@
           }
   
           // Acquire the collection we are going to iterate over
  -        if (property == null)
  +        if (property == null) {
               iterator = messages.get();
  -        else
  +        } else {
               iterator = messages.get(property);
  +        }
   
  -    // Store the first value and evaluate, or skip the body if none
  -    if (iterator.hasNext()) {
  -           ActionMessage report = (ActionMessage)iterator.next();
  -           String msg = RequestUtils.message(pageContext, bundle,
  -                                             locale, report.getKey(),
  -                                             report.getValues());
  -
  -       pageContext.setAttribute(id, msg);
  -
  -           if (header != null && header.length() > 0) {
  -              String headerMessage = RequestUtils.message(pageContext, bundle,
  -                                                             locale, header);
  -              if (headerMessage != null) {
  -                 // Print the results to our output writer
  -                 ResponseUtils.write(pageContext, headerMessage);
  -              }
  -           }
  -
  -           // Set the processed variable to true so the
  -           // doEndTag() knows processing took place
  -           processed = true;
  +        // Store the first value and evaluate, or skip the body if none
  +        if (iterator.hasNext()) {
  +            ActionMessage report = (ActionMessage) iterator.next();
  +            String msg =
  +                RequestUtils.message(
  +                    pageContext,
  +                    bundle,
  +                    locale,
  +                    report.getKey(),
  +                    report.getValues());
  +
  +            // log missing key to ease debugging
  +            if (msg == null && log.isDebugEnabled()) {
  +                log.debug(messageResources.getMessage("messageTag.resources", 
report.getKey()));
  +            }
  +
  +            pageContext.setAttribute(id, msg);
  +
  +            if (header != null && header.length() > 0) {
  +                String headerMessage = RequestUtils.message(pageContext, bundle, 
locale, header);
  +                if (headerMessage != null) {
  +                    // Print the results to our output writer
  +                    ResponseUtils.write(pageContext, headerMessage);
  +                }
  +            }
  +
  +            // Set the processed variable to true so the
  +            // doEndTag() knows processing took place
  +            processed = true;
   
  -       return (EVAL_BODY_TAG);
  +            return (EVAL_BODY_TAG);
           } else {
  -           return (SKIP_BODY);
  +            return (SKIP_BODY);
           }
   
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to