]> source.dussan.org Git - poi.git/commitdiff
make EscherContainerRecord.toString() indent children even if they don't support...
authorSergey Vladimirov <sergey@apache.org>
Thu, 28 Jul 2011 11:45:25 +0000 (11:45 +0000)
committerSergey Vladimirov <sergey@apache.org>
Thu, 28 Jul 2011 11:45:25 +0000 (11:45 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1151802 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ddf/EscherContainerRecord.java

index 6d869b7ae9182c50e3588fd84f95faede464080a..a79ebeccf627151a62aaa22b2ac497ffae17e663 100644 (file)
 
 package org.apache.poi.ddf;
 
-import org.apache.poi.util.HexDump;
-import org.apache.poi.util.LittleEndian;
-
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
-import java.io.PrintWriter;
+
+import org.apache.poi.util.HexDump;
+import org.apache.poi.util.LittleEndian;
 
 /**
  * Escher container records store other escher records as children.
@@ -223,43 +223,35 @@ public final class EscherContainerRecord extends EscherRecord {
     }
 
     public String toString()
-    {
-        return toString("");
-    }
-    public String toString(String indent)
     {
         String nl = System.getProperty( "line.separator" );
 
         StringBuffer children = new StringBuffer();
-        if (_childRecords.size() > 0) {
+        if ( _childRecords.size() > 0 )
+        {
             children.append( "  children: " + nl );
 
             int count = 0;
-            for ( Iterator<EscherRecord> iterator = _childRecords.iterator(); iterator.hasNext(); )
+            for ( Iterator<EscherRecord> iterator = _childRecords.iterator(); iterator
+                    .hasNext(); )
             {
-                String newIndent = indent + "   ";
-
                 EscherRecord record = iterator.next();
-                children.append(newIndent + "Child " + count + ":" + nl);
-
-                if(record instanceof EscherContainerRecord) {
-                    EscherContainerRecord ecr = (EscherContainerRecord)record;
-                    children.append( ecr.toString(newIndent));
-                } else {
-                    children.append( record.toString() );
-                }
+                children.append( "   Child " + count + ":" + nl );
+                String childResult = String.valueOf( record );
+                childResult = childResult.replaceAll( "\n", "\n    " );
+                children.append( "    " );
+                children.append( childResult );
+                children.append( nl );
                 count++;
             }
         }
 
-        return
-            indent + getClass().getName() + " (" + getRecordName() + "):" + nl +
-            indent + "  isContainer: " + isContainerRecord() + nl +
-            indent + "  options: 0x" + HexDump.toHex( getOptions() ) + nl +
-            indent + "  recordId: 0x" + HexDump.toHex( getRecordId() ) + nl +
-            indent + "  numchildren: " + _childRecords.size() + nl +
-            indent + children.toString();
-
+        return getClass().getName() + " (" + getRecordName() + "):" + nl
+                + "  isContainer: " + isContainerRecord() + nl
+                + "  options: 0x" + HexDump.toHex( getOptions() ) + nl
+                + "  recordId: 0x" + HexDump.toHex( getRecordId() ) + nl
+                + "  numchildren: " + _childRecords.size() + nl
+                + children.toString();
     }
 
     public EscherSpRecord getChildById(short recordId) {