summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.client/src/com/gluster
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-10 16:14:14 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-10 16:14:14 +0530
commit70b348d037c7e02603c9fb34061888655e5bef73 (patch)
treefa97167ed542c80e421a085ba15165bbe0ef0e3b /com.gluster.storage.management.client/src/com/gluster
parent69841676b7cbd2c8ac47b32d6baf87284f9d0efa (diff)
Introduced add server functionality
Diffstat (limited to 'com.gluster.storage.management.client/src/com/gluster')
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java10
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java21
2 files changed, 25 insertions, 6 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 cc368bcf..2d022055 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
@@ -5,7 +5,6 @@ import java.net.URI;
import javax.ws.rs.core.MediaType;
import com.gluster.storage.management.client.utils.ClientUtil;
-import com.gluster.storage.management.core.model.AuthStatus;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.DefaultClientConfig;
@@ -66,10 +65,15 @@ public abstract class AbstractClient {
return fetchResource(resource.path(subResourceName), responseClass);
}
+ protected Object postRequest(Class responseClass, Form form) {
+ return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header("Authorization", authHeader)
+ .accept(MediaType.TEXT_XML).post(responseClass, form);
+ }
+
@SuppressWarnings({ "rawtypes", "unchecked" })
protected Object postRequest(String subResourceName, Class responseClass, Form form) {
- return resource.path(subResourceName).header("Authorization", authHeader).accept(MediaType.TEXT_XML)
- .post(responseClass, form);
+ return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
+ .header("Authorization", authHeader).accept(MediaType.TEXT_XML).post(responseClass, form);
}
public abstract String getResourceName();
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
index 9f1d5ce3..74da2a25 100644
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
@@ -23,9 +23,11 @@ import java.util.List;
import com.gluster.storage.management.core.model.GenericResponse;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.ServerListResponse;
+import com.gluster.storage.management.core.model.Status;
+import com.sun.jersey.api.representation.Form;
public class GlusterServersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "cluster/servers";
+ private static final String RESOURCE_NAME = "/cluster/servers";
public GlusterServersClient(String serverName, String user, String password) {
super(serverName, user, password);
@@ -44,8 +46,7 @@ public class GlusterServersClient extends AbstractClient {
public Server getServer(String serverName) {
@SuppressWarnings("unchecked")
- GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName,
- GenericResponse.class);
+ GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName, GenericResponse.class);
return response.getData();
}
@@ -53,9 +54,23 @@ public class GlusterServersClient extends AbstractClient {
return ((String) fetchSubResource(serverName, String.class));
}
+ @SuppressWarnings("unchecked")
+ public Status addServer(Server discoveredServer) {
+ Form form = new Form();
+ form.add("serverName", discoveredServer.getName());
+ GenericResponse<String> response = (GenericResponse<String>) postRequest(GenericResponse.class, form);
+ return response.getStatus();
+ }
+
public static void main(String[] args) {
GlusterServersClient ServerResource = new GlusterServersClient("localhost", "gluster", "gluster");
List<Server> glusterServers = ServerResource.getServers();
System.out.println(glusterServers.size());
+
+ // Add server
+ Server srv = new Server();
+ srv.setName("my-server");
+ Status response = ServerResource.addServer(srv);
+ System.out.println(response.toString());
}
}