summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-16 12:37:25 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-16 12:37:25 +0530
commit608ec97c38e95b1e3bfec57daaa0244854c7c3be (patch)
tree11723ccfae2ca07f5d35903b870a7b0958c1d817 /com.gluster.storage.management.client
parentba2140d703464f1dd378da6c5655aaa1d9020414 (diff)
Modified to return Status object from user login method instead of AuthStatus. Removed the AuthStatus class.
Signed-off-by: Shireesh Anjal <shireesh@gluster.com>
Diffstat (limited to 'com.gluster.storage.management.client')
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java18
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java25
2 files changed, 28 insertions, 15 deletions
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
index d7293f87..17fa84a5 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
@@ -87,7 +87,7 @@ public abstract class AbstractClient {
}
/**
- * Submits given Form to the resource and returns the object received as response
+ * Submits given Form using POST method to the 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
@@ -99,7 +99,7 @@ public abstract class AbstractClient {
}
/**
- * Submits given Form to the given sub-resource and returns the object received as response
+ * Submits given Form using POST method to the given sub-resource and returns the object received as response
* @param subResourceName Name of the sub-resource to which the request is to be posted
* @param responseClass Class of the object expected as response
* @param form Form to be submitted
@@ -112,6 +112,18 @@ public abstract class AbstractClient {
}
/**
+ * Submits given Form using PUT method to the given sub-resource and returns the object received as response
+ * @param subResourceName Name of the sub-resource to which the request is to be posted
+ * @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(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);
+ }
+
+ /**
* Submits given object to the resource and returns the object received as response
* @param responseClass Class of the object expected as response
* @param requestObject the Object to be submitted
@@ -119,7 +131,7 @@ public abstract class AbstractClient {
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
protected Object postObject(Class responseClass, Object requestObject) {
- return resource.type(MediaType.APPLICATION_XML).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
+ return resource.type(MediaType.TEXT_XML).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
.post(responseClass, requestObject);
}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
index 33f62ec1..3f9b5d61 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
@@ -18,34 +18,27 @@
*******************************************************************************/
package com.gluster.storage.management.client;
-import com.gluster.storage.management.core.model.AuthStatus;
import com.gluster.storage.management.core.model.Status;
import com.sun.jersey.api.representation.Form;
public class UsersClient extends AbstractClient {
private static final String RESOURCE_NAME = "users";
- private static final String PATH_LOGIN = "login";
- private static final String PATH_CHANGE_PASSWORD = "changepassword";
- private static final String QUERY_PARAM_USER = "user";
- private static final String QUERY_PARAM_PASSWORD = "password";
private static final String FORM_PARAM_OLD_PASSWORD = "oldpassword";
private static final String FORM_PARAM_NEW_PASSWORD = "newpassword";
private String user;
- private String password;
public UsersClient(String serverName, String user, String password) {
super(serverName, user, password);
this.user = user;
- this.password = password;
}
public boolean authenticate() {
- resource = resource.queryParam(QUERY_PARAM_USER, user).queryParam(QUERY_PARAM_PASSWORD, password);
try {
- AuthStatus authStatus = (AuthStatus) fetchSubResource(user + "/" + PATH_LOGIN, AuthStatus.class);
- return authStatus.getIsAuthenticated();
+ Status authStatus = (Status) fetchSubResource(user, Status.class);
+ return authStatus.isSuccess();
} catch(Exception e) {
+ e.printStackTrace();
return false;
}
@@ -57,15 +50,23 @@ public class UsersClient extends AbstractClient {
Form form = new Form();
form.add(FORM_PARAM_OLD_PASSWORD, oldPassword);
form.add(FORM_PARAM_NEW_PASSWORD, newPassword);
- Status status = (Status) postRequest(user + "/" + PATH_CHANGE_PASSWORD, Status.class, form);
+ Status status = (Status) putRequest(user, Status.class, form);
return status.isSuccess();
}
public static void main(String[] args) {
UsersClient authClient = new UsersClient("localhost", "gluster", "gluster");
+
+ // authenticate user
System.out.println(authClient.authenticate());
- //System.out.println(authClient.changePassword("gluster", "gluster2", "gluster"));
+
+ // change password to gluster1
+ System.out.println(authClient.changePassword("gluster", "gluster", "gluster1"));
+
+ // change it back to gluster
+ authClient = new UsersClient("localhost", "gluster", "gluster1");
+ System.out.println(authClient.changePassword("gluster", "gluster1", "gluster"));
}
/*