diff options
| author | Selvasundaram <selvam@gluster.com> | 2011-08-19 17:29:39 +0530 |
|---|---|---|
| committer | Selvasundaram <selvam@gluster.com> | 2011-08-19 17:42:13 +0530 |
| commit | cb3cbfb8307158167cf5fa88b2b61322be1c59a4 (patch) | |
| tree | 7c87b661796525e44991706f0d88a1f52aaa2bb2 /src/com.gluster.storage.management.console | |
| parent | 7a84412ff29f0c0491d8f01528eedf2774bb1eeb (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')
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() { |
