Package lcmc.common.ui.utils

Examples of lcmc.common.ui.utils.MyButton


    /** Returns combo box for parameter. */
    @Override
    protected Widget createWidget(final String param, final String prefix, final int width) {
        if (FilesystemData.SOURCE_DIR.equals(param)) {
            final Value sourceDir = getParamSaved(FilesystemData.SOURCE_DIR);
            final MyButton fileChooserBtn = widgetFactory.createButton("Browse...");
            application.makeMiniButton(fileChooserBtn);
            final String regexp = ".*[^/]?$";
            final Widget paramWi = widgetFactory.createInstance(
                                     getFieldType(param),
                                     sourceDir,
                                     getParamPossibleChoices(param),
                                     regexp,
                                     width,
                                     Widget.NO_ABBRV,
                                     new AccessMode(getAccessType(param), AccessMode.NORMAL),
                                     fileChooserBtn);
            paramWi.setAlwaysEditable(true);
            if (prefix == null) {
                sourceDirWi.put("", paramWi);
            } else {
                sourceDirWi.put(prefix, paramWi);
            }
            if (Tools.isWindows()) {
                paramWi.setTFButtonEnabled(false);
            }
            fileChooserBtn.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(final ActionEvent e) {
                    final Thread t = new Thread(new Runnable() {
                        @Override
                        public void run() {
View Full Code Here


    @Override
    protected Object[][] getTableData(final String tableName) {
        final List<Object[]> rows = new ArrayList<Object[]>();
        for (final Host host : getBrowser().getClusterHosts()) {
            final MyButton hostLabel = widgetFactory.createButton(host.getName(), HostBrowser.HOST_ICON_LARGE);
            hostLabel.setOpaque(true);
            rows.add(new Object[]{hostLabel,
                                  host.getBrowser().host.getDrbdInfoAboutInstallation(),
                                  host.getBrowser().getPacemakerInfo()});
        }
        return rows.toArray(new Object[rows.size()][]);
View Full Code Here

    public final void setApplyButtons(final String param, final String[] params) {
        final Check check = checkResourceFields(param, params);
        application.invokeLater(new Runnable() {
            @Override
            public void run() {
                final MyButton ab = getApplyButton();
                final Resource r = getResource();
                if (ab != null) {
                    if (r != null && r.isNew()) {
                        check.addChanged("new resource");
                    }
                    ab.setEnabled(check);
                }
                final MyButton rb = getRevertButton();
                if (rb != null) {
                    rb.setEnabledChanged(check);
                }
            }
        });
    }
View Full Code Here

                    });
                }
            } else {
                drbdFailed = true;
                if (drbdLoadedChanged) {
                    final MyButton drbdLoadButton = drbdLoadButtons.get(i);
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            drbdLoadedInfo.setText(Tools.getString("Dialog.Cluster.Init.DrbdIsNotLoaded"));
                            drbdLoadedInfo.setForeground(Color.RED);
                            drbdLoadButton.setVisible(true);
                        }
                    });
                }
            }

            final boolean csAisIsInstalled = h.getOpenaisVersion() != null || h.getCorosyncVersion() != null;
            final boolean csAisRunning = h.isCorosyncRunning() || h.isOpenaisRunning();
            final boolean csAisIsRc = h.isCorosyncInRc() || h.isOpenaisInRc();
            final boolean csAisIsConf = h.corosyncOrOpenaisConfigExists();

            final boolean heartbeatIsInstalled = h.getHeartbeatVersion() != null;
            final boolean heartbeatIsRunning = h.isHeartbeatRunning();
            final boolean heartbeatIsRc = h.isHeartbeatInRc();
            final boolean heartbeatIsConf = h.heartbeatConfigExists();
            if (!csAisRunning && h.hasCorosyncInitScript() && h.hasOpenaisInitScript()) {
                needOpenaisButton = true;
            }

            boolean hbChanged = false;
            boolean csAisChanged = false;
            if (lastPmStartedExists) {
                if (lastPacemakerStarted[i] != csAisRunning) {
                    oneChanged = true;
                    csAisChanged = true;
                    lastPacemakerStarted[i] = csAisRunning;
                }
                if (lastPacemakerInRc[i] != csAisIsRc) {
                    oneChanged = true;
                    csAisChanged = true;
                    lastPacemakerInRc[i] = csAisIsRc;
                }
                if (lastPacemakerConfigured[i] != csAisIsConf) {
                    oneChanged = true;
                    csAisChanged = true;
                    lastPacemakerConfigured[i] = csAisIsConf;
                }
                if (lastPacemakerInstalled[i] != csAisIsInstalled) {
                    oneChanged = true;
                    csAisChanged = true;
                    lastPacemakerInstalled[i] = csAisIsInstalled;
                }

                if (lastHeartbeatStarted[i] != heartbeatIsRunning) {
                    oneChanged = true;
                    hbChanged = true;
                    lastHeartbeatStarted[i] = heartbeatIsRunning;
                }
                if (lastHeartbeatInRc[i] != heartbeatIsRc) {
                    oneChanged = true;
                    hbChanged = true;
                    lastHeartbeatInRc[i] = heartbeatIsRc;
                }
                if (lastHeartbeatConfigured[i] != heartbeatIsConf) {
                    oneChanged = true;
                    hbChanged = true;
                    lastHeartbeatConfigured[i] = heartbeatIsConf;
                }
                if (lastHeartbeatInstalled[i] != heartbeatIsInstalled) {
                    oneChanged = true;
                    hbChanged = true;
                    lastHeartbeatInstalled[i] = heartbeatIsInstalled;
                }
            } else {
                oneChanged = true;
                csAisChanged = true;
                lastPacemakerStarted[i] = csAisRunning;
                lastPacemakerInRc[i] = csAisIsRc;
                lastPacemakerConfigured[i] = csAisIsConf;
                lastPacemakerInstalled[i] = csAisIsInstalled;

                hbChanged = true;
                lastHeartbeatStarted[i] = heartbeatIsRunning;
                lastHeartbeatInRc[i] = heartbeatIsRc;
                lastHeartbeatConfigured[i] = heartbeatIsConf;
                lastHeartbeatInstalled[i] = heartbeatIsInstalled;
            }

            /* Corosync/Openais */
            final JLabel pmStartedInfo = pacemakerStartedLabels.get(i);
            final MyButton csAisStartButton = startPacemakerButtons.get(i);
            String is = "Corosync";
            if (!useCorosync(h) && h.getOpenaisVersion() != null) {
                is = "OpenAIS";
            }
            final String initScript = is;
            boolean csAisFailed = false;
            if (csAisRunning) {
                if (csAisChanged || hbChanged) {
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            pmStartedInfo.setText(
                                initScript + Tools.getString("Dialog.Cluster.Init.CsAisIsRunning"));
                            pmStartedInfo.setForeground(Color.BLACK);
                            if (csAisIsRc) {
                                csAisStartButton.setVisible(false);
                                pmStartedInfo.setText(
                                    initScript + Tools.getString("Dialog.Cluster.Init.CsAisIsRc"));
                            } else if (heartbeatIsRunning || heartbeatIsRc) {
                                csAisStartButton.setText(COROSYNC_AIS_BUTTON_SWITCH_TEXT);
                                csAisStartButton.setVisible(true);
                            } else {
                                csAisStartButton.setText(Tools.getString("Dialog.Cluster.Init.CsAisButtonRc"));
                                csAisStartButton.setVisible(true);
                            }
                        }
                    });
                }
            } else {
                csAisFailed = true;
                if (csAisChanged || hbChanged) {
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            if (heartbeatIsRunning || heartbeatIsRc) {
                                csAisStartButton.setText(COROSYNC_AIS_BUTTON_SWITCH_TEXT);
                            } else {
                                csAisStartButton.setText(Tools.getString("Dialog.Cluster.Init.StartCsAisButton"));
                            }
                            if (!csAisIsInstalled) {
                                pmStartedInfo.setText(initScript
                                                      + Tools.getString("Dialog.Cluster.Init.CsAisIsNotInstalled"));
                                csAisStartButton.setEnabled(false);
                            } else if (!csAisIsConf) {
                                pmStartedInfo.setText(initScript
                                                      + Tools.getString("Dialog.Cluster.Init.CsAisIsNotConfigured"));
                                csAisStartButton.setEnabled(false);
                            } else {
                                pmStartedInfo.setText(
                                   initScript + Tools.getString("Dialog.Cluster.Init.CsAisIsStopped"));
                                if (heartbeatIsRunning) {
                                    csAisStartButton.setEnabled(false);
                                } else {
                                    guiData.setAccessible(csAisStartButton, AccessMode.OP);
                                }
                            }
                            csAisStartButton.setVisible(true);
                            pmStartedInfo.setForeground(Color.RED);
                        }
                    });
                }
            }

            /* Heartbeat */
            final JLabel hbStartedInfo = heartbeatStartedLabels.get(i);
            final MyButton hbStartButton = startHeartbeatButtons.get(i);
            boolean hbFailed = false;
            if (heartbeatIsRunning) {
                if (hbChanged || csAisChanged) {
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            hbStartedInfo.setText(Tools.getString("Dialog.Cluster.Init.HbIsRunning"));
                            hbStartedInfo.setForeground(Color.BLACK);
                            if (heartbeatIsRc) {
                                hbStartButton.setVisible(false);
                                hbStartedInfo.setText(Tools.getString("Dialog.Cluster.Init.HbIsRc"));
                            } else if (csAisRunning || csAisIsRc) {
                                hbStartButton.setText(HEARTBEAT_BUTTON_SWITCH_TEXT);
                                hbStartButton.setVisible(true);
                            } else {
                                hbStartButton.setText(Tools.getString("Dialog.Cluster.Init.HbButtonRc"));
                                hbStartButton.setVisible(true);
                            }
                        }
                    });
                }
            } else {
                hbFailed = true;
                if (hbChanged || csAisChanged) {
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            if (csAisRunning || csAisIsRc) {
                                hbStartButton.setText(HEARTBEAT_BUTTON_SWITCH_TEXT);
                            } else {
                                hbStartButton.setText(Tools.getString("Dialog.Cluster.Init.StartHbButton"));
                            }
                            if (!heartbeatIsInstalled) {
                                hbStartedInfo.setText(Tools.getString("Dialog.Cluster.Init.HbIsNotInstalled"));
                                hbStartButton.setEnabled(false);
                            } else if (!heartbeatIsConf) {
                                hbStartedInfo.setText(Tools.getString("Dialog.Cluster.Init.HbIsNotConfigured"));
                                hbStartButton.setEnabled(false);
                            } else {
                                hbStartedInfo.setText(Tools.getString("Dialog.Cluster.Init.HbIsStopped"));
                                if (csAisRunning) {
                                    hbStartButton.setEnabled(false);
                                } else {
                                    guiData.setAccessible(hbStartButton, AccessMode.OP);
                                }
                            }
                            hbStartButton.setVisible(true);
                            hbStartedInfo.setForeground(Color.RED);
                        }
                    });
                }
            }
