ceki        2004/05/09 12:15:03

  Modified:    tests/witness xmlLayout.mdc.1 patternLayout.mdc.1
                        xmlLayout.mdc.2 patternLayout.mdc.2
               src/java/org/apache/log4j/spi LoggingEvent.java
               src/java/org/apache/log4j/xml XMLLayout.java
  Log:
  Changes to ensure that all unit tests pass
  
  Revision  Changes    Path
  1.4       +2 -2      logging-log4j/tests/witness/xmlLayout.mdc.1
  
  Index: xmlLayout.mdc.1
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.mdc.1,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- xmlLayout.mdc.1   28 Apr 2004 17:54:02 -0000      1.3
  +++ xmlLayout.mdc.1   9 May 2004 19:15:03 -0000       1.4
  @@ -1,8 +1,8 @@
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Hello]]></log4j:message>
  -<log4j:MDC>
  +<log4j:properties>
       <log4j:data name="key1" value="val1"/>
       <log4j:data name="key2" value="val2"/>
  -</log4j:MDC>
  +</log4j:properties>
   </log4j:event>
   
  
  
  
  1.2       +1 -1      logging-log4j/tests/witness/patternLayout.mdc.1
  
  Index: patternLayout.mdc.1
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/patternLayout.mdc.1,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- patternLayout.mdc.1       26 Mar 2003 06:26:48 -0000      1.1
  +++ patternLayout.mdc.1       9 May 2004 19:15:03 -0000       1.2
  @@ -1 +1 @@
  -DEBUG - Hello World {{key2,va12}{key1,va11}}
  \ No newline at end of file
  +DEBUG - Hello World {{key1,va11}{key2,va12}}
  \ No newline at end of file
  
  
  
  1.2       +2 -2      logging-log4j/tests/witness/xmlLayout.mdc.2
  
  Index: xmlLayout.mdc.2
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.mdc.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- xmlLayout.mdc.2   26 Mar 2003 06:26:48 -0000      1.1
  +++ xmlLayout.mdc.2   9 May 2004 19:15:03 -0000       1.2
  @@ -1,8 +1,8 @@
   <log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
   <log4j:message><![CDATA[Hello]]></log4j:message>
  -<log4j:MDC>
  +<log4j:properties>
       <log4j:data name="<![CDATA[<blahKey value="blah"/>]]>" 
value="<![CDATA[blahValue]]>"/>
       <log4j:data name="<![CDATA[blahAttribute]]>" value="<![CDATA[<blah 
