Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2012-08-30 09:56:26 +0000
committerUwe Stieber2012-08-30 09:56:26 +0000
commit4aa2120811cb476101dffaf37b699ef902f3a7b9 (patch)
treea6baf0f5706a245bf93437405afdf2627840d47d /target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core
parentcc73a5d28ba701be80f80aa03d21c72ff611fec9 (diff)
downloadorg.eclipse.tcf-4aa2120811cb476101dffaf37b699ef902f3a7b9.tar.gz
org.eclipse.tcf-4aa2120811cb476101dffaf37b699ef902f3a7b9.tar.xz
org.eclipse.tcf-4aa2120811cb476101dffaf37b699ef902f3a7b9.zip
Target Explorer: Trigger node and children refresh on process node expand
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core')
-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.java2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelUpdateService.java16
2 files changed, 17 insertions, 1 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 814dca070..d0afad1aa 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
@@ -304,7 +304,7 @@ public class RuntimeModelRefreshService extends AbstractModelService<IRuntimeMod
if (error == null) {
// Determine the parent context id
String parentContextId = null;
- if (parent != null && parent.getProcessContext() != null) parentContextId = parent.getStringProperty(IModelNode.PROPERTY_ID);
+ if (parent != null) parentContextId = parent.getStringProperty(IModelNode.PROPERTY_ID);
// Get the Systems service and query the configuration id's
final IProcesses service = channel.getRemoteService(IProcesses.class);
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelUpdateService.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelUpdateService.java
index e0f7c72bc..95ff83016 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelUpdateService.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core/src/org/eclipse/tcf/te/tcf/processes/core/model/runtime/services/RuntimeModelUpdateService.java
@@ -11,8 +11,11 @@ package org.eclipse.tcf.te.tcf.processes.core.model.runtime.services;
import org.eclipse.core.runtime.Assert;
import org.eclipse.tcf.te.runtime.model.interfaces.IModelNode;
+import org.eclipse.tcf.te.runtime.model.interfaces.contexts.IAsyncRefreshableCtx;
+import org.eclipse.tcf.te.runtime.model.interfaces.contexts.IAsyncRefreshableCtx.QueryType;
import org.eclipse.tcf.te.tcf.core.model.interfaces.services.IModelUpdateService;
import org.eclipse.tcf.te.tcf.core.model.services.AbstractModelService;
+import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.IProcessContextNode;
import org.eclipse.tcf.te.tcf.processes.core.model.interfaces.runtime.IRuntimeModel;
/**
@@ -62,6 +65,19 @@ public class RuntimeModelUpdateService extends AbstractModelService<IRuntimeMode
dstNodeChanged |= dst.setProperty(key, src.getProperty(key));
}
+ IAsyncRefreshableCtx dstRefreshable = (IAsyncRefreshableCtx)dst.getAdapter(IAsyncRefreshableCtx.class);
+ IAsyncRefreshableCtx srcRefreshable = (IAsyncRefreshableCtx)src.getAdapter(IAsyncRefreshableCtx.class);
+ if (dstRefreshable != null && srcRefreshable != null) {
+ dstRefreshable.setPendingOperationNode(srcRefreshable.getPendingOperationNode());
+ dstRefreshable.setQueryState(QueryType.CONTEXT, srcRefreshable.getQueryState(QueryType.CONTEXT));
+ dstRefreshable.setQueryState(QueryType.CHILD_LIST, srcRefreshable.getQueryState(QueryType.CHILD_LIST));
+ }
+
+ if (dst instanceof IProcessContextNode && src instanceof IProcessContextNode) {
+ ((IProcessContextNode)dst).setSysMonitorContext(((IProcessContextNode)src).getSysMonitorContext());
+ ((IProcessContextNode)dst).setProcessContext(((IProcessContextNode)src).getProcessContext());
+ }
+
// Re-enable the change events
if (eventEnablementChanged) dst.setChangeEventsEnabled(true);

Back to the top