1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-04 23:55:26 +02:00

Moved logging console setup to org.eclipse.subsystems.files.ftp

This commit is contained in:
Javier Montalvo Orus 2006-11-07 12:26:51 +00:00
parent 78a62f47b4
commit ac3fef760c
6 changed files with 63 additions and 43 deletions

View file

@ -8,8 +8,6 @@ Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.rse.services,
org.apache.commons.net,
org.eclipse.ui.console,
org.eclipse.jface
org.apache.commons.net
Eclipse-LazyStart: true
Export-Package: org.eclipse.rse.services.files.ftp

View file

@ -63,9 +63,6 @@ import org.eclipse.rse.services.files.IFileService;
import org.eclipse.rse.services.files.IHostFile;
import org.eclipse.rse.services.files.RemoteFileIOException;
import org.eclipse.rse.services.files.RemoteFolderNotEmptyException;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.MessageConsole;
public class FTPService extends AbstractFileService implements IFileService, IFTPService
@ -79,7 +76,7 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
private transient String _password;
private transient int _portNumber;
private OutputStream _ftpConsoleOutputStream;
private OutputStream _ftpLoggingOutputStream;
/*
@ -118,6 +115,11 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
{
_password = password;
}
public void setLoggingStream(OutputStream ftpLoggingOutputStream)
{
_ftpLoggingOutputStream = ftpLoggingOutputStream;
}
public void connect() throws Exception
{
@ -126,30 +128,12 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
_ftpClient = new FTPClient();
}
if(_ftpConsoleOutputStream==null)
if(_ftpLoggingOutputStream!=null)
{
MessageConsole messageConsole=null;
IConsole[] consoles = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
for (int i = 0; i < consoles.length; i++) {
if(consoles[i].getName().equals("FTP log: "+_hostName+":"+_portNumber)) { //$NON-NLS-1$ //$NON-NLS-2$
messageConsole = (MessageConsole)consoles[i];
break;
}
}
if(messageConsole==null){
messageConsole = new MessageConsole("FTP log: "+_hostName+":"+_portNumber, null); //$NON-NLS-1$ //$NON-NLS-2$
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{ messageConsole });
}
_ftpConsoleOutputStream = messageConsole.newOutputStream();
ConsolePlugin.getDefault().getConsoleManager().showConsoleView(messageConsole);
_ftpClient.registerSpyStream(_ftpLoggingOutputStream);
}
_ftpClient.registerSpyStream(_ftpConsoleOutputStream);
if (_portNumber == 0) {
_ftpClient.connect(_hostName);
} else {
@ -552,7 +536,7 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
MyProgressMonitor progressMonitor = new MyProgressMonitor(monitor);
progressMonitor.init("Deleting "+fileName, 1); //$NON-NLS-1$
progressMonitor.init(FTPServiceResources.FTP_File_Service_Deleting_Task+fileName, 1);
boolean isFile = getFile(null,remoteParent,fileName).isFile();
@ -572,7 +556,7 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
}
if(!hasSucceeded){
throw new Exception(ftpClient.getReplyString()+" ("+fileName+")");
throw new Exception(ftpClient.getReplyString()+" ("+fileName+")"); //$NON-NLS-1$ //$NON-NLS-2$
}
else
{
@ -716,7 +700,7 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
public boolean copy(IProgressMonitor monitor, String srcParent, String srcName, String tgtParent, String tgtName) throws SystemMessageException
{
throw new RemoteFileIOException(new Exception("FTP copy not supported, use move instead")); //$NON-NLS-1$
throw new RemoteFileIOException(new Exception(FTPServiceResources.FTP_File_Service_Copy_Not_Supported));
}
public boolean copyBatch(IProgressMonitor monitor, String[] srcParents, String[] srcNames, String tgtParent) throws SystemMessageException
@ -753,14 +737,14 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
{
boolean result = true;
Job fetchJob = new Job("Listing files..."){ //$NON-NLS-1$
Job fetchJob = new Job(FTPServiceResources.FTP_File_Service_Listing_Job){
protected IStatus run(IProgressMonitor monitor) {
try {
_ftpFiles = _ftpClient.listFiles();
} catch (IOException e) {
return new Status(IStatus.ERROR, "org.eclipse.rse.services.files.ftp",IStatus.ERROR,e.getMessage(),e); //$NON-NLS-1$
}
return new Status(IStatus.OK,"org.eclipse.rse.services.files.ftp",IStatus.OK,"Success",null); //$NON-NLS-1$
return new Status(IStatus.OK,"org.eclipse.rse.services.files.ftp",IStatus.OK,FTPServiceResources.FTP_File_Service_Listing_Job_Success,null); //$NON-NLS-1$
}};
IStatus fetchResult = null;
@ -845,7 +829,7 @@ public class FTPService extends AbstractFileService implements IFileService, IFT
Long workToDateKB = new Long(fWorkToDate / 1024L);
Double workPercent = new Double(fWorkPercentFactor * fWorkToDate);
String subDesc = MessageFormat.format(
"{0,number,integer} KB of {1,number,integer} KB complete ({2,number,percent})", //$NON-NLS-1$
FTPServiceResources.FTP_File_Service_Monitor_Format,
new Object[] {
workToDateKB, fMaxWorkKB, workPercent
});

View file

@ -11,7 +11,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* Javier Montalvo Orus (Symbian) - Added Externalized Strings
********************************************************************************/
package org.eclipse.rse.services.files.ftp;
@ -21,7 +21,11 @@ import org.eclipse.osgi.util.NLS;
public class FTPServiceResources extends NLS
{
private static String BUNDLE_NAME = "org.eclipse.rse.services.files.ftp.FTPServiceResources";//$NON-NLS-1$
public static String FTP_File_Service_Copy_Not_Supported;
public static String FTP_File_Service_Deleting_Task;
public static String FTP_File_Service_Listing_Job;
public static String FTP_File_Service_Listing_Job_Success;
public static String FTP_File_Service_Monitor_Format;
public static String FTP_File_Service_Name;
public static String FTP_File_Service_Description;

View file

@ -11,8 +11,13 @@
# Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
#
# Contributors:
# {Name} (company) - description of contribution.
# Javier Montalvo Orus (Symbian) - Added Externalized Strings
################################################################################
FTP_File_Service_Name=FTP File Service
FTP_File_Service_Description=The FTP File Service uses the FTP protocol to provide service for the Files subsystem. It requires an FTP daemon to be running on the host machine.
FTP_File_Service_Description=The FTP File Service uses the FTP protocol to provide service for the Files subsystem. It requires an FTP daemon to be running on the host machine.
FTP_File_Service_Deleting_Task=Deleting
FTP_File_Service_Copy_Not_Supported=FTP copy not supported, use move instead
FTP_File_Service_Listing_Job=Listing files...
FTP_File_Service_Listing_Job_Success=Success
FTP_File_Service_Monitor_Format={0,number,integer} KB of {1,number,integer} KB complete ({2,number,percent})

View file

@ -13,7 +13,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.rse.files.ui,
org.eclipse.rse.subsystems.files.core,
org.eclipse.rse.core,
org.eclipse.rse.ui
org.eclipse.rse.ui,
org.eclipse.ui.console
Eclipse-LazyStart: true
Export-Package: org.eclipse.rse.subsystems.files.ftp,
org.eclipse.rse.subsystems.files.ftp.connectorservice,

View file

@ -11,11 +11,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* Javier Montalvo Orús (Symbian) - Bug 140348 - FTP did not use port number
* Javier Montalvo Orus (Symbian) - Bug 140348 - FTP did not use port number
* Javier Montalvo Orus (Symbian) - Bug 161209 - Need a Log of ftp commands
********************************************************************************/
package org.eclipse.rse.subsystems.files.ftp.connectorservice;
import java.io.OutputStream;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.core.model.SystemSignonInformation;
@ -23,6 +26,9 @@ import org.eclipse.rse.core.subsystems.AbstractConnectorService;
import org.eclipse.rse.services.files.IFileService;
import org.eclipse.rse.services.files.ftp.FTPService;
import org.eclipse.rse.subsystems.files.core.SystemFileResources;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.MessageConsole;
@ -43,12 +49,36 @@ public class FTPConnectorService extends AbstractConnectorService
private void internalConnect() throws Exception
{
SystemSignonInformation info = getPasswordInformation();
_ftpService.setHostName(info.getHostname());
_ftpService.setUserId(info.getUserid());
_ftpService.setPassword(info.getPassword());
_ftpService.setPortNumber(getPort());
_ftpService.connect();
_ftpService.setLoggingStream(getLoggingStream(info.getHostname(),getPort()));
_ftpService.connect();
}
private OutputStream getLoggingStream(String hostName,int portNumber)
{
MessageConsole messageConsole=null;
IConsole[] consoles = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
for (int i = 0; i < consoles.length; i++) {
if(consoles[i].getName().equals("FTP log: "+hostName+":"+portNumber)) { //$NON-NLS-1$ //$NON-NLS-2$
messageConsole = (MessageConsole)consoles[i];
break;
}
}
if(messageConsole==null){
messageConsole = new MessageConsole("FTP log: "+hostName+":"+portNumber, null); //$NON-NLS-1$ //$NON-NLS-2$
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[]{ messageConsole });
}
ConsolePlugin.getDefault().getConsoleManager().showConsoleView(messageConsole);
return messageConsole.newOutputStream();
}
public IFileService getFileService()
@ -72,8 +102,6 @@ public class FTPConnectorService extends AbstractConnectorService
return false;
}
public boolean isConnected()
{
return (_ftpService != null && _ftpService.isConnected());