View Full Code Here

            final TitledBorder titledBorder = BorderFactory.createTitledBorder(host.getName());
            titledBorder.setTitleJustification(TitledBorder.LEFT);
            pane.setBorder(titledBorder);

            drbdLoadedLabels.add(new JLabel(Tools.getString("Dialog.Cluster.Init.CheckingDrbd")));
            final MyButton drbdb = widgetFactory.createButton(Tools.getString("Dialog.Cluster.Init.LoadDrbdButton"));
            drbdb.setBackgroundColor(Tools.getDefaultColor("ConfigDialog.Button"));
            drbdLoadButtons.add(drbdb);
            drbdLoadButtons.get(i).setVisible(false);

            drbdLoadButtons.get(i).addActionListener(
                new ActionListener() {
                    @Override
                    public void actionPerformed(final ActionEvent e) {
                        final Thread thread = new Thread(
                            new Runnable() {
                                @Override
                                public void run() {
                                    application.invokeLater(new Runnable() {
                                        @Override
                                        public void run() {
                                            drbdLoadButtons.get(index).setVisible(false);
                                        }
                                    });
                                    final Application.RunMode runMode = Application.RunMode.LIVE;
                                    DRBD.load(host, runMode);
                                    checkCluster(false);
                                }
                            }
                        );
                        thread.start();
                    }
                });

            pane.add(drbdLoadedLabels.get(i));
            pane.add(drbdLoadButtons.get(i));

            /* Heartbeat */
            heartbeatStartedLabels.add(new JLabel(Tools.getString("Dialog.Cluster.Init.CheckingHb")));
            final MyButton btn;
            if (host.isCorosyncRunning() || host.isOpenaisRunning() || host.isCorosyncInRc() || host.isOpenaisInRc()) {
                btn = widgetFactory.createButton(HEARTBEAT_BUTTON_SWITCH_TEXT);
            } else {
                btn = widgetFactory.createButton(Tools.getString("Dialog.Cluster.Init.StartHbButton"));
            }
            btn.setBackgroundColor(Tools.getDefaultColor("ConfigDialog.Button"));
            startHeartbeatButtons.add(btn);
            startHeartbeatButtons.get(i).setVisible(false);

            startHeartbeatButtons.get(i).addActionListener(
                new ActionListener() {
                    @Override
                    public void actionPerformed(final ActionEvent e) {
                        final Thread thread = new Thread(
                            new Runnable() {
                                @Override
                                public void run() {
                                    disableComponents();
                                    application.invokeLater(new Runnable() {
                                        @Override
                                        public void run() {
                                            startHeartbeatButtons.get(index).setVisible(false);
                                        }
                                    });
                                    if (Tools.getString("Dialog.Cluster.Init.HbButtonRc").equals(
                                                                                            e.getActionCommand())) {
                                        Heartbeat.addHeartbeatToRc(host);
                                    } else if (useCorosync(host)
                                               && HEARTBEAT_BUTTON_SWITCH_TEXT.equals(e.getActionCommand())) {
                                        Heartbeat.switchFromCorosyncToHeartbeat(host);
                                    } else if (!useCorosync(host)
                                               && HEARTBEAT_BUTTON_SWITCH_TEXT.equals(e.getActionCommand())) {
                                        Heartbeat.switchFromOpenaisToHeartbeat(host);
                                    } else {
                                        if (host.isHeartbeatInRc()) {
                                            Heartbeat.startHeartbeat(host);
                                        } else {
                                            Heartbeat.startHeartbeatRc(host);
                                        }
                                    }
                                    checkCluster(false);
                                }
                            }
                        );
                        thread.start();
                    }
                });

            pane.add(heartbeatStartedLabels.get(i));
            pane.add(startHeartbeatButtons.get(i));

            /* Pacemaker */
            pacemakerStartedLabels.add(new JLabel(Tools.getString("Dialog.Cluster.Init.CheckingPm")));
            final MyButton pmsb = widgetFactory.createButton(Tools.getString("Dialog.Cluster.Init.StartCsAisButton"));
            pmsb.setBackgroundColor(Tools.getDefaultColor("ConfigDialog.Button"));
            startPacemakerButtons.add(pmsb);
            startPacemakerButtons.get(i).setVisible(false);

            startPacemakerButtons.get(i).addActionListener(new ActionListener() {
                @Override
View Full Code Here

    @Override
    protected Object[][] getTableData(final String tableName) {
        final List<Object[]> rows = new ArrayList<Object[]>();
        /** Get classes */
        for (final ResourceAgent ra : getBrowser().getCrmXml().getServices(getName())) {
            final MyButton nameLabel = widgetFactory.createButton(ra.getServiceName());
            rows.add(new Object[]{nameLabel, ra.getProvider()});
        }
        return rows.toArray(new Object[rows.size()][]);
    }
View Full Code Here

        final JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0));
        buttonPanel.setBackground(ClusterBrowser.BUTTON_PANEL_BACKGROUND);
        buttonPanel.setMinimumSize(new Dimension(0, 50));
        buttonPanel.setPreferredSize(new Dimension(0, 50));
        buttonPanel.setMaximumSize(new Dimension(Short.MAX_VALUE, 50));
        final MyButton overviewButton = widgetFactory.createButton(
                                                            Tools.getString("ClusterBrowser.ClassesOverviewButton"),
                                                            BACK_TO_OVERVIEW_ICON);
        overviewButton.setPreferredSize(new Dimension(application.scaled(180), 50));
        overviewButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                getBrowser().getAvailableServicesInfo().selectMyself();
            }
        });
