summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorSelvam <selvam@gluster.com>2011-03-30 18:02:08 +0530
committerSelvam <selvam@gluster.com>2011-03-30 18:02:08 +0530
commitf30c67deb0b525911d1f3d891574e808ef3068b1 (patch)
treee770801e9f225ecf7aeef40e0e3b8fef53c00cf1 /src/com.gluster.storage.management.gui
parent5c39a47fdd3987bb5eee35f7f7397ce127c8919e (diff)
Alerts section in volumes summary page
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java53
1 files changed, 32 insertions, 21 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
index 9477e170..e770cb73 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
@@ -31,9 +31,11 @@ import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.part.ViewPart;
import com.gluster.storage.management.core.constants.CoreConstants;
+import com.gluster.storage.management.core.model.Alert;
import com.gluster.storage.management.core.model.EntityGroup;
import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.GlusterDataModel;
+import com.gluster.storage.management.core.model.RunningTaskStatus;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.core.model.RunningTask;
import com.gluster.storage.management.core.model.Volume;
@@ -61,10 +63,10 @@ public class VolumesSummaryView extends ViewPart {
if (volumes == null) {
Object selectedObj = guiHelper.getSelectedEntity(getSite(), EntityGroup.class);
if (selectedObj != null && ((EntityGroup) selectedObj).getEntityType() == Volume.class) {
- volumes = (EntityGroup<Volume>)selectedObj;
+ volumes = (EntityGroup<Volume>) selectedObj;
}
}
-
+
createSections(parent);
}
@@ -73,43 +75,52 @@ public class VolumesSummaryView extends ViewPart {
createSummarySection();
createRunningTasksSection();
createAlertsSection();
-
+
parent.layout(); // IMP: lays out the form properly
}
-
+
private void createAlertsSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 2, false);
+ Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 1, false);
+ // toolkit.createLabel(section, "Any alerts related to volumes\nwill be displayed here.");
+
+ Cluster cluster = (Cluster) GlusterDataModelManager.getInstance().getModel().getChildren().get(0);
+ List<Alert> alerts = cluster.getAlerts();
+ for (Alert alert : alerts) {
+ if (alert.getType() == Alert.ALERT_TYPES.DISK_ALERT) {
+ toolkit.createLabel(section, alert.getMessage());
+ }
+ }
- toolkit.createLabel(section, "Any alerts related to volumes\nwill be displayed here.");
}
private void createRunningTasksSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Running Tasks", null, 2, false);
-
- GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- GlusterDataModel model = modelManager.getModel();
- Cluster cluster = (Cluster) model.getChildren().get(0); // Assume the first/root node of the model is cluster (invisible)
-
+ Composite section = guiHelper.createSection(form, toolkit, "Running Tasks", null, 1, false);
+
+ Cluster cluster = (Cluster) GlusterDataModelManager.getInstance().getModel().getChildren().get(0);
List<RunningTask> runningTasks = cluster.getRunningTasks();
- String taskMessage = "";
- for(RunningTask task : runningTasks) {
- if (task.getStatus().isPercentageSupported()) {
- //TODO Progress bar
+
+ for (RunningTask task : runningTasks) {
+ if (task.getType() == RunningTask.TASK_TYPES.MIGRATE_DISK
+ || task.getType() == RunningTask.TASK_TYPES.VOLUME_REBALANCE) {
+ if (task.getStatus().isPercentageSupported()) {
+ // TODO Progress bar
+ }
+ toolkit.createLabel(section, task.getDescription());
}
- //TODO show different labels for each task
- taskMessage = taskMessage + CoreConstants.NEWLINE + task.getDescription();
}
- toolkit.createLabel(section, taskMessage);
}
private void createSummarySection() {
Composite section = guiHelper.createSection(form, toolkit, "Availability", null, 2, false);
+ GlusterDataModel model = GlusterDataModelManager.getInstance().getModel();
+ Cluster cluster = (Cluster) model.getChildren().get(0);
+
Double[] values = new Double[] { Double.valueOf(getVolumeCountByStatus(volumes, VOLUME_STATUS.ONLINE)),
Double.valueOf(getVolumeCountByStatus(volumes, VOLUME_STATUS.OFFLINE)) };
createStatusChart(toolkit, section, values);
}
-
+
private int getVolumeCountByStatus(EntityGroup<Volume> volumes, VOLUME_STATUS status) {
int count = 0;
for (Volume volume : (List<Volume>) volumes.getEntities()) {
@@ -130,7 +141,7 @@ public class VolumesSummaryView extends ViewPart {
data.heightHint = 250;
chartViewerComposite.setLayoutData(data);
}
-
+
/*
* (non-Javadoc)
*