diff options
Diffstat (limited to 'com.gluster.storage.management.client')
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 Binary files differdeleted file mode 100644 index 62f790fa..00000000 --- a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar +++ /dev/null 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 Binary files differdeleted file mode 100644 index 92b38466..00000000 --- a/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar +++ /dev/null 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\\/"); - } -} |
