Package lcmc.common.ui.utils

Examples of lcmc.common.ui.utils.ButtonCallback


                                    serviceInfo.migrateResource(hostName,
                                                                serviceInfo.getBrowser().getDCHost(),
                                                                runMode);
                                }
                            });
            final ButtonCallback migrateItemCallback =
                    serviceInfo.getBrowser().new ClMenuItemCallback(null)
                            .addAction(new CallbackAction() {
                                @Override
                                public void run(final Host dcHost) {
                                    serviceInfo.migrateResource(hostName, dcHost, Application.RunMode.TEST);
                                }
                            });
            serviceInfo.addMouseOverListener(migrateMenuItem, migrateItemCallback);
            submenu.add(migrateMenuItem);
        }
        for (final Host host : serviceInfo.getBrowser().getClusterHosts()) {
            final String hostName = host.getName();

            final MyMenuItem forceMigrateMenuItem =
                    menuFactory.createMenuItem(
                            Tools.getString("ClusterBrowser.Hb.ForceMigrateResource") + ' ' + hostName,
                            ServiceInfo.MIGRATE_ICON,
                            ClusterBrowser.STARTING_PTEST_TOOLTIP,

                            Tools.getString("ClusterBrowser.Hb.ForceMigrateResource") + ' ' + hostName + " (offline)",
                            ServiceInfo.MIGRATE_ICON,
                            ClusterBrowser.STARTING_PTEST_TOOLTIP,

                            new AccessMode(AccessMode.OP, AccessMode.NORMAL),
                            new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                            .predicate(new Predicate() {
                                @Override
                                public boolean check() {
                                    return host.isCrmStatusOk();
                                }
                            })
                            .visiblePredicate(new VisiblePredicate() {
                                @Override
                                public boolean check() {
                                    if (!host.isCrmStatusOk()) {
                                        return false;
                                    }
                                    final List<String> runningOnNodes = serviceInfo.getRunningOnNodes(runMode);
                                    if (runningOnNodes == null || runningOnNodes.isEmpty()) {
                                        return false;
                                    }
                                    final String runningOnNode = runningOnNodes.get(0).toLowerCase(Locale.US);
                                    if (!serviceInfo.getBrowser().crmStatusFailed()
                                        && serviceInfo.getService().isAvailable()
                                        && !hostName.toLowerCase(Locale.US).equals(runningOnNode)
                                        && host.isCrmStatusOk()) {
                                        return true;
                                    } else {
                                        return false;
                                    }
                                }
                            })
                            .addAction(new MenuAction() {
                                @Override
                                public void run(final String text) {
                                    serviceInfo.hidePopup();
                                    serviceInfo.forceMigrateResource(hostName,
                                                                     serviceInfo.getBrowser().getDCHost(),
                                                                     runMode);
                                }
                            });
            final ButtonCallback forceMigrateItemCallback =
                    serviceInfo.getBrowser().new ClMenuItemCallback(null)
                            .addAction(new CallbackAction() {
                                @Override
                                public void run(final Host dcHost) {
                                    serviceInfo.forceMigrateResource(hostName,
View Full Code Here


                });
                thread.start();
            }
        });
        dlm.addElement(existingServiceMenu);
        final ButtonCallback mmiCallback =
                serviceInfo.getBrowser().new ClMenuItemCallback(null)
                        .addAction(new CallbackAction() {
                            @Override
                            public void run(final Host dcHost) {
                                serviceInfo.addServicePanel(otherService,
View Full Code Here

        if (getBrowser().getDrbdXml() == null) {
            mainPanel.add(new JLabel("drbd info not available"));
            infoPanelDone();
            return mainPanel;
        }
        final ButtonCallback buttonCallback = new ButtonCallback() {
            private volatile boolean mouseStillOver = false;

            /** Whether the whole thing should be enabled. */
            @Override
            public boolean isEnabled() {
View Full Code Here

        application.isSwingThread();
        if (infoPanel != null) {
            infoPanelDone();
            return infoPanel;
        }
        final ButtonCallback buttonCallback = new ButtonCallback() {
            private volatile boolean mouseStillOver = false;

            @Override
            public boolean isEnabled() {
                return true;
View Full Code Here

                }
            }
        });
        final ClusterBrowser cb = getClusterBrowser();
        if (cb != null) {
            final ButtonCallback attachItemCallback = cb.new DRBDMenuItemCallback(getHost())
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            if (blockDevInfo.isDiskless(Application.RunMode.LIVE)) {
                                blockDevInfo.attach(Application.RunMode.TEST);
                            } else {
                                blockDevInfo.detach(Application.RunMode.TEST);
                            }
                        }
                    });
            blockDevInfo.addMouseOverListener(attachMenu, attachItemCallback);
        }
        items.add(attachMenu);

        /* connect / disconnect */
        final MyMenuItem connectMenu =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.Disconnect"),
                        null,
                        Tools.getString("HostBrowser.Drbd.Disconnect"),
                        Tools.getString("HostBrowser.Drbd.Connect"),
                        null,
                        Tools.getString("HostBrowser.Drbd.Connect"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .predicate(new Predicate() {
                            @Override
                            public boolean check() {
                                return blockDevInfo.isConnectedOrWF(runMode);
                            }
                        })
                        .visiblePredicate(new VisiblePredicate() {
                            @Override
                            public boolean check() {
                                return getBlockDevice().isDrbd();
                            }
                        })
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (!getBlockDevice().isDrbd()) {
                                    return BlockDevInfo.NO_DRBD_RESOURCE_STRING;
                                }
                                if (!application.isAdvancedMode() && getDrbdResourceInfo().isUsedByCRM()) {
                                    return VolumeInfo.IS_USED_BY_CRM_STRING;
                                }
                                if (!getBlockDevice().isSyncing()
                                    || ((getBlockDevice().isPrimary()
                                         && getBlockDevice().isSyncSource())
                                         || (blockDevInfo.getOtherBlockDevInfo().getBlockDevice().isPrimary()
                                         && getBlockDevice().isSyncTarget()))) {
                                    return null;
                                } else {
                                    return VolumeInfo.IS_SYNCING_STRING;
                                }
                            }
                        });
        connectMenu.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                if (connectMenu.getText().equals(Tools.getString("HostBrowser.Drbd.Connect"))) {
                    blockDevInfo.connect(runMode);
                } else {
                    blockDevInfo.disconnect(runMode);
                }
            }
        });
        if (cb != null) {
            final ButtonCallback connectItemCallback =
                    cb.new DRBDMenuItemCallback(getHost())
                            .addAction(new CallbackAction() {
                                @Override
                                public void run(final Host host) {
                                    if (blockDevInfo.isConnectedOrWF(Application.RunMode.LIVE)) {
View Full Code Here

    private JComponent getInfoPanelVolume() {
        getBrowser().getDrbdGraph().pickInfo(this);
        if (infoPanel != null) {
            return infoPanel;
        }
        final ButtonCallback buttonCallback = new ButtonCallback() {
            private volatile boolean mouseStillOver = false;

            @Override
            public boolean isEnabled() {
                return true;
View Full Code Here

                            }
                        });
        items.add(adjustAllItem);
        final ClusterBrowser cb = hostDrbdInfo.getBrowser().getClusterBrowser();
        if (cb != null) {
            final ButtonCallback adjustAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.adjust(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(adjustAllItem, adjustAllItemCallback);
        }

        /* start drbd */
        final MyMenuItem upAllItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.UpAll"),
                        null,
                        Tools.getString("HostBrowser.Drbd.UpAll"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (!host.isDrbdStatusOk()) {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.up(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(upAllItem);
        if (cb != null) {
            final ButtonCallback upAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.up(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(upAllItem, upAllItemCallback);
        }

        /* change host color */
        final UpdatableItem changeHostColorItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.ChangeHostColor"),
                        null,
                        Tools.getString("HostBrowser.Drbd.ChangeHostColor"),
                        new AccessMode(AccessMode.RO, AccessMode.NORMAL),
                        new AccessMode(AccessMode.RO, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                final Color newColor = JColorChooser.showDialog(guiData.getMainFrame(),
                                        "Choose " + host.getName() + " color",
                                        host.getPmColors()[0]);
                                if (newColor != null) {
                                    host.setSavedHostColorInGraphs(newColor);
                                }
                            }
                        });
        items.add(changeHostColorItem);

        /* view logs */
        final UpdatableItem viewLogsItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.ViewLogs"),
                        Info.LOGFILE_ICON,
                        Tools.getString("HostBrowser.Drbd.ViewLogs"),
                        new AccessMode(AccessMode.RO, AccessMode.NORMAL),
                        new AccessMode(AccessMode.RO, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (!host.isConnected()) {
                                    return Host.NOT_CONNECTED_MENU_TOOLTIP_TEXT;
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                final DrbdsLog drbdsLog = drbdsLogProvider.get();
                                drbdsLog.init(host);
                                drbdsLog.showDialog();
                            }
                        });
        items.add(viewLogsItem);

        /* connect all */
        final MyMenuItem connectAllItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.ConnectAll"),
                        null,
                        Tools.getString("HostBrowser.Drbd.ConnectAll"),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.connect(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                            }
                        });
        items.add(connectAllItem);
        if (cb != null) {
            final ButtonCallback connectAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.connect(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(connectAllItem, connectAllItemCallback);
        }

        /* disconnect all */
        final MyMenuItem disconnectAllItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.DisconnectAll"),
                        null,
                        Tools.getString("HostBrowser.Drbd.DisconnectAll"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.disconnect(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(disconnectAllItem);
        if (cb != null) {
            final ButtonCallback disconnectAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.disconnect(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(disconnectAllItem, disconnectAllItemCallback);
        }

        /* attach dettached */
        final MyMenuItem attachAllItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.AttachAll"),
                        null,
                        Tools.getString("HostBrowser.Drbd.AttachAll"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.attach(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(attachAllItem);
        if (cb != null) {
            final ButtonCallback attachAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.attach(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(attachAllItem, attachAllItemCallback);
        }

        /* detach */
        final MyMenuItem detachAllItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.DetachAll"),
                        null,
                        Tools.getString("HostBrowser.Drbd.DetachAll"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.detach(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(detachAllItem);
        if (cb != null) {
            final ButtonCallback detachAllItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.detach(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(detachAllItem, detachAllItemCallback);
        }

        /* set all primary */
        final MyMenuItem setAllPrimaryItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.SetAllPrimary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.SetAllPrimary"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.setPrimary(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(setAllPrimaryItem);
        if (cb != null) {
            final ButtonCallback setAllPrimaryItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.setPrimary(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
                    });
            hostDrbdInfo.addMouseOverListener(setAllPrimaryItem, setAllPrimaryItemCallback);
        }

        /* set all secondary */
        final MyMenuItem setAllSecondaryItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.SetAllSecondary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.SetAllSecondary"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL))
                        .enablePredicate(new EnablePredicate() {
                            @Override
                            public String check() {
                                if (host.isDrbdStatusOk()) {
                                    return null;
                                } else {
                                    return HostDrbdInfo.NO_DRBD_STATUS_TOOLTIP;
                                }
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                DRBD.setSecondary(host, DRBD.ALL_DRBD_RESOURCES, null, runMode);
                            }
                        });
        items.add(setAllSecondaryItem);
        if (cb != null) {
            final ButtonCallback setAllSecondaryItemCallback = cb.new DRBDMenuItemCallback(host)
                    .addAction(new CallbackAction() {
                        @Override
                        public void run(final Host host) {
                            DRBD.setSecondary(host, DRBD.ALL_DRBD_RESOURCES, null, Application.RunMode.TEST);
                        }
View Full Code Here

TOP

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

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.