mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-22 15:53:58 +02:00
Externalize strings in ssh services
This commit is contained in:
parent
04251c8bcd
commit
128cbbcceb
5 changed files with 73 additions and 20 deletions
|
@ -0,0 +1,3 @@
|
||||||
|
#Fri Jul 07 10:39:59 CEST 2006
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//src/org/eclipse/rse/services/ssh/SshServiceResources.properties=8859_1
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2006 Wind River Systems, Inc.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* Martin Oberhuber (Wind River) - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
package org.eclipse.rse.services.ssh;
|
||||||
|
|
||||||
|
import org.eclipse.osgi.util.NLS;
|
||||||
|
|
||||||
|
public class SshServiceResources extends NLS {
|
||||||
|
private static final String BUNDLE_NAME = "org.eclipse.rse.services.ssh.SshServiceResources"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
public static String SftpFileService_Description;
|
||||||
|
|
||||||
|
public static String SftpFileService_Error_JschSessionLost;
|
||||||
|
|
||||||
|
public static String SftpFileService_Msg_Progress;
|
||||||
|
|
||||||
|
public static String SftpFileService_Name;
|
||||||
|
|
||||||
|
public static String SshShellService_Description;
|
||||||
|
|
||||||
|
public static String SshShellService_Name;
|
||||||
|
static {
|
||||||
|
// initialize resource bundle
|
||||||
|
NLS.initializeMessages(BUNDLE_NAME, SshServiceResources.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private SshServiceResources() {
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
################################################################################
|
||||||
|
# Copyright (c) 2006 Wind River Systems, Inc.
|
||||||
|
# All rights reserved. This program and the accompanying materials
|
||||||
|
# are made available under the terms of the Eclipse Public License v1.0
|
||||||
|
# which accompanies this distribution, and is available at
|
||||||
|
# http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
#
|
||||||
|
# Contributors:
|
||||||
|
# Martin Oberhuber (Wind River) - initial API and implementation
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
SftpFileService_Name=Ssh / Sftp File Service
|
||||||
|
SftpFileService_Description=Access a remote file system via Ssh / Sftp protocol
|
||||||
|
SftpFileService_Error_JschSessionLost=jsch session lost
|
||||||
|
SftpFileService_Msg_Progress={0,number,integer} KB of {1,number,integer} KB complete ({2,number,percent})
|
||||||
|
|
||||||
|
SshShellService_Name=SSH Shell Service
|
||||||
|
SshShellService_Description=SSH Shell Service Description
|
|
@ -33,6 +33,7 @@ import org.eclipse.rse.services.files.IHostFile;
|
||||||
import org.eclipse.rse.services.ssh.Activator;
|
import org.eclipse.rse.services.ssh.Activator;
|
||||||
import org.eclipse.rse.services.ssh.ISshService;
|
import org.eclipse.rse.services.ssh.ISshService;
|
||||||
import org.eclipse.rse.services.ssh.ISshSessionProvider;
|
import org.eclipse.rse.services.ssh.ISshSessionProvider;
|
||||||
|
import org.eclipse.rse.services.ssh.SshServiceResources;
|
||||||
|
|
||||||
import com.jcraft.jsch.Channel;
|
import com.jcraft.jsch.Channel;
|
||||||
import com.jcraft.jsch.ChannelExec;
|
import com.jcraft.jsch.ChannelExec;
|
||||||
|
@ -57,11 +58,11 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return "Ssh / Sftp File Service";
|
return SshServiceResources.SftpFileService_Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "Access a remote file system via Ssh / Sftp protocol";
|
return SshServiceResources.SftpFileService_Description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connect() throws Exception {
|
public void connect() throws Exception {
|
||||||
|
@ -114,7 +115,7 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
//This will lead to jsch exceptions (NPE, or disconnected)
|
//This will lead to jsch exceptions (NPE, or disconnected)
|
||||||
//which are ignored for now since the connection is about
|
//which are ignored for now since the connection is about
|
||||||
//to be disconnected anyways.
|
//to be disconnected anyways.
|
||||||
throw new IOException("jsch session lost");
|
throw new IOException(SshServiceResources.SftpFileService_Error_JschSessionLost);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fChannelSftp;
|
return fChannelSftp;
|
||||||
|
@ -270,7 +271,7 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
if (attr.getSize() != localFile.length()) {
|
if (attr.getSize() != localFile.length()) {
|
||||||
//Error: file truncated? - Inform the user!!
|
//Error: file truncated? - Inform the user!!
|
||||||
//TODO throw exception to show an error dialog!
|
//TODO throw exception to show an error dialog!
|
||||||
System.err.println("ssh.upload: file size mismatch for "+dst);
|
System.err.println("ssh.upload: file size mismatch for "+dst); //$NON-NLS-1$
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -304,7 +305,7 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
fWorkToDate = 0;
|
fWorkToDate = 0;
|
||||||
String srcFile = new Path(src).lastSegment();
|
String srcFile = new Path(src).lastSegment();
|
||||||
//String desc = ((op==SftpProgressMonitor.PUT)?
|
//String desc = ((op==SftpProgressMonitor.PUT)?
|
||||||
// "Uploading " : "Downloading ")+srcFile; //$NON-NLS-1$ //$NON-NLS-2$
|
// "Uploading " : "Downloading ")+srcFile;
|
||||||
String desc = srcFile;
|
String desc = srcFile;
|
||||||
//TODO avoid cast from long to int
|
//TODO avoid cast from long to int
|
||||||
fMonitor.beginTask(desc, (int)max);
|
fMonitor.beginTask(desc, (int)max);
|
||||||
|
@ -313,8 +314,9 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
fWorkToDate += count;
|
fWorkToDate += count;
|
||||||
Long workToDateKB = new Long(fWorkToDate / 1024L);
|
Long workToDateKB = new Long(fWorkToDate / 1024L);
|
||||||
Double workPercent = new Double(fWorkPercentFactor * fWorkToDate);
|
Double workPercent = new Double(fWorkPercentFactor * fWorkToDate);
|
||||||
String pattern = "{0,number,integer} KB of {1,number,integer} KB complete ({2,number,percent})";
|
String subDesc = MessageFormat.format(
|
||||||
String subDesc = MessageFormat.format(pattern, new Object[] {
|
SshServiceResources.SftpFileService_Msg_Progress,
|
||||||
|
new Object[] {
|
||||||
workToDateKB, fMaxWorkKB, workPercent
|
workToDateKB, fMaxWorkKB, workPercent
|
||||||
});
|
});
|
||||||
fMonitor.subTask(subDesc);
|
fMonitor.subTask(subDesc);
|
||||||
|
@ -384,7 +386,7 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
if (attr.getSize() != localFile.length()) {
|
if (attr.getSize() != localFile.length()) {
|
||||||
//Error: file truncated? - Inform the user!!
|
//Error: file truncated? - Inform the user!!
|
||||||
//TODO throw exception to show an error dialog!
|
//TODO throw exception to show an error dialog!
|
||||||
System.err.println("ssh.download: file size mismatch for "+remotePath);
|
System.err.println("ssh.download: file size mismatch for "+remotePath); //$NON-NLS-1$
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -423,13 +425,6 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
return new IHostFile[] { root };
|
return new IHostFile[] { root };
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
/********************************************************
|
|
||||||
*
|
|
||||||
* The following APIs need to be implemented
|
|
||||||
*
|
|
||||||
********************************************************/
|
|
||||||
|
|
||||||
public IHostFile createFile(IProgressMonitor monitor, String remoteParent, String fileName) throws SystemMessageException
|
public IHostFile createFile(IProgressMonitor monitor, String remoteParent, String fileName) throws SystemMessageException
|
||||||
{
|
{
|
||||||
IHostFile result = null;
|
IHostFile result = null;
|
||||||
|
@ -571,7 +566,6 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Pattern fValidShellPattern = Pattern.compile("[a-zA-Z0-9._/]*"); //$NON-NLS-1$
|
|
||||||
/**
|
/**
|
||||||
* Quotes a string such that it can be used in a remote UNIX shell.
|
* Quotes a string such that it can be used in a remote UNIX shell.
|
||||||
* On Windows, special characters likes quotes and dollar sign. and
|
* On Windows, special characters likes quotes and dollar sign. and
|
||||||
|
@ -619,6 +613,7 @@ public class SftpFileService extends AbstractFileService implements IFileService
|
||||||
return buf.toString();
|
return buf.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private static Pattern fValidShellPattern = Pattern.compile("[a-zA-Z0-9._/]*"); //$NON-NLS-1$
|
||||||
|
|
||||||
public boolean move(IProgressMonitor monitor, String srcParent, String srcName, String tgtParent, String tgtName) throws SystemMessageException
|
public boolean move(IProgressMonitor monitor, String srcParent, String srcName, String tgtParent, String tgtName) throws SystemMessageException
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,6 +22,7 @@ import org.eclipse.rse.services.shells.IHostShell;
|
||||||
import org.eclipse.rse.services.shells.IShellService;
|
import org.eclipse.rse.services.shells.IShellService;
|
||||||
import org.eclipse.rse.services.ssh.ISshService;
|
import org.eclipse.rse.services.ssh.ISshService;
|
||||||
import org.eclipse.rse.services.ssh.ISshSessionProvider;
|
import org.eclipse.rse.services.ssh.ISshSessionProvider;
|
||||||
|
import org.eclipse.rse.services.ssh.SshServiceResources;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Shell Services for ssh.
|
* A Shell Services for ssh.
|
||||||
|
@ -29,7 +30,7 @@ import org.eclipse.rse.services.ssh.ISshSessionProvider;
|
||||||
*/
|
*/
|
||||||
public class SshShellService implements ISshService, IShellService {
|
public class SshShellService implements ISshService, IShellService {
|
||||||
|
|
||||||
private static final String SHELL_INVOCATION = ">";
|
private static final String SHELL_INVOCATION = ">"; //$NON-NLS-1$
|
||||||
private ISshSessionProvider fSessionProvider;
|
private ISshSessionProvider fSessionProvider;
|
||||||
|
|
||||||
public SshShellService(ISshSessionProvider sessionProvider) {
|
public SshShellService(ISshSessionProvider sessionProvider) {
|
||||||
|
@ -71,12 +72,11 @@ public class SshShellService implements ISshService, IShellService {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
//TODO Externalize Strings
|
return SshServiceResources.SshShellService_Name;
|
||||||
return "SSH Shell Service";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "SSH Shell Service Description";
|
return SshServiceResources.SshShellService_Description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initService(IProgressMonitor monitor) {
|
public void initService(IProgressMonitor monitor) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue