You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2013/04/04 16:58:09 UTC

svn commit: r1464583 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java

Author: thomasm
Date: Thu Apr  4 14:58:09 2013
New Revision: 1464583

URL: http://svn.apache.org/r1464583
Log:
OAK-741 Better toString() methods

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java?rev=1464583&r1=1464582&r2=1464583&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java Thu Apr  4 14:58:09 2013
@@ -64,8 +64,6 @@ import org.apache.jackrabbit.oak.spi.sta
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.jackrabbit.oak.spi.state.NodeStateDiff;
 
-import static com.google.common.base.Preconditions.checkArgument;
-
 /**
  * Basic {@link NodeState} implementation based on the {@link MicroKernel}
  * interface. This class makes an attempt to load data lazily.
@@ -671,11 +669,11 @@ public final class KernelNodeState exten
                     String value = TypeCodes.decodeName(split, jsonString);
                     if (type == PropertyType.BINARY) {
                         values.add(new KernelBlob(new String(value), kernel));
-                    } else if(type == PropertyType.DOUBLE) {
+                    } else if (type == PropertyType.DOUBLE) {
                         values.add(Conversions.convert(value).toDouble());
-                    } else if(type == PropertyType.DECIMAL) {
+                    } else if (type == PropertyType.DECIMAL) {
                         values.add(Conversions.convert(value).toDecimal());
-                    } else if(type == PropertyType.DATE) {
+                    } else if (type == PropertyType.DATE) {
                         values.add(Conversions.convert(value).toCalendar().getTimeInMillis());
                     } else {
                         values.add(StringCache.get(value));
@@ -691,5 +689,44 @@ public final class KernelNodeState exten
         }
         return createProperty(name, values, Type.fromTag(type, true));
     }
+    
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append(path).append('@').append(revision);
+        if (childNodeCount >= 0) {
+            builder.append(" children: ").append(childNodeCount);
+        }
+        if (hash != null) {
+            builder.append(" hash: ").append(hash);
+        }
+        if (id != null) {
+            builder.append(" id: ").append(id);
+        }
+        builder.append(" {");
+        int count = 0;
+        if (properties == null) {
+            builder.append(" /* props not initialized */");
+        } else {
+            for (PropertyState property : getProperties()) {
+                if (count++ > 0) {
+                    builder.append(',');
+                }
+                builder.append(' ').append(property);
+            }
+        }
+        if (childNames == null) {
+            builder.append(" /* child node names not initialized */");
+        } else {
+            for (String s : childNames) {
+                if (count++ > 0) {
+                    builder.append(',');
+                }
+                builder.append(' ').append(s);
+            }
+        }
+        builder.append(" }");
+        return builder.toString();
+    }
 
 }