summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.console
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-08-19 17:29:39 +0530
committerSelvasundaram <selvam@gluster.com>2011-08-19 17:42:13 +0530
commitcb3cbfb8307158167cf5fa88b2b61322be1c59a4 (patch)
tree7c87b661796525e44991706f0d88a1f52aaa2bb2 /src/com.gluster.storage.management.console
parent7a84412ff29f0c0491d8f01528eedf2774bb1eeb (diff)
Create volume replica / stripe count made as optional parameter
Getting Gluster servers, optional "detail" paramter added and default value is "false"
Diffstat (limited to 'src/com.gluster.storage.management.console')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java19
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java8
2 files changed, 26 insertions, 1 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
index 1e3dad3f..2af1b214 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
@@ -775,6 +775,7 @@ public class GlusterDataModelManager {
for (ClusterListener listener : listeners) {
listener.volumeChanged(volume, new Event(EVENT_TYPE.BRICKS_ADDED, bricks));
}
+ updateVolumeTypeByBricks(volume);
}
public void removeBricks(Volume volume, Set<Brick> bricks) {
@@ -790,8 +791,26 @@ public class GlusterDataModelManager {
for (ClusterListener listener : listeners) {
listener.volumeChanged(volume, new Event(EVENT_TYPE.BRICKS_REMOVED, bricks));
}
+ updateVolumeTypeByBricks(volume);
}
+ private void updateVolumeTypeByBricks(Volume volume) {
+ VOLUME_TYPE volumeType = volume.getVolumeType();
+ if (volumeType.equals(VOLUME_TYPE.REPLICATE) || volumeType.equals(VOLUME_TYPE.DISTRIBUTED_REPLICATE)) {
+ if (volume.getBricks().size() > volume.getReplicaCount()) {
+ volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_REPLICATE);
+ } else {
+ volume.setVolumeType(VOLUME_TYPE.REPLICATE);
+ }
+ } else if (volumeType.equals(VOLUME_TYPE.STRIPE) || volumeType.equals(VOLUME_TYPE.DISTRIBUTED_STRIPE)) {
+ if (volume.getBricks().size() > volume.getStripeCount()) {
+ volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_STRIPE);
+ } else {
+ volume.setVolumeType(VOLUME_TYPE.STRIPE);
+ }
+ }
+ }
+
public void setVolumeOption(Volume volume, String optionKey, String optionValue) {
volume.setOption(optionKey, optionValue);
for (ClusterListener listener : listeners) {
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
index a12fcc0d..dafc6c80 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
@@ -63,6 +63,7 @@ public class VolumeSummaryView extends ViewPart {
private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
private ScrolledForm form;
private Volume volume;
+ private Label volumeType;
private CLabel lblStatusValue;
private DefaultClusterListener volumeChangedListener;
private Hyperlink changeLink;
@@ -110,6 +111,7 @@ public class VolumeSummaryView extends ViewPart {
toolbarManager.updateToolbar(volume);
cifsCheckbox.setSelection(volume.isCifsEnable());
populateCifsUsersText();
+ renderVolumeTypeField();
}
@Override
@@ -785,9 +787,13 @@ public class VolumeSummaryView extends ViewPart {
private void createVolumeTypeField(Composite section) {
toolkit.createLabel(section, "Volume Type: ", SWT.NONE);
- toolkit.createLabel(section, volume.getVolumeTypeStr(), SWT.NONE);
+ volumeType = toolkit.createLabel(section, volume.getVolumeTypeStr(), SWT.NONE);
toolkit.createLabel(section, "", SWT.NONE);
}
+
+ private void renderVolumeTypeField() {
+ volumeType.setText(volume.getVolumeTypeStr());
+ }
@Override
public void setFocus() {