summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-06-23 21:47:16 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-06-23 21:47:16 +0530
commit83e384323d8c9ac3ad78084663c477eb6729eeaa (patch)
treece1031a8f2a18f36abf2b02bae18c46b16435c23 /src/com.gluster.storage.management.client
parentd7bee34ac953b8fe1c3f1595d20e2d3d72a942ec (diff)
REST API Enhancements
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.java2
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java44
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java5
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java5
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java58
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java5
6 files changed, 64 insertions, 55 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 9eaaca93..3d13a8de 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
@@ -126,7 +126,7 @@ public abstract class AbstractClient {
return res.queryParams(queryParams)
.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML).get(responseClass);
} catch(UniformInterfaceException e) {
- throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
+ throw new GlusterRuntimeException(e.getResponse().getEntity(String.class), e);
}
}
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 dadeadf8..31809c75 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
@@ -74,27 +74,29 @@ public class ClustersClient extends AbstractClient {
public static void main(String args[]) {
UsersClient usersClient = new UsersClient();
- Status authStatus = usersClient.authenticate("gluster", "gluster");
- if (authStatus.isSuccess()) {
- ClustersClient client = new ClustersClient();
- client.setSecurityToken(usersClient.getSecurityToken());
- System.out.println(client.getClusterNames());
- try {
- client.createCluster("test1");
- } catch(GlusterRuntimeException e) {
- System.out.println(e.getMessage());
- }
-
- System.out.println(client.getClusterNames());
-
- try {
- client.deleteCluster("test1");
- } catch (GlusterRuntimeException e) {
- System.out.println(e.getMessage());
- }
- System.out.println(client.getClusterNames());
- } else {
- System.out.println("authentication failed: " + authStatus);
+
+ try {
+ usersClient.authenticate("gluster", "gluster");
+ } catch(Exception e) {
+ e.printStackTrace();
}
+
+ ClustersClient client = new ClustersClient();
+ client.setSecurityToken(usersClient.getSecurityToken());
+ System.out.println(client.getClusterNames());
+ try {
+ client.createCluster("test1");
+ } catch (GlusterRuntimeException e) {
+ System.out.println(e.getMessage());
+ }
+
+ System.out.println(client.getClusterNames());
+
+ try {
+ client.deleteCluster("test1");
+ } catch (GlusterRuntimeException e) {
+ System.out.println(e.getMessage());
+ }
+ System.out.println(client.getClusterNames());
}
}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
index f35c3e36..3704e2ff 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
@@ -68,12 +68,15 @@ public class DiscoveredServersClient extends AbstractClient {
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster").isSuccess()) {
+ try {
+ usersClient.authenticate("gluster", "gluster");
DiscoveredServersClient serverResource = new DiscoveredServersClient(usersClient.getSecurityToken());
List<String> discoveredServerNames = serverResource.getDiscoveredServerNames();
System.out.println(discoveredServerNames);
List<Server> discoveredServers = serverResource.getDiscoveredServerDetails();
System.out.println(discoveredServers);
+ } catch(Exception e) {
+ e.printStackTrace();
}
}
}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
index b525da01..b780e1c0 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
@@ -68,7 +68,8 @@ public class GlusterServersClient extends AbstractClient {
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster").isSuccess()) {
+ try {
+ usersClient.authenticate("gluster", "gluster");
GlusterServersClient glusterServersClient = new GlusterServersClient(usersClient.getSecurityToken(), "cluster1");
List<GlusterServer> glusterServers = glusterServersClient.getServers();
for (GlusterServer server : glusterServers) {
@@ -79,6 +80,8 @@ public class GlusterServersClient extends AbstractClient {
Server srv = new Server();
srv.setName("server3");
glusterServersClient.addServer(srv);
+ } catch(Exception e) {
+ e.printStackTrace();
}
}
}
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 84ed4e4c..522b87c1 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
@@ -22,6 +22,7 @@ import java.net.ConnectException;
import javax.ws.rs.core.Response;
+import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Status;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.representation.Form;
@@ -40,60 +41,57 @@ public class UsersClient extends AbstractClient {
super();
}
- public Status authenticate(String user, String password) {
+ public void authenticate(String user, String password) {
setSecurityToken(generateSecurityToken(user, password));
try {
- Status authStatus = (Status) fetchSubResource(user, Status.class);
- if (!authStatus.isSuccess()) {
- // authentication failed. clear security token.
- setSecurityToken(null);
- }
- return authStatus;
- } catch (UniformInterfaceException e) {
- if ((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!");
- } else {
+ fetchSubResource(user, String.class);
+ } catch (RuntimeException e) {
+ Throwable cause = e.getCause();
+ if(cause == null) {
throw e;
}
- } catch (Exception e) {
- // authentication failed. clear security token.
- setSecurityToken(null);
- Throwable cause = e.getCause();
- if(cause != null && cause instanceof ConnectException) {
- return new Status(Status.STATUS_CODE_FAILURE, "Couldn't connect to Gluster Management Gateway!");
+ if (cause instanceof UniformInterfaceException) {
+ UniformInterfaceException e1 = (UniformInterfaceException) cause;
+ if ((e1.getResponse().getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) {
+ // authentication failed. clear security token.
+ setSecurityToken(null);
+ throw new GlusterRuntimeException("Invalid user id or password!");
+ } else {
+ // TODO: Log the exception
+ throw new GlusterRuntimeException("Exception during authentication: ["
+ + e1.getResponse().getStatus() + "]");
+ }
+ } else if(cause instanceof ConnectException) {
+ throw new GlusterRuntimeException("Couldn't connect to Gluster Management Gateway!");
+ } else {
+ throw new GlusterRuntimeException("Exception during authentication: [" + e.getMessage() + "]");
}
- return new Status(Status.STATUS_CODE_FAILURE, "Exception during authentication: [" + e.getMessage() + "]");
}
}
- public boolean changePassword(String user, String oldPassword, String newPassword) {
+ public void changePassword(String user, String oldPassword, String newPassword) {
setSecurityToken(generateSecurityToken(user, oldPassword));
Form form = new Form();
form.add(FORM_PARAM_OLD_PASSWORD, oldPassword);
form.add(FORM_PARAM_NEW_PASSWORD, newPassword);
- try {
- putRequest(user, form);
- return true;
- } catch (Exception e) {
- return false;
- }
+ putRequest(user, form);
}
public static void main(String[] args) {
UsersClient authClient = new UsersClient();
// authenticate user
- System.out.println(authClient.authenticate("gluster", "gluster"));
+ authClient.authenticate("gluster", "gluster");
// change password to gluster1
- System.out.println(authClient.changePassword("gluster", "gluster", "gluster1"));
+ authClient.changePassword("gluster", "gluster", "gluster1");
// change it back to gluster
- System.out.println(authClient.changePassword("gluster", "gluster1", "gluster"));
+ authClient.changePassword("gluster", "gluster1", "gluster");
+
+ System.out.println("success");
}
/*
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 d237f010..c04389d1 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
@@ -232,10 +232,13 @@ public class VolumesClient extends AbstractClient {
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster").isSuccess()) {
+ try {
+ usersClient.authenticate("gluster", "gluster");
VolumesClient client = new VolumesClient(usersClient.getSecurityToken());
System.out.println(client.getAllVolumes());
// client.downloadLogs("vol1", "/tmp/temp1.tar.gz");
+ } catch(Exception e) {
+ e.printStackTrace();
}
}
}