diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-04-18 16:52:14 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-04-18 16:52:14 +0530 |
| commit | e9a881d2b9660732fb9e08eac70471c1d9827370 (patch) | |
| tree | 0d6808c330313ced4ac076e01b6da89857e055ff /src | |
| parent | a907385e3ff254ae7a8c316ae7bf4ce1a5fcb491 (diff) | |
Create Volume - Access control validation added
Diffstat (limited to 'src')
3 files changed, 14 insertions, 36 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 c47830b2..2a6f053a 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 @@ -288,7 +288,7 @@ public class GlusterDataModelManager { List<Disk> allDisks = getReadyDisksOfAllServers(); String brickInfo[] = volumeDisk.split(":"); for (Disk disk : allDisks) { - if (disk.getServerName() == brickInfo[0] && disk.getName() == brickInfo[1]) { + if (disk.getServerName().equals(brickInfo[0]) && disk.getName().equals(brickInfo[1])) { return disk; } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java index 7dd8e27d..8e63378e 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java @@ -50,7 +50,7 @@ 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.TRANSPORT_TYPE; import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; -import com.gluster.storage.management.core.response.VolumeListResponse; +import com.gluster.storage.management.core.utils.ValidationUtil; public class CreateVolumePage1 extends WizardPage { public static final String PAGE_NAME = "create.volume.page.1"; @@ -309,21 +309,6 @@ public class CreateVolumePage1 extends WizardPage { return true; } - private Boolean isValidIP(String ip) { - // String pattern = "^.[0-9]{1,3}/..[0-9]{1,3}/..[0-9]{1,3}/..[0-9]{1,3}"; - String pattern = "^.[0-9]{1,3}/."; - if (ip == "*") { - return true; - } - String[] ipQuads = ip.split("."); - for (String quad : ipQuads) { - if (!quad.matches(pattern)) { - return false; - } - } - return true; - } - private void validateForm() { clearErrors(); validateVolumeName(); @@ -337,26 +322,25 @@ public class CreateVolumePage1 extends WizardPage { if(diskCount < 1) { setError("At least one disk must be selected!"); } - - String volumeType = (String)((IStructuredSelection)typeComboViewer.getSelection()).getFirstElement(); - if (volumeType.equals(VOLUME_TYPE.DISTRIBUTED_MIRROR) && (diskCount % 2 != 0)) { + + String volumeType = Volume.getVolumeTypeStr((VOLUME_TYPE) ((IStructuredSelection) typeComboViewer + .getSelection()).getFirstElement()); + if (volumeType.equals(Volume.getVolumeTypeStr(VOLUME_TYPE.DISTRIBUTED_MIRROR)) && (diskCount % 2 != 0)) { setError("Mirror type volume requires disks in multiples of two"); - } else if(volumeType.equals(VOLUME_TYPE.DISTRIBUTED_STRIPE) && (diskCount % 4 != 0)) { + } else if (volumeType.equals(Volume.getVolumeTypeStr(VOLUME_TYPE.DISTRIBUTED_STRIPE)) && (diskCount % 4 != 0)) { setError("Stripe type volume requires disks in multiples of four"); } } - + private void validateAccessControl() { String accessControl = txtAccessControl.getText().trim(); - if(accessControl.length() == 0) { + if (accessControl.length() == 0) { setError("Please enter Access Control"); + return; } - // acl validation - String[] aclList = accessControl.split(","); - for (String ip : aclList) { - if (!isValidIP(ip)) { - setError("Please enter valid access control list"); - } + + if (!ValidationUtil.isValidAccessControl(accessControl)) { + setError("Access control list must be a comma separated list of IP addresses/Host names. Please enter a valid value!"); } } diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java index 4de5b61a..aede70c5 100644 --- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java +++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java @@ -90,13 +90,7 @@ public class NavigationView extends ViewPart implements ISelectionListener { @Override public void volumeChanged(Volume volume, Event event) { super.volumeChanged(volume, event); - selectEntity(volume); // this makes sure that the toolbar buttons get updated accoring to new status - } - - @Override - public void volumeCreated(Volume volume) { - super.volumeCreated(volume); - selectEntity(volume); + selectEntity(volume); // this makes sure that the toolbar buttons get updated according to new status } }); } |
