diff options
| author | Dhandapani <dhandapani@gluster.com> | 2011-06-24 10:49:34 +0530 |
|---|---|---|
| committer | Dhandapani <dhandapani@gluster.com> | 2011-06-24 10:49:34 +0530 |
| commit | 6dde8626a781ae07d449984d14d63e534059706c (patch) | |
| tree | c3352ba08bad061d7161dd206b2048dc6b23169e /src/com.gluster.storage.management.client | |
| parent | e6518b703800c986b90f2fe570d64edb8c32a813 (diff) | |
| parent | 83e384323d8c9ac3ad78084663c477eb6729eeaa (diff) | |
Merge branch 'master' of git@github.com:gluster/console
Conflicts:
src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java
Diffstat (limited to 'src/com.gluster.storage.management.client')
7 files changed, 83 insertions, 82 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 e055a2dd..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 @@ -18,13 +18,17 @@ *******************************************************************************/ package com.gluster.storage.management.client; +import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS; +import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS; + +import java.util.List; + import javax.ws.rs.core.MultivaluedMap; import com.gluster.storage.management.core.model.Server; import com.gluster.storage.management.core.response.GenericResponse; import com.gluster.storage.management.core.response.ServerListResponse; -import com.gluster.storage.management.core.response.StringListResponse; -import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS; +import com.gluster.storage.management.core.response.ServerNameListResponse; import com.sun.jersey.core.util.MultivaluedMapImpl; public class DiscoveredServersClient extends AbstractClient { @@ -43,38 +47,36 @@ public class DiscoveredServersClient extends AbstractClient { } @SuppressWarnings("rawtypes") - private Object getDiscoveredServers(Boolean getDetails, Class responseClass) { + private Object getDiscoveredServers(Boolean details, Class responseClass) { MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); - queryParams.putSingle("details", getDetails.toString()); + queryParams.putSingle(QUERY_PARAM_DETAILS, details.toString()); return fetchResource(queryParams, responseClass); } - public StringListResponse getDiscoveredServerNames() { - - return (StringListResponse) getDiscoveredServers(Boolean.FALSE, StringListResponse.class); + public List<String> getDiscoveredServerNames() { + return ((ServerNameListResponse) getDiscoveredServers(Boolean.FALSE, ServerNameListResponse.class)) + .getServerNames(); } - public ServerListResponse getDiscoveredServerDetails() { - return (ServerListResponse) getDiscoveredServers(Boolean.TRUE, ServerListResponse.class); + public List<Server> getDiscoveredServerDetails() { + return ((ServerListResponse) getDiscoveredServers(Boolean.TRUE, ServerListResponse.class)).getServers(); } - @SuppressWarnings("unchecked") public Server getServer(String serverName) { - GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName, GenericResponse.class); - return response.getData(); + return (Server) fetchSubResource(serverName, Server.class); } 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()); - StringListResponse discoveredServerNames = serverResource.getDiscoveredServerNames(); - System.out.println(discoveredServerNames.getData()); - ServerListResponse discoveredServers = serverResource.getDiscoveredServerDetails(); - System.out.println(discoveredServers.getData()); - - // Server serverDetails = ServerResource.getServer("localhost"); - // System.out.println(serverDetails.getName()); + 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/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index 3c5aedf5..695fae19 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 @@ -105,14 +105,7 @@ public class GlusterDataModelManager { } private void initializeAutoDiscoveredServers(Cluster cluster) { - ServerListResponse discoveredServerListResponse = new DiscoveredServersClient(securityToken) - .getDiscoveredServerDetails(); - Status status = discoveredServerListResponse.getStatus(); - if (!status.isSuccess() && !status.isPartSuccess()) { - // TODO: Find a way to show warning in case of part success - throw new GlusterRuntimeException(discoveredServerListResponse.getStatus().getMessage()); - } - cluster.setAutoDiscoveredServers(discoveredServerListResponse.getData()); + cluster.setAutoDiscoveredServers(new DiscoveredServersClient(securityToken).getDiscoveredServerDetails()); } private void initializeVolumes(Cluster cluster) { 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 5316bdda..b6d0a426 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 @@ -72,7 +72,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) { @@ -83,6 +84,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(); } } } |
