You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tb...@apache.org on 2006/12/12 16:24:14 UTC
svn commit: r486187 [33/49] - in /directory/trunks/triplesec: ./ admin-api/
admin-api/src/ admin-api/src/main/ admin-api/src/main/java/
admin-api/src/main/java/org/ admin-api/src/main/java/org/safehaus/
admin-api/src/main/java/org/safehaus/triplesec/ a...
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsEditor.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsEditor.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsEditor.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsEditor.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,1323 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+
+import java.awt.BorderLayout;
+
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JDialog;
+import javax.swing.JButton;
+import javax.swing.JTabbedPane;
+import java.awt.GridBagLayout;
+import javax.swing.JLabel;
+import java.awt.GridBagConstraints;
+import java.io.IOException;
+
+import javax.swing.JPasswordField;
+import javax.swing.JTextField;
+import javax.swing.JRadioButton;
+
+import org.safehaus.triplesec.configuration.SmsConfiguration;
+import org.safehaus.triplesec.configuration.SmtpConfiguration;
+
+
+public class SettingsEditor extends JDialog
+{
+ private static final long serialVersionUID = -3628282784728303562L;
+ private JPanel jContentPane = null;
+ private JPanel jPanel1 = null;
+ private JButton jButton = null;
+ private JButton jButton1 = null;
+ private JTabbedPane jTabbedPane = null;
+ private JPanel generalPanel = null;
+ private JPanel connectionPanel = null;
+ private JPanel smsPanel = null;
+ private JPanel mailPanel = null;
+ private JLabel jLabel = null;
+ private JPasswordField adminToolPasswordField = null;
+ private JLabel jLabel1 = null;
+ private JPasswordField adminToolConfirmPasswordField = null;
+ private JLabel jLabel2 = null;
+ private JPasswordField settingsPassphraseField = null;
+ private JLabel jLabel3 = null;
+ private JPasswordField settingsPassphraseConfirmField = null;
+ private JLabel jLabel4 = null;
+ private JTextField connHostTextField = null;
+ private JLabel jLabel5 = null;
+ private JTextField connLdapPortTextField = null;
+ private JLabel jLabel6 = null;
+ private JTextField connKrb5PortTextField = null;
+ private JLabel jLabel7 = null;
+ private JTextField connRealmTextField = null;
+ private JLabel jLabel8 = null;
+ private JTextField connPrincipalTextField = null;
+ private JLabel jLabel9 = null;
+ private JPasswordField connCredentialsField = null;
+ private JLabel jLabel10 = null;
+ private JPasswordField connCredentialsConfirmField = null;
+ private JPanel jPanel = null;
+ private JRadioButton connUseLdapsRadioButton = null;
+ private JRadioButton connNoPasscodeRadioButton = null;
+ private JLabel jLabel11 = null;
+ private JTextField smsAccountNameTextField = null;
+ private JLabel jLabel12 = null;
+ private JPasswordField smsPasswordField = null;
+ private JLabel jLabel13 = null;
+ private JPasswordField smsConfirmPasswordField = null;
+ private JLabel jLabel14 = null;
+ private JTextField smsTransportUrlTextField = null;
+ private JLabel jLabel15 = null;
+ private JTextField smsUsernameTextField = null;
+ private JLabel jLabel16 = null;
+ private JTextField mailHostTextField = null;
+ private JLabel jLabel17 = null;
+ private JTextField mailFromTextField = null;
+ private JLabel jLabel18 = null;
+ private JTextField mailSubjectTextField = null;
+ private JRadioButton mailAuthenticateRadioButton = null;
+ private JLabel jLabel19 = null;
+ private JTextField mailUsernameTextField = null;
+ private JLabel jLabel20 = null;
+ private JPasswordField mailPasswordField = null;
+ private JLabel jLabel21 = null;
+ private JPasswordField mailConfirmPasswordField = null;
+ private AdminToolSettings settings = null;
+
+
+ /**
+ * This is the default constructor
+ */
+ public SettingsEditor()
+ {
+ super();
+ setModal( true );
+ initialize();
+ }
+
+
+ public void setSettings( AdminToolSettings settings )
+ {
+ this.settings = settings;
+
+ if ( settings == null )
+ {
+ setSmartDefaults();
+ return;
+ }
+
+ adminToolConfirmPasswordField.setText( settings.getAdminToolPassword() );
+ adminToolPasswordField.setText( settings.getAdminToolPassword() );
+ settingsPassphraseConfirmField.setText( settings.getSettingsPassphrase() );
+ settingsPassphraseField.setText( settings.getSettingsPassphrase() );
+
+ connCredentialsConfirmField.setText( settings.getDefaultConnectionInfo().getCredentials() );
+ connCredentialsField.setText( settings.getDefaultConnectionInfo().getCredentials() );
+ connHostTextField.setText( settings.getDefaultConnectionInfo().getHost() );
+ connLdapPortTextField.setText( String.valueOf( settings.getDefaultConnectionInfo().getLdapPort() ) );
+ connKrb5PortTextField.setText( String.valueOf( settings.getDefaultConnectionInfo().getKrb5Port() ) );
+ connRealmTextField.setText( settings.getDefaultConnectionInfo().getRealm() );
+ connPrincipalTextField.setText( settings.getDefaultConnectionInfo().getPrincipal() );
+ connUseLdapsRadioButton.setSelected( settings.getDefaultConnectionInfo().isUseLdaps() );
+ connNoPasscodeRadioButton.setSelected( settings.isPasscodePromptEnabled() );
+
+ smsAccountNameTextField.setText( settings.getDefaultSmsConfig().getSmsAccountName() );
+ smsConfirmPasswordField.setText( settings.getDefaultSmsConfig().getSmsPassword() );
+ smsPasswordField.setText( settings.getDefaultSmsConfig().getSmsPassword() );
+ smsTransportUrlTextField.setText( settings.getDefaultSmsConfig().getSmsTransportUrl() );
+ smsUsernameTextField.setText( settings.getDefaultSmsConfig().getSmsUsername() );
+
+ mailFromTextField.setText( settings.getDefaultSmtpConfig().getSmtpFrom() );
+ mailHostTextField.setText( settings.getDefaultSmtpConfig().getSmtpHost() );
+ mailSubjectTextField.setText( settings.getDefaultSmtpConfig().getSmtpSubject() );
+
+ if ( settings.getDefaultSmtpConfig().isSmtpAuthenticate() )
+ {
+ mailAuthenticateRadioButton.setSelected( true );
+ mailConfirmPasswordField.setText( settings.getDefaultSmtpConfig().getSmtpPassword() );
+ mailPasswordField.setText( settings.getDefaultSmtpConfig().getSmtpPassword() );
+ mailPasswordField.setEnabled( true );
+ mailConfirmPasswordField.setEnabled( true );
+ mailUsernameTextField.setEnabled( true );
+ mailUsernameTextField.setText( settings.getDefaultSmtpConfig().getSmtpUsername() );
+ }
+ else
+ {
+ mailConfirmPasswordField.setText( null );
+ mailPasswordField.setText( null );
+ mailAuthenticateRadioButton.setSelected( false );
+ mailPasswordField.setEnabled( false );
+ mailConfirmPasswordField.setEnabled( false );
+ mailUsernameTextField.setEnabled( false );
+ mailUsernameTextField.setText( null );
+ }
+ }
+
+
+ private void setSmartDefaults()
+ {
+ adminToolConfirmPasswordField.setText( null );
+ adminToolPasswordField.setText( null );
+ settingsPassphraseConfirmField.setText( null );
+ settingsPassphraseField.setText( null );
+
+ connCredentialsConfirmField.setText( null );
+ connCredentialsField.setText( null );
+ connHostTextField.setText( "localhost" );
+ connLdapPortTextField.setText( "10389" );
+ connKrb5PortTextField.setText( "88" );
+ connRealmTextField.setText( null );
+ connPrincipalTextField.setText( null );
+ connUseLdapsRadioButton.setSelected( false );
+ connNoPasscodeRadioButton.setSelected( true );
+
+ smsAccountNameTextField.setText( null );
+ smsConfirmPasswordField.setText( null );
+ smsPasswordField.setText( null );
+ smsTransportUrlTextField.setText( "http://www.nbroadcasting.com/customers/messages/Sender.asp" );
+ smsUsernameTextField.setText( null );
+
+ mailConfirmPasswordField.setText( null );
+ mailPasswordField.setText( null );
+ mailFromTextField.setText( "dev@safehaus.org" );
+ mailHostTextField.setText( "localhost" );
+ mailSubjectTextField.setText( "Triplesec Notifaction" );
+ mailAuthenticateRadioButton.setSelected( false );
+ mailPasswordField.setEnabled( false );
+ mailConfirmPasswordField.setEnabled( false );
+ mailUsernameTextField.setEnabled( false );
+ mailUsernameTextField.setText( null );
+ }
+
+
+ public AdminToolSettings getSettings()
+ {
+ return this.settings;
+ }
+
+
+ /**
+ * This method initializes this
+ *
+ * @return void
+ */
+ private void initialize()
+ {
+ this.setSize(594, 418);
+ this.setTitle("AdminTool Settings Editor");
+ this.setContentPane( getJContentPane() );
+ }
+
+
+ /**
+ * This method initializes jContentPane
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getJContentPane()
+ {
+ if ( jContentPane == null )
+ {
+ jContentPane = new JPanel();
+ jContentPane.setLayout( new BorderLayout() );
+ jContentPane.add(getJPanel1(), java.awt.BorderLayout.SOUTH);
+ jContentPane.add(getJTabbedPane(), java.awt.BorderLayout.CENTER);
+ }
+ return jContentPane;
+ }
+
+
+ /**
+ * This method initializes jPanel1
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getJPanel1()
+ {
+ if ( jPanel1 == null )
+ {
+ jPanel1 = new JPanel();
+ jPanel1.add(getJButton(), null);
+ jPanel1.add(getJButton1(), null);
+ }
+ return jPanel1;
+ }
+
+
+ /**
+ * This method initializes jButton
+ *
+ * @return javax.swing.JButton
+ */
+ private JButton getJButton()
+ {
+ if ( jButton == null )
+ {
+ jButton = new JButton();
+ jButton.setText("Close");
+ jButton.addActionListener( new java.awt.event.ActionListener()
+ {
+ public void actionPerformed( java.awt.event.ActionEvent e )
+ {
+ SettingsEditor.this.setVisible( false );
+ SettingsEditor.this.dispose();
+ }
+ } );
+ }
+ return jButton;
+ }
+
+
+ /**
+ * This method initializes jButton1
+ *
+ * @return javax.swing.JButton
+ */
+ private JButton getJButton1()
+ {
+ if ( jButton1 == null )
+ {
+ jButton1 = new JButton();
+ jButton1.setText("Save");
+ jButton1.addActionListener( new java.awt.event.ActionListener()
+ {
+ public void actionPerformed( java.awt.event.ActionEvent e )
+ {
+ if ( settings == null )
+ {
+ settings = new AdminToolSettings();
+ settings.setDefaultSmsConfig( new SmsConfiguration() );
+ settings.setDefaultSmtpConfig( new SmtpConfiguration() );
+ }
+
+ // -------------------------------------------------------
+ // handle the admin tool password field
+ // -------------------------------------------------------
+
+ if ( adminToolPasswordField.getPassword() == null || adminToolPasswordField.getPassword().length == 0 )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "AdminTool password cannot be null." );
+ return;
+ }
+ String adminToolPassword = new String( adminToolPasswordField.getPassword() );
+ String adminToolPasswordConfirm = new String( adminToolConfirmPasswordField.getPassword() );
+ if ( ! adminToolPassword.equals( adminToolPasswordConfirm ) )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "AdminTool password and confirmation fields are not the same." );
+ return;
+ }
+ settings.setAdminToolPassword( adminToolPassword );
+
+ // -------------------------------------------------------
+ // handle the settings passphrase field
+ // -------------------------------------------------------
+
+ if ( settingsPassphraseField.getPassword() == null || settingsPassphraseField.getPassword().length == 0 )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Settings passphrase field cannot be null." );
+ return;
+ }
+ String settingsPassphrase = new String( settingsPassphraseField.getPassword() );
+ String settingsPassphraseConfirm = new String( settingsPassphraseConfirmField.getPassword() );
+ if ( ! settingsPassphrase.equals( settingsPassphraseConfirm ) )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Settings passphrase and confirmation fields are not the same." );
+ return;
+ }
+ settings.setSettingsPassphrase( settingsPassphrase );
+
+ // -------------------------------------------------------
+ // handle the no passcode prompt field
+ // -------------------------------------------------------
+
+ settings.setPasscodePromptEnabled( connNoPasscodeRadioButton.isSelected() );
+
+ // -------------------------------------------------------
+ // Handle connection fields
+ // -------------------------------------------------------
+
+ ConnectionInfoModifier modifier = new ConnectionInfoModifier();
+ if ( connCredentialsField.getPassword() == null || connCredentialsField.getPassword().length == 0 )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Connection credentials field cannot be null." );
+ return;
+ }
+ String connCredentials = new String( connCredentialsField.getPassword() );
+ String connCredentialsConfirm = new String( connCredentialsConfirmField.getPassword() );
+ if ( ! connCredentials.equals( connCredentialsConfirm ) )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Connection credential fields are not the same." );
+ return;
+ }
+ modifier.setCredentials( connCredentials );
+ modifier.setHost( connHostTextField.getText() );
+ modifier.setKrb5Port( Integer.parseInt( connKrb5PortTextField.getText() ) );
+ modifier.setLdapPort( Integer.parseInt( connLdapPortTextField.getText() ) );
+ modifier.setRealm( connRealmTextField.getText() );
+ modifier.setPrincipal( connPrincipalTextField.getText() );
+ modifier.setUseLdaps( connUseLdapsRadioButton.isSelected() );
+ settings.setDefaultConnectionInfo( modifier.getConnectionInfo() );
+
+ // -------------------------------------------------------
+ // Handle sms fields
+ // -------------------------------------------------------
+
+ SmsConfiguration smsConfig = settings.getDefaultSmsConfig();
+ smsConfig.setSmsAccountName( smsAccountNameTextField.getText() );
+ smsConfig.setSmsTransportUrl( smsTransportUrlTextField.getText() );
+ smsConfig.setSmsUsername( smsUsernameTextField.getText() );
+ if ( smsPasswordField.getPassword() == null || smsPasswordField.getPassword().length == 0 )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Sms password field cannot be null." );
+ return;
+ }
+ String smsPassword = new String( smsPasswordField.getPassword() );
+ String smsPasswordConfirm = new String( smsConfirmPasswordField.getPassword() );
+ if ( ! smsPassword.equals( smsPasswordConfirm ) )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Sms password and confirmation fields are not the same." );
+ return;
+ }
+ smsConfig.setSmsPassword( smsPassword );
+
+ // -------------------------------------------------------
+ // Handle mail fields
+ // -------------------------------------------------------
+
+ SmtpConfiguration mailConfig = settings.getDefaultSmtpConfig();
+ mailConfig.setSmtpFrom( mailFromTextField.getText() );
+ mailConfig.setSmtpHost( mailHostTextField.getText() );
+ mailConfig.setSmtpSubject( mailSubjectTextField.getText() );
+
+ if ( mailAuthenticateRadioButton.isSelected() )
+ {
+ mailConfig.setSmtpAuthenticate( true );
+ mailConfig.setSmtpUsername( mailUsernameTextField.getText() );
+
+ if ( mailPasswordField.getPassword() == null || mailPasswordField.getPassword().length == 0 )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Smpt (mail) password field cannot be null." );
+ return;
+ }
+ String mailPassword = new String( mailPasswordField.getPassword() );
+ String mailPasswordConfirm = new String( mailConfirmPasswordField.getPassword() );
+ if ( ! mailPassword.equals( mailPasswordConfirm ) )
+ {
+ JOptionPane.showMessageDialog( SettingsEditor.this,
+ "Smtp (mail) password and confirmation fields are not the same." );
+ return;
+ }
+ mailConfig.setSmtpPassword( mailPassword );
+ }
+ else
+ {
+ mailConfig.setSmtpAuthenticate( false );
+ }
+
+ try
+ {
+ SettingsUtils.store( settings );
+ }
+ catch ( IOException e1 )
+ {
+ String msg = UiUtils.wrap( "Failed to save admin tool settings: " + e1.getMessage(), 79 );
+ JOptionPane.showMessageDialog( SettingsEditor.this, msg );
+ return;
+ }
+
+ SettingsEditor.this.setVisible( false );
+ SettingsEditor.this.dispose();
+ }
+ } );
+ }
+ return jButton1;
+ }
+
+
+ /**
+ * This method initializes jTabbedPane
+ *
+ * @return javax.swing.JTabbedPane
+ */
+ private JTabbedPane getJTabbedPane()
+ {
+ if ( jTabbedPane == null )
+ {
+ jTabbedPane = new JTabbedPane();
+ jTabbedPane.addTab("General", null, getGeneralPanel(), null);
+ jTabbedPane.addTab("Connection", null, getConnectionPanel(), null);
+ jTabbedPane.addTab("Sms", null, getSmsPanel(), null);
+ jTabbedPane.addTab("Mail", null, getMailPanel(), null);
+ }
+ return jTabbedPane;
+ }
+
+
+ /**
+ * This method initializes jPanel
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getGeneralPanel()
+ {
+ if ( generalPanel == null )
+ {
+ GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
+ gridBagConstraints4.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints4.gridy = 3;
+ gridBagConstraints4.weightx = 1.0;
+ gridBagConstraints4.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints4.gridx = 1;
+ GridBagConstraints gridBagConstraints31 = new GridBagConstraints();
+ gridBagConstraints31.gridx = 0;
+ gridBagConstraints31.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints31.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints31.gridy = 3;
+ jLabel3 = new JLabel();
+ jLabel3.setText("Settings Passphrase Confirm:");
+ jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints21 = new GridBagConstraints();
+ gridBagConstraints21.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints21.gridy = 2;
+ gridBagConstraints21.weightx = 1.0;
+ gridBagConstraints21.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints21.gridx = 1;
+ GridBagConstraints gridBagConstraints11 = new GridBagConstraints();
+ gridBagConstraints11.gridx = 0;
+ gridBagConstraints11.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints11.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints11.gridy = 2;
+ jLabel2 = new JLabel();
+ jLabel2.setText("Settings Passphrase:");
+ jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
+ gridBagConstraints3.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints3.gridy = 1;
+ gridBagConstraints3.weightx = 1.0;
+ gridBagConstraints3.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints3.gridx = 1;
+ GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
+ gridBagConstraints2.gridx = 0;
+ gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints2.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints2.gridy = 1;
+ jLabel1 = new JLabel();
+ jLabel1.setText("AdminTool Password Confirm:");
+ jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
+ gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints1.gridy = 0;
+ gridBagConstraints1.weightx = 1.0;
+ gridBagConstraints1.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints1.gridx = 1;
+ GridBagConstraints gridBagConstraints = new GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints.gridy = 0;
+ jLabel = new JLabel();
+ jLabel.setText("AdminTool Password:");
+ jLabel.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ generalPanel = new JPanel();
+ generalPanel.setLayout(new GridBagLayout());
+ generalPanel.add(jLabel, gridBagConstraints);
+ generalPanel.add(getAdminToolPasswordField(), gridBagConstraints1);
+ generalPanel.add(jLabel1, gridBagConstraints2);
+ generalPanel.add(getAdminToolConfirmPasswordField(), gridBagConstraints3);
+ generalPanel.add(jLabel2, gridBagConstraints11);
+ generalPanel.add(getSettingsPassphraseField(), gridBagConstraints21);
+ generalPanel.add(jLabel3, gridBagConstraints31);
+ generalPanel.add(getSettingsPassphraseConfirmField(), gridBagConstraints4);
+ }
+ return generalPanel;
+ }
+
+
+ /**
+ * This method initializes jPanel2
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getConnectionPanel()
+ {
+ if ( connectionPanel == null )
+ {
+ GridBagConstraints gridBagConstraints20 = new GridBagConstraints();
+ gridBagConstraints20.gridx = 1;
+ gridBagConstraints20.insets = new java.awt.Insets(10,0,0,0);
+ gridBagConstraints20.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints20.gridy = 7;
+ GridBagConstraints gridBagConstraints19 = new GridBagConstraints();
+ gridBagConstraints19.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints19.gridy = 6;
+ gridBagConstraints19.weightx = 1.0;
+ gridBagConstraints19.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints19.gridx = 1;
+ GridBagConstraints gridBagConstraints18 = new GridBagConstraints();
+ gridBagConstraints18.gridx = 0;
+ gridBagConstraints18.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints18.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints18.gridy = 6;
+ jLabel10 = new JLabel();
+ jLabel10.setText("Credentials Confirm:");
+ jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints17 = new GridBagConstraints();
+ gridBagConstraints17.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints17.gridy = 5;
+ gridBagConstraints17.weightx = 1.0;
+ gridBagConstraints17.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints17.gridx = 1;
+ GridBagConstraints gridBagConstraints16 = new GridBagConstraints();
+ gridBagConstraints16.gridx = 0;
+ gridBagConstraints16.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints16.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints16.gridy = 5;
+ jLabel9 = new JLabel();
+ jLabel9.setText("Credentials:");
+ jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints15 = new GridBagConstraints();
+ gridBagConstraints15.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints15.gridy = 4;
+ gridBagConstraints15.weightx = 1.0;
+ gridBagConstraints15.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints15.gridx = 1;
+ GridBagConstraints gridBagConstraints14 = new GridBagConstraints();
+ gridBagConstraints14.gridx = 0;
+ gridBagConstraints14.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints14.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints14.gridy = 4;
+ jLabel8 = new JLabel();
+ jLabel8.setText("Principal:");
+ jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints13 = new GridBagConstraints();
+ gridBagConstraints13.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints13.gridy = 3;
+ gridBagConstraints13.weightx = 1.0;
+ gridBagConstraints13.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints13.gridx = 1;
+ GridBagConstraints gridBagConstraints12 = new GridBagConstraints();
+ gridBagConstraints12.gridx = 0;
+ gridBagConstraints12.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints12.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints12.gridy = 3;
+ jLabel7 = new JLabel();
+ jLabel7.setText("Realm:");
+ jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
+ gridBagConstraints10.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints10.gridy = 2;
+ gridBagConstraints10.weightx = 1.0;
+ gridBagConstraints10.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints10.gridx = 1;
+ GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
+ gridBagConstraints9.gridx = 0;
+ gridBagConstraints9.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints9.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints9.gridy = 2;
+ jLabel6 = new JLabel();
+ jLabel6.setText("Krb5 Port:");
+ jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
+ gridBagConstraints8.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints8.gridy = 1;
+ gridBagConstraints8.weightx = 1.0;
+ gridBagConstraints8.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints8.gridx = 1;
+ GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
+ gridBagConstraints7.gridx = 0;
+ gridBagConstraints7.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints7.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints7.gridy = 1;
+ jLabel5 = new JLabel();
+ jLabel5.setText("Ldap Port:");
+ jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
+ gridBagConstraints6.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints6.gridy = 0;
+ gridBagConstraints6.weightx = 1.0;
+ gridBagConstraints6.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints6.gridx = 1;
+ GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
+ gridBagConstraints5.gridx = 0;
+ gridBagConstraints5.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints5.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints5.gridy = 0;
+ jLabel4 = new JLabel();
+ jLabel4.setText("Host:");
+ jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ connectionPanel = new JPanel();
+ connectionPanel.setLayout(new GridBagLayout());
+ connectionPanel.add(jLabel4, gridBagConstraints5);
+ connectionPanel.add(getConnHostTextField(), gridBagConstraints6);
+ connectionPanel.add(jLabel5, gridBagConstraints7);
+ connectionPanel.add(getConnLdapPortTextField(), gridBagConstraints8);
+ connectionPanel.add(jLabel6, gridBagConstraints9);
+ connectionPanel.add(getConnKrb5PortTextField(), gridBagConstraints10);
+ connectionPanel.add(jLabel7, gridBagConstraints12);
+ connectionPanel.add(getConnRealmTextField(), gridBagConstraints13);
+ connectionPanel.add(jLabel8, gridBagConstraints14);
+ connectionPanel.add(getConnPrincipalTextField(), gridBagConstraints15);
+ connectionPanel.add(jLabel9, gridBagConstraints16);
+ connectionPanel.add(getConnCredentialsField(), gridBagConstraints17);
+ connectionPanel.add(jLabel10, gridBagConstraints18);
+ connectionPanel.add(getConnCredentialsConfirmField(), gridBagConstraints19);
+ connectionPanel.add(getJPanel(), gridBagConstraints20);
+ }
+ return connectionPanel;
+ }
+
+
+ /**
+ * This method initializes jPanel3
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getSmsPanel()
+ {
+ if ( smsPanel == null )
+ {
+ GridBagConstraints gridBagConstraints32 = new GridBagConstraints();
+ gridBagConstraints32.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints32.gridy = 4;
+ gridBagConstraints32.weightx = 1.0;
+ gridBagConstraints32.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints32.gridx = 1;
+ GridBagConstraints gridBagConstraints30 = new GridBagConstraints();
+ gridBagConstraints30.gridx = 0;
+ gridBagConstraints30.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints30.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints30.gridy = 4;
+ jLabel15 = new JLabel();
+ jLabel15.setText("Username:");
+ jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints29 = new GridBagConstraints();
+ gridBagConstraints29.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints29.gridy = 3;
+ gridBagConstraints29.weightx = 1.0;
+ gridBagConstraints29.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints29.gridx = 1;
+ GridBagConstraints gridBagConstraints28 = new GridBagConstraints();
+ gridBagConstraints28.gridx = 0;
+ gridBagConstraints28.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints28.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints28.gridy = 3;
+ jLabel14 = new JLabel();
+ jLabel14.setText("Transport Url:");
+ jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints27 = new GridBagConstraints();
+ gridBagConstraints27.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints27.gridy = 2;
+ gridBagConstraints27.weightx = 1.0;
+ gridBagConstraints27.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints27.gridx = 1;
+ GridBagConstraints gridBagConstraints26 = new GridBagConstraints();
+ gridBagConstraints26.gridx = 0;
+ gridBagConstraints26.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints26.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints26.gridy = 2;
+ jLabel13 = new JLabel();
+ jLabel13.setText("Password Confirm:");
+ jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints25 = new GridBagConstraints();
+ gridBagConstraints25.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints25.gridy = 1;
+ gridBagConstraints25.weightx = 1.0;
+ gridBagConstraints25.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints25.gridx = 1;
+ GridBagConstraints gridBagConstraints24 = new GridBagConstraints();
+ gridBagConstraints24.gridx = 0;
+ gridBagConstraints24.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints24.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints24.gridy = 1;
+ jLabel12 = new JLabel();
+ jLabel12.setText("Password:");
+ jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints23 = new GridBagConstraints();
+ gridBagConstraints23.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints23.gridy = 0;
+ gridBagConstraints23.weightx = 1.0;
+ gridBagConstraints23.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints23.gridx = 1;
+ GridBagConstraints gridBagConstraints22 = new GridBagConstraints();
+ gridBagConstraints22.gridx = 0;
+ gridBagConstraints22.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints22.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints22.gridy = 0;
+ jLabel11 = new JLabel();
+ jLabel11.setText("Account Name:");
+ jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ smsPanel = new JPanel();
+ smsPanel.setLayout(new GridBagLayout());
+ smsPanel.add(jLabel11, gridBagConstraints22);
+ smsPanel.add(getSmsAccountNameTextField(), gridBagConstraints23);
+ smsPanel.add(jLabel12, gridBagConstraints24);
+ smsPanel.add(getSmsPasswordField(), gridBagConstraints25);
+ smsPanel.add(jLabel13, gridBagConstraints26);
+ smsPanel.add(getSmsConfirmPasswordField(), gridBagConstraints27);
+ smsPanel.add(jLabel14, gridBagConstraints28);
+ smsPanel.add(getSmsTransportUrlTextField(), gridBagConstraints29);
+ smsPanel.add(jLabel15, gridBagConstraints30);
+ smsPanel.add(getSmsUsernameTextField(), gridBagConstraints32);
+ }
+ return smsPanel;
+ }
+
+
+ /**
+ * This method initializes jPanel4
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getMailPanel()
+ {
+ if ( mailPanel == null )
+ {
+ GridBagConstraints gridBagConstraints45 = new GridBagConstraints();
+ gridBagConstraints45.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints45.gridy = 6;
+ gridBagConstraints45.weightx = 1.0;
+ gridBagConstraints45.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints45.gridx = 1;
+ GridBagConstraints gridBagConstraints44 = new GridBagConstraints();
+ gridBagConstraints44.gridx = 0;
+ gridBagConstraints44.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints44.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints44.gridy = 6;
+ jLabel21 = new JLabel();
+ jLabel21.setText("Confirm Pasword:");
+ jLabel21.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints43 = new GridBagConstraints();
+ gridBagConstraints43.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints43.gridy = 5;
+ gridBagConstraints43.weightx = 1.0;
+ gridBagConstraints43.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints43.gridx = 1;
+ GridBagConstraints gridBagConstraints42 = new GridBagConstraints();
+ gridBagConstraints42.gridx = 0;
+ gridBagConstraints42.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints42.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints42.gridy = 5;
+ jLabel20 = new JLabel();
+ jLabel20.setText("Password:");
+ jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints41 = new GridBagConstraints();
+ gridBagConstraints41.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints41.gridy = 4;
+ gridBagConstraints41.weightx = 1.0;
+ gridBagConstraints41.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints41.gridx = 1;
+ GridBagConstraints gridBagConstraints40 = new GridBagConstraints();
+ gridBagConstraints40.gridx = 0;
+ gridBagConstraints40.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints40.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints40.gridy = 4;
+ jLabel19 = new JLabel();
+ jLabel19.setText("Username:");
+ jLabel19.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints39 = new GridBagConstraints();
+ gridBagConstraints39.gridx = 1;
+ gridBagConstraints39.insets = new java.awt.Insets(10,0,5,0);
+ gridBagConstraints39.gridy = 3;
+ GridBagConstraints gridBagConstraints38 = new GridBagConstraints();
+ gridBagConstraints38.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints38.gridy = 2;
+ gridBagConstraints38.weightx = 1.0;
+ gridBagConstraints38.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints38.gridx = 1;
+ GridBagConstraints gridBagConstraints37 = new GridBagConstraints();
+ gridBagConstraints37.gridx = 0;
+ gridBagConstraints37.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints37.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints37.gridy = 2;
+ jLabel18 = new JLabel();
+ jLabel18.setText("Subject:");
+ jLabel18.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints36 = new GridBagConstraints();
+ gridBagConstraints36.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints36.gridy = 1;
+ gridBagConstraints36.weightx = 1.0;
+ gridBagConstraints36.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints36.gridx = 1;
+ GridBagConstraints gridBagConstraints35 = new GridBagConstraints();
+ gridBagConstraints35.gridx = 0;
+ gridBagConstraints35.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints35.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints35.gridy = 1;
+ jLabel17 = new JLabel();
+ jLabel17.setText("From:");
+ jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ GridBagConstraints gridBagConstraints34 = new GridBagConstraints();
+ gridBagConstraints34.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints34.gridy = 0;
+ gridBagConstraints34.weightx = 1.0;
+ gridBagConstraints34.insets = new java.awt.Insets(0,0,5,5);
+ gridBagConstraints34.gridx = 1;
+ GridBagConstraints gridBagConstraints33 = new GridBagConstraints();
+ gridBagConstraints33.gridx = 0;
+ gridBagConstraints33.fill = java.awt.GridBagConstraints.HORIZONTAL;
+ gridBagConstraints33.insets = new java.awt.Insets(0,5,5,5);
+ gridBagConstraints33.gridy = 0;
+ jLabel16 = new JLabel();
+ jLabel16.setText("Smtp Server:");
+ jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
+ mailPanel = new JPanel();
+ mailPanel.setLayout(new GridBagLayout());
+ mailPanel.add(jLabel16, gridBagConstraints33);
+ mailPanel.add(getMailHostTextField(), gridBagConstraints34);
+ mailPanel.add(jLabel17, gridBagConstraints35);
+ mailPanel.add(getMailFromTextField(), gridBagConstraints36);
+ mailPanel.add(jLabel18, gridBagConstraints37);
+ mailPanel.add(getMailSubjectTextField(), gridBagConstraints38);
+ mailPanel.add(getMailAuthenticateRadioButton(), gridBagConstraints39);
+ mailPanel.add(jLabel19, gridBagConstraints40);
+ mailPanel.add(getMailUsernameTextField(), gridBagConstraints41);
+ mailPanel.add(jLabel20, gridBagConstraints42);
+ mailPanel.add(getMailPasswordField(), gridBagConstraints43);
+ mailPanel.add(jLabel21, gridBagConstraints44);
+ mailPanel.add(getMailConfirmPasswordField(), gridBagConstraints45);
+ }
+ return mailPanel;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getAdminToolPasswordField()
+ {
+ if ( adminToolPasswordField == null )
+ {
+ adminToolPasswordField = new JPasswordField();
+ adminToolPasswordField.setColumns(12);
+ }
+ return adminToolPasswordField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField1
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getAdminToolConfirmPasswordField()
+ {
+ if ( adminToolConfirmPasswordField == null )
+ {
+ adminToolConfirmPasswordField = new JPasswordField();
+ }
+ return adminToolConfirmPasswordField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getSettingsPassphraseField()
+ {
+ if ( settingsPassphraseField == null )
+ {
+ settingsPassphraseField = new JPasswordField();
+ }
+ return settingsPassphraseField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getSettingsPassphraseConfirmField()
+ {
+ if ( settingsPassphraseConfirmField == null )
+ {
+ settingsPassphraseConfirmField = new JPasswordField();
+ }
+ return settingsPassphraseConfirmField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getConnHostTextField()
+ {
+ if ( connHostTextField == null )
+ {
+ connHostTextField = new JTextField();
+ }
+ return connHostTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getConnLdapPortTextField()
+ {
+ if ( connLdapPortTextField == null )
+ {
+ connLdapPortTextField = new JTextField();
+ }
+ return connLdapPortTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getConnKrb5PortTextField()
+ {
+ if ( connKrb5PortTextField == null )
+ {
+ connKrb5PortTextField = new JTextField();
+ }
+ return connKrb5PortTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getConnRealmTextField()
+ {
+ if ( connRealmTextField == null )
+ {
+ connRealmTextField = new JTextField();
+ }
+ return connRealmTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getConnPrincipalTextField()
+ {
+ if ( connPrincipalTextField == null )
+ {
+ connPrincipalTextField = new JTextField();
+ }
+ return connPrincipalTextField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getConnCredentialsField()
+ {
+ if ( connCredentialsField == null )
+ {
+ connCredentialsField = new JPasswordField();
+ }
+ return connCredentialsField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getConnCredentialsConfirmField()
+ {
+ if ( connCredentialsConfirmField == null )
+ {
+ connCredentialsConfirmField = new JPasswordField();
+ }
+ return connCredentialsConfirmField;
+ }
+
+
+ /**
+ * This method initializes jPanel
+ *
+ * @return javax.swing.JPanel
+ */
+ private JPanel getJPanel()
+ {
+ if ( jPanel == null )
+ {
+ jPanel = new JPanel();
+ jPanel.add(getConnUseLdapsRadioButton(), null);
+ jPanel.add(getConnNoPasscodeRadioButton(), null);
+ }
+ return jPanel;
+ }
+
+
+ /**
+ * This method initializes jRadioButton
+ *
+ * @return javax.swing.JRadioButton
+ */
+ private JRadioButton getConnUseLdapsRadioButton()
+ {
+ if ( connUseLdapsRadioButton == null )
+ {
+ connUseLdapsRadioButton = new JRadioButton();
+ connUseLdapsRadioButton.setText("Use Ldaps");
+ }
+ return connUseLdapsRadioButton;
+ }
+
+
+ /**
+ * This method initializes jRadioButton1
+ *
+ * @return javax.swing.JRadioButton
+ */
+ private JRadioButton getConnNoPasscodeRadioButton()
+ {
+ if ( connNoPasscodeRadioButton == null )
+ {
+ connNoPasscodeRadioButton = new JRadioButton();
+ connNoPasscodeRadioButton.setText("Do Not Prompt for Passcode");
+ }
+ return connNoPasscodeRadioButton;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getSmsAccountNameTextField()
+ {
+ if ( smsAccountNameTextField == null )
+ {
+ smsAccountNameTextField = new JTextField();
+ }
+ return smsAccountNameTextField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getSmsPasswordField()
+ {
+ if ( smsPasswordField == null )
+ {
+ smsPasswordField = new JPasswordField();
+ }
+ return smsPasswordField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getSmsConfirmPasswordField()
+ {
+ if ( smsConfirmPasswordField == null )
+ {
+ smsConfirmPasswordField = new JPasswordField();
+ }
+ return smsConfirmPasswordField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getSmsTransportUrlTextField()
+ {
+ if ( smsTransportUrlTextField == null )
+ {
+ smsTransportUrlTextField = new JTextField();
+ }
+ return smsTransportUrlTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getSmsUsernameTextField()
+ {
+ if ( smsUsernameTextField == null )
+ {
+ smsUsernameTextField = new JTextField();
+ }
+ return smsUsernameTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getMailHostTextField()
+ {
+ if ( mailHostTextField == null )
+ {
+ mailHostTextField = new JTextField();
+ }
+ return mailHostTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getMailFromTextField()
+ {
+ if ( mailFromTextField == null )
+ {
+ mailFromTextField = new JTextField();
+ }
+ return mailFromTextField;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getMailSubjectTextField()
+ {
+ if ( mailSubjectTextField == null )
+ {
+ mailSubjectTextField = new JTextField();
+ }
+ return mailSubjectTextField;
+ }
+
+
+ /**
+ * This method initializes jRadioButton
+ *
+ * @return javax.swing.JRadioButton
+ */
+ private JRadioButton getMailAuthenticateRadioButton()
+ {
+ if ( mailAuthenticateRadioButton == null )
+ {
+ mailAuthenticateRadioButton = new JRadioButton();
+ mailAuthenticateRadioButton.setText("Enable Authentication");
+ mailAuthenticateRadioButton.addActionListener( new java.awt.event.ActionListener()
+ {
+ public void actionPerformed( java.awt.event.ActionEvent e )
+ {
+ if ( mailAuthenticateRadioButton.isSelected() )
+ {
+ mailUsernameTextField.setEnabled( true );
+ mailPasswordField.setEnabled( true );
+ mailConfirmPasswordField.setEnabled( true );
+ }
+ else
+ {
+ mailUsernameTextField.setEnabled( false );
+ mailPasswordField.setEnabled( false );
+ mailConfirmPasswordField.setEnabled( false );
+ }
+ }
+ } );
+ }
+ return mailAuthenticateRadioButton;
+ }
+
+
+ /**
+ * This method initializes jTextField
+ *
+ * @return javax.swing.JTextField
+ */
+ private JTextField getMailUsernameTextField()
+ {
+ if ( mailUsernameTextField == null )
+ {
+ mailUsernameTextField = new JTextField();
+ }
+ return mailUsernameTextField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getMailPasswordField()
+ {
+ if ( mailPasswordField == null )
+ {
+ mailPasswordField = new JPasswordField();
+ }
+ return mailPasswordField;
+ }
+
+
+ /**
+ * This method initializes jPasswordField
+ *
+ * @return javax.swing.JPasswordField
+ */
+ private JPasswordField getMailConfirmPasswordField()
+ {
+ if ( mailConfirmPasswordField == null )
+ {
+ mailConfirmPasswordField = new JPasswordField();
+ }
+ return mailConfirmPasswordField;
+ }
+
+} // @jve:decl-index=0:visual-constraint="10,10"
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsUtils.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsUtils.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsUtils.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SettingsUtils.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,221 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.Date;
+import java.util.Properties;
+
+import org.safehaus.crypto.BlockCipherWrapper;
+import org.safehaus.crypto.DESEngine;
+import org.safehaus.triplesec.configuration.SmsConfiguration;
+import org.safehaus.triplesec.configuration.SmtpConfiguration;
+
+
+public class SettingsUtils
+{
+ private static final String SETTINGS_FILE = ".tsecAdminToolSettings";
+ private static final String SMTP_PASSWORD = "smtpPassword";
+ private static final String SMTP_USERNAME = "smtpUsername";
+ private static final String SMTP_SUBJECT = "smtpSubject";
+ private static final String SMTP_FROM = "smtpFrom";
+ private static final String SMTP_HOST = "smtpHost";
+ private static final String SMS_TRANSPORT_URL = "smsTransportUrl";
+ private static final String SMS_PASSWORD = "smsPassword";
+ private static final String SMS_USERNAME = "smsUsername";
+ private static final String SMS_ACCOUNT = "smsAccountName";
+ private static final String ADMIN_TOOL_PASSWORD = "adminToolPassword";
+ private static final String CONNECTION_USE_LDAPS = "connUseLdaps";
+ private static final String CONNECTION_REALM = "connRealm";
+ private static final String CONNECTION_PRINCIPAL = "connPrincipal";
+ private static final String CONNECTION_LDAP_PORT = "connLdapPort";
+ private static final String CONNECTION_KRB5_PORT = "connKrb5Port";
+ private static final String CONNECTION_HOST = "connHost";
+ private static final String CONNECTION_CREDENTIALS = "connCredentials";
+ private static final String SMTP_AUTHENTICATE = "smtpAuthenticate";
+ private static final String ENABLE_PASSCODE_PROMPT = "enablePasscodePrompt";
+ private static final String PRESENTATION_BASE_URL = "presentationBaseUrl";
+
+
+ public static boolean isAvailableSettings()
+ {
+ File userHome = new File( System.getProperty( "user.home" ) );
+ File settingsFile = new File( userHome, SETTINGS_FILE );
+ return settingsFile.exists();
+ }
+
+
+ public static void store( AdminToolSettings settings ) throws IOException
+ {
+ File userHome = new File( System.getProperty( "user.home" ) );
+ File settingsFile = new File( userHome, SETTINGS_FILE );
+ store( settings, settingsFile );
+ }
+
+
+ public static void store( AdminToolSettings settings, File settingsFile ) throws IOException
+ {
+ if ( settingsFile.exists() )
+ {
+ settingsFile.delete();
+ }
+
+ // Set all the properties in a Properties object
+ Properties props = new Properties();
+ props.setProperty( ADMIN_TOOL_PASSWORD, settings.getAdminToolPassword() );
+ props.setProperty( ENABLE_PASSCODE_PROMPT, String.valueOf( settings.isPasscodePromptEnabled() ) );
+ props.setProperty( PRESENTATION_BASE_URL, String.valueOf( settings.getPresentationBaseUrl() ) );
+
+ props.setProperty( CONNECTION_CREDENTIALS, settings.getDefaultConnectionInfo().getCredentials() );
+ props.setProperty( CONNECTION_HOST, settings.getDefaultConnectionInfo().getHost() );
+ props.setProperty( CONNECTION_KRB5_PORT, String.valueOf( settings.getDefaultConnectionInfo().getKrb5Port() ) );
+ props.setProperty( CONNECTION_LDAP_PORT, String.valueOf( settings.getDefaultConnectionInfo().getLdapPort() ) );
+ props.setProperty( CONNECTION_PRINCIPAL, settings.getDefaultConnectionInfo().getPrincipal() );
+ props.setProperty( CONNECTION_REALM, settings.getDefaultConnectionInfo().getRealm() );
+ props.setProperty( CONNECTION_USE_LDAPS, String.valueOf( settings.getDefaultConnectionInfo().isUseLdaps() ) );
+
+ props.setProperty( SMS_ACCOUNT, settings.getDefaultSmsConfig().getSmsAccountName() );
+ props.setProperty( SMS_PASSWORD, settings.getDefaultSmsConfig().getSmsPassword() );
+ props.setProperty( SMS_TRANSPORT_URL, settings.getDefaultSmsConfig().getSmsTransportUrl() );
+ props.setProperty( SMS_USERNAME, settings.getDefaultSmsConfig().getSmsUsername() );
+
+ props.setProperty( SMTP_AUTHENTICATE, String.valueOf( settings.getDefaultSmtpConfig().isSmtpAuthenticate() ) );
+ props.setProperty( SMTP_FROM, settings.getDefaultSmtpConfig().getSmtpFrom() );
+ props.setProperty( SMTP_HOST, settings.getDefaultSmtpConfig().getSmtpHost() );
+ props.setProperty( SMTP_SUBJECT, settings.getDefaultSmtpConfig().getSmtpSubject() );
+
+ if ( settings.getDefaultSmtpConfig().isSmtpAuthenticate() )
+ {
+ props.setProperty( SMTP_PASSWORD, settings.getDefaultSmtpConfig().getSmtpPassword() );
+ props.setProperty( SMTP_USERNAME, settings.getDefaultSmtpConfig().getSmtpUsername() );
+ }
+
+ // Write out the properties into memory
+ ByteArrayOutputStream decrypted = new ByteArrayOutputStream();
+ props.store( decrypted, new Date().toString() );
+ decrypted.flush();
+
+ // Encrypt the in memory properties buffer
+ BlockCipherWrapper engine = new BlockCipherWrapper( new DESEngine().getClass() );
+ byte[] encrypted = engine.encrypt( settings.getSettingsPassphrase(), decrypted.toByteArray() );
+
+ // Write out the encrypted buffer to disk
+ FileOutputStream out = new FileOutputStream( settingsFile );
+ out.write( encrypted );
+ out.flush();
+ out.close();
+ }
+
+
+ public static AdminToolSettings load( String passphrase ) throws IOException
+ {
+ File userHome = new File( System.getProperty( "user.home" ) );
+ File settingsFile = new File( userHome, SETTINGS_FILE );
+ return load( passphrase, settingsFile );
+ }
+
+
+ public static AdminToolSettings load( String passphrase, File settingsFile ) throws IOException
+ {
+ if ( ! settingsFile.exists() )
+ {
+ return null;
+ }
+
+ // Load the encrypted contents of the file into memory: it's small
+ byte[] encrypted = new byte[ ( int ) settingsFile.length()];
+ FileInputStream fin = new FileInputStream ( settingsFile );
+ fin.read( encrypted );
+ fin.close();
+
+ // Initialize the cipher wrapper and decrypt
+ BlockCipherWrapper engine = new BlockCipherWrapper( new DESEngine().getClass() );
+ byte[] decrypted = engine.decrypt( passphrase, encrypted );
+
+ // Load decrypted properties
+ ByteArrayInputStream in = new ByteArrayInputStream( decrypted );
+ Properties props = new Properties();
+ props.load( in );
+
+ // Build properties bean
+ AdminToolSettings settings = new AdminToolSettings();
+ settings.setSettingsPassphrase( passphrase );
+ settings.setAdminToolPassword( props.getProperty( ADMIN_TOOL_PASSWORD ) );
+ settings.setPresentationBaseUrl( props.getProperty( PRESENTATION_BASE_URL ) );
+
+ if ( props.getProperty( ENABLE_PASSCODE_PROMPT ) != null )
+ {
+ settings.setPasscodePromptEnabled( parseBoolean( props.getProperty( ENABLE_PASSCODE_PROMPT ) ) );
+ }
+
+ ConnectionInfoModifier modifier = new ConnectionInfoModifier();
+ modifier.setCredentials( props.getProperty( CONNECTION_CREDENTIALS ) );
+ modifier.setHost( props.getProperty( CONNECTION_HOST ) );
+ modifier.setKrb5Port( Integer.parseInt( props.getProperty( CONNECTION_KRB5_PORT ) ) );
+ modifier.setLdapPort( Integer.parseInt( props.getProperty( CONNECTION_LDAP_PORT ) ) );
+ modifier.setPrincipal( props.getProperty( CONNECTION_PRINCIPAL ) );
+ modifier.setRealm( props.getProperty( CONNECTION_REALM ) );
+ modifier.setUseLdaps( parseBoolean( props.getProperty( CONNECTION_USE_LDAPS ) ) );
+ settings.setDefaultConnectionInfo( modifier.getConnectionInfo() );
+
+ SmsConfiguration smsConfiguration = new SmsConfiguration();
+ smsConfiguration.setSmsAccountName( props.getProperty( SMS_ACCOUNT ) );
+ smsConfiguration.setSmsPassword( props.getProperty( SMS_PASSWORD ) );
+ smsConfiguration.setSmsTransportUrl( props.getProperty( SMS_TRANSPORT_URL ) );
+ smsConfiguration.setSmsUsername( props.getProperty( SMS_USERNAME ) );
+ settings.setDefaultSmsConfig( smsConfiguration );
+
+ SmtpConfiguration smtpConfiguration = new SmtpConfiguration();
+ smtpConfiguration.setSmtpHost( props.getProperty( SMTP_HOST ) );
+ smtpConfiguration.setSmtpFrom( props.getProperty( SMTP_FROM ) );
+ smtpConfiguration.setSmtpSubject( props.getProperty( SMTP_SUBJECT ) );
+
+ if ( props.getProperty( SMTP_AUTHENTICATE ) != null && parseBoolean( props.getProperty( SMTP_AUTHENTICATE ) ) )
+ {
+ smtpConfiguration.setSmtpPassword( props.getProperty( SMTP_PASSWORD ) );
+ smtpConfiguration.setSmtpUsername( props.getProperty( SMTP_USERNAME ) );
+ smtpConfiguration.setSmtpAuthenticate( true );
+ }
+ else
+ {
+ smtpConfiguration.setSmtpAuthenticate( false );
+ }
+ settings.setDefaultSmtpConfig( smtpConfiguration );
+
+ return settings;
+ }
+
+
+ private static boolean parseBoolean( String bool )
+ {
+ if ( bool.toLowerCase().equals( "true" ) )
+ {
+ return true;
+ }
+
+ return false;
+ }
+}
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SplashScreen.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SplashScreen.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SplashScreen.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/SplashScreen.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.Toolkit;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JWindow;
+import javax.swing.SwingUtilities;
+
+
+class SplashScreen extends JWindow
+{
+ private static final long serialVersionUID = 2703571434489131933L;
+
+
+ public SplashScreen( String filename, Frame parent, int waitTime )
+ {
+ super( parent );
+ JLabel label = new JLabel( new ImageIcon(
+ getClass().getResource( "/org/safehaus/triplesec/admin/swing/splashscreen.png" ) ) );
+ getContentPane().add( label, BorderLayout.CENTER );
+ pack();
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+ Dimension labelSize = label.getPreferredSize();
+ setLocation( screenSize.width / 2 - ( labelSize.width / 2 ),
+ screenSize.height / 2 - ( labelSize.height / 2 ) );
+ addMouseListener( new MouseAdapter()
+ {
+ public void mousePressed( MouseEvent e )
+ {
+ setVisible( false );
+ dispose();
+ }
+ } );
+
+ final int pause = waitTime;
+ final Runnable closerRunner = new Runnable()
+ {
+ public void run()
+ {
+ setVisible( false );
+ dispose();
+ }
+ };
+ Runnable waitRunner = new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ Thread.sleep( pause );
+ SwingUtilities.invokeAndWait( closerRunner );
+ }
+ catch ( Exception e )
+ {
+ e.printStackTrace();
+ }
+ }
+ };
+ setVisible( true );
+ Thread splashThread = new Thread( waitRunner, "SplashThread" );
+ splashThread.start();
+ }
+}
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusListener.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusListener.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusListener.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusListener.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+
+public interface StatusListener
+{
+ public void statusChanged( StatusObject obj );
+}
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusObject.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusObject.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusObject.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/StatusObject.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+public interface StatusObject
+{
+ boolean isUpToDate();
+}
Added: directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/UiUtils.java
URL: http://svn.apache.org/viewvc/directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/UiUtils.java?view=auto&rev=486187
==============================================================================
--- directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/UiUtils.java (added)
+++ directory/trunks/triplesec/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/UiUtils.java Tue Dec 12 07:23:31 2006
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.safehaus.triplesec.admin.swing;
+
+
+import java.awt.Dimension;
+import java.awt.Point;
+import java.awt.Toolkit;
+
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JPasswordField;
+import javax.swing.text.JTextComponent;
+
+
+public class UiUtils
+{
+ static String showPasswordDialog( JFrame parent, String message )
+ {
+ return showPasswordDialog( parent, message, "Enter secret information!" );
+ }
+
+
+ static String showPasswordDialog( JFrame parent, String message, String title )
+ {
+ SecretDialog dialog = new SecretDialog( parent );
+ dialog.setMessage( message );
+ dialog.setTitle( title );
+ dialog.setLocation( getCenteredPosition( parent ) );
+ dialog.setVisible( true );
+ return dialog.getPassword();
+ }
+
+
+ static Point getCenteredPosition( JComponent comp )
+ {
+ Point pt = new Point();
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ Dimension screenSize = tk.getScreenSize();
+ pt.x = ( screenSize.width - comp.getWidth() ) / 2;
+ pt.y = ( screenSize.height - comp.getHeight() ) / 2;
+ return pt;
+ }
+
+
+ static Point getCenteredPosition( JDialog comp )
+ {
+ Point pt = new Point();
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ Dimension screenSize = tk.getScreenSize();
+ pt.x = ( screenSize.width - comp.getWidth() ) / 2;
+ pt.y = ( screenSize.height - comp.getHeight() ) / 2;
+ return pt;
+ }
+
+
+ static Point getCenteredPosition( JFrame frame )
+ {
+ Point pt = new Point();
+ Toolkit tk = Toolkit.getDefaultToolkit();
+ Dimension screenSize = tk.getScreenSize();
+ pt.x = ( screenSize.width - frame.getWidth() ) / 2;
+ pt.y = ( screenSize.height - frame.getHeight() ) / 2;
+ return pt;
+ }
+
+
+ static String wrap( String message, int width )
+ {
+ StringBuffer buf = new StringBuffer();
+ int counter = 0;
+ for ( int ii = 0; ii < message.length(); ii++, counter++ )
+ {
+ if ( counter > width )
+ {
+ buf.append( "\n" );
+ counter = 0;
+ }
+ buf.append( message.charAt( ii ) );
+ }
+
+ return buf.toString();
+ }
+
+
+ static boolean isFieldUpToDate( JTextComponent field, String value )
+ {
+ if ( field instanceof JPasswordField )
+ {
+ JPasswordField pfield = ( JPasswordField ) field;
+ if ( ( pfield.getPassword() == null || pfield.getPassword().length == 0 ) && value == null )
+ {
+ return true;
+ }
+ if ( pfield.getPassword() == null )
+ {
+ return false;
+ }
+ return new String( pfield.getPassword() ).equals( value );
+ }
+ if ( ( field.getText() == null || field.getText().equals( "" ) ) && value == null )
+ {
+ return true;
+ }
+
+ if ( field.getText() == null )
+ {
+ return false;
+ }
+
+ return field.getText().equals( value );
+ }
+}