diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-04-26 20:09:44 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-04-28 20:40:49 +0530 |
| commit | 636888037a6fced0753e0095b61edf5fde771a2a (patch) | |
| tree | 7d3be83529bfaa1f5a675ca8f26cc61453782f57 /src/com.gluster.storage.management.client | |
| parent | beb2b3893fcde1be5fe1f272637dbdf3e7840287 (diff) | |
Story#34 - Volume logs
Diffstat (limited to 'src/com.gluster.storage.management.client')
3 files changed, 31 insertions, 1 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 e1a42de1..a4df0e58 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 @@ -93,6 +93,24 @@ public abstract class AbstractClient { }
/**
+ * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
+ * resource (the one returned by {@link AbstractClient#getResourceName()})
+ *
+ * @param subResourceName
+ * Name of the sub-resource
+ * @param queryParams
+ * Query parameters to be sent for the GET request
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request on the sub-resource
+ */
+ @SuppressWarnings("rawtypes")
+ protected Object fetchSubResource(String subResourceName, MultivaluedMap<String, String> queryParams,
+ 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
*
* @param responseClass
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 9e031ad3..da3ac279 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 @@ -244,7 +244,7 @@ public class GlusterDataModelManager { private void addMessages(List<LogMessage> messages, Disk disk, String severity, int count) { for (int i = 1; i <= count; i++) { String message = severity + "message" + i; - messages.add(new LogMessage(new Date(), disk, severity, message)); + messages.add(new LogMessage(new Date(), disk.getQualifiedName(), severity, message)); } } 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 05b89306..5cba6be8 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 @@ -20,12 +20,16 @@ */ package com.gluster.storage.management.client; +import javax.ws.rs.core.MultivaluedMap; + import com.gluster.storage.management.core.constants.RESTConstants; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; +import com.gluster.storage.management.core.response.LogMessageListResponse; import com.gluster.storage.management.core.response.VolumeListResponse; import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse; import com.sun.jersey.api.representation.Form; +import com.sun.jersey.core.util.MultivaluedMapImpl; public class VolumesClient extends AbstractClient { @@ -84,6 +88,14 @@ public class VolumesClient extends AbstractClient { return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS, VolumeOptionInfoListResponse.class)); } + + public LogMessageListResponse getLogs(String volumeName, int lineCount) { + MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); + queryParams.add(RESTConstants.QUERY_PARAM_LINE_COUNT, "" + lineCount); + // TODO: Add other filte criteria as query parameters + return (LogMessageListResponse) fetchSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_LOGS, + queryParams, LogMessageListResponse.class); + } public static void main(String[] args) { UsersClient usersClient = new UsersClient(); |
