scolebourne    2003/08/31 10:52:13

  Modified:    collections/src/test/org/apache/commons/collections
                        TestMapUtils.java
               collections/src/java/org/apache/commons/collections
                        MapUtils.java
  Log:
  Update the MapUtils to output 'null' if null map
  bug 20740
  
  Revision  Changes    Path
  1.10      +12 -4     
jakarta-commons/collections/src/test/org/apache/commons/collections/TestMapUtils.java
  
  Index: TestMapUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/TestMapUtils.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TestMapUtils.java 31 Aug 2003 17:28:43 -0000      1.9
  +++ TestMapUtils.java 31 Aug 2003 17:52:13 -0000      1.10
  @@ -400,17 +400,25 @@
       public void testVerbosePrintNullLabelAndMap() {
           final ByteArrayOutputStream out = new ByteArrayOutputStream();
           final PrintStream outPrint = new PrintStream(out);
  +        
  +        outPrint.println("null");
  +        final String EXPECTED_OUT = out.toString();
  +        out.reset();
   
           MapUtils.verbosePrint(outPrint, null, null);
  -        assertEquals("", out.toString());
  +        assertEquals(EXPECTED_OUT, out.toString());
       }
   
       public void testDebugPrintNullLabelAndMap() {
           final ByteArrayOutputStream out = new ByteArrayOutputStream();
           final PrintStream outPrint = new PrintStream(out);
   
  +        outPrint.println("null");
  +        final String EXPECTED_OUT = out.toString();
  +        out.reset();
  +
           MapUtils.debugPrint(outPrint, null, null);
  -        assertEquals("", out.toString());
  +        assertEquals(EXPECTED_OUT, out.toString());
       }
   
       public void testVerbosePrintNullStream() {
  
  
  
  1.32      +26 -22    
jakarta-commons/collections/src/java/org/apache/commons/collections/MapUtils.java
  
  Index: MapUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/MapUtils.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- MapUtils.java     31 Aug 2003 17:26:43 -0000      1.31
  +++ MapUtils.java     31 Aug 2003 17:52:13 -0000      1.32
  @@ -686,11 +686,11 @@
        * When the value is a Map, recursive behaviour occurs.
        *
        * @param out  the stream to print to, must not be null
  -     * @param label  the label to be applied to the output generated.  This 
  -     *              may well be the key associated with this map within a 
  -     *              surrounding map in which this is nested.  If the label is 
  -     *              <code>null</code> then no label is output.
  -     * @param map  the map to print, may be <code>null</code>
  +     * @param label  The label to be used, may be <code>null</code>.
  +     *  If <code>null</code>, the label is not output.
  +     *  It typically represents the name of the property in a bean or similar.
  +     * @param map  The map to print, may be <code>null</code>.
  +     *  If <code>null</code>, the text 'null' is output.
        * @throws NullPointerException if the stream is <code>null</code>
        */
       public static synchronized void verbosePrint(
  @@ -710,11 +710,11 @@
        * When the value is a Map, recursive behaviour occurs.
        *
        * @param out  the stream to print to, must not be null
  -     * @param label  the label to be applied to the output generated.  This 
  -     *              may well be the key associated with this map within a 
  -     *              surrounding map in which this is nested.  If the label is 
  -     *              <code>null</code> then no label is output.
  -     * @param map  the map to print, may be <code>null</code>
  +     * @param label  The label to be used, may be <code>null</code>.
  +     *  If <code>null</code>, the label is not output.
  +     *  It typically represents the name of the property in a bean or similar.
  +     * @param map  The map to print, may be <code>null</code>.
  +     *  If <code>null</code>, the text 'null' is output.
        * @throws NullPointerException if the stream is <code>null</code>
        */
       public static synchronized void debugPrint(
  @@ -756,11 +756,11 @@
        * value.
        *
        * @param out  the stream to print to
  -     * @param label  the label to be applied to the output generated.  This 
  -     *              may well be the key associated with this map within a 
  -     *              surrounding map in which this is nested.  If the label is 
  -     *              <code>null</code>, then it is not output.
  -     * @param map  the map to print, may be <code>null</code>
  +     * @param label  The label to be used, may be <code>null</code>.
  +     *  If <code>null</code>, the label is not output.
  +     *  It typically represents the name of the property in a bean or similar.
  +     * @param map  The map to print, may be <code>null</code>.
  +     *  If <code>null</code>, the text 'null' is output.
        * @param debug flag indicating whether type names should be output.
        * @throws NullPointerException if the stream is <code>null</code>
        */
  @@ -772,13 +772,17 @@
   
           printIndent(out);
   
  -        if (label != null) {
  -            out.print(label);
  -            out.print(" = ");
  -            out.println(map == null ? "null" : "");
  -        }
           if (map == null) {
  +            if (label != null) {
  +                out.print(label);
  +                out.print(" = ");
  +            }
  +            out.println("null");
               return;
  +        }
  +        if (label != null) {
  +            out.print(label);
  +            out.println(" = ");
           }
   
           printIndent(out);
  
  
  

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

Reply via email to