diff options
| author | Selvam <selvam@gluster.com> | 2011-05-06 14:52:53 +0530 |
|---|---|---|
| committer | Selvam <selvam@gluster.com> | 2011-05-06 14:52:53 +0530 |
| commit | 17608a4282609bce9cb4d0a358b80392b24d593d (patch) | |
| tree | 26cf01f5281edb3b82c7dee4f08d24db3cb4d8ea /src | |
| parent | a2c8fa56175df44deacebbc816efa8562c2dc5a1 (diff) | |
Volume Properties view - Mounting information enhancement
Diffstat (limited to 'src')
2 files changed, 31 insertions, 31 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java index 34cbfb3b..556c12de 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java @@ -37,7 +37,7 @@ public class StringUtil { output.append(element).append(delimiter); } String outputStr = output.toString(); - int endIndex = (list.size() > 1) ? outputStr.length() - (delimiter.length() + 1) : outputStr.length() - 1; + int endIndex = (list.size() > 1) ? outputStr.length() - (delimiter.length() + 1) : outputStr.length() - delimiter.length(); return outputStr.substring(0, endIndex); } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java index be5e7129..5e37a31c 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java @@ -1,5 +1,6 @@ package com.gluster.storage.management.gui.views; +import java.util.ArrayList; import java.util.List; import java.util.Map.Entry; @@ -29,14 +30,18 @@ import org.eclipse.ui.part.ViewPart; import com.gluster.storage.management.client.GlusterDataModelManager; import com.gluster.storage.management.client.VolumesClient; import com.gluster.storage.management.core.model.Alert; +import com.gluster.storage.management.core.model.Cluster; import com.gluster.storage.management.core.model.DefaultClusterListener; import com.gluster.storage.management.core.model.Event; import com.gluster.storage.management.core.model.Event.EVENT_TYPE; +import com.gluster.storage.management.core.model.GlusterServer; +import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.NAS_PROTOCOL; import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; import com.gluster.storage.management.core.utils.NumberUtil; +import com.gluster.storage.management.core.utils.StringUtil; import com.gluster.storage.management.core.utils.ValidationUtil; import com.gluster.storage.management.gui.IImageKeys; import com.gluster.storage.management.gui.toolbar.GlusterToolbarManager; @@ -56,6 +61,7 @@ public class VolumeSummaryView extends ViewPart { private ControlDecoration errDecoration; private Composite parent; private static final String COURIER_FONT = "Courier"; + private Cluster cluster = GlusterDataModelManager.getInstance().getModel().getCluster(); @Override public void createPartControl(Composite parent) { @@ -138,42 +144,36 @@ public class VolumeSummaryView extends ViewPart { private void createVolumeMountingInfoSection() { String glusterFs = "Gluster:"; String nfs = "NFS:"; - String glusterFsSyntax = "mount -t glusterfs <SERVER-NAME>:/<VOLUME-NAME> <MOUNT-POINT>"; - String nfsSyntax = "mount -t nfs <SERVER-NAME>:/nfs/<VOLUME-NAME> <MOUNT-POINT>"; - String info = "<SERVER-NAME> - Any server name in the storage cloud"; - String volumeName = volume.getName().trim(); - String serverName = volume.getDisks().get(0).split(":")[0].trim(); // disk if the form of: "server:disk" - - Composite section = guiHelper.createSection(form, toolkit, "Mounting Information", null, 2, false); - - Label lbl = toolkit.createLabel(section, "Syntax"); - final int defaultFontSize = lbl.getFont().getFontData()[0].getHeight(); - final String defaultFontName = lbl.getFont().getFontData()[0].name; + String onlineServers = getOnlineServers(10); // Limited to 10 servers + String firstOnlineServer = onlineServers.split(",")[0].trim(); + String glusterFsMountInfo = "mount -t glusterfs " + firstOnlineServer + ":/" + volume.getName() + " <mount-point>"; + String nfsMountInfo = "mount -t nfs " + firstOnlineServer + ":/" + volume.getName() + " <mount-point>"; + String info = "Server can be any server name in the storage cloud eg. <" + onlineServers + ">"; //TODO: if more than 10 servers... - setLabelStyle(lbl, defaultFontName, defaultFontSize, SWT.BOLD); - toolkit.createLabel(section, ""); + Composite section = guiHelper.createSection(form, toolkit, "Mounting Information", null, 2, false); - setLabelStyle(toolkit.createLabel(section, glusterFs), defaultFontName, defaultFontSize, SWT.NORMAL); - setLabelStyle(toolkit.createLabel(section, glusterFsSyntax, SWT.NONE), COURIER_FONT, 10, SWT.NONE); + toolkit.createLabel(section, glusterFs, SWT.NORMAL); + setLabelStyle(toolkit.createLabel(section, glusterFsMountInfo, SWT.NONE), COURIER_FONT, 10, SWT.NONE); // TODO: Check required if nfs is optional - setLabelStyle(toolkit.createLabel(section, nfs), defaultFontName, defaultFontSize, SWT.NORMAL); - setLabelStyle(toolkit.createLabel(section, nfsSyntax, SWT.NONE), COURIER_FONT, 10, SWT.NONE); - - toolkit.createLabel(section, ""); - setLabelStyle(toolkit.createLabel(section, info), defaultFontName, (defaultFontSize - 1), SWT.NONE); + toolkit.createLabel(section, nfs, SWT.NORMAL); + setLabelStyle(toolkit.createLabel(section, nfsMountInfo, SWT.NONE), COURIER_FONT, 10, SWT.NONE); - setLabelStyle(toolkit.createLabel(section, "Example"), defaultFontName, defaultFontSize, SWT.BOLD); toolkit.createLabel(section, ""); + toolkit.createLabel(section, info, SWT.NONE); + } - setLabelStyle(toolkit.createLabel(section, glusterFs), defaultFontName, defaultFontSize, SWT.NORMAL); - setLabelStyle(toolkit.createLabel(section, "#mount -t glusterfs " + serverName + ":/" + volumeName + " /mnt"), - COURIER_FONT, 10, SWT.NONE); - - // TODO: Check required if nfs is optional - setLabelStyle(toolkit.createLabel(section, nfs), defaultFontName, defaultFontSize, SWT.NORMAL); - setLabelStyle(toolkit.createLabel(section, "#mount -t nfs " + serverName + ":/" + volumeName + " /mnt"), - COURIER_FONT, 10, SWT.NONE); + private String getOnlineServers(int maxServers) { + List<String> OnlineServers = new ArrayList<String>(); + for (GlusterServer server : cluster.getServers()) { + if (server.getStatus() == SERVER_STATUS.ONLINE) { + OnlineServers.add(server.getName()); + if (OnlineServers.size() >= maxServers) { + break; + } + } + } + return StringUtil.ListToString(OnlineServers, ", ") + ((OnlineServers.size() > maxServers) ? "..." : ""); } /** @@ -397,7 +397,7 @@ public class VolumeSummaryView extends ViewPart { private void updateVolumeStatusLabel() { lblStatusValue.setText(volume.getStatusStr()); - lblStatusValue.setImage( (volume.getStatus() == Volume.VOLUME_STATUS.ONLINE) ? guiHelper + lblStatusValue.setImage((volume.getStatus() == Volume.VOLUME_STATUS.ONLINE) ? guiHelper .getImage(IImageKeys.STATUS_ONLINE) : guiHelper.getImage(IImageKeys.STATUS_OFFLINE)); lblStatusValue.redraw(); } |
