summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-05-25 18:12:48 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-05-30 12:20:17 +0530
commit66eeb6a273b1a60813375a4bf55bcc38e1a3d00a (patch)
tree74826193b1f83e558768e04b97da1c054e8cf259 /src/com.gluster.storage.management.client
parent4435678fe7c1ca8f857dd008088b3d33ddec0484 (diff)
Design changes - introducing cluster-server mapping on gateway
Diffstat (limited to 'src/com.gluster.storage.management.client')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java37
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java12
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java89
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java16
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java107
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java27
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java18
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java2
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java45
9 files changed, 220 insertions, 133 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
index d532c754..10064341 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
@@ -21,18 +21,29 @@ public abstract class AbstractClient {
private static final String HTTP_HEADER_AUTH = "Authorization";
protected static final MultivaluedMap<String, String> NO_PARAMS = new MultivaluedMapImpl();
+ protected String clusterName;
protected WebResource resource;
private String securityToken;
private String authHeader;
public AbstractClient() {
+ createResource();
+ }
+
+ private void createResource() {
URI baseURI = new ClientUtil().getServerBaseURI();
- resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourceName());
+ resource = Client.create(new DefaultClientConfig()).resource(baseURI).path(getResourcePath());
}
- public AbstractClient(String securityToken) {
- this();
+ public AbstractClient(String securityToken, String clusterName) {
+ this.clusterName = clusterName;
setSecurityToken(securityToken);
+ // this must be after setting clusterName as sub-classes may refer to cluster name in the getResourcePath method
+ createResource();
+ }
+
+ public AbstractClient(String clusterName) {
+ this(GlusterDataModelManager.getInstance().getSecurityToken(), clusterName);
}
/**
@@ -56,15 +67,15 @@ public abstract class AbstractClient {
ClientResponse response = res.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_OCTET_STREAM)
.get(ClientResponse.class);
try {
- if(!response.hasEntity()) {
+ if (!response.hasEntity()) {
throw new GlusterRuntimeException("No entity in response!");
}
-
+
InputStream inputStream = response.getEntityInputStream();
byte[] data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
-
+
FileOutputStream os = new FileOutputStream(filePath);
os.write(data);
os.close();
@@ -74,7 +85,7 @@ public abstract class AbstractClient {
}
/**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourceName()}) by dispatching a GET
+ * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
* request on the resource
*
* @param queryParams
@@ -89,7 +100,7 @@ public abstract class AbstractClient {
}
/**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourceName()}) by dispatching a GET
+ * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
* request on the resource
*
* @param responseClass
@@ -104,7 +115,7 @@ public abstract class AbstractClient {
/**
* Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
- * resource (the one returned by {@link AbstractClient#getResourceName()})
+ * resource (the one returned by {@link AbstractClient#getResourcePath()})
*
* @param subResourceName
* Name of the sub-resource
@@ -123,7 +134,7 @@ public abstract class AbstractClient {
/**
* Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
- * resource (the one returned by {@link AbstractClient#getResourceName()})
+ * resource (the one returned by {@link AbstractClient#getResourcePath()})
*
* @param subResourceName
* Name of the sub-resource
@@ -226,10 +237,14 @@ public abstract class AbstractClient {
MultivaluedMap<String, String> queryParams) {
return resource.path(subResourceName).queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader)
.delete(responseClass);
+ }
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ protected Object deleteSubResource(String subResourceName, Class responseClass) {
+ return resource.path(subResourceName).header(HTTP_HEADER_AUTH, authHeader).delete(responseClass);
}
- public abstract String getResourceName();
+ public abstract String getResourcePath();
/**
* @return the securityToken
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java
index 6adf198b..37aca4cd 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AlertsClient.java
@@ -8,13 +8,17 @@ import com.gluster.storage.management.core.model.AlertListResponse;
public class AlertsClient extends AbstractClient {
- public AlertsClient(String securityToken) {
- super(securityToken);
+ public AlertsClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public AlertsClient(String securityToken,String clusterName) {
+ super(securityToken, clusterName);
}
@Override
- public String getResourceName() {
- return RESTConstants.RESOURCE_PATH_ALERTS;
+ public String getResourcePath() {
+ return RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESTConstants.RESOURCE_ALERTS;
}
@SuppressWarnings("rawtypes")
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
new file mode 100644
index 00000000..08c380e0
--- /dev/null
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * 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 static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CLUSTER_NAME;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
+
+import java.util.List;
+
+import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.response.StringListResponse;
+import com.sun.jersey.api.representation.Form;
+
+/**
+ *
+ */
+public class ClustersClient extends AbstractClient {
+ public ClustersClient() {
+ super();
+ }
+
+ public ClustersClient(String securityToken) {
+ super();
+ setSecurityToken(securityToken);
+ }
+
+ /* (non-Javadoc)
+ * @see com.gluster.storage.management.client.AbstractClient#getResourcePath()
+ */
+ @Override
+ public String getResourcePath() {
+ return RESOURCE_PATH_CLUSTERS;
+ }
+
+ public StringListResponse getClusters() {
+ return (StringListResponse)fetchResource(StringListResponse.class);
+ }
+
+ public Status createCluster(String clusterName) {
+ Form form = new Form();
+ form.add(FORM_PARAM_CLUSTER_NAME, clusterName);
+ return (Status)postRequest(Status.class, form);
+ }
+
+ public Status deleteCluster(String clusterName) {
+ return (Status)deleteSubResource(clusterName, Status.class);
+ }
+
+ public static void main(String args[]) {
+ UsersClient usersClient = new UsersClient();
+ Status authStatus = usersClient.authenticate("gluster", "gluster");
+ if (authStatus.isSuccess()) {
+ ClustersClient client = new ClustersClient();
+ client.setSecurityToken(usersClient.getSecurityToken());
+ StringListResponse response = client.getClusters();
+ List<String> clusters = response.getData();
+ if(clusters.size() == 0) {
+ Status status = client.createCluster("myCluster1");
+ System.out.println(status);
+ }
+ response = client.getClusters();
+ clusters = response.getData();
+ System.out.println(clusters);
+
+ System.out.println(client.deleteCluster("myCluster1"));
+ response = client.getClusters();
+ clusters = response.getData();
+ System.out.println(clusters);
+ } else {
+ System.out.println("authentication failed: " + authStatus);
+ }
+ }
+}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
index a1dad796..e055a2dd 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
@@ -24,18 +24,22 @@ import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.response.GenericResponse;
import com.gluster.storage.management.core.response.ServerListResponse;
import com.gluster.storage.management.core.response.StringListResponse;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class DiscoveredServersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "discoveredservers";
-
- public DiscoveredServersClient(String securityToken) {
- super(securityToken);
+
+ public DiscoveredServersClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public DiscoveredServersClient(String securityToken, String clusterName) {
+ super(securityToken, clusterName);
}
@Override
- public String getResourceName() {
- return RESOURCE_NAME;
+ public String getResourcePath() {
+ return RESOURCE_PATH_DISCOVERED_SERVERS;
}
@SuppressWarnings("rawtypes")
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index 873c26f6..356e1e0d 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -19,7 +19,6 @@
package com.gluster.storage.management.client;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import java.util.Map.Entry;
@@ -32,7 +31,6 @@ import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.Event.EVENT_TYPE;
import com.gluster.storage.management.core.model.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.LogMessage;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE;
@@ -48,15 +46,12 @@ import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse
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 List<ClusterListener> listeners = new ArrayList<ClusterListener>();
private List<VolumeOptionInfo> volumeOptionsDefaults;
+ private String clusterName;
private GlusterDataModelManager() {
}
@@ -69,6 +64,14 @@ public class GlusterDataModelManager {
this.securityToken = securityToken;
}
+ public void setClusterName(String clusterName) {
+ this.clusterName = clusterName;
+ }
+
+ public String getClusterName() {
+ return clusterName;
+ }
+
public GlusterDataModel getModel() {
return model;
}
@@ -76,20 +79,38 @@ public class GlusterDataModelManager {
public static GlusterDataModelManager getInstance() {
return instance;
}
+
+ public void initializeModelWithNewCluster(String securityToken, String clusterName) {
+ model = new GlusterDataModel("Gluster Data Model");
+ setSecurityToken(securityToken);
+
+ Cluster cluster = new Cluster(clusterName, model);
+
+ cluster.setServers(new ArrayList<GlusterServer>());
+ cluster.setVolumes(new ArrayList<Volume>());
+
+ initializeAutoDiscoveredServers(cluster);
+ // initializeDisks();
+
+ initializeRunningTasks(cluster);
+ initializeAlerts(cluster);
+
+ model.addCluster(cluster);
+ }
- public void initializeModel(String securityToken, String knownServer) {
+ public void initializeModel(String securityToken, String clusterName) {
model = new GlusterDataModel("Gluster Data Model");
setSecurityToken(securityToken);
- Cluster cluster = new Cluster("Home", model);
+ setClusterName(clusterName);
+
+ Cluster cluster = new Cluster(clusterName, model);
- initializeGlusterServers(cluster, knownServer);
+ initializeGlusterServers(cluster);
initializeVolumes(cluster);
initializeAutoDiscoveredServers(cluster);
// initializeDisks();
- createDummyLogMessages(cluster);
-
initializeRunningTasks(cluster);
initializeAlerts(cluster);
initializeVolumeOptionsDefaults();
@@ -97,9 +118,9 @@ public class GlusterDataModelManager {
model.addCluster(cluster);
}
- private void initializeGlusterServers(Cluster cluster, String knownServer) {
- GlusterServerListResponse glusterServerListResponse = new GlusterServersClient(securityToken)
- .getServers(knownServer);
+ private void initializeGlusterServers(Cluster cluster) {
+ GlusterServerListResponse glusterServerListResponse = new GlusterServersClient(clusterName)
+ .getServers();
if (!glusterServerListResponse.getStatus().isSuccess()) {
throw new GlusterRuntimeException(glusterServerListResponse.getStatus().getMessage());
}
@@ -125,7 +146,7 @@ public class GlusterDataModelManager {
}
private void initializeVolumeOptionsDefaults() {
- VolumeOptionInfoListResponse response = new VolumesClient(getSecurityToken()).getVolumeOptionsDefaults();
+ VolumeOptionInfoListResponse response = new VolumesClient(clusterName).getVolumeOptionsDefaults();
if (!response.getStatus().isSuccess()) {
throw new GlusterRuntimeException("Error fetching volume option defaults: ["
+ response.getStatus().getMessage() + "]");
@@ -134,7 +155,7 @@ public class GlusterDataModelManager {
}
public void initializeRunningTasks(Cluster cluster) {
- RunningTaskListResponse runningTaskResponse = new RunningTaskClient(securityToken).getRunningTasks();
+ RunningTaskListResponse runningTaskResponse = new RunningTaskClient(cluster.getName()).getRunningTasks();
if (!runningTaskResponse.getStatus().isSuccess()) {
throw new GlusterRuntimeException(runningTaskResponse.getStatus().getMessage());
}
@@ -142,17 +163,7 @@ public class GlusterDataModelManager {
}
public void initializeAlerts(Cluster cluster) {
- cluster.setAlerts(new AlertsClient(securityToken).getAllAlerts());
- }
-
- 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);
- }
- }
+ cluster.setAlerts(new AlertsClient(cluster.getName()).getAllAlerts());
}
public Volume addVolume(List<Volume> volumes, String name, Cluster cluster, VOLUME_TYPE volumeType,
@@ -163,47 +174,6 @@ public class GlusterDataModelManager {
return volume;
}
- 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.getQualifiedName(), 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);
- }
-
- private List<Disk> getAllDisks(Cluster cluster) {
- List<Disk> disks = new ArrayList<Disk>();
- for (GlusterServer server : cluster.getServers()) {
- disks.addAll(server.getDisks());
- }
- return disks;
- }
- public List<LogMessage> createDummyLogMessages(Cluster cluster) {
- for(Disk disk: getAllDisks(cluster)) {
- addMessagesForDisk(logMessages, disk);
- }
-
- // 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;
- }
-
/**
* @param serverPartition
* Qualified name of the disk to be returned (serverName:diskName)
@@ -398,6 +368,7 @@ public class GlusterDataModelManager {
return null;
}
+ @SuppressWarnings({ "rawtypes", "unchecked" })
private Entry<String, String> getOptionEntry(Volume volume, String optionKey) {
for (Entry entry : volume.getOptions().entrySet()) {
if (entry.getKey().equals(optionKey)) {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
index 8368ceea..3d1720ec 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
@@ -23,6 +23,7 @@ import java.util.List;
import javax.ws.rs.core.MultivaluedMap;
import com.gluster.storage.management.core.constants.RESTConstants;
+import static com.gluster.storage.management.core.constants.RESTConstants.*;
import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Status;
@@ -33,22 +34,21 @@ import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class GlusterServersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "/cluster/servers";
-
- public GlusterServersClient(String securityToken) {
- super(securityToken);
+ public GlusterServersClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public GlusterServersClient(String securityToken, String clusterName) {
+ super(securityToken, clusterName);
}
@Override
- public String getResourceName() {
- return RESOURCE_NAME;
+ public String getResourcePath() {
+ return RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_SERVERS;
}
- public GlusterServerListResponse getServers(String knownServer) {
- MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
- queryParams.add(RESTConstants.QUERY_PARAM_KNOWN_SERVER, knownServer);
- GlusterServerListResponse response = (GlusterServerListResponse) fetchResource(queryParams, GlusterServerListResponse.class);
- return response; //.getServers();
+ public GlusterServerListResponse getServers() {
+ return (GlusterServerListResponse) fetchResource(GlusterServerListResponse.class);
}
@SuppressWarnings("unchecked")
@@ -76,9 +76,8 @@ public class GlusterServersClient extends AbstractClient {
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
if (usersClient.authenticate("gluster", "gluster").isSuccess()) {
-
- GlusterServersClient glusterServersClient = new GlusterServersClient(usersClient.getSecurityToken());
- List<GlusterServer> glusterServers = glusterServersClient.getServers("127.0.0.1").getData();
+ GlusterServersClient glusterServersClient = new GlusterServersClient(usersClient.getSecurityToken(), "cluster1");
+ List<GlusterServer> glusterServers = glusterServersClient.getServers().getData();
for (GlusterServer server : glusterServers) {
System.out.println(server.getName());
}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
index f9c26eb0..cfeddcc2 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java
@@ -1,21 +1,23 @@
package com.gluster.storage.management.client;
-import java.util.List;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
+import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_RUNNING_TASKS;
-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.response.RunningTaskListResponse;
public class RunningTaskClient extends AbstractClient {
- public RunningTaskClient(String securityToken) {
- super(securityToken);
+ public RunningTaskClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public RunningTaskClient(String securityToken, String clusterName) {
+ super(securityToken, clusterName);
}
@Override
- public String getResourceName() {
- return RESTConstants.RESOURCE_PATH_RUNNING_TASKS;
+ public String getResourcePath() {
+ return RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_RUNNING_TASKS;
}
public RunningTaskListResponse getRunningTasks() {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
index 0f2b5f86..099b64a0 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
@@ -89,7 +89,7 @@ public class UsersClient extends AbstractClient {
* @see com.gluster.storage.management.client.AbstractClient#getResourceName()
*/
@Override
- public String getResourceName() {
+ public String getResourcePath() {
return RESOURCE_NAME;
}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
index 0555e322..96517766 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
@@ -41,13 +41,17 @@ import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class VolumesClient extends AbstractClient {
- public VolumesClient(String securityToken) {
- super(securityToken);
+ public VolumesClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public VolumesClient(String securityToken, String clusterName) {
+ super(securityToken, clusterName);
}
@Override
- public String getResourceName() {
- return RESTConstants.RESOURCE_PATH_VOLUMES;
+ public String getResourcePath() {
+ return RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESTConstants.RESOURCE_VOLUMES;
}
public Status createVolume(Volume volume) {
@@ -73,11 +77,11 @@ public class VolumesClient extends AbstractClient {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_OPTION_KEY, key);
form.add(RESTConstants.FORM_PARAM_OPTION_VALUE, value);
- return (Status) postRequest(volume + "/" + RESTConstants.SUBRESOURCE_OPTIONS, Status.class, form);
+ return (Status) postRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS, Status.class, form);
}
public Status resetVolumeOptions(String volume) {
- return (Status) putRequest(volume + "/" + RESTConstants.SUBRESOURCE_OPTIONS, Status.class);
+ return (Status) putRequest(volume + "/" + RESTConstants.RESOURCE_OPTIONS, Status.class);
}
public VolumeListResponse getAllVolumes() {
@@ -94,7 +98,7 @@ public class VolumesClient extends AbstractClient {
}
public VolumeOptionInfoListResponse getVolumeOptionsDefaults() {
- return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS,
+ return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.RESOURCE_DEFAULT_OPTIONS,
VolumeOptionInfoListResponse.class));
}
@@ -102,7 +106,7 @@ public class VolumesClient extends AbstractClient {
String bricks = StringUtil.ListToString(brickList, ",");
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_BRICKS, bricks);
- return (Status) postRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+ return (Status) postRequest(volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, form);
}
/**
@@ -129,21 +133,20 @@ public class VolumesClient extends AbstractClient {
MultivaluedMap<String, String> queryParams = prepareGetLogQueryParams(diskName, severity, fromTimestamp,
toTimestamp, messageCount);
- return (LogMessageListResponse) fetchSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_LOGS,
+ return (LogMessageListResponse) fetchSubResource(volumeName + "/" + RESTConstants.RESOURCE_LOGS,
queryParams, LogMessageListResponse.class);
}
public void downloadLogs(String volumeName, String filePath) {
- downloadSubResource((volumeName) + "/" + RESTConstants.SUBRESOURCE_LOGS + "/"
- + RESTConstants.SUBRESOURCE_DOWNLOAD, filePath);
+ downloadSubResource((volumeName) + "/" + RESTConstants.RESOURCE_LOGS + "/" + RESTConstants.RESOURCE_DOWNLOAD, filePath);
}
public Status removeBricks(String volumeName, List<Brick> BrickList, boolean deleteOption) {
String bricks = StringUtil.ListToString(GlusterCoreUtil.getQualifiedBrickList(BrickList), ",");
MultivaluedMap<String, String> queryParams = prepareRemoveBrickQueryParams(volumeName, bricks, deleteOption);
- return (Status) deleteSubResource(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, queryParams);
+ return (Status) deleteSubResource(volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, queryParams);
}
-
+
private MultivaluedMap<String, String> prepareRemoveBrickQueryParams(String volumeName, String bricks,
boolean deleteOption) {
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
@@ -189,8 +192,8 @@ public class VolumesClient extends AbstractClient {
form.add(RESTConstants.FORM_PARAM_SOURCE, brickFrom);
form.add(RESTConstants.FORM_PARAM_TARGET, brickTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_START);
-
- return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest( volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, form);
}
public Status stopMigration(String volumeName, String brickFrom, String brickkTo) {
@@ -198,8 +201,8 @@ public class VolumesClient extends AbstractClient {
form.add(RESTConstants.FORM_PARAM_SOURCE, brickFrom);
form.add(RESTConstants.FORM_PARAM_TARGET, brickkTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STOP);
-
- return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest( volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, form);
}
public Status pauseMigration(String volumeName, String brickFrom, String brickTo) {
@@ -207,8 +210,8 @@ public class VolumesClient extends AbstractClient {
form.add(RESTConstants.FORM_PARAM_SOURCE, brickFrom);
form.add(RESTConstants.FORM_PARAM_TARGET, brickTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_PAUSE);
-
- return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest( volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, form);
}
public Status statusMigration(String volumeName, String brickFrom, String brickTo) {
@@ -216,8 +219,8 @@ public class VolumesClient extends AbstractClient {
form.add(RESTConstants.FORM_PARAM_SOURCE, brickFrom);
form.add(RESTConstants.FORM_PARAM_TARGET, brickTo);
form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STATUS);
-
- return (Status) putRequest(volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form);
+
+ return (Status) putRequest( volumeName + "/" + RESTConstants.RESOURCE_DISKS, Status.class, form);
}
public static void main(String[] args) {