Package lcmc.drbd.ui.resource

Examples of lcmc.drbd.ui.resource.VolumeInfo


        } else {
            final List<BlockDevInfo> blockDevices = new ArrayList<BlockDevInfo>(Arrays.asList(blockDevInfo1,
                                                                                              blockDevInfo2));
            final ResourceInfo resourceInfo = globalInfo.getNewDrbdResource(
                                                            VolumeInfo.getHostsFromBlockDevices(blockDevices));
            final VolumeInfo dvi = globalInfo.getNewDrbdVolume(resourceInfo, blockDevices);
            resourceInfo.addDrbdVolume(dvi);
            globalInfo.addDrbdResource(resourceInfo);
            application.invokeAndWait(new Runnable() {
                @Override
                public void run() {
View Full Code Here


        if (FS_RES_PARAM_DEV.equals(param)) {
            Value selectedValue = getPreviouslySelected(param, prefix);
            if (selectedValue == null) {
                selectedValue = getParamSaved(param);
            }
            final VolumeInfo selectedInfo = getBrowser().getDrbdVolumeFromDev(selectedValue.getValueForConfig());
            if (selectedInfo != null) {
                selectedValue = selectedInfo;
            }
            Value defaultValue = null;
            if (selectedValue.isNothingSelected()) {
View Full Code Here

        if (id == null) {
            return super.toString(); /* this is for 'new Filesystem' */
        }

        final StringBuilder s = new StringBuilder(getName());
        final VolumeInfo dvi = getBrowser().getDrbdVolumeFromDev(getParamSaved(FS_RES_PARAM_DEV).getValueForConfig());
        if (dvi == null) {
            id = getParamSaved(FS_RES_PARAM_DEV).getValueForConfig();
        } else {
            id = dvi.getDrbdResourceInfo().getName();
            s.delete(0, s.length());
            s.append("Filesystem / Drbd");
        }
        if (id == null || id.isEmpty()) {
            id = Tools.getString("ClusterBrowser.ClusterBlockDevice.Unconfigured");
View Full Code Here

    }

    /** Removes the service without confirmation dialog. */
    @Override
    protected void removeMyselfNoConfirm(final Host dcHost, final Application.RunMode runMode) {
        final VolumeInfo oldDvi = getBrowser().getDrbdVolumeFromDev(
                                            getParamSaved(FS_RES_PARAM_DEV).getValueForConfig());
        super.removeMyselfNoConfirm(dcHost, runMode);
        if (oldDvi != null && Application.isLive(runMode)) {
            final Thread t = new Thread(new Runnable() {
                @Override
                public void run() {
                    oldDvi.updateMenus(null);
                }
            });
            t.start();
        }
    }
View Full Code Here

                putDrbdResHash();
                final List<BlockDevInfo> bdis = new ArrayList<BlockDevInfo>(Arrays.asList(bd1, bd2)); if (dri == null) {
                    dri = globalInfo.addDrbdResource(resName, VolumeInfo.getHostsFromBlockDevices(bdis), runMode);
                    atLeastOneAdded = true;
                }
                VolumeInfo dvi = dri.getDrbdVolumeInfo(volumeNr);
                if (dvi == null) {
                    dvi = globalInfo.addDrbdVolume(dri, volumeNr, drbdDev, bdis, runMode);
                    atLeastOneAdded = true;
                }
                dri.setParameters();
                dvi.setParameters();
                final ResourceInfo dri0 = dri;
                dri0.getInfoPanel();
            }
        }
        //TODO: it would remove it during drbd wizards
View Full Code Here

                    continue;
                }
                if (!blockDevInfos.contains(bdi)) {
                    /* removing */
                    final Vertex bdv = bdiToVertexMap.get(bdi);
                    final VolumeInfo dvi = bdi.getDrbdVolumeInfo();
                    if (dvi != null) {
                        removeDrbdVolume(dvi);
                        dvi.getDrbdResourceInfo().removeDrbdVolumeFromHashes(dvi);
                    }
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            lockGraph();
View Full Code Here

     * Returns label for drbd volume edge. If it is longer than 10
     * characters, it is shortened.
     */
    @Override
    protected String getLabelForEdgeStringer(final Edge edge) {
        final VolumeInfo dvi = edgeToDrbdVolumeMap.get(edge);
        if (dvi != null
            && dvi.getName() != null
            && dvi.getDrbdResourceInfo() != null) {
            final Vertex source = edge.getSource();
            final Vertex dest = edge.getDest();
            final BlockDevInfo sourceBDI = (BlockDevInfo) getInfo(source);
            if (sourceBDI == null) {
                return "";
            }
            final BlockDevInfo destBDI = (BlockDevInfo) getInfo(dest);
            if (destBDI == null) {
                return "";
            }
            final BlockDevice sourceBD = sourceBDI.getBlockDevice();
            final BlockDevice destBD = destBDI.getBlockDevice();
            final Application.RunMode runMode = getRunMode();
            if (!destBDI.isConnected(runMode)) {
                if (sourceBDI.isWFConnection(runMode)
                    && !destBDI.isWFConnection(runMode)) {
                    edge.setDirection(dest, source);
                    application.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            repaint();
                        }
                    });

                }
            } else if (!sourceBD.isPrimary() && destBD.isPrimary()) {
                edge.setDirection(dest, source);
                application.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        repaint();
                    }
                });
            }
            final StringBuilder l = new StringBuilder(dvi.getNameForGraph());
            final Map<Vertex, Point2D> vl = getVertexLocations();
            final Point2D sp = vl.get(source);
            final Point2D dp = vl.get(dest);
            putVertexLocations();
            final int len = (int) Math.sqrt(Math.pow(sp.getX() - dp.getX(), 2) + Math.pow(sp.getY() - dp.getY(), 2));
            final int maxLen = (len - 200) / 7;
            if (l.length() > maxLen) {
                l.delete(0, l.length() - maxLen + 3);
                l.insert(0, "...");
            }
            if (dvi.isSyncing()) {
                String syncedProgress = dvi.getSyncedProgress();
                if (syncedProgress == null) {
                    syncedProgress = "?.?";
                }
                final double sourceX = getLayout().transform(source).getX();
                final double destX = getLayout().transform(dest).getX();
                if (sourceBD.isPausedSync() || destBD.isPausedSync()) {
                    l.append(" (").append(syncedProgress).append("% paused)");
                } else if (sourceBD.isSyncSource() && sourceX < destX
                           || destBD.isSyncSource() && sourceX > destX) {
                    l.append(" (").append(syncedProgress).append("% \u2192)"); /* -> */
                } else {
                    l.append(" (\u2190 ").append(syncedProgress).append("%)"); /* <- */
                }
            } else if (dvi.isSplitBrain()) {
                l.append(" (split-brain)");
            } else if (!dvi.isConnected(runMode)) {
                l.append(" (disconnected)");
            } else if (dvi.isVerifying()) {
                l.append(" (verify)");
            }
            return l.toString();
        }
        return null;
View Full Code Here

    }

    /** Is called after right click on the resource edge. */
    @Override
    protected void handlePopupEdge(final Edge edge, final Point2D pos) {
        final VolumeInfo info = edgeToDrbdVolumeMap.get(edge);
        final JPopupMenu p = info.getPopup();
        info.updateMenus(pos);
        showPopup(p, pos);
    }
View Full Code Here

     * Is called when resource edge is pressed. It selects the asspociated
     * resource.
     */
    @Override
    protected void oneEdgePressed(final Edge e) {
        final VolumeInfo dvi = edgeToDrbdVolumeMap.get(e);
        if (dvi != null) {
            dvi.selectMyself();
        }
    }
View Full Code Here

    }

    /** Returns tool tip when mouse is over a resource edge. */
    @Override
    public String getEdgeToolTip(final Edge edge) {
        final VolumeInfo dvi = edgeToDrbdVolumeMap.get(edge);
        return dvi.getToolTipForGraph(getRunMode());
    }
View Full Code Here

TOP

Related Classes of lcmc.drbd.ui.resource.VolumeInfo

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.