summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-06-28 18:17:37 +0530
committerDhandapani <dhandapani@gluster.com>2011-06-28 18:19:28 +0530
commit0643561ef89b12982d0835264146dcee97365476 (patch)
tree71bee4b497919978f43454871cd16779b3f0f72c /src
parenta99ffbc7058ffb812a6fb246cbce0c9ad8fd5b15 (diff)
Bug 3100 - "Remove Brick" gets activated even with out checking the check box of any brick
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java3
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java3
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java3
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java23
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java6
5 files changed, 14 insertions, 24 deletions
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 c02d73b5..02a387e0 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
@@ -21,6 +21,7 @@ package com.gluster.storage.management.client;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
+import java.util.Set;
import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Brick;
@@ -339,7 +340,7 @@ public class GlusterDataModelManager {
}
}
- public void removeBricks(Volume volume, List<Brick> bricks) {
+ public void removeBricks(Volume volume, Set<Brick> bricks) {
for (ClusterListener listener : listeners) {
listener.volumeChanged(volume, new Event(EVENT_TYPE.BRICKS_REMOVED, bricks));
}
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 4ec3ff13..be9b82b0 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
@@ -31,6 +31,7 @@ import static com.gluster.storage.management.core.constants.RESTConstants.FORM_P
import java.util.Date;
import java.util.List;
+import java.util.Set;
import javax.ws.rs.core.MultivaluedMap;
@@ -175,7 +176,7 @@ public class VolumesClient extends AbstractClient {
downloadSubResource(volumeName + "/" + RESTConstants.RESOURCE_LOGS + "/" + RESTConstants.RESOURCE_DOWNLOAD, filePath);
}
- public void removeBricks(String volumeName, List<Brick> BrickList, boolean deleteOption) {
+ public void removeBricks(String volumeName, Set<Brick> BrickList, boolean deleteOption) {
String bricks = StringUtil.collectionToString(GlusterCoreUtil.getQualifiedBrickList(BrickList), ",");
MultivaluedMap<String, String> queryParams = prepareRemoveBrickQueryParams(volumeName, bricks, deleteOption);
deleteSubResource(volumeName + "/" + RESTConstants.RESOURCE_BRICKS, queryParams);
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
index c238cad7..4194a642 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
@@ -22,6 +22,7 @@ package com.gluster.storage.management.core.utils;
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
@@ -37,7 +38,7 @@ public class GlusterCoreUtil {
return qualifiedDiskNames;
}
- public static final List<String> getQualifiedBrickList(List<Brick> bricks) {
+ public static final List<String> getQualifiedBrickList(Set<Brick> bricks) {
List<String> qualifiedBricks = new ArrayList<String>();
for (Brick brick : bricks) {
qualifiedBricks.add(brick.getQualifiedName());
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
index 9df40457..b79a4ee4 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java
@@ -3,6 +3,7 @@ package com.gluster.storage.management.gui.actions;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -15,6 +16,7 @@ import org.eclipse.ui.IWorkbenchPart;
import com.gluster.storage.management.client.GlusterDataModelManager;
import com.gluster.storage.management.client.VolumesClient;
import com.gluster.storage.management.core.model.Brick;
+import com.gluster.storage.management.core.model.GlusterServer;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.utils.StringUtil;
@@ -25,7 +27,7 @@ import com.gluster.storage.management.gui.views.VolumeBricksView;
public class RemoveDiskAction extends AbstractActionDelegate {
private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
private GUIHelper guiHelper = GUIHelper.getInstance();
- private List<Brick> bricks;
+ private Set<Brick> bricks;
private Volume volume;
boolean confirmDelete = false;
@@ -90,28 +92,13 @@ public class RemoveDiskAction extends AbstractActionDelegate {
IWorkbenchPart view = guiHelper.getActiveView();
if (view instanceof VolumeBricksView) {
// volume disks view is open. check if any brick is selected
- bricks = getSelectedBricks(selection);
+ bricks = GUIHelper.getInstance().getSelectedEntities(getWindow(), Brick.class);
action.setEnabled(bricks.size() > 0);
}
}
}
- private List<Brick> getSelectedBricks(ISelection selection) {
- List<Brick> selectedBricks = new ArrayList<Brick>();
-
- if (selection instanceof IStructuredSelection) {
- Iterator<Object> iter = ((IStructuredSelection) selection).iterator();
- while (iter.hasNext()) {
- Object selectedObj = iter.next();
- if (selectedObj instanceof Brick) {
- selectedBricks.add((Brick) selectedObj);
- }
- }
- }
- return selectedBricks;
- }
-
- private List<String> getBrickList(List<Brick> bricks) {
+ private List<String> getBrickList(Set<Brick> bricks) {
List<String> brickList = new ArrayList<String>();
for (Brick brick : bricks) {
brickList.add(brick.getServerName() + ":" + brick.getBrickDirectory());
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java
index 720c050e..5b70d7a8 100644
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java
+++ b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java
@@ -52,7 +52,7 @@ public class RebalanceVolumeTask extends Task {
ProcessResult processResult = sshUtil.executeRemote(serverName, command);
TaskStatus taskStatus = new TaskStatus();
if (processResult.isSuccess()) {
- if (processResult.getOutput().trim().matches("*has been successful$")) {
+ if (processResult.getOutput().trim().matches(".*has been successful$")) {
taskStatus.setCode(Status.STATUS_CODE_RUNNING);
} else {
taskStatus.setCode(Status.STATUS_CODE_FAILURE);
@@ -76,7 +76,7 @@ public class RebalanceVolumeTask extends Task {
ProcessResult processResult = sshUtil.executeRemote(serverName, command);
TaskStatus taskStatus = new TaskStatus();
if (processResult.isSuccess()) {
- if (processResult.getOutput().trim().matches("*has been successful$")) {
+ if (processResult.getOutput().trim().matches(".*has been successful$")) {
taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
} else {
taskStatus.setCode(Status.STATUS_CODE_FAILURE);
@@ -100,7 +100,7 @@ public class RebalanceVolumeTask extends Task {
ProcessResult processResult = sshUtil.executeRemote(serverName, command);
TaskStatus taskStatus = new TaskStatus();
if (processResult.isSuccess()) {
- if (processResult.getOutput().matches("Rebalance completed!")) {
+ if (processResult.getOutput().trim().matches("Rebalance completed!")) {
taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
} else {
taskStatus.setCode(Status.STATUS_CODE_RUNNING);