Example usage for com.jgoodies.forms.builder DefaultFormBuilder border

List of usage examples for com.jgoodies.forms.builder DefaultFormBuilder border

Introduction

In this page you can find the example usage for com.jgoodies.forms.builder DefaultFormBuilder border.

Prototype

@Override
    public DefaultFormBuilder border(String emptyBorderSpec) 

Source Link

Usage

From source file:com.zeroc.IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getValidityPanel(X509Certificate cert) {
    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);//from  ww w  .j ava  2 s  . c  om
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Validity");
    builder.nextLine();
    builder.append(new JLabel("<html><b>Issued On:</b></html>"), new JLabel(cert.getNotBefore().toString()));
    builder.append(new JLabel("<html><b>Expires On:</b></html>"), new JLabel(cert.getNotAfter().toString()));
    builder.nextLine();

    return builder.getPanel();
}

From source file:com.zeroc.IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getFingerprintPanel(X509Certificate cert) throws java.security.GeneralSecurityException {
    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);//from  www .ja  v a 2  s. com
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Fingerprints");
    builder.nextLine();

    String sha1Fingerprint = "";
    {
        MessageDigest md = MessageDigest.getInstance("SHA-1");
        byte[] der = cert.getEncoded();
        md.update(der);
        byte[] digest = md.digest();

        StringBuilder sb = new StringBuilder(digest.length * 2);

        Formatter formatter = new Formatter(sb);
        try {
            for (int i = 0; i < digest.length;) {
                formatter.format("%02x", digest[i]);
                i++;
                if (i < digest.length) {
                    sb.append(":");
                }
            }
        } finally {
            formatter.close();
        }
        sha1Fingerprint = sb.toString().toUpperCase();
    }

    builder.append(new JLabel("<html><b>SHA-1 Fingerprint:</b></html>"), new JLabel(sha1Fingerprint));
    builder.nextLine();

    String md5Fingerprint = "";
    {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] der = cert.getEncoded();
        md.update(der);
        byte[] digest = md.digest();

        StringBuilder sb = new StringBuilder(digest.length * 2);

        Formatter formatter = new Formatter(sb);
        try {
            for (int i = 0; i < digest.length;) {
                formatter.format("%02x", digest[i]);
                i++;
                if (i < digest.length) {
                    sb.append(":");
                }
            }
        } finally {
            formatter.close();
        }
        md5Fingerprint = sb.toString().toUpperCase();
    }
    builder.append(new JLabel("<html><b>MD5 Fingerprint:</b></html>"), new JLabel(md5Fingerprint));
    builder.nextLine();

    return builder.getPanel();
}

From source file:com.zeroc.IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getSubjectAlternativeNamesPanel(X509Certificate cert)
        throws java.security.cert.CertificateParsingException {
    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);// w w  w  .  j av a 2s.c o m
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Subject Alternate Names");
    builder.nextLine();

    Collection<List<?>> altNames = cert.getSubjectAlternativeNames();
    if (altNames != null) {
        for (List<?> l : altNames) {
            Integer kind = (Integer) l.get(0);
            String value = l.get(1).toString();
            if (kind == 2) {
                builder.append(new JLabel("<html><b>DNS Name:</b></html>"), new JLabel(value));
                builder.nextLine();
            } else if (kind == 7) {
                builder.append(new JLabel("<html><b>IP Address:</b></html>"), new JLabel(value));
                builder.nextLine();
            }
        }
    }
    return builder.getPanel();
}

From source file:com.zeroc.IceGridGUI.SessionKeeper.java

License:Open Source License