value="blah">]]>"/>
  -</log4j:MDC>
  +</log4j:properties>
   </log4j:event>
   
  
  
  
  1.2       +1 -1      logging-log4j/tests/witness/patternLayout.mdc.2
  
  Index: patternLayout.mdc.2
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/patternLayout.mdc.2,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- patternLayout.mdc.2       18 Sep 2003 21:26:55 -0000      1.1
  +++ patternLayout.mdc.2       9 May 2004 19:15:03 -0000       1.2
  @@ -4,7 +4,7 @@
   empty mdc, key2 in pattern : 

   empty mdc, key3 in pattern : 

   empty mdc, key1, key2, and key3 in pattern : ,,

  -filled mdc, no key specified in pattern : {{key2,value2}{key1,value1}}

  +filled mdc, no key specified in pattern : {{key1,value1}{key2,value2}}

   filled mdc, key1 in pattern : value1

   filled mdc, key2 in pattern : value2

   filled mdc, key3 in pattern : 

  
  
  
  1.53      +74 -57    logging-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java
  
  Index: LoggingEvent.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- LoggingEvent.java 9 May 2004 18:37:56 -0000       1.52
  +++ LoggingEvent.java 9 May 2004 19:15:03 -0000       1.53
  @@ -19,10 +19,10 @@
   import java.io.ObjectOutputStream;
   import java.lang.reflect.Method;
   import java.util.Collections;
  -import java.util.HashMap;
   import java.util.Hashtable;
   import java.util.Map;
   import java.util.Set;
  +import java.util.TreeMap;
   
   import org.apache.log4j.Level;
   import org.apache.log4j.Logger;
  @@ -128,8 +128,8 @@
     private String ndc;
   
     /**
  -   * <p>The properties map is specific for this event.</p> 
  -   * 
  +   * <p>The properties map is specific for this event.</p>
  +   *
      * <p>When serialized, it contains a copy of MDC properties as well
      * as LoggerRepository properties.
      * </p>
  @@ -316,7 +316,7 @@
      * the higher 32 bits of timeStamp;
      */
     public int hashCode() {
  -    return (int)( (timeStamp >> 32) ^ (sequenceNumber & 0xFFFFFFFF) );
  +    return (int)((timeStamp >> 32) ^ (sequenceNumber & 0xFFFFFFFF));
     }
   
   
  @@ -343,21 +343,22 @@
   
   
     /**
  -   * Return the level of this event. 
  +   * Return the level of this event.
      */
     public Level getLevel() {
       return (Level)level;
     }
   
  +
     /**
      * Set the level of this event. The level can be set at most once.
  -   * 
  +   *
      * @param level The level to set.
      * @throws IllegalStateException if the level has been already set.
      * @since 1.3
      */
     public void setLevel(Level level) {
  -    if(this.level != null) {
  +    if (this.level != null) {
         throw new IllegalStateException("The level has been already set for this 
event.");
       }
       this.level = level;
  @@ -376,32 +377,31 @@
   
   
     /**
  -   * Set the logger of this event. Calling this method also sets the 
<code>loggerName</code> 
  +   * Set the logger of this event. Calling this method also sets the 
<code>loggerName</code>
      * for the event. The logger can be set at most once.
  -   * 
  +   *
      * Moreover, if the loggerName has been already set, this method will throw
      * an [EMAIL PROTECTED] IllegalStateException}.
  -   * 
  +   *
      * @throws IllegalStateException
      */
     public void setLogger(Logger logger) {
  -    if(this.logger != null) {
  -      throw new IllegalStateException("logger has been already set to [" 
  -          + this.logger.getName() + "].");
  -    }
  -    
  -    if(this.loggerName != null) {
  -      throw new IllegalStateException("loggerName has been already set to [" 
  -          + this.loggerName + "], logger "+logger.getName()+"] is invalid");
  +    if (this.logger != null) {
  +      throw new IllegalStateException("logger has been already set to [" + 
this.logger.getName() + "].");
       }
  -    
  +
  +    if (this.loggerName != null) {
  +      throw new IllegalStateException("loggerName has been already set to [" + 
this.loggerName + "], logger "
  +        + logger.getName() + "] is invalid");
  +    }
  +
       this.logger = logger;
       this.loggerName = logger.getName();
     }
   
   
     /**
  -   * Return the name of the logger. 
  +   * Return the name of the logger.
      */
     public String getLoggerName() {
       return loggerName;
  @@ -410,15 +410,15 @@
   
     /**
      * Set the loggerName for this event. The loggerName can be set at most once.
  -   * 
  +   *
      * @param loggerName The loggerName to set.
      * @throws IllegalStateException if loggerName is already set
      * @since 1.3
      */
  -  public void setLoggerName(String loggerName) throws IllegalStateException {
  +  public void setLoggerName(String loggerName)
  +         throws IllegalStateException {
       if (this.loggerName != null) {
  -      throw new IllegalStateException("loggerName has been already set to [" 
  -          + this.loggerName + "].");
  +      throw new IllegalStateException("loggerName has been already set to [" + 
this.loggerName + "].");
       } else {
         this.loggerName = loggerName;
       }
  @@ -445,17 +445,19 @@
       }
     }
   
  +
     /**
  -   * Set the message for this event. The 
  +   * Set the message for this event. The
      * @param message The message to set.
      * @since 1.3
      */
     public void setMessage(Object message) {
  -    if(this.message != null) {
  +    if (this.message != null) {
         throw new IllegalStateException("The message for this event has been set 
alredy.");
       }
  +
       // After serialisation, message will be null and renderedMessage will be 
non-null. 
  -    if(this.renderedMessage != null) {
  +    if (this.renderedMessage != null) {
         throw new IllegalStateException("The message cannot be set if the 
renderedMessage has been set.");
       }
       this.message = message;
  @@ -557,10 +559,13 @@
      */
     public void createProperties() {
       if (properties == null) {
  -      properties = new HashMap();
  -      properties.putAll(MDC.getContext());
  -      if(logger != null) {
  -        properties.putAll(logger.getLoggerRepository().getProperties());  
  +      properties = new TreeMap();
  +      Map mdcMap = MDC.getContext();
  +      if(mdcMap != null) {
  +        properties.putAll(mdcMap);
  +      }
  +      if (logger != null) {
  +        properties.putAll(logger.getLoggerRepository().getProperties());
         }
       }
     }
  @@ -568,7 +573,7 @@
   
     /**
      * Return a property for this event. The return value can be null.
  -   * 
  +   *
      * <p>The property is searched first in the properties map specific for this
      * event, then in the MDC, then in the logger repository containing the logger
      * of this event.
  @@ -576,21 +581,26 @@
      */
     public String getProperty(String key) {
       String value = null;
  +
       if (properties != null) {
  -      value = (String) properties.get(key);
  -      if(value != null) {
  -        return value;
  -      }
  -    } else { // properties is null
  -      value = MDC.get(key);
  -      if(value != null) {
  +      value = (String)properties.get(key);
  +
  +      if (value != null) {
           return value;
         }
  -      
  -      if(logger != null) {
  -         value = logger.getLoggerRepository().getProperty(key);
  -      }
       }
  +
  +    // if the key was not found in this even't properties, try the MDC
  +    value = MDC.get(key);
  +    if (value != null) {
  +      return value;
  +    }
  +
  +    // if still not found try, the properties in the logger repository
  +    if (logger != null) {
  +      value = logger.getLoggerRepository().getProperty(key);
  +    }
  +
       return value;
     }
   
  @@ -638,19 +648,22 @@
       return renderedMessage;
     }
   
  +
     /**
  -   * 
  +   *
      * @param renderedMessage The renderedMessage to set.
      * @throws IllegalStateException if renderedMessage  has been already set.
      * @since 1.3
      */
  -  public void setRenderedMessage(String renderedMessage) throws 
IllegalStateException {
  -    if(this.renderedMessage != null) {
  -       throw new IllegalStateException("renderedMessage has been already set."); 
  +  public void setRenderedMessage(String renderedMessage)
  +         throws IllegalStateException {
  +    if (this.renderedMessage != null) {
  +      throw new IllegalStateException("renderedMessage has been already set.");
       }
       this.renderedMessage = renderedMessage;
     }
   
  +
     /**
      * Returns the time when the application started, in milliseconds elapsed
      * since 01.01.1970.
  @@ -686,18 +699,20 @@
       return threadName;
     }
   
  -   /**
  -     * @param threadName The threadName to set.
  -     * @throws IllegalStateException If threadName has been already set.
  -   */
  -   public void setThreadName(String threadName) throws IllegalStateException {
  -    if(this.threadName != null) {
  +
  +  /**
  +    * @param threadName The threadName to set.
  +    * @throws IllegalStateException If threadName has been already set.
  +  */
  +  public void setThreadName(String threadName)
  +         throws IllegalStateException {
  +    if (this.threadName != null) {
         throw new IllegalStateException("threadName has been already set");
       }
       this.threadName = threadName;
  -   }
  -  
  -  
  +  }
  +
  +
     /**
      * Returns the throwable information contained within this event. May be
      * <code>null</code> if there is no such information.
  @@ -772,8 +787,9 @@
       }
     }
   
  +
     /**
  -   * @return Returns the properties specific for this event. The returned 
  +   * @return Returns the properties specific for this event. The returned
      * value can be null.
      * @since 1.3
      */
  @@ -788,6 +804,7 @@
     public void setProperties(Hashtable properties) {
       this.properties = properties;
     }
  +
   
     /**
      * Set a string property using a key and a string value.  since 1.3
  
  
  
  1.28      +2 -2      logging-log4j/src/java/org/apache/log4j/xml/XMLLayout.java
  
  Index: XMLLayout.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/xml/XMLLayout.java,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- XMLLayout.java    9 May 2004 18:37:57 -0000       1.27
  +++ XMLLayout.java    9 May 2004 19:15:03 -0000       1.28
  @@ -183,13 +183,13 @@
       Set propertySet = event.getPropertyKeySet();
   
       if ((propertySet != null) && (propertySet.size() > 0)) {
  -      output.write("<log4j:properties>");
  +      output.write("<log4j:properties>\r\n");
   
         Iterator propIter = propertySet.iterator();
   
         while (propIter.hasNext()) {
           String propName = propIter.next().toString();
  -        output.write("<log4j:data name=\"" + propName);
  +        output.write("    <log4j:data name=\"" + propName);
   
           String propValue = event.getProperty(propName).toString();
           output.write("\" value=\"" + propValue);
  
  
  

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

Reply via email to