summaryrefslogtreecommitdiffstats
path: root/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorShireesh Anjal <anjalshireesh@gmail.com>2011-03-28 06:58:51 -0700
committerShireesh Anjal <anjalshireesh@gmail.com>2011-03-28 06:58:51 -0700
commitbf531d097bc99db08bda4d1a1dec541c57c7933c (patch)
tree253a3fc82d5bac3755fc7e32f8456879b69b9979 /com.gluster.storage.management.client
parentb27c5d68d3ffa47c92e0fcd7d0873ac2d6b8fca8 (diff)
Preparing src for migration to github
Diffstat (limited to 'com.gluster.storage.management.client')
-rw-r--r--com.gluster.storage.management.client/.classpath10
-rw-r--r--com.gluster.storage.management.client/.project28
-rw-r--r--com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--com.gluster.storage.management.client/META-INF/MANIFEST.MF14
-rw-r--r--com.gluster.storage.management.client/build.properties8
-rw-r--r--com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jarbin128096 -> 0 bytes
-rw-r--r--com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jarbin455665 -> 0 bytes
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java159
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java79
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java344
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java83
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/RESTClientTest.java42
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java31
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java97
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java90
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java32
-rw-r--r--com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java20
17 files changed, 0 insertions, 1045 deletions
diff --git a/com.gluster.storage.management.client/.classpath b/com.gluster.storage.management.client/.classpath
deleted file mode 100644
index b8f71a37..00000000
--- a/com.gluster.storage.management.client/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-client-1.5.jar" sourcepath="/data/downloads/sun/jersey/sources/jersey-client-1.5-sources.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-core-1.5.jar" sourcepath="/data/downloads/sun/jersey/sources/jersey-core-1.5-sources.jar"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry combineaccessrules="false" kind="src" path="/com.gluster.storage.management.core"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/com.gluster.storage.management.client/.project b/com.gluster.storage.management.client/.project
deleted file mode 100644
index 647c8a91..00000000
--- a/com.gluster.storage.management.client/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>com.gluster.storage.management.client</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs b/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f8b5cc38..00000000
--- a/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Wed Dec 29 15:47:13 IST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/com.gluster.storage.management.client/META-INF/MANIFEST.MF b/com.gluster.storage.management.client/META-INF/MANIFEST.MF
deleted file mode 100644
index 43ae7c3e..00000000
--- a/com.gluster.storage.management.client/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gluster Storage Platform Client
-Bundle-SymbolicName: com.gluster.storage.management.client
-Bundle-Version: 1.0.0
-Bundle-Vendor: GLUSTER
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: com.gluster.storage.management.core;bundle-version="1.0.0",
- org.eclipse.equinox.common;bundle-version="3.6.0"
-Export-Package: com.gluster.storage.management.client,
- com.gluster.storage.management.client.constants
-Bundle-ClassPath: .,
- lib/jersey-1.5/jersey-client-1.5.jar,
- lib/jersey-1.5/jersey-core-1.5.jar
diff --git a/com.gluster.storage.management.client/build.properties b/com.gluster.storage.management.client/build.properties
deleted file mode 100644
index 271ce382..00000000
--- a/com.gluster.storage.management.client/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
- META-INF/,\
- lib/jersey-1.5/jersey-client-1.5.jar,\
- lib/jersey-1.5/jersey-core-1.5.jar
-src.includes = lib/jersey-1.4/jersey-client-1.4.jar,\
- lib/jersey-1.4/jersey-core-1.4.jar
diff --git a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar b/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar
deleted file mode 100644
index 62f790fa..00000000
--- a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar
+++ /dev/null
Binary files differ
diff --git a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar b/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar
deleted file mode 100644
index 92b38466..00000000
--- a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index 12fbd354..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package com.gluster.storage.management.client;
-
-import java.net.URI;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-
-import com.gluster.storage.management.client.utils.ClientUtil;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.api.representation.Form;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-
-public abstract class AbstractClient {
- private static final String HTTP_HEADER_AUTH = "Authorization";
- protected static final MultivaluedMap<String, String> NO_PARAMS = new MultivaluedMapImpl();
-
- protected WebResource resource;
- private String securityToken;
- private String authHeader;
-
- public AbstractClient() {
- URI baseURI = new ClientUtil().getServerBaseURI();
- resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourceName());
- }
-
- public AbstractClient(String securityToken) {
- this();
- setSecurityToken(securityToken);
- }
-
- /**
- * Fetches the given resource by dispatching a GET request
- *
- * @param res
- * Resource to be fetched
- * @param queryParams
- * Query parameters to be sent for the GET request
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- private Object fetchResource(WebResource res, MultivaluedMap<String, String> queryParams, Class responseClass) {
- return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
- .get(responseClass);
- }
-
- /**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourceName()}) by dispatching a GET
- * request on the resource
- *
- * @param queryParams
- * Query parameters to be sent for the GET request
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- @SuppressWarnings("rawtypes")
- protected Object fetchResource(MultivaluedMap<String, String> queryParams, Class responseClass) {
- return fetchResource(resource, queryParams, responseClass);
- }
-
- /**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourceName()}) by dispatching a GET
- * request on the resource
- *
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- @SuppressWarnings("rawtypes")
- protected Object fetchResource(Class responseClass) {
- Object response = fetchResource(resource, NO_PARAMS, responseClass);
- return response;
- }
-
- /**
- * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
- * resource (the one returned by {@link AbstractClient#getResourceName()})
- *
- * @param subResourceName
- * Name of the sub-resource
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request on the sub-resource
- */
- @SuppressWarnings("rawtypes")
- protected Object fetchSubResource(String subResourceName, Class responseClass) {
- return fetchResource(resource.path(subResourceName), NO_PARAMS, responseClass);
- }
-
- /**
- * Submits given Form using POST method to the resource and returns the object received as response
- * @param responseClass Class of the object expected as response
- * @param form Form to be submitted
- * @return Object of given class received as response
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- 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);
- }
-
- /**
- * Submits given Form using POST method to the given sub-resource and returns the object received as response
- * @param subResourceName Name of the sub-resource to which the request is to be posted
- * @param responseClass Class of the object expected as response
- * @param form Form to be submitted
- * @return Object of given class received as response
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- protected Object postRequest(String subResourceName, Class responseClass, Form form) {
- return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header("Authorization", authHeader).accept(MediaType.TEXT_XML).post(responseClass, form);
- }
-
- /**
- * Submits given Form using PUT method to the given sub-resource and returns the object received as response
- * @param subResourceName Name of the sub-resource to which the request is to be posted
- * @param responseClass Class of the object expected as response
- * @param form Form to be submitted
- * @return Object of given class received as response
- */
- protected Object putRequest(String subResourceName, Class responseClass, Form form) {
- return resource.path(subResourceName).type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
- .header("Authorization", authHeader).accept(MediaType.TEXT_XML).put(responseClass, form);
- }
-
- /**
- * Submits given object to the resource and returns the object received as response
- * @param responseClass Class of the object expected as response
- * @param requestObject the Object to be submitted
- * @return Object of given class received as response
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- protected Object postObject(Class responseClass, Object requestObject) {
- return resource.type(MediaType.TEXT_XML).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.TEXT_XML)
- .post(responseClass, requestObject);
- }
-
- public abstract String getResourceName();
-
- /**
- * @return the securityToken
- */
- protected String getSecurityToken() {
- return securityToken;
- }
-
- /**
- * @param securityToken the securityToken to set
- */
- protected void setSecurityToken(String securityToken) {
- this.securityToken = securityToken;
- authHeader = "Basic " + securityToken;
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
deleted file mode 100644
index 0cc18037..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
-import com.gluster.storage.management.core.model.GenericResponse;
-import com.gluster.storage.management.core.model.Response;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.ServerListResponse;
-import com.gluster.storage.management.core.model.StringListResponse;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-
-public class DiscoveredServersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "discoveredservers";
-
- public DiscoveredServersClient(String serverName, String securityToken) {
- super(securityToken);
- }
-
- @Override
- public String getResourceName() {
- return RESOURCE_NAME;
- }
-
- private Object getDiscoveredServers(Boolean getDetails, Class responseClass) {
- MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
- queryParams.putSingle("details", getDetails.toString());
-
- return ((Response) fetchResource(queryParams, responseClass)).getData();
- }
-
- public List<String> getDiscoveredServerNames() {
- return (List<String>) getDiscoveredServers(Boolean.FALSE, StringListResponse.class);
- }
-
- public List<Server> getDiscoveredServerDetails() {
- return (List<Server>) getDiscoveredServers(Boolean.TRUE, ServerListResponse.class);
- }
-
- @SuppressWarnings("unchecked")
- public Server getServer(String serverName) {
- GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName, GenericResponse.class);
- return response.getData();
- }
-
- public static void main(String[] args) {
- UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster")) {
- DiscoveredServersClient serverResource = new DiscoveredServersClient("localhost",
- usersClient.getSecurityToken());
- List<String> discoveredServerNames = serverResource.getDiscoveredServerNames();
- System.out.println(discoveredServerNames);
- List<Server> discoveredServers = serverResource.getDiscoveredServerDetails();
- System.out.println(discoveredServers);
-
- // Server serverDetails = ServerResource.getServer("localhost");
- // System.out.println(serverDetails.getName());
- }
- }
-}
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
deleted file mode 100644
index de0112db..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import com.gluster.storage.management.core.model.Cluster;
-import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
-import com.gluster.storage.management.core.model.Event.EVENT_TYPE;
-import com.gluster.storage.management.core.model.Entity;
-import com.gluster.storage.management.core.model.Event;
-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.ClusterListener;
-import com.gluster.storage.management.core.model.LogMessage;
-import com.gluster.storage.management.core.model.NetworkInterface;
-import com.gluster.storage.management.core.model.RunningTask;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.RunningTaskStatus;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
-
-public class GlusterDataModelManager {
- // private Server discoveredServer1, discoveredServer2, discoveredServer3, discoveredServer4, discoveredServer5;
- private GlusterServer server1, server2, server3, server4, server5;
- private Volume volume1, volume2, volume3, volume4, volume5;
- private Disk s1da, s1db, s2da, s2db, s2dc, s2dd, s3da, s4da, s5da, s5db;
- private static List<LogMessage> logMessages = new ArrayList<LogMessage>();
- private static GlusterDataModelManager instance = new GlusterDataModelManager();
- private GlusterDataModel model;
- private String securityToken;
- private String serverName;
- private List<ClusterListener> listeners = new ArrayList<ClusterListener>();
-
- private GlusterDataModelManager() {
- }
-
- public String getSecurityToken() {
- return securityToken;
- }
-
- public void setSecurityToken(String securityToken) {
- this.securityToken = securityToken;
- }
-
- public GlusterDataModel getModel() {
- return model;
- }
-
- public static GlusterDataModelManager getInstance() {
- return instance;
- }
-
- // Renamed preferredInterfaceName to interfaceName
- private GlusterServer addGlusterServer(List<GlusterServer> servers, Entity parent, String name,
- SERVER_STATUS status, String interfaceName, int numOfCPUs, double cpuUsage, double totalMemory,
- double memoryInUse) {
- GlusterServer glusterServer = new GlusterServer(name, parent, status, numOfCPUs, cpuUsage, totalMemory,
- memoryInUse);
- NetworkInterface networkInterface = addNetworkInterface(glusterServer, interfaceName); // Renamed preferredInterfaceName to interfaceName
- // glusterServer.setPreferredNetworkInterface(networkInterface);
-
- servers.add(glusterServer);
- return glusterServer;
- }
-
- private NetworkInterface addNetworkInterface(Server server, String interfaceName) {
- NetworkInterface networkInterface = new NetworkInterface(interfaceName, server, "192.168.1."
- + Math.round(Math.random() * 255), "255.255.255.0", "192.168.1.1");
- server.setNetworkInterfaces(Arrays.asList(new NetworkInterface[] { networkInterface }));
- return networkInterface;
- }
-
- private void addDiscoveredServer(List<Server> servers, Entity parent, String name, int numOfCPUs, double cpuUsage,
- double totalMemory, double memoryInUse, double totalDiskSpace, double diskSpaceInUse) {
- Server server = new Server(name, parent, numOfCPUs, cpuUsage, totalMemory, memoryInUse);
- server.addDisk(new Disk(server, "sda", totalDiskSpace, diskSpaceInUse, DISK_STATUS.READY));
- addNetworkInterface(server, "eth0");
-
- servers.add(server);
- }
-
- public void initializeModel(String securityToken) {
- setSecurityToken(securityToken);
-
- // Create the dummy data model for demo
- model = new GlusterDataModel("Clusters");
- Cluster cluster = new Cluster("Home", model);
-
- initializeGlusterServers(cluster);
- initializeVolumes(cluster);
- initializeAutoDiscoveredServers(cluster);
- initializeDisks();
- addDisksToVolumes();
- addVolumeOptions();
-
- createDummyLogMessages();
-
- initializeRunningTasks(cluster);
-
- model.addCluster(cluster);
- }
-
- private void addVolumeOptions() {
- for (Volume vol : new Volume[] { volume1, volume2, volume3, volume4, volume5 }) {
- for (int i = 1; i <= 5; i++) {
- String key = vol.getName() + "key" + i;
- String value = vol.getName() + "value" + i;
- vol.setOption(key, value);
- }
- }
- }
-
- public Volume addVolume(List<Volume> volumes, String name, Cluster cluster, VOLUME_TYPE volumeType,
- TRANSPORT_TYPE transportType, VOLUME_STATUS status) {
- Volume volume = new Volume(name, cluster, volumeType, transportType, status);
- volumes.add(volume);
-
- return volume;
- }
-
- private void initializeVolumes(Cluster cluster) {
- List<Volume> volumes = new ArrayList<Volume>();
-
- volume1 = addVolume(volumes, "Volume1", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
- VOLUME_STATUS.ONLINE);
-
- volume2 = addVolume(volumes, "Volume2", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
- VOLUME_STATUS.ONLINE);
-
- volume3 = addVolume(volumes, "Volume3", cluster, VOLUME_TYPE.DISTRIBUTED_MIRROR, TRANSPORT_TYPE.ETHERNET,
- VOLUME_STATUS.OFFLINE);
- volume3.setReplicaCount(2);
-
- volume4 = addVolume(volumes, "Volume4", cluster, VOLUME_TYPE.PLAIN_DISTRIBUTE, TRANSPORT_TYPE.ETHERNET,
- VOLUME_STATUS.ONLINE);
-
- volume5 = addVolume(volumes, "Volume5", cluster, VOLUME_TYPE.DISTRIBUTED_STRIPE, TRANSPORT_TYPE.INFINIBAND,
- VOLUME_STATUS.OFFLINE);
- volume5.setStripeCount(3);
-
- cluster.setVolumes(volumes);
- }
-
- private void initializeDisks() {
- s1da = new Disk(server1, "sda", 100d, 80d, DISK_STATUS.READY);
- s1db = new Disk(server1, "sdb", 100d, 67.83, DISK_STATUS.READY);
-
- s2da = new Disk(server2, "sda", 200d, 157.12, DISK_STATUS.READY);
- s2db = new Disk(server2, "sdb", 200d, 182.27, DISK_STATUS.READY);
- s2dc = new Disk(server2, "sdc", 200d, -1d, DISK_STATUS.UNINITIALIZED);
- s2dd = new Disk(server2, "sdd", 200d, 124.89, DISK_STATUS.READY);
-
- s3da = new Disk(server3, "NA", -1d, -1d, DISK_STATUS.OFFLINE); // disk name unavailable since server is offline
-
- s4da = new Disk(server4, "sda", 100d, 85.39, DISK_STATUS.READY);
-
- s5da = new Disk(server5, "sda", 100d, 92.83, DISK_STATUS.READY);
- s5db = new Disk(server5, "sdb", 200d, 185.69, DISK_STATUS.READY);
- }
-
- private void addDisksToServers() {
- server1.addDisk(s1da);
- server1.addDisk(s1db);
-
- server2.addDisk(s2da);
- server2.addDisk(s2db);
- server2.addDisk(s2dc);
- server2.addDisk(s2dd);
-
- // server3.addDisk(s3da);
-
- server4.addDisk(s4da);
-
- server5.addDisk(s5da);
- server5.addDisk(s5db);
- }
-
- private void addDisksToVolumes() {
- volume1.addDisk(s1da);
-
- volume2.addDisk(s2da);
- volume2.addDisk(s1db);
- volume2.addDisk(s3da);
- volume2.addDisk(s4da);
-
- volume3.addDisk(s2db);
- volume3.addDisk(s4da);
- volume3.addDisk(s5da);
-
- volume4.addDisk(s1da);
- volume4.addDisk(s3da);
- volume4.addDisk(s4da);
- volume4.addDisk(s5db);
-
- volume5.addDisk(s2da);
- volume5.addDisk(s5db);
- }
-
- private void initializeGlusterServers(Cluster cluster) {
- cluster.setServers(new GlusterServersClient(securityToken).getServers());
- }
-
- private void initializeAutoDiscoveredServers(Cluster cluster) {
- cluster.setAutoDiscoveredServers(new DiscoveredServersClient(serverName, securityToken)
- .getDiscoveredServerDetails());
- }
-
- private void addMessages(List<LogMessage> messages, Disk disk, String severity, int count) {
- for (int i = 1; i <= count; i++) {
- String message = severity + "message" + i;
- messages.add(new LogMessage(new Date(), disk, severity, message));
- }
- }
-
- private void addMessagesForDisk(List<LogMessage> logMessages, Disk disk) {
- addMessages(logMessages, disk, "SEVERE", 5);
- addMessages(logMessages, disk, "WARNING", 5);
- addMessages(logMessages, disk, "DEBUG", 5);
- addMessages(logMessages, disk, "INFO", 5);
- }
-
- public void initializeRunningTasks(Cluster cluster) {
- cluster.setRunningTasks(new RunningTaskClient(securityToken).getRunningTasks());
- }
-
- public List<LogMessage> createDummyLogMessages() {
- addMessagesForDisk(logMessages, s1da);
- addMessagesForDisk(logMessages, s1db);
- addMessagesForDisk(logMessages, s2da);
- addMessagesForDisk(logMessages, s2db);
- addMessagesForDisk(logMessages, s2dc);
- addMessagesForDisk(logMessages, s2dd);
- addMessagesForDisk(logMessages, s4da);
- addMessagesForDisk(logMessages, s5da);
- addMessagesForDisk(logMessages, s5db);
- return logMessages;
- }
-
- public static List<LogMessage> getDummyLogMessages() {
- return logMessages;
- }
-
- public List<Disk> getReadyDisksOfVolume(Volume volume) {
- List<Disk> disks = new ArrayList<Disk>();
- for (Disk disk : volume.getDisks()) {
- if (disk.isReady()) {
- disks.add(disk);
- }
- }
- return disks;
- }
-
- public List<Disk> getReadyDisksOfAllVolumes() {
- List<Disk> disks = new ArrayList<Disk>();
- for (Volume volume : ((Cluster) model.getChildren().get(0)).getVolumes()) {
- disks.addAll(getReadyDisksOfVolume(volume));
- }
- return disks;
- }
-
- public List<Disk> getReadyDisksOfAllServers() {
- return getReadyDisksOfAllServersExcluding(new ArrayList<Disk>());
- }
-
- public List<Disk> getReadyDisksOfAllServersExcluding(List<Disk> excludeDisks) {
- List<Disk> disks = new ArrayList<Disk>();
-
- for (Server server : ((Cluster) model.getChildren().get(0)).getServers()) {
- for (Disk disk : server.getDisks()) {
- if (disk.isReady() && !excludeDisks.contains(disk)) {
- disks.add(disk);
- }
- }
- }
- return disks;
- }
-
- public void addClusterListener(ClusterListener listener) {
- listeners.add(listener);
- }
-
- public void removeClusterListener(ClusterListener listener) {
- listeners.remove(listener);
- }
-
- public void addGlusterServer(GlusterServer server) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
- cluster.addServer(server);
-
- for(ClusterListener listener : listeners) {
- listener.serverAdded(server);
- }
- }
-
- public void removeDiscoveredServer(Server server) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
- cluster.removeDiscoveredServer(server);
-
- for(ClusterListener listener : listeners) {
- listener.discoveredServerRemoved(server);
- }
- }
-
- public void updateVolumeStatus(Volume volume, VOLUME_STATUS newStatus) {
- volume.setStatus(newStatus);
- for(ClusterListener listener : listeners) {
- listener.volumeChanged(volume, new Event(EVENT_TYPE.VOLUME_STATUS_CHANGED, newStatus));
- }
- }
-
- public void addVolume(Volume volume) {
- Cluster cluster = (Cluster)model.getChildren().get(0);
- cluster.addVolume(volume);
-
- for(ClusterListener listener : listeners) {
- listener.volumeCreated(volume);
- }
- }
-}
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
deleted file mode 100644
index 25fe3bbc..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-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.sun.jersey.api.representation.Form;
-
-public class GlusterServersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "/cluster/servers";
-
- public GlusterServersClient(String securityToken) {
- super(securityToken);
- }
-
- @Override
- public String getResourceName() {
- return RESOURCE_NAME;
- }
-
- public List<GlusterServer> getServers() {
- GlusterServerListResponse response = (GlusterServerListResponse) fetchResource(GlusterServerListResponse.class);
- return response.getServers();
- }
-
- @SuppressWarnings("unchecked")
- public Server getServer(String serverName) {
- GenericResponse<Server> response = (GenericResponse<Server>) fetchSubResource(serverName, GenericResponse.class);
- return response.getData();
- }
-
- public String getServerXML(String serverName) {
- return ((String) fetchSubResource(serverName, String.class));
- }
-
- public GlusterServerResponse addServer(Server discoveredServer) {
- Form form = new Form();
- form.add("serverName", discoveredServer.getName());
- return (GlusterServerResponse)postRequest(GlusterServerResponse.class, form);
- }
-
- public static void main(String[] args) {
- UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster")) {
-
- GlusterServersClient serverResource = new GlusterServersClient(usersClient.getSecurityToken());
- List<GlusterServer> glusterServers = serverResource.getServers();
- for (GlusterServer server : glusterServers) {
- System.out.println(server.getName());
- }
-
- // Add server
- Server srv = new Server();
- srv.setName("server3");
- GlusterServerResponse response = serverResource.addServer(srv);
- System.out.println(response.getGlusterServer().getName());
- System.out.println(response.getStatus().isSuccess());
-
- }
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RESTClientTest.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RESTClientTest.java
deleted file mode 100644
index 05e1e094..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RESTClientTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-import java.net.URI;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.UriBuilder;
-
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-
-public class RESTClientTest {
- public static void main(String args[]) {
- WebResource service = Client.create(new DefaultClientConfig()).resource(getBaseURI());
- String name = service.path("services").path("name").accept(MediaType.TEXT_PLAIN).get(String.class);
- System.out.println(name);
- name = service.path("services").path("name/xml").accept(MediaType.TEXT_XML).get(String.class);
- System.out.println(name);
- }
-
- private static URI getBaseURI() {
- return UriBuilder.fromUri("http://localhost:8080/glustermc").build();
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
deleted file mode 100644
index 9309cdc8..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.gluster.storage.management.client;
-
-import java.util.List;
-
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.model.Response;
-import com.gluster.storage.management.core.model.RunningTask;
-import com.gluster.storage.management.core.model.RunningTaskListResponse;
-
-public class RunningTaskClient extends AbstractClient {
- private static final String RESOURCE_NAME = RESTConstants.RESOURCE_PATH_RUNNING_TASKS;
-
- public RunningTaskClient(String securityToken) {
- super(securityToken);
- }
-
- @Override
- public String getResourceName() {
- return RESOURCE_NAME;
- }
-
- @SuppressWarnings("rawtypes")
- private Object fetchRunningTasks(Class responseClass) {
- return fetchResource( responseClass );
- }
-
- public List<RunningTask> getRunningTasks() {
- RunningTaskListResponse response = (RunningTaskListResponse) fetchRunningTasks( RunningTaskListResponse.class );
- return response.getRunningTasks();
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
deleted file mode 100644
index 8d7a52fc..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-import com.gluster.storage.management.core.model.Status;
-import com.sun.jersey.api.representation.Form;
-import com.sun.jersey.core.util.Base64;
-
-public class UsersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "users";
- private static final String FORM_PARAM_OLD_PASSWORD = "oldpassword";
- private static final String FORM_PARAM_NEW_PASSWORD = "newpassword";
-
- private String generateSecurityToken(String user, String password) {
- return new String(Base64.encode(user + ":" + password));
- }
-
- public UsersClient() {
- super();
- }
-
- public boolean authenticate(String user, String password) {
- setSecurityToken(generateSecurityToken(user, password));
- try {
- Status authStatus = (Status) fetchSubResource(user, Status.class);
- if (authStatus.isSuccess()) {
- return true;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- // If we reach here, it means authentication failed. Clear security token and return false.
- setSecurityToken(null);
- return false;
- }
-
- public boolean 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);
- Status status = (Status) putRequest(user, Status.class, form);
-
- return status.isSuccess();
- }
-
- public static void main(String[] args) {
- UsersClient authClient = new UsersClient();
-
- // authenticate user
- System.out.println(authClient.authenticate("gluster", "gluster"));
-
- // change password to gluster1
- System.out.println(authClient.changePassword("gluster", "gluster", "gluster1"));
-
- // change it back to gluster
- System.out.println(authClient.changePassword("gluster", "gluster1", "gluster"));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.gluster.storage.management.client.AbstractClient#getResourceName()
- */
- @Override
- public String getResourceName() {
- return RESOURCE_NAME;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.gluster.storage.management.client.AbstractClient#getSecurityToken()
- */
- @Override
- public String getSecurityToken() {
- return super.getSecurityToken();
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
deleted file mode 100644
index 03e83a31..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * VolumesClient.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Disk.DISK_STATUS;
-import com.gluster.storage.management.core.model.GenericResponse;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.Volume;
-import com.sun.jersey.api.representation.Form;
-
-public class VolumesClient extends AbstractClient {
-
- public VolumesClient(String securityToken) {
- super(securityToken);
- }
-
- @Override
- public String getResourceName() {
- return RESTConstants.RESOURCE_PATH_VOLUMES;
- }
-
- @SuppressWarnings("unchecked")
- public Status createVolume(Volume volume) {
- GenericResponse<String> createVolumeResponse = (GenericResponse<String>) postObject(GenericResponse.class, volume);
-
- if (!createVolumeResponse.getStatus().isSuccess()) {
- return (Status) createVolumeResponse.getStatus();
- }
- return (Status) createVolumeResponse.getStatus();
- }
-
- private Status performOperation(String volumeName, String operation) {
- Form form = new Form();
- form.add(RESTConstants.FORM_PARAM_OPERATION, operation);
-
- return (Status)putRequest(volumeName, Status.class, form);
- }
-
- public Status startVolume(String volumeName) {
- return performOperation(volumeName, RESTConstants.FORM_PARAM_VALUE_START);
- }
-
- public Status stopVolume(String volumeName) {
- return performOperation(volumeName, RESTConstants.FORM_PARAM_VALUE_STOP);
- }
-
-
- public static void main(String[] args) {
- UsersClient usersClient = new UsersClient();
- if (usersClient.authenticate("gluster", "gluster")) {
- VolumesClient VC = new VolumesClient(usersClient.getSecurityToken());
- List<Disk> disks = new ArrayList<Disk>();
- Disk diskElement = new Disk();
- diskElement.setName("sda1");
- diskElement.setStatus(DISK_STATUS.READY);
- disks.add(diskElement);
- diskElement.setName("sda2");
- diskElement.setStatus(DISK_STATUS.READY);
- disks.add(diskElement);
-
- Volume vol = new Volume("vol1", null, Volume.VOLUME_TYPE.PLAIN_DISTRIBUTE, Volume.TRANSPORT_TYPE.ETHERNET,
- Volume.VOLUME_STATUS.ONLINE);
- // vol.setDisks(disks);
- System.out.println(VC.createVolume(vol));
- }
- }
-}
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
deleted file mode 100644
index 853cfe96..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * ClientConstants.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client.constants;
-
-/**
- *
- */
-public class ClientConstants {
- public static final String SYS_PROP_SERVER_URL = "gluster.server.url";
- public static final String DEFAULT_SERVER_URL = "http://localhost:8080/glustermc/linux.gtk.x86_64";
- public static final String WEB_CONTEXT = "glustermc";
- public static final String WEB_RESOURCE_BASE_PATH = "resources";
-}
-
diff --git a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java b/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
deleted file mode 100644
index 23d2f9fd..00000000
--- a/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.gluster.storage.management.client.utils;
-
-import java.net.URI;
-
-import javax.ws.rs.core.UriBuilder;
-
-import com.gluster.storage.management.client.constants.ClientConstants;
-
-public class ClientUtil {
-
- public URI getServerBaseURI() {
- return UriBuilder.fromUri(getBaseURL()).path(ClientConstants.WEB_RESOURCE_BASE_PATH).build();
- }
-
- private String getBaseURL() {
- // remove the platform path (e.g. /linux.gtk.x86_64) from the URL
- return System.getProperty(ClientConstants.SYS_PROP_SERVER_URL, ClientConstants.DEFAULT_SERVER_URL)
- .replaceAll("glustermc\\/.*", "glustermc\\/");
- }
-}