package hep.io.root.daemon; import java.net.InetAddress; import java.net.PasswordAuthentication; /** * * @author Tony Johnson */ class AuthentificationPanel extends javax.swing.JPanel { /** Creates new form AuthentificationPanel */ AuthentificationPanel(String scheme) { initComponents(); boolean anon = scheme != null && scheme.equalsIgnoreCase("anonymous"); schemeComboBox.setSelectedIndex(anon ? 0 : 1); } PasswordAuthentication getPasswordAuthentication() { String username = userTextField.getText(); char[] password = passwordTextField.getPassword(); boolean anon = schemeComboBox.getSelectedIndex() == 0; if (anon) { username = "anonymous"; try { password = (System.getProperty("user.name")+"@"+InetAddress.getLocalHost().getCanonicalHostName()).toCharArray(); } catch (Throwable x) { password = "freehep-user@freehep.org".toCharArray(); } } return new PasswordAuthentication(username,password); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents()//GEN-BEGIN:initComponents { java.awt.GridBagConstraints gridBagConstraints; javax.swing.JLabel jLabel1; javax.swing.JLabel jLabel2; javax.swing.JLabel jLabel3; javax.swing.JLabel jLabel4; jLabel1 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); schemeComboBox = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); userTextField = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); passwordTextField = new javax.swing.JPasswordField(); setLayout(new java.awt.GridBagLayout()); jLabel1.setText("Authentification required for access to root daemon"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; add(jLabel1, gridBagConstraints); jLabel4.setText("Scheme:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5); gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(jLabel4, gridBagConstraints); schemeComboBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Anonymous", "UsrPwd" })); schemeComboBox.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { setEnabled(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; add(schemeComboBox, gridBagConstraints); jLabel2.setText("Username:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5); gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(jLabel2, gridBagConstraints); userTextField.setText(System.getProperty("user.name")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; add(userTextField, gridBagConstraints); jLabel3.setText("Password:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 5); gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; add(jLabel3, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; add(passwordTextField, gridBagConstraints); }//GEN-END:initComponents private void setEnabled(java.awt.event.ActionEvent evt)//GEN-FIRST:event_setEnabled {//GEN-HEADEREND:event_setEnabled boolean anon = schemeComboBox.getSelectedIndex() == 0; passwordTextField.setEnabled(!anon); userTextField.setEnabled(!anon); }//GEN-LAST:event_setEnabled // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPasswordField passwordTextField; private javax.swing.JComboBox schemeComboBox; private javax.swing.JTextField userTextField; // End of variables declaration//GEN-END:variables }