//*****************************************************************************
//*
//* (c) Copyright 2002. Glub Tech, Incorporated. All Rights Reserved.
//*
//* $Id: StatusCommand.java 37 2009-05-11 22:46:15Z gary $
//*
//*****************************************************************************
package com.glub.secureftp.client.cli;
import com.glub.secureftp.bean.*;
import com.glub.secureftp.client.framework.*;
import java.io.PrintStream;
public class StatusCommand extends LocalCommand {
public StatusCommand() {
super("status", CommandID.STATUS_COMMAND_ID, "show current status");
}
public SecureFTPError doIt() throws CommandException {
SecureFTPError result = super.doIt();
FTPSession session = SecureFTP.getFTPSession();
PrintStream out = session.getPrintStream();
String securityType = "Insecurely ";
if ( session.isSecure() ) {
securityType = "Securely ";
}
if ( session.isLoggedIn() ) {
out.println(securityType + "connected to " +
session.getHostName() +
" as " + session.getUserName() + ";");
}
else if ( session.isConnected() ) {
out.println(securityType + "connected to " +
session.getHostName() + "; ");
}
else {
out.println("Not connected.");
}
if ( session.isSecure() ) {
SSLFTP ftp = (SSLFTP)session.getFTPBean();
// print cert information
out.println("Server's certificate:");
CLISSLCertificateHandler.printCert( session.getCurrentCertificate() );
// data encryption
String dataEncryptionOn = ( ftp.isDataEncryptionOn() ) ? "on;" : "off;";
out.println("Data encryption: " + dataEncryptionOn);
}
FTP ftp = session.getFTPBean();
if ( ftp != null && session.isConnected()) {
out.print("Transfer mode: " );
switch ( ftp.getTransferMode() ) {
case FTP.ASCII_TRANSFER_MODE:
out.println("ascii;");
break;
case FTP.BINARY_TRANSFER_MODE:
out.println("binary;");
break;
case FTP.AUTO_TRANSFER_MODE:
out.println("auto;");
break;
}
}
out.print("Verbose: " + ((session.reportVerbose()) ? "on" : "off") + "; ");
out.print("Bell: " + ((session.getBeepWhenDone()) ? "on" : "off") + "; ");
out.print("Prompting: " + ((session.isInteractiveOn()) ? "on" : "off") +
"; ");
out.println("Globbing: " + ((session.isGlobOn()) ? "on" : "off") + "; ");
out.print("Hash mark printing: " +
((session.showProgress()) ? "on" : "off") + "; ");
if ( ftp != null && session.isConnected() ) {
out.println("Connection type: " +
((FTP.PASV_CONNECTION_TYPE == ftp.getConnectionType()) ?
"passive" : "active") + "; ");
}
else {
out.println("");
}
return result;
}
}