summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-05-25 18:12:48 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-05-30 17:19:56 +0530
commit562a55a68407ed0d65de75c9a491188e1292a2c3 (patch)
tree20e849d173713e8d5087b2994ad181f0838d8f1e /src/com.gluster.storage.management.client
parent66eeb6a273b1a60813375a4bf55bcc38e1a3d00a (diff)
Design changes - introducing cluster-server mapping on gateway
Diffstat (limited to 'src/com.gluster.storage.management.client')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java22
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java8
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java2
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java6
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java6
5 files changed, 35 insertions, 9 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 10064341..fedfacaa 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
@@ -161,7 +161,7 @@ public abstract class AbstractClient {
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
protected Object postRequest(Class responseClass, Form form) {
- return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header("Authorization", authHeader)
+ return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader)
.accept(MediaType.TEXT_XML).post(responseClass, form);
}
@@ -179,7 +179,7 @@ public abstract class AbstractClient {
@SuppressWarnings({ "rawtypes", "unchecked" })
protected Object postRequest(String subResourceName, Class responseClass, Form form) {
return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header("Authorization", authHeader).accept(MediaType.TEXT_XML).post(responseClass, form);
+ .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).post(responseClass, form);
}
/**
@@ -195,7 +195,21 @@ public abstract class AbstractClient {
*/
protected Object putRequest(String subResourceName, Class responseClass, Form form) {
return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header("Authorization", authHeader).accept(MediaType.TEXT_XML).put(responseClass, form);
+ .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass, form);
+ }
+
+ /**
+ * Submits given Form using PUT method to the given sub-resource and returns the object received as response
+ *
+ * @param responseClass
+ * Class of the object expected as response
+ * @param form
+ * Form to be submitted
+ * @return Object of given class received as response
+ */
+ protected Object putRequest(Class responseClass, Form form) {
+ return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader)
+ .accept(MediaType.TEXT_XML).put(responseClass, form);
}
/**
@@ -209,7 +223,7 @@ public abstract class AbstractClient {
*/
protected Object putRequest(String subResourceName, Class responseClass) {
return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header("Authorization", authHeader).accept(MediaType.TEXT_XML).put(responseClass);
+ .header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML).put(responseClass);
}
/**
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
index 08c380e0..8eeb96fe 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
@@ -19,6 +19,7 @@
package com.gluster.storage.management.client;
import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CLUSTER_NAME;
+import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SERVER_NAME;
import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
import java.util.List;
@@ -58,6 +59,13 @@ public class ClustersClient extends AbstractClient {
return (Status)postRequest(Status.class, form);
}
+ public Status registerCluster(String clusterName, String knownServer) {
+ Form form = new Form();
+ form.add(FORM_PARAM_CLUSTER_NAME, clusterName);
+ form.add(FORM_PARAM_SERVER_NAME, knownServer);
+ return (Status)putRequest(Status.class, form);
+ }
+
public Status deleteCluster(String clusterName) {
return (Status)deleteSubResource(clusterName, Status.class);
}
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 356e1e0d..b01a0ece 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
@@ -137,7 +137,7 @@ public class GlusterDataModelManager {
}
private void initializeVolumes(Cluster cluster) {
- VolumesClient volumeClient = new VolumesClient(securityToken);
+ VolumesClient volumeClient = new VolumesClient(clusterName);
VolumeListResponse response = volumeClient.getAllVolumes();
if (!response.getStatus().isSuccess()) {
throw new GlusterRuntimeException("Error fetching volume list: [" + response.getStatus() + "]");
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
index 099b64a0..864418a7 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
@@ -18,6 +18,8 @@
*******************************************************************************/
package com.gluster.storage.management.client;
+import javax.ws.rs.core.Response;
+
import com.gluster.storage.management.core.model.Status;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.representation.Form;
@@ -27,7 +29,6 @@ public class UsersClient extends AbstractClient {
private static final String RESOURCE_NAME = "users";
private static final String FORM_PARAM_OLD_PASSWORD = "oldpassword";
private static final String FORM_PARAM_NEW_PASSWORD = "newpassword";
- private static final int HTTP_STATUS_UNAUTHORIZED = 401;
private String generateSecurityToken(String user, String password) {
return new String(Base64.encode(user + ":" + password));
@@ -48,7 +49,8 @@ public class UsersClient extends AbstractClient {
return authStatus;
} catch (Exception e) {
if (e instanceof UniformInterfaceException
- && ((UniformInterfaceException) e).getResponse().getStatus() == HTTP_STATUS_UNAUTHORIZED) {
+ && ((UniformInterfaceException) e).getResponse().getStatus() == Response.Status.UNAUTHORIZED
+ .getStatusCode()) {
// authentication failed. clear security token.
setSecurityToken(null);
return new Status(Status.STATUS_CODE_FAILURE, "Invalid user id or password!");
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 96517766..d38a41b3 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
@@ -31,6 +31,7 @@ import com.gluster.storage.management.core.constants.RESTConstants;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.response.GenericResponse;
import com.gluster.storage.management.core.response.LogMessageListResponse;
import com.gluster.storage.management.core.response.VolumeListResponse;
import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
@@ -88,8 +89,9 @@ public class VolumesClient extends AbstractClient {
return (VolumeListResponse) fetchResource(VolumeListResponse.class);
}
- public Volume getVolume(String volumeName) {
- return (Volume) fetchSubResource(volumeName, Volume.class);
+ @SuppressWarnings("unchecked")
+ public GenericResponse<Volume> getVolume(String volumeName) {
+ return (GenericResponse<Volume>)fetchSubResource(volumeName, GenericResponse.class);
}
public Status deleteVolume(Volume volume, boolean deleteOption) {