diff options
Diffstat (limited to 'src/com.gluster.storage.management.console')
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) { |
