diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-03-16 19:14:57 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-03-16 19:14:57 +0530 |
| commit | 1bc1801223721c528fb87a4442e17664143d4466 (patch) | |
| tree | 3d04be08e34e3697be836105692b6ddee7f93f60 /com.gluster.storage.management.client/src/com/gluster | |
| parent | d8426e9287c37a8e6e277a0e84929239269fd0d5 (diff) | |
Add server to cluster
Diffstat (limited to 'com.gluster.storage.management.client/src/com/gluster')
2 files changed, 40 insertions, 16 deletions
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index e15f28a5..ccad0429 100644 --- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java +++ b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java @@ -30,6 +30,7 @@ import com.gluster.storage.management.core.model.Entity; import com.gluster.storage.management.core.model.GlusterDataModel; import com.gluster.storage.management.core.model.GlusterServer; import com.gluster.storage.management.core.model.GlusterServer.SERVER_STATUS; +import com.gluster.storage.management.core.model.IClusterListener; import com.gluster.storage.management.core.model.LogMessage; import com.gluster.storage.management.core.model.NetworkInterface; import com.gluster.storage.management.core.model.Server; @@ -48,6 +49,7 @@ public class GlusterDataModelManager { private GlusterDataModel model; private String securityToken; private String serverName; + private List<IClusterListener> listeners = new ArrayList<IClusterListener>(); private GlusterDataModelManager() { } @@ -294,4 +296,26 @@ public class GlusterDataModelManager { } return disks; } + + public void addClusterListener(IClusterListener listener) { + listeners.add(listener); + } + + public void addGlusterServer(GlusterServer server) { + Cluster cluster = (Cluster)model.getChildren().get(0); + cluster.addServer(server); + + for(IClusterListener listener : listeners) { + listener.serverAdded(server); + } + } + + public void removeDiscoveredServer(Server server) { + Cluster cluster = (Cluster)model.getChildren().get(0); + cluster.removeDiscoveredServer(server); + + for(IClusterListener listener : listeners) { + listener.discoveredServerRemoved(server); + } + } } 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 222cdf1c..a8a9d0d1 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,8 +23,9 @@ import java.util.List; import com.gluster.storage.management.core.model.GenericResponse; import com.gluster.storage.management.core.model.GlusterServer; import com.gluster.storage.management.core.model.GlusterServerListResponse; +import com.gluster.storage.management.core.model.GlusterServerResponse; +import com.gluster.storage.management.core.model.Response; import com.gluster.storage.management.core.model.Server; -import com.gluster.storage.management.core.model.Status; import com.sun.jersey.api.representation.Form; public class GlusterServersClient extends AbstractClient { @@ -39,14 +40,13 @@ public class GlusterServersClient extends AbstractClient { return RESOURCE_NAME; } - @SuppressWarnings("unchecked") public List<GlusterServer> getServers() { GlusterServerListResponse response = (GlusterServerListResponse) fetchResource(GlusterServerListResponse.class); return response.getServers(); } + @SuppressWarnings("unchecked") public Server getServer(String serverName) { - @SuppressWarnings("unchecked") GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName, GenericResponse.class); return response.getData(); } @@ -55,29 +55,29 @@ public class GlusterServersClient extends AbstractClient { return ((String) fetchSubResource(serverName, String.class)); } - @SuppressWarnings("unchecked") - public Status addServer(Server discoveredServer) { + public GlusterServerResponse addServer(Server discoveredServer) { Form form = new Form(); form.add("serverName", discoveredServer.getName()); - GenericResponse<String> response = (GenericResponse<String>) postRequest(GenericResponse.class, form); - return response.getStatus(); + return (GlusterServerResponse)postRequest(GlusterServerResponse.class, form); } public static void main(String[] args) { UsersClient usersClient = new UsersClient("localhost"); if (usersClient.authenticate("gluster", "gluster")) { - GlusterServersClient ServerResource = new GlusterServersClient("localhost", usersClient.getSecurityToken()); - List<GlusterServer> glusterServers = ServerResource.getServers(); - for (GlusterServer server : glusterServers) { - System.out.println(server.getName()); - } + GlusterServersClient serverResource = new GlusterServersClient("localhost", usersClient.getSecurityToken()); +// List<GlusterServer> glusterServers = ServerResource.getServers(); +// for (GlusterServer server : glusterServers) { +// System.out.println(server.getName()); +// } // Add server - // Server srv = new Server(); - // srv.setName("my-server"); - // Status response = ServerResource.addServer(srv); - // System.out.println(response.toString()); + Server srv = new Server(); + srv.setName("server3"); + GlusterServerResponse response = serverResource.addServer(srv); + System.out.println(response.getGlusterServer().getName()); + System.out.println(response.getStatus().isSuccess()); + } } } |
