Examples of MyMenuItem


Examples of lcmc.common.ui.utils.MyMenuItem

                                              final MyList<MyMenuItem> list,
                                              final JCheckBox colocationWi,
                                              final JCheckBox orderWi,
                                              final Iterable<JDialog> popups,
                                              final Application.RunMode runMode) {
        final MyMenuItem existingServiceMenu = menuFactory.createMenuItem(
                                                    name,
                                                    null,
                                                    null,
                                                    new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                                    new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        existingServiceMenu.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                final Thread thread = new Thread(new Runnable() {
                    @Override
                    public void run() {
                        serviceInfo.hidePopup();
                        application.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                for (final JDialog otherP : popups) {
                                    otherP.dispose();
                                }
                            }
                        });
                        serviceInfo.addServicePanel(otherService,
                                                    null,
                                                    colocationWi.isSelected(),
                                                    orderWi.isSelected(),
                                                    true,
                                                    serviceInfo.getBrowser().getDCHost(),
                                                    runMode);
                        application.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                existingServiceMenu.repaint();
                            }
                        });
                    }
                });
                thread.start();
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

                                   final MyMenu menu,
                                   final CrmXml crmXML,
                                   final Point2D pos,
                                   final ResourceAgent fsService,
                                   final Application.RunMode runMode) {
        final MyMenuItem ldMenuItem = menuFactory.createMenuItem(
                                            Tools.getString("ClusterBrowser.linbitDrbdMenuName"),
                                            null,
                                            null,
                                            new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                            new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        ldMenuItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                serviceInfo.hidePopup();
                if (!serviceInfo.getBrowser().linbitDrbdConfirmDialog()) {
                    return;
                }

                final FilesystemRaInfo fsi = (FilesystemRaInfo) serviceInfo.addServicePanel(
                                                                                  fsService,
                                                                                  ldMenuItem.getPos(),
                                                                                  true, /* colocation */
                                                                                  true, /* order */
                                                                                  true,
                                                                                  false,
                                                                                  runMode);
                fsi.setDrbddiskIsPreferred(false);
                serviceInfo.getBrowser().getCrmGraph().repaint();
            }
        });
        if (serviceInfo.getBrowser().atLeastOneDrbddiskConfigured() || !crmXML.isLinbitDrbdResourceAgentPresent()) {
            ldMenuItem.setEnabled(false);
        }
        ldMenuItem.setPos(pos);
        menu.add(ldMenuItem);
    }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

                                 final MyMenu menu,
                                 final CrmXml crmXML,
                                 final Point2D pos,
                                 final ResourceAgent fsService,
                                 final Application.RunMode runMode) {
        final MyMenuItem ddMenuItem = menuFactory.createMenuItem(
                                                     Tools.getString("ClusterBrowser.DrbddiskMenuName"),
                                                     null,
                                                     null,
                                                     new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                                     new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        ddMenuItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                serviceInfo.hidePopup();
                final FilesystemRaInfo fsi = (FilesystemRaInfo) serviceInfo.addServicePanel(
                                                                                fsService,
                                                                                ddMenuItem.getPos(),
                                                                                true, /* colocation */
                                                                                true, /* order */
                                                                                true,
                                                                                false,
                                                                                runMode);
                fsi.setDrbddiskIsPreferred(true);
                serviceInfo.getBrowser().getCrmGraph().repaint();
            }
        });
        if (serviceInfo.getBrowser().isOneLinbitDrbdRaConfigured() || !crmXML.isDrbddiskResourceAgentPresent()) {
            ddMenuItem.setEnabled(false);
        }
        ddMenuItem.setPos(pos);
        menu.add(ddMenuItem);
    }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

    private void addIpMenu(final ServiceInfo serviceInfo,
                           final MyMenu menu,
                           final Point2D pos,
                           final ResourceAgent ipService,
                           final Application.RunMode runMode) {
        final MyMenuItem ipMenuItem = menuFactory.createMenuItem(ipService.getPullDownMenuName(),
                                            null,
                                            null,
                                            new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                            new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        ipMenuItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                serviceInfo.hidePopup();
                serviceInfo.addServicePanel(ipService,
                                            ipMenuItem.getPos(),
                                            true, /* colocation */
                                            true, /* order */
                                            true,
                                            false,
                                            runMode);
                serviceInfo.getBrowser().getCrmGraph().repaint();
            }
        });
        ipMenuItem.setPos(pos);
        menu.add(ipMenuItem);
    }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

    private void addFilesystemMenu(final ServiceInfo serviceInfo,
                                   final MyMenu menu,
                                   final Point2D pos,
                                   final ResourceAgent fsService,
                                   final Application.RunMode runMode) {
        final MyMenuItem fsMenuItem =
                menuFactory.createMenuItem(fsService.getPullDownMenuName(),
                                           null,
                                           null,
                                           new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                           new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        fsMenuItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                serviceInfo.hidePopup();
                serviceInfo.addServicePanel(fsService,
                                            fsMenuItem.getPos(),
                                            true, /* colocation */
                                            true, /* order */
                                            true,
                                            false,
                                            runMode);
                serviceInfo.getBrowser().getCrmGraph().repaint();
            }
        });
        fsMenuItem.setPos(pos);
        menu.add(fsMenuItem);
    }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

                                      final Point2D pos,
                                      final Iterable<JDialog> popups,
                                      final JCheckBox colocationWi,
                                      final JCheckBox orderWi,
                                      final Application.RunMode runMode) {
        final MyMenuItem resourceAgentMenu = menuFactory.createMenuItem(
                                                  ra.getPullDownMenuName(),
                                                  null,
                                                  null,
                                                  new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                                  new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        resourceAgentMenu.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                serviceInfo.hidePopup();
                application.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        for (final JDialog otherP : popups) {
                            otherP.dispose();
                        }
                    }
                });
                if (ra.isLinbitDrbd() && !serviceInfo.getBrowser().linbitDrbdConfirmDialog()) {
                    return;
                } else if (ra.isHbDrbd() && !serviceInfo.getBrowser().hbDrbdConfirmDialog()) {
                    return;
                }
                serviceInfo.addServicePanel(ra,
                                            resourceAgentMenu.getPos(),
                                            colocationWi.isSelected(),
                                            orderWi.isSelected(),
                                            true,
                                            false,
                                            runMode);
                serviceInfo.getBrowser().getCrmGraph().repaint();
            }
        });
        resourceAgentMenu.setPos(pos);
        dlm.addElement(resourceAgentMenu);
    }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

    protected void addDependencyMenuItems(final ServiceInfo serviceInfo,
                                          final Collection<UpdatableItem> items,
                                          final boolean enableForNew,
                                          final Application.RunMode runMode) {
        /* add new group and dependency*/
        final MyMenuItem addGroupMenuItem =
                menuFactory.createMenuItem(Tools.getString("ClusterBrowser.Hb.AddDependentGroup"),
                                           null,
                                           null,
                                           new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                                           new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        addGroupMenuItem.enablePredicate(new EnablePredicate() {
                    @Override
                    public String check() {
                        if (serviceInfo.getBrowser().crmStatusFailed()) {
                            return ClusterBrowser.UNKNOWN_CLUSTER_STATUS_STRING;
                        } else if (serviceInfo.getService().isRemoved()) {
                            return ServiceInfo.IS_BEING_REMOVED_STRING;
                        } else if (serviceInfo.getService().isOrphaned()) {
                            return ServiceInfo.IS_ORPHANED_STRING;
                        } else if (serviceInfo.getService().isNew()) {
                            return ServiceInfo.IS_NEW_STRING;
                        }
                        return null;
                    }
                })
                .addAction(new MenuAction() {
                    @Override
                    public void run(final String text) {
                        serviceInfo.hidePopup();
                        final CrmXml crmXML = serviceInfo.getBrowser().getCrmXml();
                        serviceInfo.addServicePanel(crmXML.getGroupResourceAgent(),
                                                    addGroupMenuItem.getPos(),
                                                    false, /* colocation only */
                                                    false, /* order only */
                                                    true,
                                                    false,
                                                    runMode);
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

            @Override
            public void run() {
                newHardwareMenu.removeAll();
                final Point2D pos = newHardwareMenu.getPos();
                /* disk */
                final MyMenuItem newDiskMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewDisk"),
                        BlockDevInfo.HARDDISK_ICON_LARGE,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addDiskPanel();
                            }
                        });
                newDiskMenuItem.setPos(pos);
                newHardwareMenu.add(newDiskMenuItem);

                /* fs */
                final MyMenuItem newFilesystemMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewFilesystem"),
                        BlockDevInfo.HARDDISK_ICON_LARGE,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addFilesystemPanel();
                            }
                        });
                newFilesystemMenuItem.setPos(pos);
                newHardwareMenu.add(newFilesystemMenuItem);

                /* interface */
                final MyMenuItem newInterfaceMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewInterface"),
                        NetInfo.NET_INTERFACE_ICON_LARGE,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addInterfacePanel();
                            }
                        });
                newInterfaceMenuItem.setPos(pos);
                newHardwareMenu.add(newInterfaceMenuItem);

                /* graphics */
                final MyMenuItem newGraphicsMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewGraphics"),
                        DomainInfo.VNC_ICON,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addGraphicsPanel();
                            }
                        });
                newGraphicsMenuItem.setPos(pos);
                newHardwareMenu.add(newGraphicsMenuItem);

                /* input dev */
                final MyMenuItem newInputDevMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewInputDev"),
                        null,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addInputDevPanel();
                            }
                        });
                newInputDevMenuItem.setPos(pos);
                newHardwareMenu.add(newInputDevMenuItem);

                /* sounds */
                final MyMenuItem newSoundsMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewSound"),
                        null,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addSoundsPanel();
                            }
                        });
                newSoundsMenuItem.setPos(pos);
                newHardwareMenu.add(newSoundsMenuItem);

                /* serials */
                final MyMenuItem newSerialsMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewSerial"),
                        null,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addSerialsPanel();
                            }
                        });
                newSerialsMenuItem.setPos(pos);
                newHardwareMenu.add(newSerialsMenuItem);

                /* parallels */
                final MyMenuItem newParallelsMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewParallel"),
                        null,
                        new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addParallelsPanel();
                            }
                        });
                newParallelsMenuItem.setPos(pos);
                newHardwareMenu.add(newParallelsMenuItem);

                /* videos */
                final MyMenuItem newVideosMenuItem = menuFactory.createMenuItem(
                        Tools.getString("DomainInfo.AddNewVideo"),
                        null,
                        new AccessMode(AccessMode.ADMIN, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                domainInfo.hidePopup();
                                domainInfo.addVideosPanel();
                            }
                        });
                newVideosMenuItem.setPos(pos);
                newHardwareMenu.add(newVideosMenuItem);
                newHardwareMenu.updateMenuComponents();
                newHardwareMenu.processAccessMode();
            }
        });
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

        items.add(getVGRemoveItem());
        items.add(getLVCreateItem());
        items.add(getLVRemoveItem());
        items.add(getLVResizeItem());
        items.add(getLVSnapshotItem());
        final MyMenuItem attachMenu =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.Detach"),
                        BlockDevInfo.NO_HARDDISK_ICON_LARGE,
                        Tools.getString("HostBrowser.Drbd.Detach.ToolTip"),

                        Tools.getString("HostBrowser.Drbd.Attach"),
                        BlockDevInfo.HARDDISK_DRBD_ICON_LARGE,
                        Tools.getString("HostBrowser.Drbd.Attach.ToolTip"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .predicate(new Predicate() {
                            @Override
                            public boolean check() {
                                return !getBlockDevice().isDrbd() || getBlockDevice().isAttached();
                            }
                        })

                        .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()) {
                                    return VolumeInfo.IS_SYNCING_STRING;
                                }
                                return null;
                            }
                        });
        attachMenu.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                if (attachMenu.getText().equals(Tools.getString("HostBrowser.Drbd.Attach"))) {
                    blockDevInfo.attach(runMode);
                } else {
                    blockDevInfo.detach(runMode);
                }
            }
        });
        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)) {
                                        blockDevInfo.disconnect(Application.RunMode.TEST);
                                    } else {
                                        blockDevInfo.connect(Application.RunMode.TEST);
                                    }
                                }
                            });
            blockDevInfo.addMouseOverListener(connectMenu, connectItemCallback);
        }
        items.add(connectMenu);

        /* set primary */
        final UpdatableItem setPrimaryItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.SetPrimaryOtherSecondary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.SetPrimaryOtherSecondary"),

                        Tools.getString("HostBrowser.Drbd.SetPrimary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.SetPrimary"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .predicate(new Predicate() {
                            @Override
                            public boolean check() {
                                if (!getBlockDevice().isDrbd()) {
                                    return false;
                                }
                                return getBlockDevice().isSecondary()
                                        && blockDevInfo.getOtherBlockDevInfo().getBlockDevice().isPrimary();
                            }
                        })
                        .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().isSecondary()) {
                                    return "cannot do that to the primary";
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                final BlockDevInfo oBdi = blockDevInfo.getOtherBlockDevInfo();
                                if (oBdi != null
                                        && oBdi.getBlockDevice().isPrimary()
                                        && !"yes".equals(getDrbdResourceInfo().getParamSaved(
                                        BlockDevInfo.ALLOW_TWO_PRIMARIES).getValueForConfig())) {
                                    oBdi.setSecondary(runMode);
                                }
                                blockDevInfo.setPrimary(runMode);
                            }
                        });
        items.add(setPrimaryItem);

        /* set secondary */
        final UpdatableItem setSecondaryItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.SetSecondary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.SetSecondary.ToolTip"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .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().isPrimary()) {
                                    return "cannot do that to the secondary";
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                blockDevInfo.setSecondary(runMode);
                            }
                        });
        items.add(setSecondaryItem);

        /* force primary */
        final UpdatableItem forcePrimaryItem =
                menuFactory.createMenuItem(Tools.getString("HostBrowser.Drbd.ForcePrimary"),
                        null,
                        Tools.getString("HostBrowser.Drbd.ForcePrimary"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .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;
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                blockDevInfo.forcePrimary(runMode);
                            }
                        });
        items.add(forcePrimaryItem);

        /* invalidate */
        final UpdatableItem invalidateItem =
                menuFactory.createMenuItem(
                        Tools.getString("HostBrowser.Drbd.Invalidate"),
                        null,
                        Tools.getString("HostBrowser.Drbd.Invalidate.ToolTip"),
                        new AccessMode(AccessMode.ADMIN, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .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()) {
                                    return VolumeInfo.IS_SYNCING_STRING;
                                }
                                if (getDrbdVolumeInfo().isVerifying()) {
                                    return VolumeInfo.IS_VERIFYING_STRING;
                                }
                                return null;
                            }
                        })
                        .addAction(new MenuAction() {
                            @Override
                            public void run(final String text) {
                                blockDevInfo.invalidateBD(runMode);
                            }
                        });
        items.add(invalidateItem);

        /* resume / pause sync */
        final MyMenuItem resumeSyncItem =
                menuFactory.createMenuItem(
                        Tools.getString("HostBrowser.Drbd.ResumeSync"),
                        null,
                        Tools.getString("HostBrowser.Drbd.ResumeSync.ToolTip"),

                        Tools.getString("HostBrowser.Drbd.PauseSync"),
                        null,
                        Tools.getString("HostBrowser.Drbd.PauseSync.ToolTip"),
                        new AccessMode(AccessMode.OP, AccessMode.ADVANCED),
                        new AccessMode(AccessMode.OP, AccessMode.NORMAL))
                        .predicate(new Predicate() {
                            @Override
                            public boolean check() {
                                return getBlockDevice().isSyncing() && getBlockDevice().isPausedSync();
                            }
                        })
                        .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()) {
                                    return "it is not being synced";
                                }
                                return null;
                            }
                        });
        resumeSyncItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                if (resumeSyncItem.getText().equals(Tools.getString("HostBrowser.Drbd.ResumeSync"))) {
                    blockDevInfo.resumeSync(runMode);
                } else {
                    blockDevInfo.pauseSync(runMode);
                }
            }
View Full Code Here

Examples of lcmc.common.ui.utils.MyMenuItem

    /**
     * Returns 'add drbd resource' menu item.
     */
    private MyMenuItem addDrbdResourceMenuItem(final BlockDevInfo oBdi, final Application.RunMode runMode) {
        final MyMenuItem drbdResourceMenuItem = menuFactory.createMenuItem(oBdi.toString(),
                null,
                null,
                new AccessMode(AccessMode.ADMIN, AccessMode.NORMAL),
                new AccessMode(AccessMode.OP, AccessMode.NORMAL));
        drbdResourceMenuItem.addAction(new MenuAction() {
            @Override
            public void run(final String text) {
                drbdResourceMenuItem.cleanup();
                blockDevInfo.resetInfoPanel();
                blockDevInfo.setInfoPanel(null);
                oBdi.cleanup();
                oBdi.resetInfoPanel();
                oBdi.setInfoPanel(null);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.