summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSelvam <selvam@gluster.com>2011-05-06 14:52:53 +0530
committerSelvam <selvam@gluster.com>2011-05-06 14:52:53 +0530
commit17608a4282609bce9cb4d0a358b80392b24d593d (patch)
tree26cf01f5281edb3b82c7dee4f08d24db3cb4d8ea /src
parenta2c8fa56175df44deacebbc816efa8562c2dc5a1 (diff)
Volume Properties view - Mounting information enhancement
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java60
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();
}