summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSelvasundaram <selvam@gluster.com>2011-08-19 20:32:18 +0530
committerSelvasundaram <selvam@gluster.com>2011-08-19 20:32:18 +0530
commit6428f0db1ef50d9a27a40d07e8a1208263da48d1 (patch)
tree4ac5ed35e5815045bc6f8a04f96b5c756f8d4c1e /src
parentcb3cbfb8307158167cf5fa88b2b61322be1c59a4 (diff)
Migrating brick from boot partition (non data partition) - fix
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java4
-rw-r--r--src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java53
-rw-r--r--src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/MigrateBrickTask.java3
3 files changed, 42 insertions, 18 deletions
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
index 2af1b214..917497e5 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/GlusterDataModelManager.java
@@ -602,13 +602,13 @@ public class GlusterDataModelManager {
return brickDevice;
}
- public List<Device> getReadyDevicesOfVolume(Volume volume) {
+ public List<Device> getDevicesOfVolume(Volume volume) {
Device device = null;
List<Device> volumeDevices = new ArrayList<Device>();
for (Brick brick : volume.getBricks()) {
// device = getDevice(brick.getServerName(), brick.getDeviceName());
device = getDeviceForBrickDir(brick);
- if (device != null && device.isReady()) {
+ if (device != null) {
volumeDevices.add(device);
}
}
diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java
index 49d30d10..2f271186 100644
--- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java
+++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/dialogs/MigrateBrickPage1.java
@@ -29,6 +29,7 @@ import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
@@ -48,6 +49,7 @@ import com.gluster.storage.management.console.TableLabelProviderAdapter;
import com.gluster.storage.management.console.utils.GUIHelper;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Device;
+import com.gluster.storage.management.core.model.Entity;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.utils.NumberUtil;
@@ -70,6 +72,28 @@ public class MigrateBrickPage1 extends WizardPage {
private Button autoCompleteCheckbox;
+ private ITableLabelProvider getBrickLabelProvider(final String volumeName) {
+ return new TableLabelProviderAdapter() {
+ @Override
+ public String getColumnText(Object element, int columnIndex) {
+ if (!(element instanceof Brick)) {
+ return null;
+ }
+ Brick brick = (Brick) element;
+ GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
+ Device device = modelManager.getDeviceForBrickDir(brick);
+ // convert MB to GB
+ String freeSpace = (device == null ? "NA" : NumberUtil.formatNumber(device.getFreeSpace() / 1024));
+ String totalSpace = (device == null ? "NA" : NumberUtil.formatNumber(device.getSpace() / 1024));
+ return (columnIndex == DISK_TABLE_COLUMN_INDICES.SERVER.ordinal() ? brick.getServerName()
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.BRICK_DIRECTORY.ordinal() ? brick.getBrickDirectory()
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.FREE_SPACE.ordinal() ? freeSpace
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.TOTAL_SPACE.ordinal() ? totalSpace
+ : "Invalid");
+ }
+ };
+ }
+
private ITableLabelProvider getDiskLabelProvider(final String volumeName) {
return new TableLabelProviderAdapter() {
@@ -138,11 +162,11 @@ public class MigrateBrickPage1 extends WizardPage {
setDescription("Migrate volume data from \"" + source + "\" to \"" + target + "\"");
}
- private Device getSelectedDevice(TableViewer tableViewer) {
+ private Object getSelectedItem(TableViewer tableViewer) {
TableItem[] selectedItems = tableViewer.getTable().getSelection();
- Device selectedDevice = null;
+ Object selectedDevice = null;
for (TableItem item : selectedItems) {
- selectedDevice = (Device) item.getData();
+ selectedDevice = item.getData();
}
return selectedDevice;
}
@@ -165,12 +189,12 @@ public class MigrateBrickPage1 extends WizardPage {
}
public String getSourceBrickDir() {
- Device sourceDevice = getSelectedDevice(tableViewerFrom);
- return sourceDevice.getQualifiedBrickName(volume.getName());
+ Brick sourceBrick = (Brick)getSelectedItem(tableViewerFrom);
+ return sourceBrick.getQualifiedName();
}
public String getTargetBrickDir() {
- Device targetDevice = getSelectedDevice(tableViewerTo);
+ Device targetDevice = (Device)getSelectedItem(tableViewerTo);
return targetDevice.getQualifiedBrickName(volume.getName());
}
@@ -204,18 +228,19 @@ public class MigrateBrickPage1 extends WizardPage {
Text txtFilterFrom = guiHelper.createFilterText(container);
Text txtFilterTo = guiHelper.createFilterText(container);
- ITableLabelProvider deviceLabelProvider = getDiskLabelProvider(volume.getName());
-
GlusterDataModelManager glusterDataModelManager = GlusterDataModelManager.getInstance();
- List<Device> fromBricks = glusterDataModelManager.getReadyDevicesOfVolume(volume);
- List<Device> toDevices = glusterDataModelManager.getReadyDevicesOfAllServersExcluding( fromBricks );
+ List<Brick> fromBricks = volume.getBricks();
+ List<Device> toDevices = glusterDataModelManager.getReadyDevicesOfAllServersExcluding(glusterDataModelManager
+ .getDevicesOfVolume(volume));
- tableViewerFrom = createTableViewer(container, deviceLabelProvider, fromBricks, txtFilterFrom);
+ tableViewerFrom = createTableViewer(container, getBrickLabelProvider(volume.getName()), fromBricks,
+ txtFilterFrom);
if(fromBrick != null) {
setFromDisk(tableViewerFrom, fromBrick);
}
- tableViewerTo = createTableViewer(container, deviceLabelProvider, toDevices, txtFilterTo);
+ tableViewerTo = createTableViewer(container, getDiskLabelProvider(volume.getName()), toDevices, txtFilterTo);
+ tableViewerTo.setSelection(new StructuredSelection(fromBrick));
// Auto commit selection field
Composite autoCommitContainer = new Composite(container, SWT.NONE);
@@ -248,8 +273,8 @@ public class MigrateBrickPage1 extends WizardPage {
}
}
- private TableViewer createTableViewer(Composite container, ITableLabelProvider diskLabelProvider,
- List<Device> bricks, Text txtFilterText) {
+ private <T> TableViewer createTableViewer(Composite container, ITableLabelProvider diskLabelProvider,
+ List<T> bricks, Text txtFilterText) {
Composite tableViewerComposite = createTableViewerComposite(container);
TableViewer tableViewer = new TableViewer(tableViewerComposite, SWT.SINGLE);
diff --git a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/MigrateBrickTask.java b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/MigrateBrickTask.java
index e7dd9c02..b84f90f6 100644
--- a/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/MigrateBrickTask.java
+++ b/src/com.gluster.storage.management.gateway/src/com/gluster/storage/management/gateway/tasks/MigrateBrickTask.java
@@ -41,8 +41,6 @@ public class MigrateBrickTask extends Task {
private String toBrick;
private Boolean autoCommit;
private GlusterUtil glusterUtil;
-
- @Autowired
protected ServerUtil serverUtil;
public String getFromBrick() {
@@ -83,6 +81,7 @@ public class MigrateBrickTask extends Task {
private void init() {
ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
glusterUtil = ctx.getBean(GlusterUtil.class);
+ serverUtil = ctx.getBean(ServerUtil.class);
}
@Override