Package org.pentaho.mantle.client.admin

Source Code of org.pentaho.mantle.client.admin.EmailAdminPanel

/*!
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2002-2013 Pentaho Corporation..  All rights reserved.
*/

package org.pentaho.mantle.client.admin;

import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import org.pentaho.mantle.client.messages.Messages;

public class EmailAdminPanel extends SimplePanel {

  protected TextBox smtpHostTextBox;
  protected TextBox portTextBox;
  protected ListBox protocolsListBox;
  protected CheckBox useStartTLSCheckBox;
  protected CheckBox useSSLCheckBox;
  protected TextBox fromAddressTextBox;
  protected TextBox fromNameTextBox;
  protected CheckBox authenticationCheckBox;
  protected TextBox userNameTextBox;
  protected PasswordTextBox passwordTextBox;
  protected Button testButton;
  protected Button saveButton;
  protected VerticalPanel authenticationPanel;

  public EmailAdminPanel() {
    this.setWidth( "100%" );
    this.setHeight( "100%" );
    setWidget( createEmailPanel() );
    saveButton.setEnabled( true );
  }

  private Widget createEmailPanel() {
    VerticalPanel mailPanel = new VerticalPanel();

    Label mailServerLabel = new Label( Messages.getString( "mailServer" ) );
    mailServerLabel.setStyleName( "pentaho-fieldgroup-major" );
    mailPanel.add( mailServerLabel );

    SimplePanel vSpacer = new SimplePanel();
    vSpacer.setHeight( "20px" );
    mailPanel.add( vSpacer );

    Label serverSettingsLabel = new Label( Messages.getString( "serverSettings" ) );
    serverSettingsLabel.setStyleName( "pentaho-fieldgroup-minor" );
    mailPanel.add( serverSettingsLabel );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "20px" );
    mailPanel.add( vSpacer );

    mailPanel.add( new Label( Messages.getString( "smtpHost" ) + ":" ) );
    smtpHostTextBox = new TextBox();
    smtpHostTextBox.setWidth( "220px" );
    mailPanel.add( smtpHostTextBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    mailPanel.add( new Label( Messages.getString( "port" ) + ":" ) );
    portTextBox = new TextBox();
    portTextBox.setWidth( "220px" );
    mailPanel.add( portTextBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    authenticationCheckBox = new CheckBox( Messages.getString( "useAuthentication" ) );
    mailPanel.add( authenticationCheckBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    authenticationPanel = new VerticalPanel();
    mailPanel.add( authenticationPanel );
    authenticationPanel.add( new Label( Messages.getString( "userName" ) + ":" ) );
    userNameTextBox = new TextBox();
    userNameTextBox.setWidth( "220px" );
    authenticationPanel.add( userNameTextBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    authenticationPanel.add( vSpacer );

    authenticationPanel.add( new Label( Messages.getString( "password" ) + ":" ) );
    HorizontalPanel hPanel = new HorizontalPanel();
    passwordTextBox = new PasswordTextBox();
    passwordTextBox.setWidth( "220px" );
    hPanel.add( passwordTextBox );

    SimplePanel hSpacer = new SimplePanel();
    hSpacer = new SimplePanel();
    hSpacer.setWidth( "15px" );
    hPanel.add( hSpacer );

    authenticationPanel.add( hPanel );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    HorizontalPanel protocolHbox = new HorizontalPanel();
    protocolHbox.add( new Label( Messages.getString( "protocol" ) + ":" ) );

    hSpacer = new SimplePanel();
    hSpacer.setWidth( "15px" );
    protocolHbox.add( hSpacer );

    protocolsListBox = new ListBox();
    protocolsListBox.addItem( Messages.getString( "smtp" ) );
    protocolsListBox.addItem( Messages.getString( "smtps" ) );
    protocolHbox.add( protocolsListBox );
    mailPanel.add( protocolHbox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    Label emailOrginLabel = new Label( Messages.getString( "emailOriginLabel" ) );
    mailPanel.add( emailOrginLabel );
    fromAddressTextBox = new TextBox();
    fromAddressTextBox.setWidth( "220px" );
    mailPanel.add( fromAddressTextBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    Label emailFromName = new Label( Messages.getString( "emailFromNameLabel" ) );
    mailPanel.add( emailFromName );
    fromNameTextBox = new TextBox();
    fromNameTextBox.setWidth( "220px" );
    mailPanel.add( fromNameTextBox );

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "10px" );
    mailPanel.add( vSpacer );

    useStartTLSCheckBox = new CheckBox( Messages.getString( "useStartTLS" ) );
    mailPanel.add( useStartTLSCheckBox );

    useSSLCheckBox = new CheckBox( Messages.getString( "useSSL" ) );
    mailPanel.add( useSSLCheckBox );

    // debuggingCheckBox = new CheckBox(Messages.getString("enableDebugging"));
    // mailPanel.add(debuggingCheckBox);

    vSpacer = new SimplePanel();
    vSpacer.setHeight( "20px" );
    mailPanel.add( vSpacer );

    HorizontalPanel buttonsPanel = new HorizontalPanel();
    mailPanel.add( buttonsPanel );

    testButton = new Button( Messages.getString( "connectionTest.label" ) );
    testButton.setStylePrimaryName( "pentaho-button" );
    buttonsPanel.add( testButton );

    hSpacer = new SimplePanel();
    hSpacer.setWidth( "10px" );
    buttonsPanel.add( hSpacer );

    saveButton = new Button( Messages.getString( "save" ) );
    saveButton.setStylePrimaryName( "pentaho-button" );
    buttonsPanel.add( saveButton );

    return mailPanel;
  }

  protected boolean isPortValid( String portValue ) {
    try {
      int portValueInt = Integer.parseInt( portValue );
      return portValueInt >= 0 && portValueInt <= 65535;
    } catch ( NumberFormatException e ) {
      return false;
    }
  }
}
TOP

Related Classes of org.pentaho.mantle.client.admin.EmailAdminPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.