summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.console
diff options
context:
space:
mode:
Diffstat (limited to 'src/com.gluster.storage.management.console')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java55
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java45
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java33
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java8
4 files changed, 58 insertions, 83 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java
index 4e460603..bc3f4e04 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/DeleteVolumeAction.java
@@ -33,11 +33,10 @@ import com.gluster.storage.management.console.utils.GUIHelper;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.core.utils.StringUtil;
public class DeleteVolumeAction extends AbstractActionDelegate {
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- private List<Volume> volumes = new ArrayList<Volume>();
+ private List<Volume> selectedVolumes = new ArrayList<Volume>();
private List<String> selectedVolumeNames = new ArrayList<String>();
private List<String> onlineVolumeNames = new ArrayList<String>();
@@ -48,13 +47,11 @@ public class DeleteVolumeAction extends AbstractActionDelegate {
collectVolumeNames();
String warningMessage;
- if (onlineVolumeNames.size() > 0) { // There are some online volumes, get confirmation to stop and delete all
- // the volumes
- warningMessage = "Following volume(s) [" + StringUtil.collectionToString(onlineVolumeNames, ", ")
- + "] are online, " + CoreConstants.NEWLINE + "Are you sure to continue?";
+ if (onlineVolumeNames.size() > 0) { // Getting confirmation for stop and delete
+ warningMessage = "Following volume(s) " + onlineVolumeNames + " are online, " + CoreConstants.NEWLINE
+ + "Are you sure to continue?" + CoreConstants.NEWLINE + selectedVolumeNames;
} else {
- warningMessage = "Are you sure to delete the following volume(s) ["
- + StringUtil.collectionToString(selectedVolumeNames, ", ") + "] ?";
+ warningMessage = "Are you sure to delete the volumes " + selectedVolumeNames + " ?";
}
Integer deleteOption = new MessageDialog(getShell(), "Delete Volume", GUIHelper.getInstance().getImage(
@@ -65,44 +62,42 @@ public class DeleteVolumeAction extends AbstractActionDelegate {
}
boolean confirmDelete = (deleteOption == 1) ? true : false;
- List<String> deletedVolumes = new ArrayList<String>();
+ List<String> deletedVolumeNames = new ArrayList<String>();
List<String> failedVolumes = new ArrayList<String>();
String errorMessage = "";
- for (Volume volume : volumes) {
+ for (Volume volume : selectedVolumes.toArray(new Volume[0])) {
try {
if (volume.getStatus() == VOLUME_STATUS.ONLINE) { // stop if online volume
vc.stopVolume(volume.getName());
}
- vc.deleteVolume(volume, confirmDelete);
+ vc.deleteVolume(volume.getName(), confirmDelete);
modelManager.deleteVolume(volume);
- deletedVolumes.add(volume.getName());
+ deletedVolumeNames.add(volume.getName());
} catch (Exception e) {
// there is a possibility that the error was in post-delete operation, which means
// volume was deleted, but some other error happened. check if this is the case.
if (vc.volumeExists(volume.getName())) {
- errorMessage += CoreConstants.NEWLINE + "Volume [" + volume.getName()
- + "] could not be deleted! Error: [" + e.getMessage() + "]";
+ errorMessage += CoreConstants.NEWLINE + "[" + volume.getName() + "] : [" + e.getMessage() + "]";
failedVolumes.add(volume.getName());
} else {
- errorMessage += CoreConstants.NEWLINE + "Volume deleted, but following error(s) occured: ["
+ errorMessage += CoreConstants.NEWLINE + "Volume deleted, but following error occured: ["
+ e.getMessage() + "]";
modelManager.deleteVolume(volume);
- deletedVolumes.add(volume.getName());
+ deletedVolumeNames.add(volume.getName());
}
}
}
// Display the success or failure info
- if (deletedVolumes.size() == 0) { // No volume(s) deleted successfully
- showErrorDialog(actionDesc, "Following volume(s) [" + StringUtil.collectionToString(failedVolumes, ", ")
- + "] could not be delete! " + CoreConstants.NEWLINE + "Error: [" + errorMessage + "]");
+ if (deletedVolumeNames.size() == 0) { // No volume(s) deleted successfully
+ showErrorDialog(actionDesc, "volumes " + failedVolumes + " could not be delete! " + CoreConstants.NEWLINE
+ + "Error: [" + errorMessage + "]");
} else {
- String info = "Following volumes [" + StringUtil.collectionToString(deletedVolumes, ", ")
- + "] are deleted successfully!";
+ String info = "Volumes " + deletedVolumeNames + " deleted successfully!";
if (errorMessage != "") {
- info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Following volumes ["
- + StringUtil.collectionToString(failedVolumes, ", ") + "] are failed to delete! ["
+ info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes "
+ + failedVolumes + " could not be deleted! ["
+ errorMessage + "]";
}
showInfoDialog(actionDesc, info);
@@ -112,7 +107,7 @@ public class DeleteVolumeAction extends AbstractActionDelegate {
private void collectVolumeNames() {
selectedVolumeNames.clear();
onlineVolumeNames.clear();
- for (Volume volume : volumes) {
+ for (Volume volume : selectedVolumes) {
selectedVolumeNames.add(volume.getName());
if (volume.getStatus() == VOLUME_STATUS.ONLINE) {
onlineVolumeNames.add(volume.getName());
@@ -127,17 +122,17 @@ public class DeleteVolumeAction extends AbstractActionDelegate {
@Override
public void selectionChanged(IAction action, ISelection selection) {
- Set<Volume> selectedVolumes = GUIHelper.getInstance().getSelectedEntities(getWindow(), Volume.class);
- volumes.clear();
- if (selectedVolumes == null || selectedVolumes.isEmpty()) {
+ Set<Volume> selectedVolumeSet = GUIHelper.getInstance().getSelectedEntities(getWindow(), Volume.class);
+ selectedVolumes.clear();
+ if (selectedVolumeSet == null || selectedVolumeSet.isEmpty()) {
super.selectionChanged(action, selection);
if (selectedEntity instanceof Volume) {
- volumes.add((Volume) selectedEntity);
+ selectedVolumes.add((Volume) selectedEntity);
}
} else {
- volumes.addAll(selectedVolumes); //TODO reverse the collection to maintain the selected order
+ selectedVolumes.addAll(selectedVolumeSet); //TODO reverse the collection to maintain the selected order
}
- action.setEnabled( (volumes.size() > 0) );
+ action.setEnabled( (selectedVolumes.size() > 0) );
}
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java
index 1fa63269..2c254e59 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StartVolumeAction.java
@@ -31,12 +31,11 @@ import com.gluster.storage.management.console.utils.GUIHelper;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.core.utils.StringUtil;
public class StartVolumeAction extends AbstractActionDelegate {
//private Volume volume;
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- private List<Volume> volumes = new ArrayList<Volume>();
+ private List<Volume> selectedVolumes = new ArrayList<Volume>();
private List<String> selectedVolumeNames = new ArrayList<String>();
private List<String> offlineVolumeNames = new ArrayList<String>();
@@ -48,23 +47,17 @@ public class StartVolumeAction extends AbstractActionDelegate {
collectVolumeNames();
if (offlineVolumeNames.size() == 0) {
- String errorMessage;
- if (selectedVolumeNames.size() == 1) {
- errorMessage = "Volume [" + StringUtil.collectionToString(selectedVolumeNames, ", ") + "] is already online!";
- } else {
- errorMessage = "Volumes [" + StringUtil.collectionToString(selectedVolumeNames, ", ") + "] are already online!";
- }
- showWarningDialog(actionDesc, errorMessage);
- return; // Volume already online. Don't do anything.
+ showWarningDialog(actionDesc, "Volumes " + selectedVolumeNames + " already started!");
+ return; // Volume already started. Don't do anything.
}
List<String> startedVolumes = new ArrayList<String>();
List<String> failedVolumes = new ArrayList<String>();
String errorMessage = "";
- for (Volume volume : volumes) {
+ for (Volume volume : selectedVolumes) {
if (volume.getStatus() == VOLUME_STATUS.ONLINE) {
- continue; // skip if online volume
+ continue; // skip if already started
}
try {
vc.startVolume(volume.getName());
@@ -76,21 +69,19 @@ public class StartVolumeAction extends AbstractActionDelegate {
if (vc.getVolume(volume.getName()).getStatus() == VOLUME_STATUS.ONLINE) {
modelManager.updateVolumeStatus(volume, VOLUME_STATUS.ONLINE);
}
- errorMessage += e.getMessage();
+ errorMessage += e.getMessage();
}
}
// Display the success or failure info
if (startedVolumes.size() == 0) { // No volume(s) started successfully
- showErrorDialog(actionDesc, "Following volume(s) [" + StringUtil.collectionToString(failedVolumes, ", ")
- + "] could not be start! " + CoreConstants.NEWLINE + "Error: [" + errorMessage + "]");
+ showErrorDialog(actionDesc, "Following volumes " + failedVolumes + " could not be start!"
+ + CoreConstants.NEWLINE + "Error: [" + errorMessage + "]");
} else {
- String info = "Following volume(s) [" + StringUtil.collectionToString(startedVolumes, ", ")
- + "] are started successfully!";
+ String info = "Volumes " + startedVolumes + " started successfully!";
if (errorMessage != "") {
- info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Following volume(s) ["
- + StringUtil.collectionToString(failedVolumes, ", ") + "] are failed to start! ["
- + errorMessage + "]";
+ info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes " + failedVolumes
+ + " failed to start! [" + errorMessage + "]";
}
showInfoDialog(actionDesc, info);
}
@@ -99,7 +90,7 @@ public class StartVolumeAction extends AbstractActionDelegate {
private void collectVolumeNames() {
selectedVolumeNames.clear();
offlineVolumeNames.clear();
- for (Volume volume : volumes) {
+ for (Volume volume : selectedVolumes) {
selectedVolumeNames.add(volume.getName());
if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
offlineVolumeNames.add(volume.getName());
@@ -114,20 +105,20 @@ public class StartVolumeAction extends AbstractActionDelegate {
@Override
public void selectionChanged(IAction action, ISelection selection) {
- Set<Volume> selectedVolumes = GUIHelper.getInstance().getSelectedEntities(getWindow(), Volume.class);
- volumes.clear();
- if (selectedVolumes == null || selectedVolumes.isEmpty()) {
+ Set<Volume> selectedVolumeNames = GUIHelper.getInstance().getSelectedEntities(getWindow(), Volume.class);
+ selectedVolumes.clear();
+ if (selectedVolumeNames == null || selectedVolumeNames.isEmpty()) {
super.selectionChanged(action, selection);
if (selectedEntity instanceof Volume) {
- volumes.add((Volume) selectedEntity);
+ selectedVolumes.add((Volume) selectedEntity);
}
} else {
- volumes.addAll(selectedVolumes); //TODO reverse the collection to maintain the selected order
+ selectedVolumes.addAll(selectedVolumeNames); //TODO reverse the collection to maintain the selected order
}
action.setEnabled(false);
// To enable the action
- for (Volume volume : volumes) {
+ for (Volume volume : selectedVolumes) {
if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
action.setEnabled(true);
break;// If find an online volume, enable the action
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java
index bf86f2ec..8fb79537 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/StopVolumeAction.java
@@ -33,7 +33,6 @@ import com.gluster.storage.management.console.utils.GUIHelper;
import com.gluster.storage.management.core.constants.CoreConstants;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.core.utils.StringUtil;
public class StopVolumeAction extends AbstractActionDelegate {
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
@@ -49,22 +48,14 @@ public class StopVolumeAction extends AbstractActionDelegate {
collectVolumeNames();
if (onlineVolumeNames.size() == 0) {
- String errorMessage;
- if (selectedVolumeNames.size() == 1) {
- errorMessage = "Volume [" + StringUtil.collectionToString(selectedVolumeNames, ", ")
- + "] is already offline!";
- } else {
- errorMessage = "Volumes [" + StringUtil.collectionToString(selectedVolumeNames, ", ")
- + "] are already offline!";
- }
- showWarningDialog(actionDesc, errorMessage);
- return; // Volume already offline. Don't do anything.
+ showWarningDialog(actionDesc, "Volumes " + selectedVolumeNames + " already stopped!");
+ return; // Volumes already stopped, Don't do anything.
}
Integer userAction = new MessageDialog(getShell(), "Stop Volume", GUIHelper.getInstance().getImage(
- IImageKeys.VOLUME_16x16), "Are you sure you want to stop the following volume(s)?"
- + CoreConstants.NEWLINE + "[" + StringUtil.collectionToString(onlineVolumeNames, ", ") + "]",
- MessageDialog.QUESTION, new String[] { "No", "Yes" }, -1).open();
+ IImageKeys.VOLUME_16x16), "Are you sure you want to stop the following volumes?"
+ + CoreConstants.NEWLINE + "[" + onlineVolumeNames, MessageDialog.QUESTION,
+ new String[] { "No", "Yes" }, -1).open();
if (userAction <= 0) { // user select cancel or pressed escape key
return;
@@ -76,7 +67,7 @@ public class StopVolumeAction extends AbstractActionDelegate {
for (Volume volume : volumes) {
if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
- continue; // skip if offline volume
+ continue; // skip if already stopped
}
try {
vc.stopVolume(volume.getName());
@@ -94,15 +85,13 @@ public class StopVolumeAction extends AbstractActionDelegate {
// Display the success or failure info
if (stoppedVolumes.size() == 0) { // No volume(s) stopped successfully
- showErrorDialog(actionDesc, "Following volume(s) [" + StringUtil.collectionToString(failedVolumes, ", ")
- + "] could not be stopped! " + CoreConstants.NEWLINE + "Error: [" + errorMessage + "]");
+ showErrorDialog(actionDesc, "Volumes " + failedVolumes + " could not be stopped! " + CoreConstants.NEWLINE
+ + "Error: [" + errorMessage + "]");
} else {
- String info = "Following volume(s) [" + StringUtil.collectionToString(stoppedVolumes, ", ")
- + "] are stopped successfully!";
+ String info = "Volumes " + stoppedVolumes + " stopped successfully!";
if (errorMessage != "") {
- info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Following volume(s) ["
- + StringUtil.collectionToString(failedVolumes, ", ") + "] are failed to stop! [" + errorMessage
- + "]";
+ info += CoreConstants.NEWLINE + CoreConstants.NEWLINE + "Volumes " + failedVolumes
+ + " failed to stop! [" + errorMessage + "]";
}
showInfoDialog(actionDesc, info);
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
index 73cd14a6..45e97b75 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeSummaryView.java
@@ -202,18 +202,18 @@ public class VolumeSummaryView extends ViewPart {
// TODO: implement a logic to identify the corresponding glusterfs client download link
String message = "You can download gluster FS client from";
- String glusterClientDownloadlinkText = "here.";
- final String glusterClientDownloadlink = "http://www.gluster.com";
+ String glusterFSDownloadlinkText = "here.";
+ final String glusterFSDownloadlink = "http://download.gluster.com/pub/gluster/glusterfs/";
toolkit.createLabel(section, "");
toolkit.createLabel(section, message);
- Hyperlink link = toolkit.createHyperlink(section, glusterClientDownloadlinkText, SWT.NORMAL);
+ Hyperlink link = toolkit.createHyperlink(section, glusterFSDownloadlinkText, SWT.NORMAL);
link.addHyperlinkListener(new HyperlinkAdapter() {
public void linkActivated(HyperlinkEvent e) {
try {
System.out.println(e.getLabel() + " [" + e.getHref() + "]");
PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser()
- .openURL(new URL(glusterClientDownloadlink));
+ .openURL(new URL(glusterFSDownloadlink));
} catch (PartInitException e1) {
e1.printStackTrace();
} catch (MalformedURLException e1) {