private void login(final JDialog parent, final ConnectionInfo info) {
    if (_authDialog != null) {
        _authDialog.dispose();/*w w w .j a  v  a  2 s . com*/
        _authDialog = null;
    }

    if (info.getAuth() == SessionKeeper.AuthType.UsernamePasswordAuthType) {
        class UsernamePasswordAuthDialog extends AuthDialog {
            UsernamePasswordAuthDialog() {
                super(parent, "Login - IceGrid Admin");

                Container contentPane = getContentPane();
                contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));

                {
                    // Build the basic login panel.
                    FormLayout layout = new FormLayout("pref, 2dlu, pref:grow, 2dlu, pref", "");
                    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
                    builder.border(Borders.DIALOG);

                    if (info.getPassword() == null || info.getPassword().length == 0) {
                        _username = new JTextField(20);
                        _username.setText(info.getUsername());
                        _username.setEditable(false);
                        builder.append(new JLabel("Username"), _username);
                        builder.nextLine();
                        _password = new JPasswordField(20);
                        builder.append(new JLabel("Password"), _password);
                        builder.nextLine();
                        _storePassword = new JCheckBox("Save Password.");
                        _storePassword.setEnabled(
                                _password.getPassword() != null && _password.getPassword().length > 0);
                        _password.getDocument().addDocumentListener(new DocumentListener() {
                            @Override
                            public void changedUpdate(DocumentEvent e) {
                                _storePassword.setEnabled(
                                        _password.getPassword() != null && _password.getPassword().length > 0);
                            }

                            @Override
                            public void removeUpdate(DocumentEvent e) {
                                _storePassword.setEnabled(
                                        _password.getPassword() != null && _password.getPassword().length > 0);
                            }

                            @Override
                            public void insertUpdate(DocumentEvent e) {
                                _storePassword.setEnabled(
                                        _password.getPassword() != null && _password.getPassword().length > 0);
                            }
                        });
                        builder.append("", _storePassword);
                        builder.nextLine();
                    }

                    if (info.getUseX509Certificate()
                            && (info.getKeyPassword() == null || info.getKeyPassword().length == 0)) {
                        _keyAlias = new JTextField(20);
                        _keyAlias.setText(info.getAlias());
                        _keyAlias.setEditable(false);
                        builder.append(new JLabel("Key Alias"), _keyAlias);
                        builder.nextLine();
                        _keyPassword = new JPasswordField(20);
                        builder.append(new JLabel("Key Password"), _keyPassword);
                        builder.nextLine();
                        _storeKeyPassword = new JCheckBox("Save Key Password.");
                        _storeKeyPassword.setEnabled(
                                _keyPassword.getPassword() != null && _keyPassword.getPassword().length > 0);
                        _keyPassword.getDocument().addDocumentListener(new DocumentListener() {
                            @Override
                            public void changedUpdate(DocumentEvent e) {
                                _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                        && _keyPassword.getPassword().length > 0);
                            }

                            @Override
                            public void removeUpdate(DocumentEvent e) {
                                _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                        && _keyPassword.getPassword().length > 0);
                            }

                            @Override
                            public void insertUpdate(DocumentEvent e) {
                                _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                        && _keyPassword.getPassword().length > 0);
                            }
                        });
                        builder.append("", _storeKeyPassword);
                        builder.nextLine();
                    }

                    contentPane.add(builder.getPanel());
                }

                JButton okButton = new JButton();
                AbstractAction okAction = new AbstractAction("OK") {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        if (_session != null) {
                            logout(true);
                        }
                        assert _session == null;
                        if (_password != null) {
                            info.setPassword(_password.getPassword());
                            info.setStorePassword(_storePassword.isSelected());
                        }
                        if (_keyPassword != null) {
                            info.setKeyPassword(_keyPassword.getPassword());
                            info.setStoreKeyPassword(_storeKeyPassword.isSelected());
                        }

                        if (checkCertificateRequirePassword(info.getAlias())
                                && !checkCertificatePassword(info.getAlias(), info.getKeyPassword())) {
                            dispose();
                            permissionDenied(parent, info, "Invalid certificate password");
                        } else {
                            Cursor oldCursor = parent.getCursor();
                            parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                            dispose();
                            _coordinator.login(SessionKeeper.this, info, parent, oldCursor);
                        }
                    }
                };
                okButton.setAction(okAction);

                JButton cancelButton = new JButton();
                AbstractAction cancelAction = new AbstractAction("Cancel") {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        dispose();
                    }
                };
                cancelButton.setAction(cancelAction);

                JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton)
                        .addGlue().build();
                buttonBar.setBorder(Borders.DIALOG);
                contentPane.add(buttonBar);

                getRootPane().setDefaultButton(okButton);
                pack();
                setResizable(false);
            }

            private JTextField _username;
            private JPasswordField _password;
            private JCheckBox _storePassword;
            private JTextField _keyAlias;
            private JPasswordField _keyPassword;
            private JCheckBox _storeKeyPassword;
        }

        //
        // If there isn't a store password or the certificate requires a password
        // and the password isn't provided, we show the login dialog.
        //
        if ((info.getPassword() == null || info.getPassword().length == 0)
                || (info.getUseX509Certificate() && checkCertificateRequirePassword(info.getAlias())
                        && (info.getKeyPassword() == null || info.getKeyPassword().length == 0))) {
            _authDialog = new UsernamePasswordAuthDialog();
            Utils.addEscapeListener(_authDialog);
            _authDialog.showDialog();
        } else {
            if (_session != null) {
                logout(true);
            }
            assert _session == null;

            if (info.getUseX509Certificate() && checkCertificateRequirePassword(info.getAlias())
                    && !checkCertificatePassword(info.getAlias(), info.getKeyPassword())) {
                permissionDenied(parent, info, "Invalid certificate password");
            } else {
                Cursor oldCursor = parent.getCursor();
                parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                _coordinator.login(SessionKeeper.this, info, parent, oldCursor);
            }
        }
    } else // Auth dialog
    {
        class X509CertificateAuthDialog extends AuthDialog {
            X509CertificateAuthDialog() {
                super(parent, "Login - IceGrid Admin");

                Container contentPane = getContentPane();
                contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));

                {
                    // Build the basic login panel.
                    FormLayout layout = new FormLayout("pref, 2dlu, pref:grow, 2dlu, pref", "");
                    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
                    builder.border(Borders.DIALOG);

                    builder.append(new JLabel("Key Password"), _keyPassword);
                    builder.nextLine();
                    _storeKeyPassword = new JCheckBox("Save Key Password.");
                    _storeKeyPassword.setEnabled(false);
                    _keyPassword.getDocument().addDocumentListener(new DocumentListener() {
                        @Override
                        public void changedUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }

                        @Override
                        public void removeUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }

                        @Override
                        public void insertUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }
                    });
                    builder.append("", _storeKeyPassword);
                    builder.nextLine();
                    contentPane.add(builder.getPanel());
                }

                JButton okButton = new JButton();
                AbstractAction okAction = new AbstractAction("OK") {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        if (_session != null) {
                            logout(true);
                        }
                        assert _session == null;

                        info.setKeyPassword(_keyPassword.getPassword());

                        if (checkCertificateRequirePassword(info.getAlias())
                                && !checkCertificatePassword(info.getAlias(), info.getKeyPassword())) {
                            dispose();
                            permissionDenied(parent, info, "Invalid certificate password");
                        } else {
                            Cursor oldCursor = parent.getCursor();
                            parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                            dispose();
                            _coordinator.login(SessionKeeper.this, info, parent, oldCursor);
                        }
                    }
                };
                okButton.setAction(okAction);

                JButton cancelButton = new JButton();
                AbstractAction cancelAction = new AbstractAction("Cancel") {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        dispose();
                    }
                };
                cancelButton.setAction(cancelAction);

                JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton)
                        .addGlue().build();
                buttonBar.setBorder(Borders.DIALOG);
                contentPane.add(buttonBar);

                getRootPane().setDefaultButton(okButton);
                pack();
                setResizable(false);
            }

            private JPasswordField _keyPassword = new JPasswordField(20);
            private JCheckBox _storeKeyPassword;
        }

        //
        // If the certificate requires a password and the password isn't provided, we
        // show the login dialog.
        //
        if ((info.getKeyPassword() == null || info.getKeyPassword().length == 0)
                && checkCertificateRequirePassword(info.getAlias())) {
            _authDialog = new X509CertificateAuthDialog();
            Utils.addEscapeListener(_authDialog);
            _authDialog.showDialog();
        } else {
            if (_session != null) {
                logout(true);
            }
            assert _session == null;

            if (checkCertificateRequirePassword(info.getAlias())
                    && !checkCertificatePassword(info.getAlias(), info.getKeyPassword())) {
                permissionDenied(parent, info, "Invalid certificate password");
            } else {
                Cursor oldCursor = parent.getCursor();
                parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                _coordinator.login(SessionKeeper.this, info, parent, oldCursor);
            }
        }
    }
}

