Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java')
-rw-r--r--org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java641
1 files changed, 0 insertions, 641 deletions
diff --git a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java b/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java
deleted file mode 100644
index 468e7d1c3..000000000
--- a/org.eclipse.debug.tests/src/org/eclipe/debug/tests/viewer/model/TestModelUpdatesListener.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Wind River Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipe.debug.tests.viewer.model;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-import junit.framework.Assert;
-
-import org.eclipe.debug.tests.viewer.model.TestModel.TestElement;
-import org.eclipse.debug.internal.ui.viewers.model.ILabelUpdateListener;
-import org.eclipse.debug.internal.ui.viewers.model.ITreeModelContentProviderTarget;
-import org.eclipse.debug.internal.ui.viewers.model.ITreeModelViewer;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenCountUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IHasChildrenUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelChangedListener;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxy;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IStateUpdateListener;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
-import org.eclipse.jface.viewers.TreePath;
-
-public class TestModelUpdatesListener
- implements IViewerUpdateListener, ILabelUpdateListener, IModelChangedListener, ITestModelUpdatesListenerConstants,
- IStateUpdateListener
-{
- private final ITreeModelViewer fViewer;
-
- private boolean fFailOnRedundantUpdates;
- private Set fRedundantUpdates = new HashSet();
-
- private boolean fFailOnMultipleModelUpdateSequences;
- private boolean fMultipleModelUpdateSequencesObserved;
- private boolean fFailOnMultipleLabelUpdateSequences;
- private boolean fMultipleLabelUpdateSequencesObserved;
-
- private Set fHasChildrenUpdatesScheduled = new HashSet();
- private Set fHasChildrenUpdatesRunning = new HashSet();
- private Set fHasChildrenUpdatesCompleted = new HashSet();
- private Map fChildrenUpdatesScheduled = new HashMap();
- private Set fChildrenUpdatesRunning = new HashSet();
- private Set fChildrenUpdatesCompleted = new HashSet();
- private Set fChildCountUpdatesScheduled = new HashSet();
- private Set fChildCountUpdatesRunning = new HashSet();
- private Set fChildCountUpdatesCompleted = new HashSet();
- private Set fLabelUpdates = new HashSet();
- private Set fLabelUpdatesRunning = new HashSet();
- private Set fLabelUpdatesCompleted = new HashSet();
- private Set fProxyModels = new HashSet();
- private Set fStateUpdates = new HashSet();
- private boolean fViewerUpdatesStarted;
- private boolean fViewerUpdatesComplete;
- private boolean fLabelUpdatesStarted;
- private boolean fLabelUpdatesComplete;
- private boolean fModelChangedComplete;
- private boolean fStateSaveStarted;
- private boolean fStateSaveComplete;
- private boolean fStateRestoreStarted;
- private boolean fStateRestoreComplete;
- private int fViewerUpdatesCounter;
- private int fLabelUpdatesCounter;
- private int fTimeoutInterval = 60000;
- private long fTimeoutTime;
-
-
- public TestModelUpdatesListener(ITreeModelViewer viewer, boolean failOnRedundantUpdates, boolean failOnMultipleModelUpdateSequences) {
- this(viewer);
- setFailOnRedundantUpdates(failOnRedundantUpdates);
- setFailOnMultipleModelUpdateSequences(failOnMultipleModelUpdateSequences);
- }
-
- public TestModelUpdatesListener(ITreeModelViewer viewer) {
- fViewer = viewer;
- fViewer.addLabelUpdateListener(this);
- fViewer.addModelChangedListener(this);
- fViewer.addStateUpdateListener(this);
- fViewer.addViewerUpdateListener(this);
- }
-
- public void dispose() {
- fViewer.removeLabelUpdateListener(this);
- fViewer.removeModelChangedListener(this);
- fViewer.removeStateUpdateListener(this);
- fViewer.removeViewerUpdateListener(this);
- }
-
-
- public void setFailOnRedundantUpdates(boolean failOnRedundantUpdates) {
- fFailOnRedundantUpdates = failOnRedundantUpdates;
- }
-
- public void setFailOnMultipleModelUpdateSequences(boolean failOnMultipleLabelUpdateSequences) {
- fFailOnMultipleModelUpdateSequences = failOnMultipleLabelUpdateSequences;
- }
-
- public void setFailOnMultipleLabelUpdateSequences(boolean failOnMultipleLabelUpdateSequences) {
- fFailOnMultipleLabelUpdateSequences = failOnMultipleLabelUpdateSequences;
- }
-
- /**
- * Sets the the maximum amount of time (in milliseconds) that the update listener
- * is going to wait. If set to -1, the listener will wait indefinitely.
- */
- public void setTimeoutInterval(int milis) {
- fTimeoutInterval = milis;
- }
-
- public void reset(TreePath path, TestElement element, int levels, boolean failOnRedundantUpdates, boolean failOnMultipleUpdateSequences) {
- reset();
- addUpdates(path, element, levels);
- addProxies(element);
- setFailOnRedundantUpdates(failOnRedundantUpdates);
- setFailOnMultipleModelUpdateSequences(failOnMultipleUpdateSequences);
- setFailOnMultipleLabelUpdateSequences(false);
- }
-
- public void reset(boolean failOnRedundantUpdates, boolean failOnMultipleUpdateSequences) {
- reset();
- setFailOnRedundantUpdates(failOnRedundantUpdates);
- setFailOnMultipleModelUpdateSequences(failOnMultipleUpdateSequences);
- setFailOnMultipleLabelUpdateSequences(false);
- }
-
- public void reset() {
- fRedundantUpdates.clear();
- fMultipleLabelUpdateSequencesObserved = false;
- fMultipleModelUpdateSequencesObserved = false;
- fHasChildrenUpdatesScheduled.clear();
- fHasChildrenUpdatesRunning.clear();
- fHasChildrenUpdatesCompleted.clear();
- fChildrenUpdatesScheduled.clear();
- fChildrenUpdatesRunning.clear();
- fChildrenUpdatesCompleted.clear();
- fChildCountUpdatesScheduled.clear();
- fChildCountUpdatesRunning.clear();
- fChildCountUpdatesCompleted.clear();
- fLabelUpdates.clear();
- fLabelUpdatesRunning.clear();
- fLabelUpdatesCompleted.clear();
- fProxyModels.clear();
- fViewerUpdatesStarted = false;
- fViewerUpdatesComplete = false;
- fLabelUpdatesStarted = false;
- fLabelUpdatesComplete = false;
- fStateSaveStarted = false;
- fStateSaveComplete = false;
- fStateRestoreStarted = false;
- fStateRestoreComplete = false;
- fTimeoutTime = System.currentTimeMillis() + fTimeoutInterval;
- resetModelChanged();
- }
-
- public void resetModelChanged() {
- fModelChangedComplete = false;
- }
-
- public void addHasChildrenUpdate(TreePath path) {
- fHasChildrenUpdatesScheduled.add(path);
- }
-
- public void removeHasChildrenUpdate(TreePath path) {
- fHasChildrenUpdatesScheduled.remove(path);
- }
-
- public void addChildreCountUpdate(TreePath path) {
- fChildCountUpdatesScheduled.add(path);
- }
-
- public void removeChildreCountUpdate(TreePath path) {
- fChildCountUpdatesScheduled.remove(path);
- }
-
- public void addChildreUpdate(TreePath path, int index) {
- Set childrenIndexes = (Set)fChildrenUpdatesScheduled.get(path);
- if (childrenIndexes == null) {
- childrenIndexes = new TreeSet();
- fChildrenUpdatesScheduled.put(path, childrenIndexes);
- }
- childrenIndexes.add(new Integer(index));
- }
-
- public void removeChildrenUpdate(TreePath path, int index) {
- Set childrenIndexes = (Set)fChildrenUpdatesScheduled.get(path);
- if (childrenIndexes != null) {
- childrenIndexes.remove(new Integer(index));
- if (childrenIndexes.isEmpty()) {
- fChildrenUpdatesScheduled.remove(path);
- }
- }
- }
-
- public void addLabelUpdate(TreePath path) {
- fLabelUpdates.add(path);
- }
-
- public void removeLabelUpdate(TreePath path) {
- fLabelUpdates.remove(path);
- }
-
- public void addUpdates(TreePath path, TestElement element, int levels) {
- addUpdates(path, element, levels, ALL_UPDATES_COMPLETE);
- }
-
- public void addStateUpdates(ITreeModelContentProviderTarget viewer, TreePath path, TestElement element) {
- addUpdates(viewer, path, element, -1, STATE_UPDATES);
- }
-
- public void addUpdates(TreePath path, TestElement element, int levels, int flags) {
- addUpdates(null, path, element, levels, flags);
- }
-
- public void addUpdates(ITreeModelContentProviderTarget viewer, TreePath path, TestElement element, int levels, int flags) {
- if (!path.equals(TreePath.EMPTY)) {
- if ((flags & LABEL_UPDATES) != 0) {
- fLabelUpdates.add(path);
- }
- if ((flags & HAS_CHILDREN_UPDATES) != 0) {
- fHasChildrenUpdatesScheduled.add(path);
- }
- }
-
- if (levels-- != 0) {
- TestElement[] children = element.getChildren();
- if (children.length > 0 && (viewer == null || path.getSegmentCount() == 0 || viewer.getExpandedState(path))) {
- if ((flags & CHILD_COUNT_UPDATES) != 0) {
- fChildCountUpdatesScheduled.add(path);
- }
- if ((flags & CHILDREN_UPDATES) != 0) {
- Set childrenIndexes = new HashSet();
- for (int i = 0; i < children.length; i++) {
- childrenIndexes.add(new Integer(i));
- }
- fChildrenUpdatesScheduled.put(path, childrenIndexes);
- }
-
- if ((flags & STATE_UPDATES) != 0 && viewer != null) {
- fStateUpdates.add(path);
- }
-
- for (int i = 0; i < children.length; i++) {
- addUpdates(viewer, path.createChildPath(children[i]), children[i], levels, flags);
- }
- }
-
- }
- }
-
- private void addProxies(TestElement element) {
- TestModel model = element.getModel();
- if (model.getModelProxy() == null) {
- fProxyModels.add(element.getModel());
- }
- TestElement[] children = element.getChildren();
- for (int i = 0; i < children.length; i++) {
- addProxies(children[i]);
- }
- }
-
- public boolean isFinished() {
- return isFinished(ALL_UPDATES_COMPLETE);
- }
-
- public boolean isTimedOut() {
- return fTimeoutInterval > 0 && fTimeoutTime < System.currentTimeMillis();
- }
-
- public boolean isFinished(int flags) {
- if (isTimedOut()) {
- throw new RuntimeException("Timed Out: " + toString(flags));
- }
-
- if (fFailOnRedundantUpdates && !fRedundantUpdates.isEmpty()) {
- Assert.fail("Redundant Updates: " + fRedundantUpdates.toString());
- }
- if (fFailOnMultipleLabelUpdateSequences && !fMultipleLabelUpdateSequencesObserved) {
- Assert.fail("Multiple label update sequences detected");
- }
- if (fFailOnMultipleModelUpdateSequences && fMultipleModelUpdateSequencesObserved) {
- Assert.fail("Multiple viewer update sequences detected");
- }
-
- if ( (flags & LABEL_UPDATES_COMPLETE) != 0) {
- if (!fLabelUpdatesComplete) return false;
- }
- if ( (flags & LABEL_UPDATES_STARTED) != 0) {
- if (!fLabelUpdatesStarted) return false;
- }
- if ( (flags & LABEL_UPDATES) != 0) {
- if (!fLabelUpdates.isEmpty()) return false;
- }
- if ( (flags & CONTENT_UPDATES_STARTED) != 0) {
- if (!fViewerUpdatesStarted) return false;
- }
- if ( (flags & CONTENT_UPDATES_COMPLETE) != 0) {
- if (!fViewerUpdatesComplete) return false;
- }
- if ( (flags & HAS_CHILDREN_UPDATES_STARTED) != 0) {
- if (fHasChildrenUpdatesRunning.isEmpty() && fHasChildrenUpdatesCompleted.isEmpty()) return false;
- }
- if ( (flags & HAS_CHILDREN_UPDATES) != 0) {
- if (!fHasChildrenUpdatesScheduled.isEmpty()) return false;
- }
- if ( (flags & CHILD_COUNT_UPDATES_STARTED) != 0) {
- if (fChildCountUpdatesRunning.isEmpty() && fChildCountUpdatesCompleted.isEmpty()) return false;
- }
- if ( (flags & CHILD_COUNT_UPDATES) != 0) {
- if (!fChildCountUpdatesScheduled.isEmpty()) return false;
- }
- if ( (flags & CHILDREN_UPDATES_STARTED) != 0) {
- if (fChildrenUpdatesRunning.isEmpty() && fChildrenUpdatesCompleted.isEmpty()) return false;
- }
- if ( (flags & CHILDREN_UPDATES) != 0) {
- if (!fChildrenUpdatesScheduled.isEmpty()) return false;
- }
- if ( (flags & MODEL_CHANGED_COMPLETE) != 0) {
- if (!fModelChangedComplete) return false;
- }
- if ( (flags & STATE_SAVE_COMPLETE) != 0) {
- if (!fStateSaveComplete) return false;
- }
- if ( (flags & STATE_SAVE_STARTED) != 0) {
- if (!fStateSaveStarted) return false;
- }
- if ( (flags & STATE_RESTORE_COMPLETE) != 0) {
- if (!fStateRestoreComplete) return false;
- }
- if ( (flags & STATE_RESTORE_STARTED) != 0) {
- if (!fStateRestoreStarted) return false;
- }
- if ( (flags & MODEL_PROXIES_INSTALLED) != 0) {
- if (fProxyModels.size() != 0) return false;
- }
- if ( (flags & VIEWER_UPDATES_RUNNING) != 0) {
- if (fViewerUpdatesCounter != 0) {
- return false;
- }
- }
- if ( (flags & LABEL_UPDATES_RUNNING) != 0) {
- if (fLabelUpdatesCounter != 0) {
- return false;
- }
- }
-
-
- return true;
- }
-
- public void updateStarted(IViewerUpdate update) {
- synchronized (this) {
- fViewerUpdatesCounter++;
- if (update instanceof IHasChildrenUpdate) {
- fHasChildrenUpdatesRunning.add(update);
- } if (update instanceof IChildrenCountUpdate) {
- fChildCountUpdatesRunning.add(update);
- } else if (update instanceof IChildrenUpdate) {
- fChildCountUpdatesRunning.add(update);
- }
- }
- }
-
- public void updateComplete(IViewerUpdate update) {
- synchronized (this) {
- fViewerUpdatesCounter--;
- }
-
- if (!update.isCanceled()) {
- if (update instanceof IHasChildrenUpdate) {
- fHasChildrenUpdatesRunning.remove(update);
- fHasChildrenUpdatesCompleted.add(update);
- if (!fHasChildrenUpdatesScheduled.remove(update.getElementPath()) && fFailOnRedundantUpdates) {
- fRedundantUpdates.add(update);
- }
- } if (update instanceof IChildrenCountUpdate) {
- fChildCountUpdatesRunning.remove(update);
- fChildCountUpdatesCompleted.add(update);
- if (!fChildCountUpdatesScheduled.remove(update.getElementPath()) && fFailOnRedundantUpdates) {
- fRedundantUpdates.add(update);
- }
- } else if (update instanceof IChildrenUpdate) {
- fChildrenUpdatesRunning.remove(update);
- fChildrenUpdatesCompleted.add(update);
-
- int start = ((IChildrenUpdate)update).getOffset();
- int end = start + ((IChildrenUpdate)update).getLength();
-
- Set childrenIndexes = (Set)fChildrenUpdatesScheduled.get(update.getElementPath());
- if (childrenIndexes != null) {
- for (int i = start; i < end; i++) {
- childrenIndexes.remove(new Integer(i));
- }
- if (childrenIndexes.isEmpty()) {
- fChildrenUpdatesScheduled.remove(update.getElementPath());
- }
- } else if (fFailOnRedundantUpdates) {
- fRedundantUpdates.add(update);
- }
- }
- }
- }
-
- public void viewerUpdatesBegin() {
- if (fFailOnMultipleModelUpdateSequences && fViewerUpdatesComplete) {
- fMultipleModelUpdateSequencesObserved = true;
- }
- fViewerUpdatesStarted = true;
- }
-
- public void viewerUpdatesComplete() {
- fViewerUpdatesComplete = true;
- }
-
- public void labelUpdateComplete(ILabelUpdate update) {
- synchronized (this) {
- fLabelUpdatesRunning.remove(update);
- fLabelUpdatesCompleted.add(update);
- fLabelUpdatesCounter--;
- }
- if (!fLabelUpdates.remove(update.getElementPath()) && fFailOnRedundantUpdates) {
- Assert.fail("Redundant update: " + update);
- }
- }
-
- public void labelUpdateStarted(ILabelUpdate update) {
- synchronized (this) {
- fLabelUpdatesRunning.add(update);
- fLabelUpdatesCounter++;
- }
- }
-
- public void labelUpdatesBegin() {
- if (fFailOnMultipleLabelUpdateSequences && fLabelUpdatesComplete) {
- fMultipleLabelUpdateSequencesObserved = true;
- }
- fLabelUpdatesStarted = true;
- }
-
- public void labelUpdatesComplete() {
- fLabelUpdatesComplete = true;
- }
-
- public void modelChanged(IModelDelta delta, IModelProxy proxy) {
- fModelChangedComplete = true;
-
- for (Iterator itr = fProxyModels.iterator(); itr.hasNext();) {
- TestModel model = (TestModel)itr.next();
- if (model.getModelProxy() == proxy) {
- itr.remove();
- break;
- }
- }
- }
-
- public void stateRestoreUpdatesBegin(Object input) {
- fStateRestoreStarted = true;
- }
-
- public void stateRestoreUpdatesComplete(Object input) {
- fStateRestoreComplete = true;
- }
-
- public void stateSaveUpdatesBegin(Object input) {
- fStateSaveStarted = true;
- }
-
- public void stateSaveUpdatesComplete(Object input) {
- fStateSaveComplete = true;
- }
-
- public void stateUpdateComplete(Object input, IViewerUpdate update) {
- }
-
- public void stateUpdateStarted(Object input, IViewerUpdate update) {
- }
-
- private String toString(int flags) {
- StringBuffer buf = new StringBuffer("Viewer Update Listener");
-
- if (fFailOnRedundantUpdates) {
- buf.append("\n\t");
- buf.append("fRedundantUpdates = " + fRedundantUpdates);
- }
- if (fFailOnMultipleLabelUpdateSequences) {
- buf.append("\n\t");
- buf.append("fMultipleLabelUpdateSequencesObserved = " + fMultipleLabelUpdateSequencesObserved);
- }
- if (fFailOnMultipleModelUpdateSequences) {
- buf.append("\n\t");
- buf.append("fMultipleModelUpdateSequencesObserved = " + fMultipleModelUpdateSequencesObserved);
- }
- if ( (flags & LABEL_UPDATES_COMPLETE) != 0) {
- buf.append("\n\t");
- buf.append("fLabelUpdatesComplete = " + fLabelUpdatesComplete);
- }
- if ( (flags & LABEL_UPDATES_RUNNING) != 0) {
- buf.append("\n\t");
- buf.append("fLabelUpdatesRunning = " + fLabelUpdatesCounter);
- }
- if ( (flags & LABEL_UPDATES_STARTED) != 0) {
- buf.append("\n\t");
- buf.append("fLabelUpdatesRunning = ");
- buf.append( fLabelUpdatesRunning );
- buf.append("\n\t");
- buf.append("fLabelUpdatesCompleted = ");
- buf.append( fLabelUpdatesCompleted );
- }
- if ( (flags & LABEL_UPDATES) != 0) {
- buf.append("\n\t");
- buf.append("fLabelUpdates = ");
- buf.append( toString(fLabelUpdates) );
- }
- if ( (flags & CONTENT_UPDATES_COMPLETE) != 0) {
- buf.append("\n\t");
- buf.append("fViewerUpdatesComplete = " + fViewerUpdatesComplete);
- }
- if ( (flags & VIEWER_UPDATES_RUNNING) != 0) {
- buf.append("\n\t");
- buf.append("fViewerUpdatesRunning = " + fViewerUpdatesCounter);
- }
- if ( (flags & HAS_CHILDREN_UPDATES_STARTED) != 0) {
- buf.append("\n\t");
- buf.append("fHasChildrenUpdatesRunning = ");
- buf.append( fHasChildrenUpdatesRunning );
- buf.append("\n\t");
- buf.append("fHasChildrenUpdatesCompleted = ");
- buf.append( fHasChildrenUpdatesCompleted );
- }
- if ( (flags & HAS_CHILDREN_UPDATES) != 0) {
- buf.append("\n\t");
- buf.append("fHasChildrenUpdates = ");
- buf.append( toString(fHasChildrenUpdatesScheduled) );
- }
- if ( (flags & CHILD_COUNT_UPDATES_STARTED) != 0) {
- buf.append("\n\t");
- buf.append("fChildCountUpdatesRunning = ");
- buf.append( fChildCountUpdatesRunning );
- buf.append("\n\t");
- buf.append("fChildCountUpdatesCompleted = ");
- buf.append( fChildCountUpdatesCompleted );
- }
- if ( (flags & CHILD_COUNT_UPDATES) != 0) {
- buf.append("\n\t");
- buf.append("fChildCountUpdates = ");
- buf.append( toString(fChildCountUpdatesScheduled) );
- }
- if ( (flags & CHILDREN_UPDATES_STARTED) != 0) {
- buf.append("\n\t");
- buf.append("fChildrenUpdatesRunning = ");
- buf.append( fChildrenUpdatesRunning );
- buf.append("\n\t");
- buf.append("fChildrenUpdatesCompleted = ");
- buf.append( fChildrenUpdatesCompleted );
- }
- if ( (flags & CHILDREN_UPDATES) != 0) {
- buf.append("\n\t");
- buf.append("fChildrenUpdates = ");
- buf.append( toString(fChildrenUpdatesScheduled) );
- }
- if ( (flags & MODEL_CHANGED_COMPLETE) != 0) {
- buf.append("\n\t");
- buf.append("fModelChangedComplete = " + fModelChangedComplete);
- }
- if ( (flags & STATE_SAVE_COMPLETE) != 0) {
- buf.append("\n\t");
- buf.append("fStateSaveComplete = " + fStateSaveComplete);
- }
- if ( (flags & STATE_RESTORE_COMPLETE) != 0) {
- buf.append("\n\t");
- buf.append("fStateRestoreComplete = " + fStateRestoreComplete);
- }
- if ( (flags & MODEL_PROXIES_INSTALLED) != 0) {
- buf.append("\n\t");
- buf.append("fProxyModels = " + fProxyModels);
- }
- if (fTimeoutInterval > 0) {
- buf.append("\n\t");
- buf.append("fTimeoutInterval = " + fTimeoutInterval);
- }
- return buf.toString();
- }
-
- private String toString(Set set) {
- if (set.isEmpty()) {
- return "(EMPTY)";
- }
- StringBuffer buf = new StringBuffer();
- for (Iterator itr = set.iterator(); itr.hasNext(); ) {
- buf.append("\n\t\t");
- buf.append(toString((TreePath)itr.next()));
- }
- return buf.toString();
- }
-
- private String toString(Map map) {
- if (map.isEmpty()) {
- return "(EMPTY)";
- }
- StringBuffer buf = new StringBuffer();
- for (Iterator itr = map.keySet().iterator(); itr.hasNext(); ) {
- buf.append("\n\t\t");
- TreePath path = (TreePath)itr.next();
- buf.append(toString(path));
- Set updates = (Set)map.get(path);
- buf.append(" = ");
- buf.append(updates.toString());
- }
- return buf.toString();
- }
-
- private String toString(TreePath path) {
- if (path.getSegmentCount() == 0) {
- return "/";
- }
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < path.getSegmentCount(); i++) {
- buf.append("/");
- buf.append(path.getSegment(i));
- }
- return buf.toString();
- }
-
- public String toString() {
- return toString(ALL_UPDATES_COMPLETE | MODEL_CHANGED_COMPLETE | STATE_RESTORE_COMPLETE | VIEWER_UPDATES_STARTED | LABEL_UPDATES_STARTED);
- }
-}
-
-

Back to the top