diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-03-10 16:14:14 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-03-10 16:14:14 +0530 |
| commit | 70b348d037c7e02603c9fb34061888655e5bef73 (patch) | |
| tree | fa97167ed542c80e421a085ba15165bbe0ef0e3b /com.gluster.storage.management.client/src/com/gluster | |
| parent | 69841676b7cbd2c8ac47b32d6baf87284f9d0efa (diff) | |
Introduced add server functionality
Diffstat (limited to 'com.gluster.storage.management.client/src/com/gluster')
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()); } } |