From source file:com.zeroc.IceGridGUI.SessionKeeper.java

License:Open Source License

public void permissionDenied(final JDialog parent, final ConnectionInfo info, final String msg) {
    class PermissionDeniedAuthDialog extends AuthDialog {
        PermissionDeniedAuthDialog() {/*from www.java 2s .c  om*/
            super(parent, "Login - IceGrid Admin");

            Container contentPane = getContentPane();
            contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
            {
                // Build the basic login panel.
                FormLayout layout = new FormLayout("pref, 2dlu, pref:grow, 2dlu, pref", "");
                DefaultFormBuilder builder = new DefaultFormBuilder(layout);
                builder.border(Borders.DIALOG);

                if (info.getAuth() == AuthType.UsernamePasswordAuthType) {
                    _username = new JTextField(20);
                    _username.setText(info.getUsername());
                    _username.setEditable(false);
                    builder.append(new JLabel("Username"), _username);
                    builder.nextLine();
                    _password = new JPasswordField(20);
                    if (info.getPassword() != null) {
                        _password.setText(new String(info.getPassword()));
                    }
                    builder.append(new JLabel("Password"), _password);
                    builder.nextLine();
                    _storePassword = new JCheckBox("Save Password.");
                    _storePassword.setSelected(info.getStorePassword());
                    _storePassword
                            .setEnabled(_password.getPassword() != null && _password.getPassword().length > 0);
                    _password.getDocument().addDocumentListener(new DocumentListener() {
                        @Override
                        public void changedUpdate(DocumentEvent e) {
                            _storePassword.setEnabled(
                                    _password.getPassword() != null && _password.getPassword().length > 0);
                        }

                        @Override
                        public void removeUpdate(DocumentEvent e) {
                            _storePassword.setEnabled(
                                    _password.getPassword() != null && _password.getPassword().length > 0);
                        }

                        @Override
                        public void insertUpdate(DocumentEvent e) {
                            _storePassword.setEnabled(
                                    _password.getPassword() != null && _password.getPassword().length > 0);
                        }
                    });
                    builder.append("", _storePassword);
                    builder.nextLine();
                }

                if (info.getUseX509Certificate()) {
                    _keyAlias = new JTextField(20);
                    _keyAlias.setText(info.getAlias());
                    _keyAlias.setEditable(false);
                    builder.append(new JLabel("Key Alias"), _keyAlias);
                    builder.nextLine();
                    _keyPassword = new JPasswordField(20);
                    if (info.getKeyPassword() != null) {
                        _keyPassword.setText(new String(info.getKeyPassword()));
                    }
                    builder.append(new JLabel("Key Password"), _keyPassword);
                    builder.nextLine();
                    _storeKeyPassword = new JCheckBox("Save Key Password.");
                    _storeKeyPassword.setSelected(info.getStoreKeyPassword());
                    _storeKeyPassword.setEnabled(
                            _keyPassword.getPassword() != null && _keyPassword.getPassword().length > 0);
                    _keyPassword.getDocument().addDocumentListener(new DocumentListener() {
                        @Override
                        public void changedUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }

                        @Override
                        public void removeUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }

                        @Override
                        public void insertUpdate(DocumentEvent e) {
                            _storeKeyPassword.setEnabled(_keyPassword.getPassword() != null
                                    && _keyPassword.getPassword().length > 0);
                        }
                    });
                    builder.append("", _storeKeyPassword);
                    builder.nextLine();
                }

                contentPane.add(builder.getPanel());
            }

            JButton okButton = new JButton(new AbstractAction("OK") {
                @Override
                public void actionPerformed(ActionEvent e) {
                    if (_session != null) {
                        logout(true);
                    }
                    assert _session == null;
                    if (_password != null) {
                        info.setPassword(_password.getPassword());
                        info.setStorePassword(_storePassword.isSelected());
                    }

                    boolean certificatePasswordMatch = true;
                    if (_keyPassword != null) {
                        info.setKeyPassword(_keyPassword.getPassword());
                        info.setStoreKeyPassword(_storeKeyPassword.isSelected());
                        certificatePasswordMatch = checkCertificatePassword(info.getAlias(),
                                info.getKeyPassword());
                    }

                    if (!certificatePasswordMatch) {
                        dispose();
                        permissionDenied(parent, info, "Invalid certificate password");
                    } else {
                        Cursor oldCursor = parent.getCursor();
                        parent.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                        dispose();
                        _coordinator.login(SessionKeeper.this, info, parent, oldCursor);
                    }
                }
            });

            JButton editConnectionButton = new JButton(new AbstractAction("Edit Connection") {
                @Override
                public void actionPerformed(ActionEvent e) {
                    info.load();
                    dispose();
                    _authDialog = null;
                    JDialog dialog = new ConnectionWizardDialog(info, parent);
                    Utils.addEscapeListener(dialog);
                    dialog.setLocationRelativeTo(parent);
                    dialog.setVisible(true);
                }
            });

            JButton cancelButton = new JButton(new AbstractAction("Cancel") {
                @Override
                public void actionPerformed(ActionEvent e) {
                    info.load();
                    dispose();
                    _authDialog = null;
                }
            });

            JComponent buttonBar = new ButtonBarBuilder().addGlue()
                    .addButton(okButton, editConnectionButton, cancelButton).addGlue().build();
            buttonBar.setBorder(Borders.DIALOG);
            contentPane.add(buttonBar);

            getRootPane().setDefaultButton(okButton);
            pack();
            setResizable(false);
        }

        private JTextField _username;
        private JPasswordField _password;
        private JCheckBox _storePassword;
        private JTextField _keyAlias;
        private JPasswordField _keyPassword;
        private JCheckBox _storeKeyPassword;
    }

    JOptionPane.showMessageDialog(parent, "Permission denied: " + msg, "Login failed",
            JOptionPane.ERROR_MESSAGE);

    _authDialog = new PermissionDeniedAuthDialog();
    Utils.addEscapeListener(_authDialog);
    _authDialog.showDialog();
}

