diff --git a/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF b/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF
index 13caa310237..19672f3604f 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF
+++ b/dsf/org.eclipse.cdt.dsf.ui/META-INF/MANIFEST.MF
@@ -35,7 +35,6 @@ Export-Package: org.eclipse.cdt.dsf.debug.internal.ui;x-internal:=true,
org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.actions;x-internal:=true,
org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.detailsupport;x-internal:=true,
org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.numberformat.detail;x-internal:=true,
- org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional;x-internal:=true,
org.eclipse.cdt.dsf.debug.ui,
org.eclipse.cdt.dsf.debug.ui.actions,
org.eclipse.cdt.dsf.debug.ui.contexts,
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java
deleted file mode 100644
index 7b0295b2cba..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesContribution.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.ICachingVMProviderExtension;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.IVMUpdateScope;
-import org.eclipse.cdt.dsf.debug.ui.viewmodel.actions.VMHandlerUtils;
-import org.eclipse.cdt.dsf.ui.viewmodel.IVMProvider;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.actions.CompoundContributionItem;
-import org.eclipse.ui.menus.IWorkbenchContribution;
-import org.eclipse.ui.services.IServiceLocator;
-
-/**
- * Dynamic menu contribution that shows available update scopes
- * in the current view.
- *
- * @since 1.1
- */
-public class UpdateScopesContribution extends CompoundContributionItem implements IWorkbenchContribution {
-
- private class SelectUpdateScopeAction extends Action {
- private final ICachingVMProviderExtension fProvider;
- private final IVMUpdateScope fScope;
- SelectUpdateScopeAction(ICachingVMProviderExtension provider, IVMUpdateScope scope) {
- super(scope.getName(), AS_RADIO_BUTTON);
- fProvider = provider;
- fScope = scope;
- }
-
- @Override
- public void run() {
- if (isChecked()) {
- fProvider.setActiveUpdateScope(fScope);
- }
- }
- }
-
- private IServiceLocator fServiceLocator;
-
- private static IContributionItem[] NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS = new IContributionItem[] {
- new ContributionItem() {
- @Override
- public void fill(Menu menu, int index) {
- MenuItem item = new MenuItem(menu, SWT.NONE);
- item.setEnabled(false);
- item.setText(MessagesForVMActions.UpdateScopesContribution_EmptyScopesList_label);
- }
-
- @Override
- public boolean isEnabled() {
- return false;
- }
- }
- };
-
- @Override
- protected IContributionItem[] getContributionItems() {
- IVMProvider provider = VMHandlerUtils.getActiveVMProvider(fServiceLocator);
-
- // If no part or selection, disable all.
- if (provider == null || !(provider instanceof ICachingVMProviderExtension)) {
- return NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS;
- }
- ICachingVMProviderExtension cachingProvider = (ICachingVMProviderExtension)provider;
-
- IVMUpdateScope[] scopes = cachingProvider.getAvailableUpdateScopes();
- IVMUpdateScope activeScope = cachingProvider.getActiveUpdateScope();
-
- List actions = new ArrayList(scopes.length);
- for (IVMUpdateScope scope : scopes) {
- Action action = new SelectUpdateScopeAction(cachingProvider, scope);
- if (scope.getID().equals(activeScope.getID())) {
- action.setChecked(true);
- }
- actions.add(action);
- }
-
- if ( actions.isEmpty() ) {
- return NO_BREAKPOINT_TYPES_CONTRIBUTION_ITEMS;
- }
-
- IContributionItem[] items = new IContributionItem[actions.size()];
- for (int i = 0; i < actions.size(); i++) {
- items[i] = new ActionContributionItem(actions.get(i));
- }
- return items;
- }
-
- public void initialize(IServiceLocator serviceLocator) {
- fServiceLocator = serviceLocator;
- }
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java
deleted file mode 100644
index 04777f2b0e1..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/actions/UpdateScopesPropertyTester.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.actions;
-
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.ICachingVMProviderExtension;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.IVMUpdateScope;
-import org.eclipse.cdt.dsf.debug.ui.viewmodel.actions.VMHandlerUtils;
-import org.eclipse.cdt.dsf.ui.viewmodel.IVMContext;
-import org.eclipse.cdt.dsf.ui.viewmodel.IVMProvider;
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.debug.ui.IDebugView;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Property tester for update scope information available through the given
- * object. The object being tested should be either an {@link IVMContext},
- * through which an instance of {@link ICachingVMProviderExtension} could be obtained.
- * Or it could be an {@link IWorkbenchPart}, which is tested to see if it
- * is a debug view through which a caching VM provider can be obtained.
- * The Caching View Model provider is used to test the given property.
- *
- * Three properties are supported:
- *
- *
"areUpdateScopesSupported" - Checks whether update scopes are
- * available at all given the receiver.
- *
"isUpdateScopeAvailable" - Checks whether the update scope in the
- * expected value is available for the given receiver.
- *
"isUpdateScopeActive" - Checks whether the scope given in the expected
- * value is the currently active scope for the given receiver.
- *
- *
- */
-public class UpdateScopesPropertyTester extends PropertyTester {
-
- private static final String SUPPORTED = "areUpdateScopesSupported"; //$NON-NLS-1$
- private static final String AVAILABLE = "isUpdateScopeAvailable"; //$NON-NLS-1$
- private static final String ACTIVE = "isUpdateScopeActive"; //$NON-NLS-1$
-
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
- if (receiver instanceof IVMContext) {
- IVMProvider provider = ((IVMContext)receiver).getVMNode().getVMProvider();
- if (provider instanceof ICachingVMProviderExtension) {
- return testProvider((ICachingVMProviderExtension)provider, property, expectedValue);
- }
- } else if (receiver instanceof IDebugView) {
- IVMProvider provider = VMHandlerUtils.getVMProviderForPart((IDebugView)receiver);
- if (provider instanceof ICachingVMProviderExtension) {
- return testProvider((ICachingVMProviderExtension)provider, property, expectedValue);
- }
- }
- return false;
- }
-
- private boolean testProvider(ICachingVMProviderExtension provider, String property, Object expectedValue) {
- if (SUPPORTED.equals(property)) {
- return true;
- } else if (AVAILABLE.equals(property)) {
- for (IVMUpdateScope scope : provider.getAvailableUpdateScopes()) {
- if (scope.getID().equals(expectedValue)) {
- return true;
- }
- return false;
- }
- } else if (ACTIVE.equals(property)) {
- return expectedValue != null && expectedValue.equals(provider.getActiveUpdateScope().getID());
- }
- return false;
- }
-
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/AllUpdateScope.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/AllUpdateScope.java
deleted file mode 100644
index 2b24b7f2ad3..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/AllUpdateScope.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional;
-
-import org.eclipse.cdt.dsf.ui.viewmodel.update.ViewModelUpdateMessages;
-
-
-/**
- * An "automatic" update policy which causes the view model provider cache to
- * be flushed whenever an event causes a delta to be generated in the given
- * model.
- *
- * @since 1.1
- */
-public class AllUpdateScope implements IVMUpdateScope {
-
- public static String ALL_UPDATE_SCOPE_ID = "org.eclipse.cdt.dsf.ui.viewmodel.update.allUpdateScope"; //$NON-NLS-1$
-
- public String getID() {
- return ALL_UPDATE_SCOPE_ID;
- }
-
- public String getName() {
- return ViewModelUpdateMessages.AllUpdateScope_name;
- }
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/ICachingVMProviderExtension.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/ICachingVMProviderExtension.java
deleted file mode 100644
index 76e46e5db17..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/ICachingVMProviderExtension.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional;
-
-import org.eclipse.cdt.dsf.ui.viewmodel.update.ICachingVMProvider;
-
-
-/**
- * @since 1.1
- */
-public interface ICachingVMProviderExtension extends ICachingVMProvider {
-
- /**
- * Returns the update policies that the given provider supports.
- */
- public IVMUpdateScope[] getAvailableUpdateScopes();
-
- /**
- * Returns the active update policy.
- */
- public IVMUpdateScope getActiveUpdateScope();
-
- /**
- * Sets the active update policy. This has to be one of the update
- * policies supported by the provider.
- */
- public void setActiveUpdateScope(IVMUpdateScope mode);
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/IVMUpdateScope.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/IVMUpdateScope.java
deleted file mode 100644
index 2576ae1c749..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/IVMUpdateScope.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional;
-
-
-/**
- * @since 1.1
- */
-public interface IVMUpdateScope {
-
- /**
- * Returns unique ID of this update policy.
- */
- public String getID();
-
- /**
- * Returns the user-presentable name of this update policy.
- */
- public String getName();
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/VisibleUpdateScope.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/VisibleUpdateScope.java
deleted file mode 100644
index b204948f921..00000000000
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/viewmodel/update/provisional/VisibleUpdateScope.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 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.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional;
-
-import org.eclipse.cdt.dsf.ui.viewmodel.update.ViewModelUpdateMessages;
-
-
-/**
- * An "automatic" update policy which causes the view model provider cache to
- * be flushed whenever an event causes a delta to be generated in the given
- * model.
- *
- * @since 1.1
- */
-public class VisibleUpdateScope implements IVMUpdateScope {
-
- public static String VISIBLE_UPDATE_SCOPE_ID = "org.eclipse.cdt.dsf.ui.viewmodel.update.visibleUpdateScope"; //$NON-NLS-1$
-
- public String getID() {
- return VISIBLE_UPDATE_SCOPE_ID;
- }
-
- public String getName() {
- return ViewModelUpdateMessages.VisibleUpdateScope_name;
- }
-}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
index ad244d76c7c..0323463de24 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
@@ -25,10 +25,8 @@ import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.AllUpdateScope;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.ICachingVMProviderExtension;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.IVMUpdateScope;
-import org.eclipse.cdt.dsf.debug.internal.ui.viewmodel.update.provisional.VisibleUpdateScope;
+import org.eclipse.cdt.dsf.internal.DsfPlugin;
+import org.eclipse.cdt.dsf.internal.LoggingUtils;
import org.eclipse.cdt.dsf.internal.ui.DsfUIPlugin;
import org.eclipse.cdt.dsf.ui.concurrent.ViewerCountingRequestMonitor;
import org.eclipse.cdt.dsf.ui.concurrent.ViewerDataRequestMonitor;
@@ -49,15 +47,14 @@ import org.eclipse.core.runtime.Platform;
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.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.IPresentationContext;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate;
+import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
/**
* Base implementation of a caching view model provider.
@@ -65,7 +62,7 @@ import org.eclipse.swt.widgets.TreeItem;
* @since 1.0
*/
public class AbstractCachingVMProvider extends AbstractVMProvider
- implements ICachingVMProvider, IElementPropertiesProvider, ICachingVMProviderExtension, ICachingVMProviderExtension2
+ implements ICachingVMProvider, IElementPropertiesProvider, ICachingVMProviderExtension2
{
/**
* @since 2.0
@@ -361,7 +358,6 @@ public class AbstractCachingVMProvider extends AbstractVMProvider
protected static String SELECTED_UPDATE_SCOPE = "org.eclipse.cdt.dsf.ui.viewmodel.update.selectedUpdateScope"; //$NON-NLS-1$
private IVMUpdatePolicy[] fAvailableUpdatePolicies;
- private IVMUpdateScope[] fAvailableUpdateScopes;
public Map