001 package com.sptci.rwt.webui;
002
003 import nextapp.echo2.app.Component;
004 import nextapp.echo2.app.event.ActionEvent;
005
006 import echopointng.PopUp;
007
008 import com.sptci.echo2.Listener;
009 import com.sptci.rwt.ConnectionParameters;
010
011 /**
012 * Action listener for saving the connection in {@link ConnectionDialogue}
013 * to the application persistent storage area.
014 *
015 * <p>© Copyright 2007 <a href='http://sptci.com/' target='_new'>Sans Pareil Technologies, Inc.</a></p>
016 * @author Rakesh Vidyadharan 2007-10-14
017 * @version $Id: SaveConnectionListener.java 4123 2008-05-25 21:49:01Z rakesh $
018 */
019 public class SaveConnectionListener extends Listener<MainController>
020 {
021 /**
022 * Create a new instance of the listener using the specified controller.
023 *
024 * @param controller The controller to use to interact with the
025 * application.
026 */
027 public SaveConnectionListener( final MainController controller )
028 {
029 super( controller );
030 }
031
032 /**
033 * The action listener implementation. Saves the connection to
034 * application persistent storage.
035 *
036 * @see MainController#getParameters
037 * @see com.sptci.rwt.Connections#add
038 * @see MainController#resetMenu
039 * @param event The event that triggers the save process.
040 */
041 public void actionPerformed( ActionEvent event )
042 {
043 SaveConnectionComponent dest = (SaveConnectionComponent)
044 controller.getParentView( (Component) event.getSource() );
045 PopUp popup = (PopUp) dest.getParent();
046
047 ConnectionDialogue view =
048 (ConnectionDialogue) controller.getParentView( popup );
049 ConnectionParameters parameters = controller.getParameters( view );
050
051 controller.getConnections().add( dest.getName(), parameters );
052 controller.resetMenu();
053 popup.setExpanded( false );
054 }
055 }