Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2013-03-11 19:04:11 +0000
committerPawel Piech2013-03-11 19:04:11 +0000
commitb5e8c5169b95d1f4e4c856b86293a495e8f4e88b (patch)
tree5cb0755573aefe16e304c4cb2da82fe50ddf5077
parentecd0359c873caf394e4bdf18dd5a1fc094503311 (diff)
downloadeclipse.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"
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerStateTracker.java12
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionView.java74
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/expression/ExpressionWorkingSetMessages.java2
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);
}

Back to the top