From source file:IceGridGUI.LiveDeployment.GraphView.java

License:Open Source License

public GraphView(Coordinator coordinator, String title) {
    _coordinator = coordinator;// ww w . j  a v  a2s .c o m
    setTitle(title);

    _preferences = Preferences.userNodeForPackage(getClass());

    //
    // Don't destroy JavaFX when the frame is disposed.
    //
    Platform.setImplicitExit(false);
    setIconImage(Utils.getIcon("/icons/16x16/metrics_graph.png").getImage());
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowAdapter() {
        @Override
        public void windowClosing(WindowEvent e) {
            close();
        }
    });

    //
    // Graph preferences.
    //
    Action preferences = new AbstractAction("Preferences") {
        @Override
        public void actionPerformed(ActionEvent event) {
            //
            // Set the title
            //
            JTextField title = new JTextField(getTitle());
            JPanel titlePanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.append("Title:", title);
                titlePanel = builder.getPanel();
            }

            //
            // SpinnerNumberModel to set a refresh period.
            //
            SpinnerNumberModel refreshPeriod = new SpinnerNumberModel(getRefreshPeriod(), _minRefreshPeriod,
                    _maxRefreshPeriod, 1);

            //
            // SpinnerNumberModel to set the maximum number of samples to keep in X axis.
            //
            final SpinnerNumberModel samples = new SpinnerNumberModel(_samples, _minSamples, _maxSamples, 1);

            JPanel refreshPanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.rowGroupingEnabled(true);
                final JSpinner spinner = new JSpinner(refreshPeriod);
                builder.append("Sample interval:", spinner);
                builder.append("", new JLabel("<html><p>Sample interval in seconds; must be between 1"
                        + "<br/>and 3600 seconds.</p></html>"));
                refreshPanel = builder.getPanel();
            }

            //
            // JComboBox to select time format used in X Axis
            //
            JComboBox<String> dateFormats = new JComboBox<String>(_dateFormats);
            dateFormats.setSelectedItem(getDateFormat());
            JPanel xAxisPanel;
            {
                DefaultFormBuilder builder = new DefaultFormBuilder(
                        new FormLayout("pref,2dlu,pref:grow", "pref"));
                builder.append("Samples displayed:", new JSpinner(samples));
                builder.append("", new JLabel("<html><p>The number of samples displayed on a graph;"
                        + "<br/>must be between 2 and 300." + "</p></html>"));
                builder.append("Time format:", dateFormats);

                xAxisPanel = builder.getPanel();
            }

            FormLayout layout = new FormLayout("fill:pref:grow", "pref");
            final DefaultFormBuilder builder = new DefaultFormBuilder(layout);
            builder.border(Borders.DIALOG);
            builder.append(titlePanel);
            builder.nextLine();
            builder.append(refreshPanel);
            builder.nextLine();
            builder.append(xAxisPanel);

            if (JOptionPane.showConfirmDialog(GraphView.this, builder.getPanel(), "Metrics Graph Preferences",
                    JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) != JOptionPane.OK_OPTION) {
                return;
            }

            setTitle(title.getText());
            setRefreshPeriod(refreshPeriod.getNumber().intValue());
            setMaximumSamples(samples.getNumber().intValue());
            setDateFormat((String) dateFormats.getSelectedItem());
        }
    };

    _legendTable = new JTable(_legendModel) {
        //Implement table cell tool tips.
        @Override
        public String getToolTipText(java.awt.event.MouseEvent e) {
            if (convertColumnIndexToModel(columnAtPoint(e.getPoint())) == 6) {
                return _legendModel.getRows(new int[] { rowAtPoint(e.getPoint()) })[0].cell.getField()
                        .getColumnToolTip();
            } else {
                return null;
            }
        }
    };

    //
    // Adjust row height for larger fonts
    //
    int fontSize = _legendTable.getFont().getSize();
    int minRowHeight = fontSize + fontSize / 3;
    if (_legendTable.getRowHeight() < minRowHeight) {
        _legendTable.setRowHeight(minRowHeight);
    }

    //
    // Graph preferences.
    //
    final Action delete = new AbstractAction("Delete") {
        @Override
        public void actionPerformed(ActionEvent event) {
            int[] selectedRows = _legendTable.getSelectedRows();
            for (int i = 0; i < selectedRows.length; ++i) {
                selectedRows[i] = _legendTable.convertRowIndexToModel(selectedRows[i]);
            }
            //
            // Remove selected rows from the legend model.
            //
            final MetricsRow[] rows = _legendModel.removeRows(selectedRows);

            //
            // Remove rows from series hash maps
            //
            for (MetricsRow row : rows) {
                Map<String, Map<String, Map<String, MetricsRow>>> j = _series.get(row.info);
                Map<String, Map<String, MetricsRow>> k = j.get(row.cell.getField().getMetricsName());
                Map<String, MetricsRow> l = k.get(row.cell.getId());
                l.remove(row.cell.getField().getFieldName());
                if (l.size() == 0) {
                    k.remove(row.cell.getId());
                    if (k.size() == 0) {
                        j.remove(row.cell.getField().getMetricsName());
                        if (j.size() == 0) {
                            _series.remove(row.info);
                            if (_series.size() == 0) {
                                stopRefresh();
                            }
                        }
                    }
                }
            }

            //
            // Remove series from the chart, in JavaFx thread.
            //
            enqueueJFX(new Runnable() {
                @Override
                public void run() {
                    for (MetricsRow row : rows) {
                        for (int i = 0; i < row.series.size(); ++i) {
                            XYChart.Series<Number, Number> series = row.series.get(i);
                            String seriesClass = getSeriesClass(series);
                            if (seriesClass != null) {
                                _styles.remove(seriesClass);
                            }
                            //
                            // Don't remove the XYChart.Series object here, to avoid the series
                            // style classes to be reasign by JavaFX.
                            //
                            // _chart.getData().remove(row.series);
                            try {
                                series.getData().clear();
                            } catch (NullPointerException ex) {
                                // JavaFX bug
                            }
                        }
                    }
                }
            });
        }
    };
    delete.setEnabled(false);
    delete.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));

    _legendTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                delete.setEnabled(_legendTable.getSelectedRows().length > 0);
            }
        }
    });

    //
    // Create the tool bar
    //
    class ToolBar extends JToolBar {
        public ToolBar() {
            putClientProperty(Options.HEADER_STYLE_KEY, HeaderStyle.BOTH);
            putClientProperty(PlasticLookAndFeel.BORDER_STYLE_KEY, BorderStyle.SEPARATOR);
            setFloatable(false);
            putClientProperty("JToolBar.isRollover", Boolean.TRUE);

            JButton button = new JButton(delete);
            button.setText(null);
            button.setIcon(Utils.getIcon("/icons/24x24/delete.png"));
            add(button);
        }
    }

    //
    // Create menus
    //
    JMenuBar menuBar = new JMenuBar();

    JMenu fileMenu = new JMenu("File");
    fileMenu.setMnemonic(java.awt.event.KeyEvent.VK_F);
    fileMenu.add(preferences);
    menuBar.add(fileMenu);

    JMenu editMenu = new JMenu("Edit");
    editMenu.setMnemonic(java.awt.event.KeyEvent.VK_E);
    editMenu.add(delete);
    menuBar.add(editMenu);

    setJMenuBar(menuBar);

    //
    // Set default renderer for numeric values.
    //
    _legendTable.setDefaultRenderer(Double.class, new FormatedNumberRenderer("#0.000"));

    //
    // Set a combobox to edit the scale factors.
    //
    JComboBox<Double> scales = new JComboBox<Double>(_scales);
    scales.setRenderer(new DecimalRenderer(scales.getRenderer()));
    _legendTable.getColumnModel().getColumn(7).setCellEditor(new DefaultCellEditor(scales));

    //
    //Set default renderer and editor for Color.class column.
    //
    _legendTable.setDefaultRenderer(Color.class, new ColorRenderer(true));
    _legendTable.setDefaultEditor(Color.class, new ColorEditor());

    _legendTable.setAutoCreateRowSorter(true);

    final JFXPanel fxPanel = new JFXPanel();
    fxPanel.setMinimumSize(new Dimension(0, 200));
    fxPanel.setPreferredSize(new Dimension(800, 400));
    //
    // Build the split pane, with the chart graph and the legend table.
    //
    _splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
    _splitPane.setTopComponent(fxPanel);
    JScrollPane scrollPane = new JScrollPane(_legendTable);
    scrollPane.setTransferHandler(new TransferHandler());
    scrollPane.setMinimumSize(new Dimension(0, 50));
    scrollPane.setPreferredSize(new Dimension(800, 200));
    _splitPane.setBottomComponent(scrollPane);

    DefaultFormBuilder builder = new DefaultFormBuilder(
            new FormLayout("fill:pref:grow", "fill:pref:grow, pref"));
    builder.append(_splitPane);
    builder.nextLine();

    JPanel panel = builder.getPanel();
    panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
    getContentPane().add(new ToolBar(), BorderLayout.PAGE_START);
    getContentPane().add(panel, BorderLayout.CENTER);
    setPreferredSize(new Dimension(800, 600));

    //
    // initialize the scene in JavaFX thread.
    //
    enqueueJFX(new Runnable() {
        @Override
        public void run() {
            _xAxis = new NumberAxis();
            _yAxis = new NumberAxis();

            _chart = new LineChart<Number, Number>(_xAxis, _yAxis);
            _chart.setCreateSymbols(false);
            _xAxis.setLabel("Time (" + getDateFormat() + ")");
            _xAxis.setTickLabelFormatter(_timeFormater);
            _xAxis.setForceZeroInRange(false);
            _chart.setAnimated(true);
            _chart.setLegendVisible(false);

            final Scene scene = new Scene(_chart);
            scene.setOnDragOver(new EventHandler<DragEvent>() {
                @Override
                public void handle(DragEvent event) {
                    Dragboard db = event.getDragboard();
                    if (event.getGestureSource() != scene && db.hasContent(LocalObjectMimeType)) {
                        Object object = db.getContent(LocalObjectMimeType);
                        if (object instanceof MetricsViewTransferableData) {
                            event.acceptTransferModes(TransferMode.COPY);
                        }
                    }
                    event.consume();
                }
            });

            scene.setOnDragDropped(new EventHandler<DragEvent>() {
                @Override
                public void handle(DragEvent event) {
                    boolean success = false;
                    Dragboard db = event.getDragboard();
                    if (event.getGestureSource() != scene && db.hasContent(LocalObjectMimeType)) {
                        Object object = db.getContent(LocalObjectMimeType);
                        if (object instanceof MetricsViewTransferableData) {
                            addSeries((MetricsViewTransferableData) object);
                            success = true;
                        }
                    }
                    event.setDropCompleted(success);
                    event.consume();
                }
            });
            fxPanel.setScene(scene);
        }
    });

    pack();
    if (!loadPreferences()) {
        Rectangle otherRect = _coordinator.getMainFrame().getBounds();
        Rectangle thisRect = getBounds();
        if (otherRect.width < thisRect.width || otherRect.height < thisRect.height) {
            setLocationRelativeTo(null);
        } else {
            setLocationRelativeTo(_coordinator.getMainFrame());
        }
        _splitPane.setDividerLocation(400);
    }
    setVisible(true);

    //
    // Show info dialog if required.
    //
    if (showInfo()) {
        JCheckBox checkbox = new JCheckBox("Do not show this message again.");
        String message = "Drop metrics cells to add them to the graph.";

        JOptionPane.showConfirmDialog(this, new Object[] { message, checkbox }, "Information",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);
        if (checkbox.isSelected()) {
            _preferences.node("GraphView").putBoolean("showInfo", false);
        }
    }
}

