diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-04-13 13:50:33 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-04-13 16:09:33 +0530 |
| commit | e0efe1a6d06870034ca3eef5f50913a0ef6e957a (patch) | |
| tree | 9b578f5b99b3ecfb897e74d6ce9469b442ac6693 /src/com.gluster.storage.management.client | |
| parent | 86856e550d8c20b51e1da94a3ca0a3dfed750e06 (diff) | |
| parent | fa13d4c3807584cd9f7e690ed1b2c1377fc0b256 (diff) | |
Merge commit 'upstream/master'
Diffstat (limited to 'src/com.gluster.storage.management.client')
2 files changed, 28 insertions, 11 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 0f932df0..a8134c7d 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 @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Map; import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Cluster; @@ -41,9 +42,10 @@ import com.gluster.storage.management.core.model.Volume; import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE; import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS; import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; +import com.gluster.storage.management.core.model.VolumeOptionInfo; import com.gluster.storage.management.core.response.RunningTaskListResponse; import com.gluster.storage.management.core.response.VolumeListResponse; -import com.gluster.storage.management.client.VolumesClient; +import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse; public class GlusterDataModelManager { // private Server discoveredServer1, discoveredServer2, discoveredServer3, @@ -57,6 +59,7 @@ public class GlusterDataModelManager { private String securityToken; private String serverName; private List<ClusterListener> listeners = new ArrayList<ClusterListener>(); + private List<VolumeOptionInfo> volumeOptionsDefaults; private GlusterDataModelManager() { } @@ -130,12 +133,20 @@ public class GlusterDataModelManager { createDummyLogMessages(); initializeRunningTasks(cluster); - initializeAlerts(cluster); + initializeVolumeOptionsDefaults(); model.addCluster(cluster); } + private void initializeVolumeOptionsDefaults() { + VolumeOptionInfoListResponse response = new VolumesClient(getSecurityToken()).getVolumeOptionsDefaults(); + if(!response.getStatus().isSuccess()) { + throw new GlusterRuntimeException("Error fetching volume option defaults: [" + response.getStatus().getMessage() + "]"); + } + this.volumeOptionsDefaults = response.getOptions(); + } + private void addVolumeOptions() { for (Volume vol : new Volume[] { volume1, volume2, volume3, volume4, volume5 }) { for (int i = 1; i <= 5; i++) { @@ -376,6 +387,13 @@ public class GlusterDataModelManager { listener.volumeChanged(volume, new Event(EVENT_TYPE.VOLUME_STATUS_CHANGED, newStatus)); } } + + public void resetVolumeOptions(Volume volume) { + volume.getOptions().clear(); + for (ClusterListener listener : listeners) { + listener.volumeChanged(volume, new Event(EVENT_TYPE.VOLUME_OPTIONS_RESET, null)); + } + } public void addVolume(Volume volume) { Cluster cluster = model.getCluster(); @@ -385,4 +403,8 @@ public class GlusterDataModelManager { listener.volumeCreated(volume); } } + + public List<VolumeOptionInfo> getVolumeOptionsDefaults() { + return volumeOptionsDefaults; + } } diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java index a479e1f7..1d9ddbff 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java @@ -68,7 +68,7 @@ public class VolumesClient extends AbstractClient { } public Status resetVolumeOptions(String volume) { - return (Status)putRequest(volume, Status.class); + return (Status)putRequest(volume + "/" + RESTConstants.SUBRESOURCE_OPTIONS, Status.class); } public VolumeListResponse getAllVolumes() { @@ -79,14 +79,9 @@ public class VolumesClient extends AbstractClient { return (Volume) fetchSubResource(volumeName, Volume.class); } - public List<VolumeOptionInfo> getVolumeOptionsDefaults() { - String responseStr = (String)fetchSubResource( - RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS, String.class); - System.out.println(responseStr); - - VolumeOptionInfoListResponse response = (VolumeOptionInfoListResponse) fetchSubResource( - RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS, VolumeOptionInfoListResponse.class); - return response.getOptions(); + public VolumeOptionInfoListResponse getVolumeOptionsDefaults() { + return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS, + VolumeOptionInfoListResponse.class)); } public static void main(String[] args) { |
