1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

Add prefix to progress monitor task

Signed-off-by: Greg Watson <g.watson@computer.org>
This commit is contained in:
Greg Watson 2014-01-31 15:10:03 -05:00
parent af665152e1
commit 28c493cbe7
5 changed files with 30 additions and 8 deletions

View file

@ -50,11 +50,17 @@ public abstract class AbstractRemoteCommand<T> {
private Long fMaxWork;
private String fMaxWorkSize;
private long fWorkToDate;
private String fPrefix;
public CommandProgressMonitor(IProgressMonitor monitor) {
fMonitor = monitor;
}
public CommandProgressMonitor(String prefix, IProgressMonitor monitor) {
fPrefix = prefix;
fMonitor = monitor;
}
@Override
public boolean count(long count) {
fWorkToDate += count;
@ -67,15 +73,18 @@ public abstract class AbstractRemoteCommand<T> {
size = "KB"; //$NON-NLS-1$
workToDate = fWorkToDate / 1024L;
}
String subDesc;
StringBuffer taskName = new StringBuffer();
if (fPrefix != null) {
taskName.append(fPrefix);
}
if (fWorkPercentFactor < 0) {
subDesc = MessageFormat.format(Messages.AbstractRemoteCommand_format1, new Object[] { workToDate, size });
taskName.append(MessageFormat.format(Messages.AbstractRemoteCommand_format1, new Object[] { workToDate, size }));
} else {
Double workPercent = new Double(fWorkPercentFactor * fWorkToDate);
subDesc = MessageFormat.format(Messages.AbstractRemoteCommand_format2, new Object[] { workToDate, size, fMaxWork,
fMaxWorkSize, workPercent });
taskName.append(MessageFormat.format(Messages.AbstractRemoteCommand_format2, new Object[] { workToDate, size,
fMaxWork, fMaxWorkSize, workPercent }));
}
fMonitor.subTask(subDesc);
fMonitor.subTask(taskName.toString());
fMonitor.worked((int) count);
return !(fMonitor.isCanceled());
}

View file

@ -6,8 +6,10 @@ import java.io.InputStream;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.remote.core.exception.RemoteConnectionException;
import org.eclipse.remote.internal.jsch.core.JSchConnection;
import org.eclipse.remote.internal.jsch.core.messages.Messages;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.SftpException;
@ -28,7 +30,7 @@ public class GetInputStreamCommand extends AbstractRemoteCommand<InputStream> {
public InputStream call() throws JSchException, SftpException, IOException {
try {
return getConnection().getSftpChannel().get(fRemotePath.toString(),
new CommandProgressMonitor(getProgressMonitor()));
new CommandProgressMonitor(NLS.bind(Messages.GetInputStreamCommand_Receiving, fRemotePath.toString()), getProgressMonitor()));
} catch (RemoteConnectionException e) {
throw new IOException(e.getMessage());
}

View file

@ -11,8 +11,10 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.remote.core.exception.RemoteConnectionException;
import org.eclipse.remote.internal.jsch.core.JSchConnection;
import org.eclipse.remote.internal.jsch.core.messages.Messages;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSchException;
@ -48,8 +50,11 @@ public class GetOutputStreamCommand extends AbstractRemoteCommand<OutputStream>
if ((fOptions & EFS.APPEND) != 0) {
mode = ChannelSftp.APPEND;
}
getChannel().put(input, fRemotePath.toString(),
new CommandProgressMonitor(getProgressMonitor()), mode);
getChannel().put(
input,
fRemotePath.toString(),
new CommandProgressMonitor(NLS.bind(Messages.GetOutputStreamCommand_Sending, fRemotePath.toString()),
getProgressMonitor()), mode);
input.close();
} finally {
fIsClosed = true;

View file

@ -22,6 +22,10 @@ public class Messages extends NLS {
public static String AbstractRemoteCommand_Operation_cancelled_by_user;
public static String AuthInfo_Authentication_message;
public static String ExecCommand_Exec_command;
public static String GetInputStreamCommand_Receiving;
public static String GetOutputStreamCommand_Sending;
public static String JSchConnection_Connection_was_cancelled;
public static String JSchConnection_connectionNotOpen;
public static String JSchConnection_Executing_command;

View file

@ -14,6 +14,8 @@ AbstractRemoteCommand_Get_symlink_target=Get symlink target
AbstractRemoteCommand_Operation_cancelled_by_user=Operation cancelled by user
AuthInfo_Authentication_message=Authentication Message
ExecCommand_Exec_command=Executing command "{0}"
GetInputStreamCommand_Receiving=Receiving {0}:
GetOutputStreamCommand_Sending=Sending {0}:
JSchConnection_Connection_was_cancelled=Connection was cancelled
JSchConnection_connectionNotOpen=Connection is not open
JSchConnection_Executing_command=Executing command "{0}"