From source file:IceGridGUI.LiveDeployment.LogFilterDialog.java

License:Open Source License

LogFilterDialog(final ShowIceLogDialog dialog) {
    super(dialog, "Ice log filter - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

    java.util.Set<Ice.LogMessageType> messageTypeFilterSet = null;
    if (dialog.getMessageTypeFilter() != null) {
        messageTypeFilterSet = new java.util.HashSet<>(java.util.Arrays.asList(dialog.getMessageTypeFilter()));
    }/*  ww  w .  j  a  v  a  2  s  .  c  o  m*/

    final JCheckBox error = new JCheckBox("Error",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.ErrorMessage));
    final JCheckBox warning = new JCheckBox("Warning",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.WarningMessage));
    final JCheckBox print = new JCheckBox("Print",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.PrintMessage));
    final JCheckBox trace = new JCheckBox("Trace",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(Ice.LogMessageType.TraceMessage));

    final JTextArea traceCategories = new JTextArea(3, 40);
    traceCategories.setLineWrap(true);

    String[] traceCategoryFilter = dialog.getTraceCategoryFilter();
    if (traceCategoryFilter != null) {
        // TODO: join with escapes!
        traceCategories.setText(
                IceUtilInternal.StringUtil.joinString(java.util.Arrays.asList(traceCategoryFilter), ", "));
    } else {
        traceCategories.setText(null);
    }

    traceCategories.setToolTipText("Trace categories separated by commas; leave blank to get all categories");

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String[] traceCategoryFilter = null;

            String txt = traceCategories.getText();
            if (txt != null && !txt.isEmpty()) {
                traceCategoryFilter = IceUtilInternal.StringUtil.splitString(txt, ", \t\r\n");
                if (traceCategoryFilter == null) {
                    // unmatched quote
                    JOptionPane.showMessageDialog(LogFilterDialog.this,
                            "Unmatched quote in Trace categories field", "Invalid entry",
                            JOptionPane.ERROR_MESSAGE);
                    return;
                }

                if (traceCategoryFilter.length == 0) // only separators
                {
                    traceCategoryFilter = null;
                }
            }

            java.util.Set<Ice.LogMessageType> messageTypeFilterSet = new java.util.HashSet<>();
            if (error.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.ErrorMessage);
            }
            if (warning.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.WarningMessage);
            }
            if (print.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.PrintMessage);
            }
            if (trace.isSelected()) {
                messageTypeFilterSet.add(Ice.LogMessageType.TraceMessage);
            }
            if (messageTypeFilterSet.size() == 0 || messageTypeFilterSet.size() == 4) {
                // All or nothing checked equivalent of getting everything!
                messageTypeFilterSet = null;
            }
            Ice.LogMessageType[] messageTypeFilter = null;
            if (messageTypeFilterSet != null) {
                messageTypeFilter = messageTypeFilterSet.toArray(new Ice.LogMessageType[0]);
            }

            dispose();
            dialog.setFilters(messageTypeFilter, traceCategoryFilter);
        }
    };
    okButton.addActionListener(okListener);
    getRootPane().setDefaultButton(okButton);

    JButton cancelButton = new JButton("Cancel");
    ActionListener cancelListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            dispose();
        }
    };
    cancelButton.addActionListener(cancelListener);

    FormLayout layout = new FormLayout("left:pref, 3dlu, fill:pref:grow", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());

    builder.appendSeparator("Retrieve only the following types of log messages (server-side filtering)");
    builder.nextLine();
    builder.append(error);
    builder.nextLine();
    builder.append(warning);
    builder.nextLine();
    builder.append(print);
    builder.nextLine();
    builder.append(trace);
    builder.nextLine();
    builder.append("Trace categories");
    builder.nextLine();
    builder.append("");
    builder.nextRow(-2);
    CellConstraints cc = new CellConstraints();
    JScrollPane scrollPane = new JScrollPane(traceCategories);
    builder.add(scrollPane, cc.xywh(builder.getColumn(), builder.getRow(), 1, 3));
    builder.nextRow(2);
    builder.nextLine();

    JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton).build();
    buttonBar.setBorder(Borders.DIALOG);

    java.awt.Container contentPane = getContentPane();
    contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    contentPane.add(builder.getPanel());
    contentPane.add(buttonBar);

    pack();
    setResizable(false);
    setLocationRelativeTo(dialog);
    setVisible(true);
}

