diff options
author | Uwe Stieber | 2012-08-30 09:56:26 +0000 |
---|---|---|
committer | Uwe Stieber | 2012-08-30 09:56:26 +0000 |
commit | 4aa2120811cb476101dffaf37b699ef902f3a7b9 (patch) | |
tree | a6baf0f5706a245bf93437405afdf2627840d47d /target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.core | |
parent | cc73a5d28ba701be80f80aa03d21c72ff611fec9 (diff) | |
download | org.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')
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); |