//***************************************************************************** //* //* (c) Copyright 2002. Glub Tech, Incorporated. All Rights Reserved. //* //* $Id: AddBookmarkCommand.java 37 2009-05-11 22:46:15Z gary $ //* //***************************************************************************** package com.glub.secureftp.client.gui; import com.glub.secureftp.client.framework.*; import com.glub.secureftp.bean.*; import com.glub.util.*; import java.io.*; public class AddBookmarkCommand extends LocalCommand { public AddBookmarkCommand() { this("add_bookmark", CommandID.BOOKMARK_ADD_COMMAND_ID); } public AddBookmarkCommand( String commandName, short id ) { super(commandName, id, "add bookmark for location"); } public SecureFTPError doIt() throws CommandException { SecureFTPError result = new SecureFTPError(); Bookmark book = new Bookmark(); FTPSession session = FTPSessionManager.getInstance().getCurrentSession(); if ( null != session ) { book = sessionToBookmark( session ); } String title = LString.getString("AddBookmarkDialog.dialogTitle", "Add Bookmark"); short saveBook = ModifyBookmarkDialog.showDialog( SecureFTP.getBaseFrame(), title, book ); if ( ModifyBookmarkDialog.OK == saveBook ) { try { BookmarkManager.getInstance().addBookmark( book ); BookmarkManager.getInstance().writeBookmarks(); Client.getMenus().updateBookmarks(); } catch ( IOException ioe ) { LString lmsg = new LString( "AddBookmarkDialog.saveBookmarkError", "There was a problem saving the bookmarks: [^0]" ); lmsg.replace( 0, ioe.getMessage() ); result.setCode( SecureFTPError.PROBLEM_SAVING_BOOKMARK ); result.setMessage( lmsg.getString() ); ErrorDialog.showDialog( lmsg ); } } return result; } private Bookmark sessionToBookmark( FTPSession session ) { Bookmark result = new Bookmark(); result.setProfile( session.getHostName() ); result.setHostName( session.getHostName() ); result.setPort( session.getPort() ); result.setUserName( session.getUserName() ); result.setPassword( session.getPassword () ); result.setSecurityMode( session.getSecurityMode() ); result.setAnonymous(session.getUserName().toLowerCase().equals("ftp") || session.getUserName().toLowerCase().equals("anonymous")); result.setPassiveConnection( session.getFTPBean().getConnectionType() == FTP.PASV_CONNECTION_TYPE ); result.setProxy( session.usesProxy() ); /* boolean dataEncrypt = false; if ( session.isSecure() ) { dataEncrypt = ((SSLFTP)session.getFTPBean()).isDataEncryptionOn(); } */ result.setDataEncrypt( session.isSecure() ); result.setCCCEnabled( session.useCCC() ); result.setRemoteFolder(((RemotePanel)session.getRemoteUI()).getCurrentDirectory()); result.setLocalFolder( Client.getLocalView().getCurrentDirectory().getAbsolutePath() ); return result; } }