diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-06-23 21:47:16 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-06-23 21:47:16 +0530 |
| commit | 83e384323d8c9ac3ad78084663c477eb6729eeaa (patch) | |
| tree | ce1031a8f2a18f36abf2b02bae18c46b16435c23 /src/com.gluster.storage.management.client | |
| parent | d7bee34ac953b8fe1c3f1595d20e2d3d72a942ec (diff) | |
REST API Enhancements
Diffstat (limited to 'src/com.gluster.storage.management.client')
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(); } } } |
