From 136fddd058fb8f7c6e98e27f17f7379b96760a2e Mon Sep 17 00:00:00 2001 From: Dhandapani Date: Fri, 10 Jun 2011 12:04:06 +0530 Subject: Checkbox selection enabled on Bricks page, Volumes page and Disk page --- src/com.gluster.storage.management.gui/plugin.xml | 12 +++++++++ .../gui/views/details/AbstractBricksPage.java | 7 +++-- .../gui/views/details/AbstractDisksPage.java | 13 +++++----- .../management/gui/views/pages/VolumesPage.java | 30 ++++++++++++---------- .../server/resources/VolumesResource.java | 3 ++- 5 files changed, 42 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml index f4c3c8f6..76d36d5c 100644 --- a/src/com.gluster.storage.management.gui/plugin.xml +++ b/src/com.gluster.storage.management.gui/plugin.xml @@ -910,6 +910,18 @@ standalone="false" visible="false"> + + volumes) { super(parent, SWT.NONE); @@ -74,7 +74,7 @@ public class VolumesPage extends Composite { setupVolumeTableViewer(site, volumes); parent.layout(); // Important - this actually paints the table - + /** * Ideally not required. However the table viewer is not getting laid out properly on performing * "maximize + restore" So this is a hack to make sure that the table is laid out again on re-size of the window @@ -85,9 +85,9 @@ public class VolumesPage extends Composite { public void paintControl(PaintEvent e) { parent.layout(); } - }); + }); } - + public void addDoubleClickListener(IDoubleClickListener listener) { tableViewer.addDoubleClickListener(listener); } @@ -102,7 +102,7 @@ public class VolumesPage extends Composite { private void setupVolumeTable(Composite parent, Table table) { table.setHeaderVisible(true); table.setLinesVisible(true); - + TableColumnLayout columnLayout = guiHelper.createTableColumnLayout(table, VOLUME_TABLE_COLUMN_NAMES); parent.setLayout(columnLayout); @@ -110,14 +110,18 @@ public class VolumesPage extends Composite { setColumnProperties(table, VOLUME_TABLE_COLUMN_INDICES.NUM_OF_DISKS, SWT.CENTER, 50); setColumnProperties(table, VOLUME_TABLE_COLUMN_INDICES.TRANSPORT_TYPE, SWT.CENTER, 70); } - - private TableViewer createVolumeTableViewer(Composite parent) { - TableViewer tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI); + + private CheckboxTableViewer createVolumeTableViewer(Composite parent) { + CheckboxTableViewer tableViewer = CheckboxTableViewer.newCheckList(parent, SWT.FLAT | SWT.FULL_SELECTION + | SWT.MULTI); tableViewer.setLabelProvider(new VolumeTableLabelProvider()); tableViewer.setContentProvider(new EntityGroupContentProvider()); setupVolumeTable(parent, tableViewer.getTable()); + // make sure that table selection is driven by checkbox selection + guiHelper.configureCheckboxTableViewer(tableViewer); + return tableViewer; } @@ -134,10 +138,10 @@ public class VolumesPage extends Composite { Composite tableViewerComposite = createTableViewerComposite(); tableViewer = createVolumeTableViewer(tableViewerComposite); site.setSelectionProvider(tableViewer); - + // Create a case insensitive filter for the table viewer using the filter text field guiHelper.createFilter(tableViewer, filterText, false); - tableViewer.setInput(volumes); + tableViewer.setInput(volumes); } /** @@ -155,7 +159,7 @@ public class VolumesPage extends Composite { TableColumnLayout tableColumnLayout = (TableColumnLayout) table.getParent().getLayout(); tableColumnLayout.setColumnData(column, new ColumnWeightData(weight)); } - + public void setInput(EntityGroup volumes) { tableViewer.setInput(volumes); tableViewer.refresh(); 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 a2dfe2e3..53354706 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 @@ -380,7 +380,8 @@ public class VolumesResource { diskName = diskInfo[1]; Object response = serverUtil.executeOnServer(true, serverName, VOLUME_DIRECTORY_CLEANUP_SCRIPT + " " - + diskName + " " + volumeName + " " + (deleteFlag ? "-d" : ""), GenericResponse.class); + + diskName.substring(0, diskName.lastIndexOf("/")) + " " + volumeName + " " + + (deleteFlag ? "-d" : ""), GenericResponse.class); if (response instanceof GenericResponse) { result = ((GenericResponse) response).getStatus(); if (!result.isSuccess()) { -- cgit From 7e460734791cf51b16161c6cb42474c0c8cf5d17 Mon Sep 17 00:00:00 2001 From: Dhandapani Date: Fri, 10 Jun 2011 12:04:06 +0530 Subject: Checkbox selection enabled on Bricks page, Volumes page and Disk page --- src/com.gluster.storage.management.gui/plugin.xml | 2 +- .../management/server/resources/VolumesResource.java | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml index 76d36d5c..4a7cdafe 100644 --- a/src/com.gluster.storage.management.gui/plugin.xml +++ b/src/com.gluster.storage.management.gui/plugin.xml @@ -900,7 +900,7 @@ disks, String volumeName, int maxIndex, boolean deleteFlag) { - String serverName, diskName, diskInfo[]; + private Status cleanupDirectories(List bricks, String volumeName, int maxIndex, boolean deleteFlag) { Status result; for (int i = 0; i < maxIndex; i++) { - diskInfo = disks.get(i).split(":"); - serverName = diskInfo[0]; - diskName = diskInfo[1]; + String[] brickInfo = bricks.get(i).split(":"); + String serverName = brickInfo[0]; + String brickDirectory = brickInfo[1]; + String mountPoint = brickDirectory.substring(0, brickDirectory.lastIndexOf("/")); Object response = serverUtil.executeOnServer(true, serverName, VOLUME_DIRECTORY_CLEANUP_SCRIPT + " " - + diskName.substring(0, diskName.lastIndexOf("/")) + " " + volumeName + " " - + (deleteFlag ? "-d" : ""), GenericResponse.class); + + mountPoint + " " + volumeName + " " + (deleteFlag ? "-d" : ""), GenericResponse.class); if (response instanceof GenericResponse) { result = ((GenericResponse) response).getStatus(); if (!result.isSuccess()) { -- cgit