Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2013-09-09 13:35:21 +0000
committerUwe Stieber2013-09-09 13:35:21 +0000
commit36cef9686e0f98db877c98749cbccca89679f236 (patch)
treee9cc263a42d4ee27f81c267a2689e2015edd72d8 /target_explorer
parent1faa1a42fa4e568aab53fc81f08afe8faaaf476b (diff)
downloadorg.eclipse.tcf-36cef9686e0f98db877c98749cbccca89679f236.tar.gz
org.eclipse.tcf-36cef9686e0f98db877c98749cbccca89679f236.tar.xz
org.eclipse.tcf-36cef9686e0f98db877c98749cbccca89679f236.zip
Target Explorer: Occassionaly running into assertion failures getting the remote services. Handle it more gracefully.
Diffstat (limited to 'target_explorer')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelRefreshService.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelRefreshService.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelRefreshService.java
index 7be46e069..78a4208a0 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelRefreshService.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelRefreshService.java
@@ -364,12 +364,17 @@ public class RuntimeModelRefreshService extends AbstractModelService<IRuntimeMod
String parentContextId = null;
if (parent != null) parentContextId = parent.getStringProperty(IModelNode.PROPERTY_ID);
- // Get the Systems service and query the configuration id's
+ // Get the required services
final IProcesses service = channel.getRemoteService(IProcesses.class);
- Assert.isNotNull(service);
final IProcessesV1 serviceV1 = channel.getRemoteService(IProcessesV1.class);
final ISysMonitor sysMonService = channel.getRemoteService(ISysMonitor.class);
- Assert.isNotNull(sysMonService);
+
+ // At least the processes and the system monitor service must be available
+ if (service == null || sysMonService == null) {
+ callback.done(RuntimeModelRefreshService.this, Status.OK_STATUS);
+ return;
+ }
+
sysMonService.getChildren(parentContextId, new ISysMonitor.DoneGetChildren() {
@Override
public void doneGetChildren(IToken token, Exception error, String[] context_ids) {

Back to the top