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 md...@apache.org on 2014/02/20 15:15:57 UTC
svn commit: r1570199 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak:
core/HiddenTree.java core/MutableTree.java plugins/tree/AbstractTree.java
plugins/tree/ImmutableTree.java
Author: mduerig
Date: Thu Feb 20 14:15:56 2014
New Revision: 1570199
URL: http://svn.apache.org/r1570199
Log:
OAK-1440: o.a.j.o.api.Tree.toString hits hidden nodes
filter hidden items in toString
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/HiddenTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ImmutableTree.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/HiddenTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/HiddenTree.java?rev=1570199&r1=1570198&r2=1570199&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/HiddenTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/HiddenTree.java Thu Feb 20 14:15:56 2014
@@ -47,6 +47,15 @@ public class HiddenTree implements Tree
this.name = name;
}
+ //------------------------------------------------------------< Object >---
+
+ @Override
+ public String toString() {
+ return getPath() + ": {}";
+ }
+
+ //------------------------------------------------------------< Tree >---
+
@Nonnull
@Override
public String getName() {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java?rev=1570199&r1=1570198&r2=1570199&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/MutableTree.java Thu Feb 20 14:15:56 2014
@@ -298,13 +298,6 @@ class MutableTree extends AbstractTree {
root.updated();
}
- //-----------------------------------------------------------< Object >---
-
- @Override
- public String toString() {
- return getPathInternal() + ": " + getNodeState();
- }
-
//---------------------------------------------------------< internal >---
/**
* Set the parent and name of this tree.
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTree.java?rev=1570199&r1=1570198&r2=1570199&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/AbstractTree.java Thu Feb 20 14:15:56 2014
@@ -40,6 +40,7 @@ import org.apache.jackrabbit.oak.api.Pro
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
import org.apache.jackrabbit.oak.plugins.index.reference.NodeReferenceConstants;
+import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.ConflictAnnotatingRebaseDiff;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -158,6 +159,33 @@ public abstract class AbstractTree imple
}
}
+ //------------------------------------------------------------< Object >---
+
+ @Override
+ public String toString() {
+ return getPath() + ": " + toString(getNodeState());
+ }
+
+ protected String toString(NodeState nodeState) {
+ StringBuilder sb = new StringBuilder();
+ sb.append('{');
+ for (PropertyState p : nodeState.getProperties()) {
+ if (!isHidden(p.getName())) {
+ sb.append(' ').append(p).append(',');
+ }
+ }
+ for (ChildNodeEntry n : nodeState.getChildNodeEntries()) {
+ if(!isHidden(n.getName())) {
+ sb.append(' ').append(n.getName()).append( " = { ... },");
+ }
+ }
+ if (sb.length() > 1) {
+ sb.deleteCharAt(sb.length() - 1);
+ }
+ sb.append('}');
+ return sb.toString();
+ }
+
//---------------------------------------------------------------< Tree >---
@Override
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ImmutableTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ImmutableTree.java?rev=1570199&r1=1570198&r2=1570199&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ImmutableTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/tree/ImmutableTree.java Thu Feb 20 14:15:56 2014
@@ -207,7 +207,7 @@ public final class ImmutableTree extends
@Override
public String toString() {
- return "ImmutableTree '" + getName() + "':" + state.toString();
+ return "ImmutableTree '" + getName() + "':" + toString(state);
}
//--------------------------------------------------------------------------
Re: svn commit: r1570199 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak:
core/HiddenTree.java core/MutableTree.java plugins/tree/AbstractTree.java
plugins/tree/ImmutableTree.java
Posted by Michael Dürig <md...@apache.org>.
On 21.2.14 6:27 , Jukka Zitting wrote:
> Given that the intention is to avoid exposing in toString() details
> that are not accessible through other methods, it would seem cleaner
> to implement it in terms of the publicly accessible methods:
Good point. See http://svn.apache.org/r1571194
Micha
Re: svn commit: r1570199 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak:
core/HiddenTree.java core/MutableTree.java plugins/tree/AbstractTree.java plugins/tree/ImmutableTree.java
Posted by Jukka Zitting <ju...@gmail.com>.
Hi,
On Thu, Feb 20, 2014 at 9:15 AM, <md...@apache.org> wrote:
> + @Override
> + public String toString() {
> + return getPath() + ": " + toString(getNodeState());
> + }
> +
> + protected String toString(NodeState nodeState) {
Given that the intention is to avoid exposing in toString() details
that are not accessible through other methods, it would seem cleaner
to implement it in terms of the publicly accessible methods:
for (PropertyState p : getProperties()) {
sb.append(' ').append(p).append(',');
}
for (String name : getChildNames()) {
sb.append(' ').append(name).append( " = { ... },");
}
Otherwise it'll pretty easy to forget to update the toString() method
in case we make some changes in the way hidden content is handled.
BR,
Jukka Zitting