diff options
author | Pawel Piech | 2013-03-11 19:04:11 +0000 |
---|---|---|
committer | Pawel Piech | 2013-03-11 19:04:11 +0000 |
commit | b5e8c5169b95d1f4e4c856b86293a495e8f4e88b (patch) | |
tree | 5cb0755573aefe16e304c4cb2da82fe50ddf5077 /org.eclipse.debug.ui/ui | |
parent | ecd0359c873caf394e4bdf18dd5a1fc094503311 (diff) | |
download | eclipse.platform.debug-b5e8c5169b95d1f4e4c856b86293a495e8f4e88b.tar.gz eclipse.platform.debug-b5e8c5169b95d1f4e4c856b86293a495e8f4e88b.tar.xz eclipse.platform.debug-b5e8c5169b95d1f4e4c856b86293a495e8f4e88b.zip |
Revert "Bug 372181 - Working set support for Expressions View"
This reverts commit 1a8a7fdad3c928e406c9b77f0b3aec0379dbd48e.
Diffstat (limited to 'org.eclipse.debug.ui/ui')
3 files changed, 30 insertions, 58 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java index cef88745b..2ee05ca48 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java @@ -218,17 +218,13 @@ class ViewerStateTracker { void dispose() { Assert.isTrue( fContentProvider.getViewer().getDisplay().getThread() == Thread.currentThread() ); - IElementMementoCollector[] savesToCancel = (IElementMementoCollector[]) - fPendingStateSaves.toArray(new IElementMementoCollector[fPendingStateSaves.size()]); - for (int i = 0; i < savesToCancel.length; i++) { - savesToCancel[i].cancel(); + for (Iterator itr = fPendingStateSaves.iterator(); itr.hasNext(); ) { + ((IElementMementoCollector)itr.next()).cancel(); } fStateUpdateListeners.clear(); - ElementCompareRequest[] requestsToCancel = (ElementCompareRequest[]) - fCompareRequestsInProgress.values().toArray(new ElementCompareRequest[fCompareRequestsInProgress.size()]); - for (int i = 0; i < requestsToCancel.length; i++) { - requestsToCancel[i].cancel(); + for (Iterator itr = fCompareRequestsInProgress.values().iterator(); itr.hasNext();) { + ((ElementCompareRequest)itr.next()).cancel(); } fCompareRequestsInProgress.clear(); diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java index 40f047092..f5896f6c3 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java @@ -14,9 +14,10 @@ package org.eclipse.debug.internal.ui.views.expression; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStreamReader; -import java.io.StringWriter; +import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; @@ -107,48 +108,6 @@ public class ExpressionView extends VariablesView { private boolean fAutoSelectnWorkingSets = true; - /** - * Object used for comparing xml mementos in a map. - */ - private static class XMLMementoKey { - final XMLMemento fMemento; - private String fKeyString; - - XMLMementoKey(XMLMemento memento) { - fMemento = memento; - } - - String getMementoString() { - if (fKeyString == null) { - StringWriter writer = new StringWriter(); - - try { - fMemento.save(writer); - fKeyString = writer.toString(); - } catch (IOException e) { - } finally { - } - fKeyString = fMemento.toString(); - } - return fKeyString; - } - - public boolean equals(Object obj) { - if (obj instanceof XMLMementoKey) { - return getMementoString().equals(((XMLMementoKey)obj).getMementoString()); - } - return false; - } - - public int hashCode() { - return getMementoString().hashCode(); - } - - public String toString() { - return getMementoString(); - } - } - private Map fWorkingSetMementos = new LinkedHashMap(16, (float)0.75, true) { private static final long serialVersionUID = 1L; @@ -156,7 +115,7 @@ public class ExpressionView extends VariablesView { return size() > MAX_WORKING_SETS_MEMENTOS; } }; - + private Set fPendingCompareRequests; private ExpressionElementMementoRequest fPendingMementoRequest; @@ -427,7 +386,7 @@ public class ExpressionView extends VariablesView { InputStreamReader reader = new InputStreamReader(bin); try { XMLMemento workingSetsKey = XMLMemento.createReadRoot(reader); - fWorkingSetMementos.put( new XMLMementoKey(workingSetsKey), workingSetNames ); + fWorkingSetMementos.put(workingSetsKey, workingSetNames); } catch (WorkbenchException e) { } finally { try { @@ -459,12 +418,30 @@ public class ExpressionView extends VariablesView { private void saveWorkingSetMementos(IMemento memento) { for (Iterator itr = fWorkingSetMementos.entrySet().iterator(); itr.hasNext();) { Map.Entry entry = (Map.Entry)itr.next(); - String keyMementoString = ((XMLMementoKey)entry.getKey()).getMementoString(); + String keyMementoString = getMenentoString((XMLMemento)entry.getKey()); IMemento workingSetsForElementMemento = memento.createChild(PREF_ELEMENT_WORKINGSET_MEMENTOS, keyMementoString); saveWorkingSets(workingSetsForElementMemento, (String[])entry.getValue()); } } + private String getMenentoString(XMLMemento memento) { + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(bout); + + try { + memento.save(writer); + return bout.toString(); + } catch (IOException e) { + } finally { + try { + writer.close(); + bout.close(); + } catch (IOException e) { + } + } + return null; + } + public void applyWorkingSets(IWorkingSet[] selectedWorkingSets) { doApplyWorkingSets(selectedWorkingSets); saveWorkingSetsForInput(); @@ -494,7 +471,7 @@ public class ExpressionView extends VariablesView { void mementoRequestFinished(ExpressionElementMementoRequest request) { if (!request.isCanceled()) { - fWorkingSetMementos.put(new XMLMementoKey((XMLMemento)request.getMemento()), request.getWorkingSets()); + fWorkingSetMementos.put(request.getMemento(), request.getWorkingSets()); } } @@ -551,8 +528,7 @@ public class ExpressionView extends VariablesView { for (Iterator itr = fWorkingSetMementos.entrySet().iterator(); itr.hasNext();) { Map.Entry entry = (Map.Entry)itr.next(); requests.add( new ExpressionElementCompareRequest( - this, getPresentationContext(), source, ((XMLMementoKey)entry.getKey()).fMemento, - (String[])entry.getValue()) ); + this, getPresentationContext(), source, (IMemento)entry.getKey(), (String[])entry.getValue()) ); } // cancel any pending update diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionWorkingSetMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionWorkingSetMessages.java index 05aad7881..93eceae57 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionWorkingSetMessages.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionWorkingSetMessages.java @@ -16,7 +16,7 @@ public class ExpressionWorkingSetMessages extends NLS { static { - initializeMessages("org.eclipse.debug.internal.ui.views.expression.ExpressionWorkingSetMessages", //$NON-NLS-1$ + initializeMessages("org.eclipse.debug.internal.ui.expression.workingset.ExpressionWorkingSetMessages", //$NON-NLS-1$ ExpressionWorkingSetMessages.class); } |