summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSelvam <selvam@gluster.com>2011-04-05 15:35:52 +0530
committerSelvam <selvam@gluster.com>2011-04-05 16:00:47 +0530
commit1fc1b836cab2003dff92a201d78a322d8f95ad3c (patch)
treed2543f678a210a7fa223d86a884e08a81c7ee33c
parent3e997efcd1f569d38b1ac7623c4e10dd35da416a (diff)
parent5b0bc49b37634aa8923c33b96dd3e4630447874c (diff)
Merge remote branch 'upstream/master'
Conflicts: src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java6
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java5
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java6
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/RunningTaskClient.java2
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java46
-rw-r--r--src/com.gluster.storage.management.core/META-INF/MANIFEST.MF1
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AlertListResponse.java2
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java)4
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerListResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/RunningTaskListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/RunningTaskListResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ServerListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/StringListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/StringListResponse.java)2
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeListResponse.java)5
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java68
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java43
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java15
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateDiskAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java5
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java28
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java61
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java20
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java2
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java4
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java6
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java8
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java21
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java20
35 files changed, 270 insertions, 149 deletions
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 0cc18037..84074115 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
@@ -22,11 +22,11 @@ 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.gluster.storage.management.core.response.GenericResponse;
+import com.gluster.storage.management.core.response.ServerListResponse;
+import com.gluster.storage.management.core.response.StringListResponse;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class DiscoveredServersClient extends AbstractClient {
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 ee3d418d..2dd91620 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
@@ -40,7 +40,7 @@ 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;
-import com.gluster.storage.management.core.model.VolumeListResponse;
+import com.gluster.storage.management.core.response.VolumeListResponse;
import com.gluster.storage.management.client.VolumesClient;
public class GlusterDataModelManager {
@@ -104,9 +104,10 @@ public class GlusterDataModelManager {
}
public void initializeModel(String securityToken) {
+ model = new GlusterDataModel("Gluster Data Model");
setSecurityToken(securityToken);
- Cluster cluster = model.getCluster();
+ Cluster cluster = new Cluster("Home",model);
VolumesClient volumeClient = new VolumesClient(securityToken);
initializeGlusterServers(cluster);
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 25fe3bbc..dfee988c 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
@@ -20,12 +20,12 @@ 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.gluster.storage.management.core.response.GenericResponse;
+import com.gluster.storage.management.core.response.GlusterServerListResponse;
+import com.gluster.storage.management.core.response.GlusterServerResponse;
import com.sun.jersey.api.representation.Form;
public class GlusterServersClient extends AbstractClient {
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 ff728be0..eb5f1f3b 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
@@ -5,7 +5,7 @@ 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;
+import com.gluster.storage.management.core.response.RunningTaskListResponse;
public class RunningTaskClient extends AbstractClient {
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 28f23c1b..ab462abc 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
@@ -20,16 +20,15 @@
*/
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.gluster.storage.management.core.model.VolumeListResponse;
+import com.gluster.storage.management.core.model.VolumeOptionInfo;
+import com.gluster.storage.management.core.response.GenericResponse;
+import com.gluster.storage.management.core.response.VolumeListResponse;
+import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
import com.sun.jersey.api.representation.Form;
public class VolumesClient extends AbstractClient {
@@ -72,23 +71,32 @@ public class VolumesClient extends AbstractClient {
return (VolumeListResponse) fetchResource(VolumeListResponse.class);
}
+ public List<VolumeOptionInfo> getVolumeOptionsDefaults() {
+ VolumeOptionInfoListResponse response = (VolumeOptionInfoListResponse) fetchSubResource(
+ RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS, VolumeOptionInfoListResponse.class);
+ return response.getOptions();
+ }
+
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));
+ VolumesClient client = 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(client.createVolume(vol));
+ for (VolumeOptionInfo option : client.getVolumeOptionsDefaults()) {
+ System.out.println(option.getName() + "-" + option.getDescription() + "-" + option.getDefaultValue());
+ }
}
}
}
diff --git a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF b/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF
index b5a2a830..a32970c8 100644
--- a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF
+++ b/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF
@@ -8,5 +8,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: com.gluster.storage.management.core.constants,
com.gluster.storage.management.core.exceptions,
com.gluster.storage.management.core.model,
+ com.gluster.storage.management.core.response,
com.gluster.storage.management.core.utils
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0"
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AlertListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AlertListResponse.java
index bb3c754e..833ccff3 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AlertListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AlertListResponse.java
@@ -7,6 +7,8 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
+import com.gluster.storage.management.core.response.AbstractResponse;
+
@XmlRootElement(name = "response")
public class AlertListResponse extends AbstractResponse {
private List<Alert> alerts = new ArrayList<Alert>();
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java
index be552bdc..9a6a48f5 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/AbstractResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java
@@ -16,7 +16,10 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
+
+import com.gluster.storage.management.core.model.Response;
+import com.gluster.storage.management.core.model.Status;
public abstract class AbstractResponse implements Response {
private Status status;
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java
index efeed34b..6c8e87b5 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GenericResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java
@@ -18,10 +18,12 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*/
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import javax.xml.bind.annotation.XmlRootElement;
+import com.gluster.storage.management.core.model.Status;
+
@XmlRootElement(name = "response")
public class GenericResponse<T> extends AbstractResponse {
private T data;
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java
index 479dcc09..4c291a33 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java
@@ -18,7 +18,7 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*/
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import java.util.ArrayList;
import java.util.List;
@@ -28,6 +28,9 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
+import com.gluster.storage.management.core.model.GlusterServer;
+import com.gluster.storage.management.core.model.Status;
+
/**
*
*/
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java
index e00b8288..7af9b240 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServerResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java
@@ -1,8 +1,11 @@
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
+import com.gluster.storage.management.core.model.GlusterServer;
+import com.gluster.storage.management.core.model.Status;
+
@XmlRootElement(name = "response")
public class GlusterServerResponse extends AbstractResponse {
private GlusterServer glusterServer;
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/RunningTaskListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/RunningTaskListResponse.java
index 79949c90..73dc074a 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/RunningTaskListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/RunningTaskListResponse.java
@@ -1,4 +1,4 @@
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import java.util.ArrayList;
import java.util.List;
@@ -7,6 +7,9 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
+import com.gluster.storage.management.core.model.RunningTask;
+import com.gluster.storage.management.core.model.Status;
+
@XmlRootElement(name = "response")
public class RunningTaskListResponse extends AbstractResponse {
private List<RunningTask> runningTasks = new ArrayList<RunningTask>();
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ServerListResponse.java
index 56f33992..16059b15 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ServerListResponse.java
@@ -16,7 +16,7 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import java.util.ArrayList;
import java.util.List;
@@ -26,6 +26,9 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
+import com.gluster.storage.management.core.model.Server;
+import com.gluster.storage.management.core.model.Status;
+
@XmlRootElement(name = "response")
public class ServerListResponse extends AbstractResponse {
private List<Server> servers = new ArrayList<Server>();
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/StringListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/StringListResponse.java
index 3304692d..f94884b9 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/StringListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/StringListResponse.java
@@ -16,7 +16,7 @@
* along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java
index 7ff98d22..fc1c9a6c 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeListResponse.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java
@@ -1,4 +1,4 @@
-package com.gluster.storage.management.core.model;
+package com.gluster.storage.management.core.response;
import java.util.ArrayList;
import java.util.List;
@@ -8,6 +8,9 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
+import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.model.Volume;
+
@XmlRootElement(name = "response")
public class VolumeListResponse extends AbstractResponse {
private List<Volume> volumes = new ArrayList<Volume>();
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java
new file mode 100644
index 00000000..629ccbee
--- /dev/null
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * 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.core.response;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
+
+import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.model.VolumeOptionInfo;
+
+@XmlRootElement(name = "response")
+public class VolumeOptionInfoListResponse extends AbstractResponse {
+ private List<VolumeOptionInfo> options = new ArrayList<VolumeOptionInfo>();
+
+ public VolumeOptionInfoListResponse() {
+ }
+
+ public VolumeOptionInfoListResponse(Status status, List<VolumeOptionInfo> options) {
+ setStatus(status);
+ setOptions(options);
+ }
+
+ @XmlElementWrapper(name = "volumeOptionDefaults")
+ @XmlElement(name = "volumeOption", type=VolumeOptionInfo.class)
+ public List<VolumeOptionInfo> getOptions() {
+ return options;
+ }
+
+ /**
+ * @param options
+ * the options to set
+ */
+ public void setOptions(List<VolumeOptionInfo> options) {
+ this.options = options;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.gluster.storage.management.core.model.Response#getData()
+ */
+ @Override
+ @XmlTransient
+ public List<VolumeOptionInfo> getData() {
+ return getOptions();
+ }
+}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java
index 4aa387bc..adc98f98 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java
@@ -19,9 +19,11 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeSelection;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
@@ -37,6 +39,20 @@ public abstract class AbstractActionDelegate implements IWorkbenchWindowActionDe
protected Entity selectedEntity;
@Override
+ public void run(final IAction action) {
+ // Real action code must be executed using Display#asyncExec. Otherwise the system can hang when opening new
+ // dialog boxes on linux platform
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ performAction(action);
+ }
+ });
+ }
+
+ abstract protected void performAction(IAction action);
+
+ @Override
public void selectionChanged(IAction action, ISelection selection) {
if (selection instanceof StructuredSelection) {
Entity selectedEntity = (Entity) ((StructuredSelection) selection).getFirstElement();
@@ -46,7 +62,7 @@ public abstract class AbstractActionDelegate implements IWorkbenchWindowActionDe
return;
}
- if(selectedEntity != null) {
+ if (selectedEntity != null) {
this.selectedEntity = selectedEntity;
}
}
@@ -56,4 +72,27 @@ public abstract class AbstractActionDelegate implements IWorkbenchWindowActionDe
public void init(IWorkbenchWindow window) {
this.window = window;
}
+
+ private Shell getShell() {
+ if(window == null) {
+ return Display.getDefault().getActiveShell();
+ }
+ return window.getShell();
+ }
+
+ protected void showInfoDialog(final String title, final String message) {
+ MessageDialog.openInformation(getShell(), title, message);
+ }
+
+ protected void showWarningDialog(final String title, final String message) {
+ MessageDialog.openWarning(getShell(), title, message);
+ }
+
+ protected void showErrorDialog(final String title, final String message) {
+ MessageDialog.openError(getShell(), title, message);
+ }
+
+ protected synchronized boolean showConfirmDialog(final String title, final String message) {
+ return MessageDialog.openQuestion(getShell(), title, message);
+ }
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
index 7957b6f0..7d76d0ec 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
@@ -19,21 +19,20 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Display;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.GlusterServersClient;
import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.core.model.EntityGroup;
-import com.gluster.storage.management.core.model.GlusterServerResponse;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Volume;
+import com.gluster.storage.management.core.response.GlusterServerResponse;
public class AddServerAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
+ final String actionDesc = action.getDescription();
GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
GlusterServersClient glusterServersClient = new GlusterServersClient(modelManager.getSecurityToken());
Server server = (Server) selectedEntity;
@@ -41,12 +40,10 @@ public class AddServerAction extends AbstractActionDelegate {
if (response.getStatus().isSuccess()) {
modelManager.removeDiscoveredServer(server);
modelManager.addGlusterServer(response.getGlusterServer());
- new MessageDialog(Display.getDefault().getActiveShell(), "Add Server", null, "Server [" + server.getName()
- + "] added successfully!", MessageDialog.INFORMATION, new String[] { "OK" }, 0).open();
+ showInfoDialog(actionDesc, "Server [" + server.getName() + "] added successfully!");
} else {
- new MessageDialog(Display.getDefault().getActiveShell(), "Add Server", null, "Server [" + server.getName()
- + " could not be added to cluster! Error: [" + response.getStatus().getMessage() + "]",
- MessageDialog.ERROR, new String[] { "OK" }, 0).open();
+ showErrorDialog(actionDesc, "Server [" + server.getName() + " could not be added to cluster! Error: ["
+ + response.getStatus().getMessage() + "]");
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java
index 266db0af..9ec500bc 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java
@@ -29,7 +29,7 @@ import com.gluster.storage.management.gui.dialogs.CreateVolumeWizard;
public class CreateVolumeAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
Display.getDefault().asyncExec(new Runnable() {
@Override
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
index b4b92c31..82ac1663 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
@@ -22,7 +22,7 @@ import org.eclipse.jface.action.IAction;
public class DeleteVolumeAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java
index 6f3fdf24..0f7f14b7 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java
@@ -22,7 +22,7 @@ import org.eclipse.jface.action.IAction;
public class EditVolumeAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateDiskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateDiskAction.java
index 75be4e6b..04ee39fb 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateDiskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateDiskAction.java
@@ -32,7 +32,7 @@ public class MigrateDiskAction extends AbstractActionDelegate {
private Disk disk;
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
// MigrateDiskDialog dialog = new MigrateDiskDialog(window.getShell(), volume, disk);
// dialog.create();
// dialog.open();
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java
index 97f1c79b..aea7ea66 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java
@@ -22,7 +22,7 @@ import org.eclipse.jface.action.IAction;
public class MigrateVolumeAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java
index f6fd88e4..9da1cbf1 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java
@@ -29,7 +29,7 @@ public class PreferencesAction extends AbstractActionDelegate {
}
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
ActionFactory.PREFERENCES.create(window).run();
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java
index 65227b0b..5339beb0 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java
@@ -22,7 +22,7 @@ import org.eclipse.jface.action.IAction;
public class RebalanceVolumeAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
index d5d42363..b7ed0548 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java
@@ -19,13 +19,10 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
public class RemoveServerAction extends AbstractActionDelegate {
@Override
- public void run(IAction action) {
+ protected void performAction(IAction action) {
System.out.println("Running [" + this.getClass().getSimpleName() + "]");
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
index cc0fbe94..34080f76 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
@@ -19,9 +19,7 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Display;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.VolumesClient;
@@ -34,7 +32,7 @@ public class StartVolumeAction extends AbstractActionDelegate {
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
@Override
- public void run(final IAction action) {
+ protected void performAction(IAction action) {
if (volume.getStatus() == VOLUME_STATUS.ONLINE) {
return; // Volume already online. Don't do anything.
}
@@ -42,23 +40,13 @@ public class StartVolumeAction extends AbstractActionDelegate {
VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
final Status status = client.startVolume(volume.getName());
final String actionDesc = action.getDescription();
- final Display display = Display.getDefault();
- display.asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (status.isSuccess()) {
- new MessageDialog(display.getActiveShell(), actionDesc, null, "Volume ["
- + volume.getName() + "] started successfully!", MessageDialog.INFORMATION,
- new String[] { "OK" }, 0).open();
- modelManager.updateVolumeStatus(volume, VOLUME_STATUS.ONLINE);
- } else {
- new MessageDialog(display.getActiveShell(), actionDesc, null, "Volume ["
- + volume.getName() + "] could not be started! Error: [" + status + "]",
- MessageDialog.ERROR, new String[] { "OK" }, 0).open();
- }
- }
- });
+ if (status.isSuccess()) {
+ showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] started successfully!");
+ modelManager.updateVolumeStatus(volume, VOLUME_STATUS.ONLINE);
+ } else {
+ showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be started! Error: ["
+ + status + "]");
+ }
}
@Override
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
index a89782f9..21ea4339 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
@@ -19,9 +19,7 @@
package com.gluster.storage.management.gui.actions;
import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Display;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.VolumesClient;
@@ -32,42 +30,45 @@ import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
public class StopVolumeAction extends AbstractActionDelegate {
private Volume volume;
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
+
@Override
- public void run(IAction action) {
- if(volume.getStatus() == VOLUME_STATUS.OFFLINE) {
+ protected void performAction(IAction action) {
+ final String actionDesc = action.getDescription();
+ if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
+ showWarningDialog(actionDesc, "Volume [" + volume.getName() + "] is already offline!");
return; // Volume already offline. Don't do anything.
}
-
- VolumesClient client = new VolumesClient(modelManager.getSecurityToken());
- final Status status = client.stopVolume(volume.getName());
- final String actionDesc = action.getDescription();
- final Display display = Display.getDefault();
-
- display.asyncExec(new Runnable() {
-
- @Override
- public void run() {
- if (status.isSuccess()) {
- new MessageDialog(Display.getCurrent().getActiveShell(), actionDesc, null, "Volume ["
- + volume.getName() + "] stopped successfully!", MessageDialog.INFORMATION, new String[] { "OK" }, 0)
- .open();
- modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- } else {
- new MessageDialog(Display.getCurrent().getActiveShell(), actionDesc, null, "Volume ["
- + volume.getName() + "] could not be stopped! Error: [" + status + "]", MessageDialog.ERROR,
- new String[] { "OK" }, 0).open();
- }
- }
- });
+
+ boolean confirmed = showConfirmDialog(actionDesc,
+ "Are you sure you want to stop the volume [" + volume.getName() + "] ?");
+ if (!confirmed) {
+ return;
+ }
+
+ final Status status = stopVolume();
+ if (status.isSuccess()) {
+ showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] stopped successfully!");
+ modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
+ } else {
+ showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] could not be stopped! Error: [" + status
+ + "]");
+ }
+ }
+
+ private Status stopVolume() {
+ return new VolumesClient(modelManager.getSecurityToken()).stopVolume(volume.getName());
}
@Override
public void dispose() {
}
-
- /* (non-Javadoc)
- * @see com.gluster.storage.management.gui.actions.AbstractActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.gluster.storage.management.gui.actions.AbstractActionDelegate#selectionChanged(org.eclipse.jface.action.IAction
+ * , org.eclipse.jface.viewers.ISelection)
*/
@Override
public void selectionChanged(IAction action, ISelection selection) {
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java
index 384038f4..4093a4ee 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java
@@ -23,25 +23,23 @@ package com.gluster.storage.management.server.constants;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
+import org.springframework.stereotype.Component;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.model.VolumeOptionInfo;
-@XmlRootElement
+@Component
public class VolumeOptionsDefaults {
- @XmlElementWrapper(name = "volumeOptions")
- @XmlElement(name = "volumeOption", type = VolumeOptionInfo.class)
public List<VolumeOptionInfo> options;
-
+
public VolumeOptionsDefaults() {
}
-
- public VolumeOptionsDefaults getDefaults() {
- options = getVolumeOptionsInfo();
- return this;
+
+ /**
+ * @return list of volume option information objects
+ */
+ public List<VolumeOptionInfo> getDefaults() {
+ return getVolumeOptionsInfo();
}
/**
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java
index 8ea9c0a9..266bd8d3 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/AlertsResource.java
@@ -55,7 +55,7 @@ public class AlertsResource {
alert.setId("0004");
alert.setReference("Volume2"); // Volume name
alert.setType(Alert.ALERT_TYPES.OFFLINE_VOLUME_DISKS_ALERT);
- alert.setMessage("sda1, sd2 are " + alert.getAlertType(alert.getType()) + " in volume: " + alert.getReference());
+ alert.setMessage("Server1:sda1, server2:sda2 are " + alert.getAlertType(alert.getType()) + " in volume: " + alert.getReference());
alerts.add(alert);
// Alert #5
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java
index 5987857a..c1ddffd1 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/DiscoveredServersResource.java
@@ -32,9 +32,9 @@ import org.springframework.stereotype.Component;
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.Status;
-import com.gluster.storage.management.core.model.StringListResponse;
+import com.gluster.storage.management.core.response.ServerListResponse;
+import com.gluster.storage.management.core.response.StringListResponse;
import com.sun.jersey.spi.resource.Singleton;
@Component
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java
index 6204bf9b..e8adceb7 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/GlusterServersResource.java
@@ -30,13 +30,13 @@ import javax.ws.rs.core.MediaType;
import org.springframework.stereotype.Component;
-import com.gluster.storage.management.core.model.GenericResponse;
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.GlusterServerListResponse;
-import com.gluster.storage.management.core.model.GlusterServerResponse;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.response.GenericResponse;
+import com.gluster.storage.management.core.response.GlusterServerListResponse;
+import com.gluster.storage.management.core.response.GlusterServerResponse;
import com.gluster.storage.management.core.utils.GlusterUtil;
import com.gluster.storage.management.core.utils.ProcessResult;
import com.sun.jersey.spi.resource.Singleton;
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java
index c8046e73..5bd73e15 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/RunningTaskResource.java
@@ -33,9 +33,9 @@ import org.springframework.stereotype.Component;
import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_RUNNING_TASKS;
import com.gluster.storage.management.core.model.Response;
import com.gluster.storage.management.core.model.RunningTask;
-import com.gluster.storage.management.core.model.RunningTaskListResponse;
import com.gluster.storage.management.core.model.RunningTaskStatus;
import com.gluster.storage.management.core.model.Status;
+import com.gluster.storage.management.core.response.RunningTaskListResponse;
import com.gluster.storage.management.core.utils.StringUtil;
import com.gluster.storage.management.server.runningtasks.managers.RunningTaskManager;
@@ -61,7 +61,7 @@ public class RunningTaskResource {
task.setId("0001");
task.setType(RunningTask.TASK_TYPES.VOLUME_REBALANCE);
task.setReference("Volume1");
- task.setTaskInfo( task.getTaskType(task.getType()) + "is rinning in volume - " + task.getReference());
+ task.setTaskInfo( task.getTaskType(task.getType()) + "is running in volume " + task.getReference());
task.setStatus(status);
runningTasks.add(task);
@@ -69,7 +69,7 @@ public class RunningTaskResource {
task.setId("0002");
task.setType(RunningTask.TASK_TYPES.VOLUME_REBALANCE);
task.setReference("Volume2");
- task.setTaskInfo( task.getTaskType(task.getType()) + " is rinning in volume " + task.getReference());
+ task.setTaskInfo( task.getTaskType(task.getType()) + " is running in volume " + task.getReference());
task.setStatus(status);
runningTasks.add(task);
@@ -99,7 +99,7 @@ public class RunningTaskResource {
@SuppressWarnings("rawtypes")
public Response startTask(@FormParam("taskType") RunningTask.TASK_TYPES taskType) {
- String taskTypeStr = StringUtil.stripSpaces( new RunningTask().getTaskType(taskType) );
+ String taskTypeStr = StringUtil.removeSpaces( new RunningTask().getTaskType(taskType) );
String managerClassName = PKG + "." + taskTypeStr + MANAGER;
Class managerClass;
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java
index 97b874e2..08e8c9a6 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/ServerResource.java
@@ -18,17 +18,16 @@
*******************************************************************************/
package com.gluster.storage.management.server.resources;
-import java.io.File;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-import com.gluster.storage.management.core.utils.FileUtil;
-import com.gluster.storage.management.core.utils.MD5Crypt;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.core.utils.ProcessUtil;
+import java.io.File;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import com.gluster.storage.management.core.utils.FileUtil;
+import com.gluster.storage.management.core.utils.ProcessResult;
+import com.gluster.storage.management.core.utils.ProcessUtil;
@Path("/server")
public class ServerResource {
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
index d2677ce7..67814126 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
@@ -27,10 +27,8 @@ import static com.gluster.storage.management.core.constants.RESTConstants.PATH_P
import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_VOLUMES;
import static com.gluster.storage.management.core.constants.RESTConstants.SUBRESOURCE_DEFAULT_OPTIONS;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.ArrayList;
import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
@@ -41,21 +39,25 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-import com.gluster.storage.management.core.constants.RESTConstants;
-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.gluster.storage.management.core.model.VolumeListResponse;
+import com.gluster.storage.management.core.response.GenericResponse;
+import com.gluster.storage.management.core.response.VolumeListResponse;
+import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
import com.gluster.storage.management.core.utils.GlusterUtil;
import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.core.utils.ProcessUtil;
import com.gluster.storage.management.server.constants.VolumeOptionsDefaults;
+import com.sun.jersey.api.core.InjectParam;
import com.sun.jersey.spi.resource.Singleton;
@Singleton
@Path(RESOURCE_PATH_VOLUMES)
public class VolumesResource {
private final GlusterUtil glusterUtil = new GlusterUtil();
+
+ @InjectParam
+ private VolumeOptionsDefaults volumeOptionsDefaults;
@GET
@Produces(MediaType.TEXT_XML)
@@ -102,10 +104,10 @@ public class VolumesResource {
@GET
@Path(SUBRESOURCE_DEFAULT_OPTIONS)
@Produces(MediaType.TEXT_XML)
- public VolumeOptionsDefaults getDefaultOptions() {
+ public VolumeOptionInfoListResponse getDefaultOptions() {
// TODO: Fetch all volume options with their default values from GlusterFS
// whenever such a CLI command is made available in GlusterFS
- return new VolumeOptionsDefaults().getDefaults();
+ return new VolumeOptionInfoListResponse(Status.STATUS_SUCCESS, volumeOptionsDefaults.getDefaults());
}