From 94009ae3e0218126665df6104086a1c269d67957 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Tue, 9 May 2006 18:51:05 +0000 Subject: [PATCH] append output updates for refresh even when a refresh is pending --- .../servicesubsystem/OutputRefreshJob.java | 19 +++++++++++++++++++ .../servicesubsystem/ServiceCommandShell.java | 4 ++++ 2 files changed, 23 insertions(+) diff --git a/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/internal/subsystems/shells/servicesubsystem/OutputRefreshJob.java b/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/internal/subsystems/shells/servicesubsystem/OutputRefreshJob.java index bbd078bbe0b..b03afede9df 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/internal/subsystems/shells/servicesubsystem/OutputRefreshJob.java +++ b/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/internal/subsystems/shells/servicesubsystem/OutputRefreshJob.java @@ -45,6 +45,25 @@ public class OutputRefreshJob extends UIJob _outputs = outputs; } + public void addOutputs(IRemoteOutput[] outputs) + { + IRemoteOutput[] oldOutputs = _outputs; + int total = oldOutputs.length + outputs.length; + IRemoteOutput[] newOutputs = new IRemoteOutput[total]; + int k = 0; + for (int i = 0; i < oldOutputs.length; i++) + { + newOutputs[k] = oldOutputs[i]; + k++; + } + for (int j = 0; j < outputs.length; j++) + { + newOutputs[k] = outputs[j]; + k++; + } + _outputs = newOutputs; + } + public boolean isComplete() { return _isComplete; diff --git a/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java b/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java index 08cb1d3a3d9..db26810207e 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java +++ b/rse/plugins/org.eclipse.rse.subsystems.shells.core/src/org/eclipse/rse/subsystems/shells/core/subsystems/servicesubsystem/ServiceCommandShell.java @@ -93,6 +93,10 @@ public class ServiceCommandShell extends RemoteCommandShell implements IServiceC _lastRefreshJob = new OutputRefreshJob(this, outputs, false); _lastRefreshJob.schedule(); } + else + { + _lastRefreshJob.addOutputs(outputs); + } }