From ecfb6ab7ced4559c1b1cf3f5d98f802b87f6f171 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 18 Apr 2013 15:47:30 +0200 Subject: [PATCH] move isAlreadySorted to XCompositeNode --- .../com/intellij/xdebugger/frame/XCompositeNode.java | 8 +++++++- .../intellij/xdebugger/frame/XValueChildrenList.java | 10 +++++++--- .../impl/ui/tree/nodes/XValueContainerNode.java | 11 ++++++++++- .../com/intellij/xdebugger/XTestCompositeNode.java | 12 ++++++++++++ 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XCompositeNode.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XCompositeNode.java index 5f2df4b3db82..8f5e7ec4ce7d 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XCompositeNode.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XCompositeNode.java @@ -38,7 +38,6 @@ public interface XCompositeNode extends Obsolescent { */ void addChildren(@NotNull XValueChildrenList children, final boolean last); - /** * @deprecated use {@link #addChildren(XValueChildrenList, boolean)} instead */ @@ -51,6 +50,13 @@ public interface XCompositeNode extends Obsolescent { */ void tooManyChildren(int remaining); + boolean isAlreadySorted(); + + /** + * Use sort specified in data view settings (alreadySorted false, by default) or not + */ + void setAlreadySorted(boolean alreadySorted); + /** * Indicates that an error occurs * @param errorMessage message describing the error diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValueChildrenList.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValueChildrenList.java index 3e444fea4e28..395976403dbb 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValueChildrenList.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XValueChildrenList.java @@ -29,7 +29,6 @@ public class XValueChildrenList { public static final XValueChildrenList EMPTY = new XValueChildrenList(Collections.emptyList(), Collections.emptyList()); private List myNames; private List myValues; - private boolean myAlreadySorted; public XValueChildrenList(int initialCapacity) { myNames = new ArrayList(initialCapacity); @@ -67,11 +66,16 @@ public class XValueChildrenList { return myValues.get(i); } + /** + * @deprecated use {@link XCompositeNode#isAlreadySorted} (to remove in IDEA 13) + */ public boolean isAlreadySorted() { - return myAlreadySorted; + return false; } + /** + * @deprecated use {@link XCompositeNode#setAlreadySorted} instead (to remove in IDEA 13) + */ public void setAlreadySorted(boolean alreadySorted) { - myAlreadySorted = alreadySorted; } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueContainerNode.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueContainerNode.java index 3bcbf4e6ff41..4be1ddc797a0 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueContainerNode.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/nodes/XValueContainerNode.java @@ -42,6 +42,7 @@ public abstract class XValueContainerNode myCachedAllChildren; protected final ValueContainer myValueContainer; private volatile boolean myObsolete; + private volatile boolean myAlreadySorted; protected XValueContainerNode(XDebuggerTree tree, final XDebuggerTreeNode parent, @NotNull ValueContainer valueContainer) { super(tree, parent, true); @@ -64,12 +65,20 @@ public abstract class XValueContainerNode(XValueNodeImpl.COMPARATOR); } else { diff --git a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XTestCompositeNode.java b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XTestCompositeNode.java index 361a9bccd335..6c7fc7190d60 100644 --- a/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XTestCompositeNode.java +++ b/platform/xdebugger-impl/testSrc/com/intellij/xdebugger/XTestCompositeNode.java @@ -9,6 +9,8 @@ import java.util.ArrayList; import java.util.List; public class XTestCompositeNode extends XTestContainer implements XCompositeNode { + private volatile boolean myAlreadySorted; + @Override public void addChildren(@NotNull XValueChildrenList children, boolean last) { final List list = new ArrayList(); @@ -17,4 +19,14 @@ public class XTestCompositeNode extends XTestContainer implements XCompo } addChildren(list, last); } + + @Override + public boolean isAlreadySorted() { + return myAlreadySorted; + } + + @Override + public void setAlreadySorted(boolean alreadySorted) { + myAlreadySorted = alreadySorted; + } }