From source file:IceGridGUI.LiveDeployment.WriteMessageDialog.java

License:Open Source License

WriteMessageDialog(final Root root) {
    super(root.getCoordinator().getMainFrame(), "Write Message - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);

    _mainFrame = root.getCoordinator().getMainFrame();

    _stdOut = new JRadioButton("Write to stdout");
    _stdOut.setSelected(true);/*  w ww  .  j  a v a2 s  . c om*/
    JRadioButton stdErr = new JRadioButton("Write to stderr");
    ButtonGroup bg = new ButtonGroup();
    bg.add(_stdOut);
    bg.add(stdErr);

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            final Coordinator c = root.getCoordinator();

            AdminPrx admin = c.getAdmin();
            if (admin == null) {
                JOptionPane.showMessageDialog(_mainFrame, "No longer connected to IceGrid Registry",
                        "Writing message to server '" + _target + "' failed", JOptionPane.ERROR_MESSAGE);
            } else {

                Ice.Identity adminId = new Ice.Identity(_target, c.getServerAdminCategory());

                final Ice.ProcessPrx process = Ice.ProcessPrxHelper
                        .uncheckedCast(admin.ice_identity(adminId).ice_facet("Process"));

                final String prefix = "Writing message to server '" + _target + "'...";
                c.getStatusBar().setText(prefix);

                Ice.Callback_Process_writeMessage cb = new Ice.Callback_Process_writeMessage() {
                    @Override
                    public void response() {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                c.getStatusBar().setText(prefix + "done.");
                            }
                        });
                    }

                    @Override
                    public void exception(final Ice.LocalException e) {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                handleFailure("Communication exception: " + e.toString());
                            }
                        });
                    }

                    private void handleFailure(String message) {
                        c.getStatusBar().setText(prefix + "failed!");

                        JOptionPane.showMessageDialog(_mainFrame, message,
                                "Writing message to server '" + process.ice_getIdentity().name + "' failed",
                                JOptionPane.ERROR_MESSAGE);
                    }
                };

                try {
                    process.begin_writeMessage(_message.getText(), _stdOut.isSelected() ? 1 : 2, cb);
                } catch (Ice.LocalException ex) {
                    c.getStatusBar().setText(prefix + "failed.");
                    JOptionPane.showMessageDialog(_mainFrame, "Communication exception: " + ex.toString(),
                            "Writing message to server '" + _target + "' failed", JOptionPane.ERROR_MESSAGE);

                    return;
                }
            }

            setVisible(false);
        }
    };
    okButton.addActionListener(okListener);
    getRootPane().setDefaultButton(okButton);

    JButton cancelButton = new JButton("Cancel");
    ActionListener cancelListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            setVisible(false);
        }
    };
    cancelButton.addActionListener(cancelListener);

    FormLayout layout = new FormLayout("left:pref, 3dlu, fill:pref:grow", "");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());

    _message.setLineWrap(true);
    JScrollPane scrollPane = new JScrollPane(_message, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    builder.append(scrollPane, 3);
    builder.nextLine();
    builder.append(_stdOut);
    builder.append(stdErr);
    builder.nextLine();

    JComponent buttonBar = new ButtonBarBuilder().addGlue().addButton(okButton, cancelButton).build();
    buttonBar.setBorder(Borders.DIALOG);

    Container contentPane = getContentPane();
    contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
    contentPane.add(builder.getPanel());
    contentPane.add(buttonBar);

    pack();
    setResizable(false);
}