View Full Code Here

        } else {
            prefixS = prefix;
        }
        if (DiskData.SOURCE_FILE.equals(param)) {
            final Value sourceFile = getParamSaved(DiskData.SOURCE_FILE);
            final MyButton fileChooserBtn = widgetFactory.createButton("Browse...");
            application.makeMiniButton(fileChooserBtn);
            final String regexp = ".*[^/]$";
            final Widget paramWi = widgetFactory.createInstance(
                                     getFieldType(param),
                                     sourceFile,
                                     getParamPossibleChoices(param),
                                     regexp,
                                     width,
                                     Widget.NO_ABBRV,
                                     new AccessMode(getAccessType(param),
                                                    AccessMode.NORMAL),
                                     fileChooserBtn);
            paramWi.setAlwaysEditable(true);
            sourceFileWi.put(prefixS, paramWi);
            if (Tools.isWindows()) {
                /* does not work on windows and I tried, ultimately because
                   FilePane.usesShellFolder(fc) in BasicFileChooserUI returns
                   true and it is not possible to descent into a directory.
                   TODO: It may work in the future.
                */
                paramWi.setTFButtonEnabled(false);
            }
            fileChooserBtn.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(final ActionEvent e) {
                    final Thread t = new Thread(new Runnable() {
                        @Override
                        public void run() {
View Full Code Here

                    LOG.sshError(host, "", answer, stacktrace, errorCode);
                }

            };
        // TODO: disable buttons if disconnected?
        final MyButton procDrbdButton = widgetFactory.createButton("/proc/drbd");
        procDrbdButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                host.execCommand(new ExecCommandConfig().commandString("DRBD.getProcDrbd")
                                                        .silentCommand()
                                                        .silentOutput()
                                                        .execCallback(execCallback));
            }
        });
        host.registerEnableOnConnect(procDrbdButton);
        final MyButton drbdProcsButton = widgetFactory.createButton("DRBD Processes");
        drbdProcsButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
                host.execCommand(new ExecCommandConfig().commandString("DRBD.getProcesses")
                                                        .silentCommand()
                                                        .silentOutput()
View Full Code Here

    @Override
    protected Object[][] getTableData(final String tableName) {
        final List<Object[]> rows = new ArrayList<Object[]>();
        /** Get classes */
        for (final String cl : ClusterBrowser.CRM_CLASSES) {
            final MyButton className = widgetFactory.createButton(cl.toUpperCase(Locale.US));
            rows.add(new Object[]{className, ClusterBrowser.CRM_CLASS_MENU.get(cl)});
        }
        return rows.toArray(new Object[rows.size()][]);
    }
View Full Code Here

TOP

Related Classes of lcmc.common.ui.utils.MyButton

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.