diff options
Diffstat (limited to 'src')
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()); } |
