summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.client/src/com/gluster
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-03-16 19:14:57 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-03-16 19:14:57 +0530
commit1bc1801223721c528fb87a4442e17664143d4466 (patch)
tree3d04be08e34e3697be836105692b6ddee7f93f60 /com.gluster.storage.management.client/src/com/gluster
parentd8426e9287c37a8e6e277a0e84929239269fd0d5 (diff)
Add server to cluster
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/GlusterDataModelManager.java24
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java32
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());
+
}
}
}