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

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

Introduction

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

Prototype

boolean rowGroupingEnabled

To view the source code for com.jgoodies.forms.builder DefaultFormBuilder rowGroupingEnabled.

Click Source Link

Document

Determines whether new data rows are being grouped or not.

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);/*from   www  .j  a va 2s . c  o m*/
    builder.rowGroupingEnabled(true);
    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);//ww w. j av  a  2s .c o  m
    builder.rowGroupingEnabled(true);
    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);/*w w w . jav a 2s.c  o m*/
    builder.rowGroupingEnabled(true);
    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:IceGridGUI.LiveDeployment.GraphView.java

License:Open Source License

public GraphView(Coordinator coordinator, String title) {
    _coordinator = coordinator;/*w w  w . j av a2s.  co  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()));
    }/*from   w  w  w.j  a v  a  2s  .  co 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  av  a 2 s  . co m
    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());
    }//from  ww w .  j a  v a 2  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("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());
    }/*ww  w  . j av  a  2  s .  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("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();
}