diff options
| author | Selvam <selvam@gluster.com> | 2011-05-06 14:58:27 +0530 |
|---|---|---|
| committer | Selvam <selvam@gluster.com> | 2011-05-06 14:58:27 +0530 |
| commit | 10429a6c2c197ac82205fc904ccc5f6513c2b4ef (patch) | |
| tree | cf08ca25ab8a076ed08d7ab3fa37ac631331d22b /src/com.gluster.storage.management.client | |
| parent | a46390ce97935a2c629f86c86a72e7407fc19740 (diff) | |
| parent | 740e91a3ad585a7c9e4a58e1e9c8f01c6c85392f (diff) | |
Merge remote branch 'upstream/master'
Diffstat (limited to 'src/com.gluster.storage.management.client')
2 files changed, 35 insertions, 11 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java index f8005044..b9a0ef56 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java @@ -48,14 +48,15 @@ public abstract class AbstractClient { return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
.get(responseClass);
}
-
+
private Object downloadResource(WebResource res, MultivaluedMap<String, String> queryParams, Class responseClass) {
return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
.get(responseClass);
}
-
+
protected Object downloadResource(WebResource res) {
- ClientResponse response = res.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_OCTET_STREAM).get(ClientResponse.class);
+ ClientResponse response = res.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_OCTET_STREAM)
+ .get(ClientResponse.class);
return response;
}
@@ -124,7 +125,7 @@ public abstract class AbstractClient { Class responseClass) {
return fetchResource(resource.path(subResourceName), queryParams, responseClass);
}
-
+
/**
* Submits given Form using POST method to the resource and returns the object received as response
*
@@ -207,12 +208,12 @@ public abstract class AbstractClient { return resource.header(HTTP_HEADER_AUTH, authHeader).delete(responseClass);
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
- protected Object deleteSubResource(String subResourceName, Class responseClass, String volumeName,
- String deleteOption) {
- return resource.path(subResourceName).queryParam(RESTConstants.QUERY_PARAM_VOLUME_NAME, volumeName)
- .queryParam(RESTConstants.QUERY_PARAM_DELETE_OPTION, deleteOption).header(HTTP_HEADER_AUTH, authHeader)
+ @SuppressWarnings("unchecked")
+ protected Object deleteSubResource(String subResourceName, Class responseClass,
+ MultivaluedMap<String, String> queryParams) {
+ return resource.path(subResourceName).queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader)
.delete(responseClass);
+
}
public abstract String getResourceName();
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 4af70c5a..f1464211 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 @@ -23,6 +23,7 @@ package com.gluster.storage.management.client; import java.util.ArrayList; import java.util.Date; import java.util.List; + import javax.ws.rs.core.MultivaluedMap; import com.gluster.storage.management.core.constants.CoreConstants; @@ -90,8 +91,9 @@ public class VolumesClient extends AbstractClient { return (Volume) fetchSubResource(volumeName, Volume.class); } - public Status deleteVolume(Volume volume, String deleteOption) { - return (Status) deleteSubResource(volume.getName(), Status.class, volume.getName(), deleteOption); + public Status deleteVolume(Volume volume, boolean deleteOption) { + MultivaluedMap<String, String> queryParams = prepareGetDeleteVolumeQueryParams(volume.getName(), deleteOption); + return (Status) deleteSubResource(volume.getName(), Status.class, queryParams); } public VolumeOptionInfoListResponse getVolumeOptionsDefaults() { @@ -142,7 +144,28 @@ public class VolumesClient extends AbstractClient { public void downloadLogs(String volumeName) { downloadSubResource((volumeName) + "/" + RESTConstants.SUBRESOURCE_LOGS + "/" + RESTConstants.SUBRESOURCE_DOWNLOAD); } + + public Status removeBricks(String volumeName, List<Disk> diskList, boolean deleteOption) { + String disks = StringUtil.ListToString( GlusterCoreUtil.getQualifiedDiskNames(diskList), ","); + MultivaluedMap<String, String> queryParams = prepareGetRemoveBrickQueryParams(volumeName, disks, deleteOption); + return (Status) deleteSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, queryParams); + } + + private MultivaluedMap<String, String> prepareGetRemoveBrickQueryParams(String volumeName, String disks, boolean deleteOption) { + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(RESTConstants.QUERY_PARAM_VOLUME_NAME, volumeName); + queryParams.add(RESTConstants.QUERY_PARAM_DISKS, disks); + queryParams.add(RESTConstants.QUERY_PARAM_DELETE_OPTION, "" + deleteOption); + return queryParams; + } + private MultivaluedMap<String, String> prepareGetDeleteVolumeQueryParams(String volumeName, boolean deleteOption) { + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(RESTConstants.QUERY_PARAM_VOLUME_NAME, volumeName); + queryParams.add(RESTConstants.QUERY_PARAM_DELETE_OPTION, "" + deleteOption); + return queryParams; + } + private MultivaluedMap<String, String> prepareGetLogQueryParams(String diskName, String severity, Date fromTimestamp, Date toTimestamp, int messageCount) { MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); |
