summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShireesh Anjal <anjalshireesh@gmail.com>2011-06-01 04:45:06 -0700
committerShireesh Anjal <anjalshireesh@gmail.com>2011-06-01 04:45:06 -0700
commite259a82b46108a259ffa0ce2e7eed644d67cb7bf (patch)
treeb0d0e76d61daecc9e5992f5dcac584a584e50d0e /src
parenteecdc685f935510142c0ea0f81faf5406b85820f (diff)
parent1ee6536abe74f7f43e3ab51a41c59bdab0511ca2 (diff)
Merge pull request #48 from Selvasundaram/master
New disk status "In use" introduced in GUI
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java22
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java3
4 files changed, 28 insertions, 9 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index a537b66c..24f5e70b 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -27,8 +27,8 @@ import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
+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.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
@@ -385,4 +385,24 @@ public class GlusterDataModelManager {
throw new GlusterRuntimeException("Couldn't find entry for option [" + optionKey + "] on volume ["
+ volume.getName());
}
+
+ private Boolean isDiskUsed(Volume volume, Disk disk) {
+ for(Brick brick: volume.getBricks()) {
+ if (disk.getName().equals(brick.getDiskName()) && disk.getServerName().equals(brick.getServerName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public String getDiskStatus(Disk disk) {
+ if (disk.getStatus() == DISK_STATUS.READY) {
+ for (Volume volume : model.getCluster().getVolumes()) {
+ if (isDiskUsed(volume, disk)) {
+ return "In use";
+ }
+ }
+ }
+ return disk.getStatusStr();
+ }
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
index f3958b3f..c09331fa 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
@@ -20,8 +20,8 @@ package com.gluster.storage.management.gui;
import org.eclipse.swt.graphics.Image;
+import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
import com.gluster.storage.management.core.utils.NumberUtil;
@@ -30,6 +30,7 @@ import com.gluster.storage.management.gui.views.details.DisksPage.DISK_TABLE_COL
public class DiskTableLabelProvider extends TableLabelProviderAdapter {
private GUIHelper guiHelper = GUIHelper.getInstance();
+ private GlusterDataModelManager glusterDataModelManager = GlusterDataModelManager.getInstance();
@Override
public Image getColumnImage(Object element, int columnIndex) {
@@ -97,6 +98,6 @@ public class DiskTableLabelProvider extends TableLabelProviderAdapter {
: columnIndex == DISK_TABLE_COLUMN_INDICES.FREE_SPACE.ordinal() ? getDiskFreeSpace(disk)
: columnIndex == DISK_TABLE_COLUMN_INDICES.TOTAL_SPACE.ordinal() ? getTotalDiskSpace(disk)
// : columnIndex == DISK_TABLE_COLUMN_INDICES.SPACE_IN_USE.ordinal() ? getDiskSpaceInUse(disk)
- : columnIndex == DISK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? disk.getStatusStr() : "Invalid");
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? glusterDataModelManager.getDiskStatus(disk) : "Invalid");
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java
index a07c64bf..ecff0ca7 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java
@@ -20,6 +20,7 @@ package com.gluster.storage.management.gui;
import org.eclipse.swt.graphics.Image;
+import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Disk;
@@ -30,7 +31,7 @@ import com.gluster.storage.management.gui.views.details.ServerDisksPage.SERVER_D
public class ServerDiskTableLabelProvider extends TableLabelProviderAdapter {
private GUIHelper guiHelper = GUIHelper.getInstance();
-
+ private GlusterDataModelManager glusterDataModelManager = GlusterDataModelManager.getInstance();
@Override
public Image getColumnImage(Object element, int columnIndex) {
@@ -73,7 +74,7 @@ public class ServerDiskTableLabelProvider extends TableLabelProviderAdapter {
return NumberUtil.formatNumber(disk.getSpace());
}
}
-
+
@Override
public String getColumnText(Object element, int columnIndex) {
if (!(element instanceof Disk)) {
@@ -84,7 +85,7 @@ public class ServerDiskTableLabelProvider extends TableLabelProviderAdapter {
String columnText = (columnIndex == SERVER_DISK_TABLE_COLUMN_INDICES.DISK.ordinal() ? disk.getName()
: columnIndex == SERVER_DISK_TABLE_COLUMN_INDICES.SPACE.ordinal() ? getDiskSpace(disk)
: columnIndex == SERVER_DISK_TABLE_COLUMN_INDICES.SPACE_IN_USE.ordinal() ? getDiskSpaceInUse(disk)
- : columnIndex == SERVER_DISK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? disk.getStatusStr()
+ : columnIndex == SERVER_DISK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? glusterDataModelManager.getDiskStatus(disk) // disk.getStatusStr()
: "Invalid");
return ((columnText == null || columnText.trim().equals("")) ? CoreConstants.NA : columnText);
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
index 01dbc557..09bd40d6 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java
@@ -18,9 +18,7 @@
*******************************************************************************/
package com.gluster.storage.management.gui.utils;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
@@ -72,7 +70,6 @@ import org.eclipse.ui.progress.IProgressConstants;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.gui.Application;
import com.gluster.storage.management.gui.IImageKeys;
import com.gluster.storage.management.gui.views.NavigationView;