From source file:IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getSubjectPanel(X509Certificate cert) throws javax.naming.InvalidNameException {
    java.util.HashMap<String, Object> details = new java.util.HashMap<String, Object>();
    LdapName dn = new LdapName(cert.getSubjectX500Principal().getName());
    for (Rdn rdn : dn.getRdns()) {
        details.put(rdn.getType().toUpperCase(), rdn.getValue());
    }//  w ww  . ja  va  2s . c o m

    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Subject");
    builder.nextLine();

    if (details.get("CN") != null) {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"),
                new JLabel(details.get("CN").toString()));
    } else {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"));
    }

    if (details.get("O") != null) {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"),
                new JLabel(details.get("O").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"));
    }

    if (details.get("OU") != null) {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"),
                new JLabel(details.get("OU").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"));
    }
    builder.append(new JLabel("<html><b>Serial Number:</b></html>"),
            new JLabel(cert.getSerialNumber().toString()));

    return builder.getPanel();
}

From source file:IceGridGUI.SessionKeeper.java

License:Open Source License

public static JPanel getIssuerPanel(X509Certificate cert) throws javax.naming.InvalidNameException {
    java.util.HashMap<String, Object> details = new java.util.HashMap<String, Object>();

    LdapName dn = new LdapName(cert.getIssuerX500Principal().getName());
    for (Rdn rdn : dn.getRdns()) {
        details.put(rdn.getType().toUpperCase(), rdn.getValue());
    }//from   www . j  a  v  a2 s  . co m

    FormLayout layout = new FormLayout("right:pref, 2dlu, left:pref:grow", "pref");
    DefaultFormBuilder builder = new DefaultFormBuilder(layout);
    builder.border(Borders.DIALOG);
    builder.rowGroupingEnabled(true);
    builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
    builder.addSeparator("Issuer");
    builder.nextLine();
    if (details.get("CN") != null) {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"),
                new JLabel(details.get("CN").toString()));
    } else {
        builder.append(new JLabel("<html><b>Common Name (CN):</b></html>"));
    }

    if (details.get("O") != null) {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"),
                new JLabel(details.get("O").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization (O):</b></html>"));
    }

    if (details.get("OU") != null) {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"),
                new JLabel(details.get("OU").toString()));
    } else {
        builder.append(new JLabel("<html><b>Organization Unit (OU):</b></html>"));
    }

    return builder.getPanel();
}