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.EditorBase.java

License:Open Source License

protected void buildPropertiesPanel() {
    JComponent contents = createPropertiesPanel();

    if (contents == null) {
        FormLayout layout = new FormLayout("right:pref, 3dlu, fill:pref:grow, 3dlu, pref", "");

        DefaultFormBuilder builder = new DefaultFormBuilder(layout);
        builder.border(Borders.DLU2);//from   w w w. j ava 2 s .  c  o m
        builder.rowGroupingEnabled(true);
        builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());

        appendProperties(builder);

        contents = builder.getPanel();
    }

    JScrollPane scrollPane = new JScrollPane(contents, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

    scrollPane.setBorder(Borders.DIALOG);

    if (_propertiesPanel == null) {
        _propertiesPanel = new JPanel(new BorderLayout());
    } else {
        _propertiesPanel.removeAll();
    }
    _propertiesPanel.add(scrollPane, BorderLayout.CENTER);
    _propertiesPanel.setBorder(Borders.EMPTY);
    _propertiesPanel.revalidate();
}

From source file:com.zeroc.IceGridGUI.LiveDeployment.ApplicationDetailsDialog.java

License:Open Source License

ApplicationDetailsDialog(final Root root) {
    super(root.getCoordinator().getMainFrame(), "Application Details - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    _mainFrame = root.getCoordinator().getMainFrame();

    _name.setEditable(false);/*from  w w w  . ja  va 2 s  . c  o m*/
    _uuid.setEditable(false);
    _createTime.setEditable(false);
    _createUser.setEditable(false);
    _updateTime.setEditable(false);
    _updateUser.setEditable(false);
    _revision.setEditable(false);

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

    builder.append("Name", _name);
    builder.nextLine();
    builder.append("UUID", _uuid);
    builder.nextLine();
    builder.append("Created", _createTime);
    builder.nextLine();
    builder.append("Created by", _createUser);
    builder.nextLine();
    builder.append("Last Update", _updateTime);
    builder.nextLine();
    builder.append("Updated by", _updateUser);
    builder.nextLine();
    builder.append("Revision", _revision);
    builder.nextLine();

    Container contentPane = getContentPane();
    contentPane.add(builder.getPanel());

    pack();
    setResizable(false);
}

From source file:com.zeroc.IceGridGUI.LiveDeployment.GraphView.java

License:Open Source License

public GraphView(Coordinator coordinator, String title) {
    _coordinator = coordinator;/*  w w  w . j a  v  a2s .  com*/
    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<>(_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<>(_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(() -> {
        _xAxis = new NumberAxis();
        _yAxis = new NumberAxis();

        _chart = new LineChart<>(_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()) {
        _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:com.zeroc.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<com.zeroc.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(LogMessageType.ErrorMessage));
    final JCheckBox warning = new JCheckBox("Warning",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(LogMessageType.WarningMessage));
    final JCheckBox print = new JCheckBox("Print",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(LogMessageType.PrintMessage));
    final JCheckBox trace = new JCheckBox("Trace",
            messageTypeFilterSet == null || messageTypeFilterSet.contains(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(com.zeroc.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 = com.zeroc.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<LogMessageType> messageTypeFilterSet = new java.util.HashSet<>();
            if (error.isSelected()) {
                messageTypeFilterSet.add(LogMessageType.ErrorMessage);
            }
            if (warning.isSelected()) {
                messageTypeFilterSet.add(LogMessageType.WarningMessage);
            }
            if (print.isSelected()) {
                messageTypeFilterSet.add(LogMessageType.PrintMessage);
            }
            if (trace.isSelected()) {
                messageTypeFilterSet.add(LogMessageType.TraceMessage);
            }
            if (messageTypeFilterSet.size() == 0 || messageTypeFilterSet.size() == 4) {
                // All or nothing checked equivalent of getting everything!
                messageTypeFilterSet = null;
            }
            LogMessageType[] messageTypeFilter = null;
            if (messageTypeFilterSet != null) {
                messageTypeFilter = messageTypeFilterSet.toArray(new 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:com.zeroc.IceGridGUI.LiveDeployment.LogPrefsDialog.java

License:Open Source License

LogPrefsDialog(final ShowLogFileDialog dialog) {
    super(dialog, "Preferences - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

    final JTextField maxLinesField = new JTextField(10);
    maxLinesField.setText(Integer.toString(dialog.getMaxLines()));
    maxLinesField.setToolTipText("Maximum number of lines in this dialog's buffer");

    final JTextField maxSizeField = new JTextField(10);
    maxSizeField.setText(Integer.toString(dialog.getMaxSize()));
    maxSizeField.setToolTipText("Maximum number of characters in this dialog's buffer");

    final JTextField initialLinesField = new JTextField(10);
    initialLinesField.setText(Integer.toString(dialog.getInitialLines()));
    initialLinesField.setToolTipText("Start by retrieving <num> lines from the server; -1 means retrieve all");

    final JTextField maxReadSizeField = new JTextField(10);
    maxReadSizeField.setText(Integer.toString(dialog.getMaxReadSize()));
    maxReadSizeField.setToolTipText("Maximum number of bytes read by each request");

    final JTextField periodField = new JTextField(10);
    periodField.setText(Float.toString((float) dialog.getPeriod() / 1000));
    periodField.setToolTipText("After reaching EOF, check every <num> seconds for new output");

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override//from   ww  w  .j  a  va  2 s  . c  om
        public void actionPerformed(ActionEvent e) {
            try {
                int maxLines = parseInt(maxLinesField, "Max lines in buffer");
                int maxSize = parseInt(maxSizeField, "Max characters in buffer");
                int initialLines = parseInt(initialLinesField, "Number of lines retrieved initially");
                int maxReadSize = parseInt(maxReadSizeField, "Max bytes read per request");
                int period = (int) (parseFloat(periodField, "Poll period (seconds)") * 1000);

                dialog.setPrefs(maxLines, maxSize, initialLines, maxReadSize, period);
                dispose();
            } catch (NumberFormatException ex) {
                return;
            }
        }
    };
    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.append("Max lines in buffer", maxLinesField);
    builder.nextLine();
    builder.append("Max characters in buffer", maxSizeField);
    builder.nextLine();
    builder.append("Number of lines retrieved initially", initialLinesField);
    builder.nextLine();
    builder.append("Max bytes read per request", maxReadSizeField);
    builder.nextLine();
    builder.append("Poll period (seconds)", periodField);
    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:com.zeroc.IceGridGUI.LiveDeployment.LogPrefsDialog.java

License:Open Source License

LogPrefsDialog(final ShowIceLogDialog dialog) {
    super(dialog, "Preferences - IceGrid Admin", true);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

    final JTextField maxMessagesField = new JTextField(10);
    maxMessagesField.setText(Integer.toString(dialog.getMaxMessages()));
    maxMessagesField.setToolTipText("Maximum number of log messages to keep in this dialog's buffer");

    final JTextField initialMessagesField = new JTextField(10);
    initialMessagesField.setText(Integer.toString(dialog.getInitialMessages()));
    initialMessagesField//from  www  . j  a  v a  2 s.c  o m
            .setToolTipText("Start by retrieving <num> log messages from the server; -1 means retrieve all");

    JButton okButton = new JButton("OK");
    ActionListener okListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                int maxMessages = parseInt(maxMessagesField, "Max log messages in buffer");
                int initialMessages = parseInt(initialMessagesField,
                        "Number of log messages retrieved initially");
                dialog.setPrefs(maxMessages, initialMessages);
                dispose();
            } catch (NumberFormatException ex) {
                return;
            }
        }
    };
    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.append("Max log messages in buffer", maxMessagesField);
    builder.nextLine();
    builder.append("Number of log messages retrieved initially", initialMessagesField);
    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:com.zeroc.IceGridGUI.LiveDeployment.ObjectDialog.java

License:Open Source License

ObjectDialog(final Root root, boolean readOnly) {
    super(root.getCoordinator().getMainFrame(),
            (readOnly ? "" : "New ") + "Dynamic Well-Known Object - IceGrid Admin", true);

    setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
    _mainFrame = root.getCoordinator().getMainFrame();

    _proxy.setLineWrap(true);/*  ww w .  ja  v  a2 s.  c  om*/

    if (readOnly) {
        _proxy.setEditable(false);
        _proxy.setOpaque(false);
        _type.setEditable(false);
    } else {
        _typeCombo.setEditable(true);
    }

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

    builder.append("Proxy");
    builder.nextLine();
    builder.append("");
    builder.nextRow(-2);
    CellConstraints cc = new CellConstraints();
    JScrollPane scrollPane = new JScrollPane(_proxy);
    builder.add(scrollPane, cc.xywh(builder.getColumn(), builder.getRow(), 1, 3));
    builder.nextRow(2);
    builder.nextLine();

    if (readOnly) {
        builder.append("Type", _type);
    } else {
        builder.append("Type", _typeCombo);
    }
    builder.nextLine();

    Container contentPane = getContentPane();
    if (readOnly) {
        contentPane.add(builder.getPanel());
    } else {
        JButton okButton = new JButton("OK");
        ActionListener okListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (_proxy.isEditable()) {
                    String type = null;
                    if (_typeCombo.getSelectedItem() != QUERY_OBJECT) {
                        type = _typeCombo.getSelectedItem().toString();
                    }

                    root.addObject(_proxy.getText(), type, ObjectDialog.this);
                } else {
                    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);

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

        contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
        contentPane.add(builder.getPanel());
        contentPane.add(buttonBar);
    }

    pack();
    setResizable(false);
}

From source file:com.zeroc.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);//from   w ww  . jav a2 s  .c o 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 {
                com.zeroc.Ice.Identity adminId = new com.zeroc.Ice.Identity(_target,
                        c.getServerAdminCategory());

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

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

                try {
                    process.writeMessageAsync(_message.getText(), _stdOut.isSelected() ? 1 : 2)
                            .whenComplete((result, ex) -> {
                                if (ex == null) {
                                    SwingUtilities.invokeLater(() -> {
                                        c.getStatusBar().setText(prefix + "done.");
                                    });
                                } else {
                                    SwingUtilities.invokeLater(() -> {
                                        c.getStatusBar().setText(prefix + "failed!");

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

                } catch (com.zeroc.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:com.zeroc.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<>();
    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 . 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:com.zeroc.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<>();

    LdapName dn = new LdapName(cert.getIssuerX500Principal().getName());
    for (Rdn rdn : dn.getRdns()) {
        details.put(rdn.getType().toUpperCase(), rdn.getValue());
    }/*from   w  ww .  j a  v  a2s  .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();
}