summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-05-20 15:10:54 +0530
committerDhandapani <dhandapani@gluster.com>2011-05-20 15:10:54 +0530
commitdfc27f51da469160e50e20d8ff59e714b5942546 (patch)
tree7e85da4a3b24f150fde36ada059269ddd969e635 /src/com.gluster.storage.management.gui
parentee1867b0fbf7b66f82082c20c2d06238a2c6a6b9 (diff)
Story #77: Change "Disk" in volume context to "Brick"
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/plugin.xml24
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveDiskAction.java12
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java21
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java32
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java8
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/DisksSelectionPage.java20
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskPage1.java10
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java9
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/DisksPage.java2
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java79
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java2
12 files changed, 122 insertions, 99 deletions
diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml
index 6c6983a3..0c6fc60e 100644
--- a/src/com.gluster.storage.management.gui/plugin.xml
+++ b/src/com.gluster.storage.management.gui/plugin.xml
@@ -109,7 +109,7 @@
class="com.gluster.storage.management.gui.views.VolumeDisksView"
icon="icons/disks.png"
id="com.gluster.storage.management.gui.views.VolumeDisksView"
- name="Disks (Volume)"
+ name="Bricks"
restorable="true">
</view>
<view
@@ -247,20 +247,20 @@
</command>
<command
categoryId="com.gluster.storage.management.gui.category"
- description="Migrate Disk"
+ description="Migrate Brick"
id="com.gluster.storage.management.gui.commands.MigrateDisk"
- name="Migrate Disk">
+ name="Migrate Brick">
</command>
<command
categoryId="com.gluster.storage.management.gui.category"
- description="Remove Disk"
+ description="Remove Brick"
id="com.gluster.storage.management.gui.commands.RemoveDisk"
- name="Remove Disk">
+ name="Remove Brick">
</command>
<command
- description="Add Disk"
+ description="Add Brick"
id="com.gluster.storage.management.gui.commands.AddDisk"
- name="Add Disk">
+ name="Add Brick">
</command>
</extension>
<extension
@@ -493,7 +493,7 @@
definitionId="com.gluster.storage.management.gui.commands.MigrateDisk"
icon="icons/disk-migrate.png"
id="com.gluster.storage.management.gui.actions.MigrateDiskAction"
- label="&amp;Migrate Disk"
+ label="&amp;Migrate Brick"
menubarPath="com.gluster.storage.management.gui.menu.glusterserver/glusterserver"
mode="FORCE_TEXT"
pulldown="false"
@@ -610,7 +610,7 @@
definitionId="com.gluster.storage.management.gui.commands.RemoveDisk"
icon="icons/disk.png"
id="com.gluster.storage.management.gui.actions.RemoveDiskAction"
- label="Remove Disk"
+ label="Remove Brick"
menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
mode="FORCE_TEXT"
pulldown="false"
@@ -618,7 +618,7 @@
state="false"
style="push"
toolbarPath="Normal"
- tooltip="Remove Disk from Volume">
+ tooltip="Remove Brick from Volume">
</action>
<action
allowLabelUpdate="false"
@@ -626,7 +626,7 @@
definitionId="com.gluster.storage.management.gui.commands.AddDisk"
icon="icons/disk.png"
id="com.gluster.storage.management.gui.actions.AddDiskAction"
- label="&amp;Add Disk"
+ label="&amp;Add Brick"
menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
mode="FORCE_TEXT"
pulldown="false"
@@ -634,7 +634,7 @@
state="false"
style="push"
toolbarPath="Normal"
- tooltip="Add Disk to Volume">
+ tooltip="Add Brick to Volume">
</action>
<menu
id="com.gluster.storage.management.gui.menu.volume"
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
index 92553797..9b258be1 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DiskTableLabelProvider.java
@@ -80,7 +80,7 @@ public class DiskTableLabelProvider extends TableLabelProviderAdapter {
Disk disk = (Disk) element;
return (columnIndex == DISK_TABLE_COLUMN_INDICES.SERVER.ordinal() ? disk.getServerName()
- : columnIndex == DISK_TABLE_COLUMN_INDICES.DISK.ordinal() ? disk.getName()
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.DISK.ordinal() ? disk.getMountPoint()
: columnIndex == DISK_TABLE_COLUMN_INDICES.SPACE.ordinal() ? getDiskSpace(disk)
: columnIndex == DISK_TABLE_COLUMN_INDICES.SPACE_IN_USE.ordinal() ? getDiskSpaceInUse(disk)
: columnIndex == DISK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? disk.getStatusStr() : "Invalid");
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 47ef9e73..71175615 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
@@ -28,10 +28,10 @@ public class RemoveDiskAction extends AbstractActionDelegate {
@Override
protected void performAction(IAction action) {
final String actionDesc = action.getDescription();
- Integer deleteOption = new MessageDialog(getShell(), "Remove Disk(s)", GUIHelper.getInstance().getImage(
- IImageKeys.VOLUME), "Are you sure you want to remove disks from volume [" + volume.getName()
- + "] ?", MessageDialog.QUESTION, new String[] { "Cancel", "Remove disks, delete data",
- "Remove disks, keep data" }, 2).open();
+ Integer deleteOption = new MessageDialog(getShell(), "Remove Bricks(s)", GUIHelper.getInstance().getImage(
+ IImageKeys.VOLUME), "Are you sure you want to remove bricks from volume [" + volume.getName()
+ + "] ?", MessageDialog.QUESTION, new String[] { "Cancel", "Remove bricks, delete data",
+ "Remove bricks, keep data" }, 2).open();
if (deleteOption <= 0) { // By Cancel button(0) or Escape key(-1)
return;
}
@@ -45,10 +45,10 @@ public class RemoveDiskAction extends AbstractActionDelegate {
Status status = client.removeBricks(volume.getName(), disks, confirmDelete);
if (status.isSuccess()) {
- showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] disk(s) removed successfully!");
+ showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] bricks(s) removed successfully!");
modelManager.deleteVolume(volume);
} else {
- showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] disk(s) could not be removed! Error: ["
+ showErrorDialog(actionDesc, "Volume [" + volume.getName() + "] bricks(s) could not be removed! Error: ["
+ status + "]");
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java
index 7eb107c0..6e123d55 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskPage.java
@@ -28,6 +28,7 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import com.gluster.storage.management.client.GlusterDataModelManager;
+import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
@@ -53,20 +54,20 @@ public class AddDiskPage extends WizardPage {
protected AddDiskPage(Volume volume) {
super(PAGE_NAME);
this.volume = volume;
- setTitle("Add Disk");
+ setTitle("Add Brick");
- String description = "Add disks to the Volume by choosing disks from the cluster servers.\n";
+ String description = "Add bricks to the Volume by choosing bricks from the cluster servers.\n";
if ( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
- description += "(Disk selection should be multiples of " + volume.getReplicaCount() + ")";
+ description += "(Brick selection should be multiples of " + volume.getReplicaCount() + ")";
} else if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
- description += "(Disk selection should be multiples of " + volume.getStripeCount() + ")";
+ description += "(Brick selection should be multiples of " + volume.getStripeCount() + ")";
}
setDescription(description);
availableDisks = getAvailableDisks(volume);
setPageComplete(false);
- setErrorMessage("Please select disks to be added to the volume.");
+ setErrorMessage("Please select bricks to be added to the volume. [" + volume.getName() +"]");
}
@@ -94,6 +95,10 @@ public class AddDiskPage extends WizardPage {
return page.getChosenDisks();
}
+ public List<Brick> getChosenBricks( String volumeName ) {
+ return page.getChosenBricks(volumeName);
+ }
+
private boolean isValidDiskSelection(int diskCount) {
if ( diskCount == 0) {
return false;
@@ -138,11 +143,11 @@ public class AddDiskPage extends WizardPage {
private void setError() {
String errorMessage = null;
if ( volume.getVolumeType() == VOLUME_TYPE.PLAIN_DISTRIBUTE) {
- errorMessage = "Please select at least one disk!";
+ errorMessage = "Please select at least one brick!";
} else if( volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
- errorMessage = "Please select disks in multiples of " + volume.getReplicaCount();
+ errorMessage = "Please select bricks in multiples of " + volume.getReplicaCount();
} else {
- errorMessage = "Please select disks in multiples of " + volume.getStripeCount();
+ errorMessage = "Please select bricks in multiples of " + volume.getStripeCount();
}
setPageComplete(false);
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
index e9608e38..0be31598 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddDiskWizard.java
@@ -20,7 +20,7 @@
*/
package com.gluster.storage.management.gui.dialogs;
-
+import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.dialogs.MessageDialog;
@@ -28,11 +28,12 @@ import org.eclipse.jface.wizard.Wizard;
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.Disk;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.utils.GlusterCoreUtil;
-
+import com.gluster.storage.management.core.utils.StringUtil;
/**
*
@@ -41,9 +42,8 @@ public class AddDiskWizard extends Wizard {
private AddDiskPage page;
private Volume volume;
-
public AddDiskWizard(Volume volume) {
- setWindowTitle("Gluster Management Console - Add disk");
+ setWindowTitle("Gluster Management Console - Add Brick");
setHelpAvailable(false); // TODO: Introduce wizard help
this.volume = volume;
}
@@ -53,7 +53,6 @@ public class AddDiskWizard extends Wizard {
addPage(page);
}
-
/*
* (non-Javadoc)
*
@@ -61,25 +60,36 @@ public class AddDiskWizard extends Wizard {
*/
@Override
public boolean performFinish() {
- List<Disk> disks = page.getChosenDisks();
+ List<Brick> bricks = page.getChosenBricks(volume.getName());
VolumesClient volumeClient = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
try {
- Status status = volumeClient.addDisks(volume.getName(), disks);
+ List<String> brickList = getBrickList(bricks);
+ Status status = volumeClient.addDisks(volume.getName(), brickList);
if (!status.isSuccess()) {
- MessageDialog.openError(getShell(), "Add disk(s) to Volume", status.getMessage());
+ MessageDialog.openError(getShell(), "Add brick(s) to Volume", status.getMessage());
return status.isSuccess();
} else {
+ List<Disk> disks = page.getChosenDisks();
volume.addDisks(GlusterCoreUtil.getQualifiedDiskNames(disks));
- MessageDialog.openInformation(getShell(), "Add disk(s) to Volume", "Disk(s) are successfully added to "
- + volume.getName());
+ volume.addBricks(bricks);
+ MessageDialog.openInformation(getShell(), "Add brick(s) to Volume", "Volume [" + volume.getName()
+ + "] is expanded with bricks [" + StringUtil.ListToString(brickList, ", ") + "]");
return status.isSuccess();
}
} catch (Exception e) {
- MessageDialog.openError(getShell(), "Add disk(s) to Volume", e.getMessage());
+ MessageDialog.openError(getShell(), "Add brick(s) to Volume", e.getMessage());
return false;
}
}
+ private List<String> getBrickList(List<Brick> bricks) {
+ List<String> brickList = new ArrayList<String>();
+ for(Brick brick : bricks) {
+ brickList.add(brick.getServerName() + ":" + brick.getBrickDirectory());
+ }
+ return brickList;
+ }
+
/*
* (non-Javadoc)
*
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
index c105fa5a..9b2bb8bc 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java
@@ -71,7 +71,7 @@ public class CreateVolumePage1 extends WizardPage {
public CreateVolumePage1() {
super(PAGE_NAME);
setTitle("Create Volume");
- setDescription("Create a new Volume by choosing disks from the cluster servers and configuring the volume properties.");
+ setDescription("Create a new Volume by choosing bricks from the cluster servers and configuring the volume properties.");
// by default, we create volume with all available disks
allDisks = GlusterDataModelManager.getInstance().getReadyDisksOfAllServers();
@@ -183,7 +183,7 @@ public class CreateVolumePage1 extends WizardPage {
private void createDisksCustomizeLink(Composite container) {
linkCustomize = new Link(container, SWT.UNDERLINE_LINK);
- linkCustomize.setText("All Disk(s) (<a>customize</a>)");
+ linkCustomize.setText("All Brick(s) (<a>customize</a>)");
linkCustomize.addListener (SWT.Selection, new Listener () {
public void handleEvent(Event event) {
Display.getDefault().asyncExec(new Runnable() {
@@ -195,8 +195,8 @@ public class CreateVolumePage1 extends WizardPage {
dialog.create();
if(dialog.open() == Window.OK) {
// user has customized disks. get them from the dialog box.
- volume.setDisks(dialog.getSelectedBricks());
- linkCustomize.setText("" + volume.getDisks().size() + " Disk(s) (<a>customize</a>)");
+ volume.setBricks(dialog.getSelectedBricks(volume.getName()));
+ linkCustomize.setText("" + volume.getDisks().size() + " Brick(s) (<a>customize</a>)");
validateForm();
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/DisksSelectionPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/DisksSelectionPage.java
index e50e81a7..f86ad8f0 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/DisksSelectionPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/DisksSelectionPage.java
@@ -35,6 +35,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
+import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.utils.NumberUtil;
import com.gluster.storage.management.gui.IImageKeys;
@@ -52,7 +53,7 @@ public class DisksSelectionPage extends Composite {
SERVER, DISK, SPACE, SPACE_USED
}
- private static final String[] DISK_TABLE_COLUMNS_NAMES = { "Server", "Disk", "Space (GB)", "Used Space (GB)" };
+ private static final String[] DISK_TABLE_COLUMNS_NAMES = { "Server", "Mount Point", "Space (GB)", "Used Space (GB)" };
private GUIHelper guiHelper = GUIHelper.getInstance();
private CustomTableDualListComposite<Disk> dualTableViewer;
@@ -89,7 +90,7 @@ public class DisksSelectionPage extends Composite {
Disk disk = (Disk) element;
return (columnIndex == DISK_TABLE_COLUMN_INDICES.SERVER.ordinal() ? disk.getServerName()
- : columnIndex == DISK_TABLE_COLUMN_INDICES.DISK.ordinal() ? disk.getName()
+ : columnIndex == DISK_TABLE_COLUMN_INDICES.DISK.ordinal() ? disk.getMountPoint()
: columnIndex == DISK_TABLE_COLUMN_INDICES.SPACE.ordinal() ? NumberUtil
.formatNumber(disk.getSpace())
: columnIndex == DISK_TABLE_COLUMN_INDICES.SPACE_USED.ordinal() ? NumberUtil
@@ -308,14 +309,15 @@ public class DisksSelectionPage extends Composite {
return null;
}
- public List<String> getChosenBricks() {
- Object[] disksArr = (Object[]) chosenDisksContentProvider.getElements(dualTableViewer);
- if (disksArr != null) {
- List<String> disks = new ArrayList<String>();
- for (Object disk : disksArr) {
- disks.add( ((Disk)disk).getServerName() + ":" + ((Disk)disk).getName() ); // Format: Server:disk
+ public List<Brick> getChosenBricks(String volumeName) {
+ Object[] bricksArr = (Object[]) chosenDisksContentProvider.getElements(dualTableViewer);
+
+ if (bricksArr != null) {
+ List<Brick> bricks = new ArrayList<Brick>();
+ for (Object disk : bricksArr) {
+ bricks.add( new Brick( ((Disk) disk).getServerName(), ((Disk) disk).getName(), ((Disk) disk).getMountPoint() + "/" + volumeName)); // Assume mount point is not having trailing "/"
}
- return disks;
+ return bricks;
}
return null;
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskPage1.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskPage1.java
index 24f0fe5b..63223eb4 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskPage1.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateDiskPage1.java
@@ -116,7 +116,7 @@ public class MigrateDiskPage1 extends WizardPage {
super(PAGE_NAME);
this.volume = volume;
this.fromDisk = disk;
- setTitle("Migrate Disk [" + volume.getName() + "]");
+ setTitle("Migrate Brick [" + volume.getName() + "]");
// setDescription("Migrate data from one disk to another for the chosen Volume. " +
// "This will copy all data present in the \"from disk\" of the volume " +
// "to \"to disk\", remove \"from disk\" from the volume, and " +
@@ -127,10 +127,10 @@ public class MigrateDiskPage1 extends WizardPage {
private void setPageDescription(String source, String target) {
if (source == null || source == "") {
- source = "From Disk";
+ source = "From Brick";
}
if (target == null || target == "") {
- target = "To Disk";
+ target = "To Brick";
}
setDescription("Migrate volume data from \"" + source + "\" to \"" + target + "\"");
}
@@ -186,10 +186,10 @@ public class MigrateDiskPage1 extends WizardPage {
//labelLayoutData.verticalIndent = 10;
Label lblFromDisk = new Label(container, SWT.NONE);
- lblFromDisk.setText("From Disk:");
+ lblFromDisk.setText("From Brick:");
lblFromDisk.setLayoutData(labelLayoutData);
Label lblToDisk = new Label(container, SWT.NONE);
- lblToDisk.setText("To Disk:");
+ lblToDisk.setText("To Brick:");
lblToDisk.setLayoutData(labelLayoutData);
Text txtFilterFrom = guiHelper.createFilterText(container);
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java
index 08a35357..20d7d4aa 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java
@@ -32,6 +32,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
+import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Disk;
public class SelectDisksDialog extends Dialog {
@@ -78,7 +79,7 @@ public class SelectDisksDialog extends Dialog {
GridData containerLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
container.setLayoutData(containerLayoutData);
- getShell().setText("Create Volume - Select Disks");
+ getShell().setText("Create Volume - Select Bricks");
disksPage = new DisksSelectionPage(container, SWT.NONE, allDisks, selectedDisks);
@@ -112,7 +113,7 @@ public class SelectDisksDialog extends Dialog {
@Override
protected void okPressed() {
if (this.getSelectedDisks().size() == 0) {
- MessageDialog.openError(getShell(), "Select Disk(s)", "Please select atlease one disk");
+ MessageDialog.openError(getShell(), "Select Brick(s)", "Please select atlease one brick");
} else {
super.okPressed();
}
@@ -122,7 +123,7 @@ public class SelectDisksDialog extends Dialog {
return disksPage.getChosenDisks();
}
- public List<String> getSelectedBricks() {
- return disksPage.getChosenBricks();
+ public List<Brick> getSelectedBricks(String volumeName) {
+ return disksPage.getChosenBricks(volumeName);
}
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/DisksPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/DisksPage.java
index 9ea962de..40b45044 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/DisksPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/DisksPage.java
@@ -36,7 +36,7 @@ public class DisksPage extends AbstractDisksPage {
SERVER, DISK, SPACE, SPACE_IN_USE, STATUS
};
- private static final String[] DISK_TABLE_COLUMN_NAMES = new String[] { "Server", "Disk", "Space (GB)",
+ private static final String[] DISK_TABLE_COLUMN_NAMES = new String[] { "Server", "Bricks Directory", "Space (GB)",
"Space in Use (GB)", "Status" };
public DisksPage(final Composite parent, int style, IWorkbenchSite site, List<Disk> disks) {
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
index df9f8533..867a7a62 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java
@@ -55,6 +55,7 @@ import com.gluster.storage.management.core.model.LogMessage;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.core.response.LogMessageListResponse;
+import com.gluster.storage.management.core.utils.GlusterCoreUtil;
import com.gluster.storage.management.gui.VolumeLogTableLabelProvider;
import com.gluster.storage.management.gui.utils.GUIHelper;
@@ -65,7 +66,7 @@ public class VolumeLogsPage extends Composite {
private Text filterText;
private Text lineCountText;
private Volume volume;
-
+
public enum LOG_TABLE_COLUMN_INDICES {
DATE, TIME, DISK, SEVERITY, MESSAGE
};
@@ -83,14 +84,16 @@ public class VolumeLogsPage extends Composite {
/**
* Create the volume logs page
+ *
* @param parent
* @param style
- * @param volume Volume for which the logs page is to be created
+ * @param volume
+ * Volume for which the logs page is to be created
*/
public VolumeLogsPage(Composite parent, int style, Volume volume) {
super(parent, style);
this.volume = volume;
-
+
addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
toolkit.dispose();
@@ -98,35 +101,35 @@ public class VolumeLogsPage extends Composite {
});
toolkit.adapt(this);
toolkit.paintBordersFor(this);
-
+
configureLayout();
-
+
Composite composite = toolkit.createComposite(this, SWT.NONE);
toolkit.paintBordersFor(composite);
-
+
createLineCountLabel(composite);
createLineCountText(composite);
-
+
createDiskLabel(composite);
createDisksCombo(composite);
-
+
createSeverityLabel(composite);
createSeverityCombo(composite);
-
+
createFromDateLabel(composite);
createFromDateField(composite);
createFromTimeField(composite);
createFromCheckbox(composite);
-
+
createToDateLabel(composite);
createToDateField(composite);
createToTimeField(composite);
createToCheckbox(composite);
-
+
createSearchButton(composite);
-
+
createSeparator(composite);
-
+
createFilterLabel(composite);
createFilterText(composite);
@@ -135,7 +138,7 @@ public class VolumeLogsPage extends Composite {
private void createLogTableViewer() {
Composite tableViewerComposite = createTableViewerComposite();
-
+
tableViewer = new TableViewer(tableViewerComposite, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI);
tableViewer.setLabelProvider(new VolumeLogTableLabelProvider());
tableViewer.setContentProvider(new ArrayContentProvider());
@@ -169,23 +172,23 @@ public class VolumeLogsPage extends Composite {
Date fromTimestamp = null;
Date toTimestamp = null;
-
- if(fromCheckbox.getSelection()) {
+
+ if (fromCheckbox.getSelection()) {
fromTimestamp = extractTimestamp(fromDate, fromTime);
}
-
- if(toCheckbox.getSelection()) {
+
+ if (toCheckbox.getSelection()) {
toTimestamp = extractTimestamp(toDate, toTime);
}
-
+
if (!validateTimeRange(fromTimestamp, toTimestamp)) {
return;
}
-
+
LogMessageListResponse response = client.getLogs(volume.getName(), disksCombo.getText(),
severityCombo.getText(), fromTimestamp, toTimestamp, Integer.parseInt(lineCountText.getText()));
Status status = response.getStatus();
- if(status.isSuccess()) {
+ if (status.isSuccess()) {
List<LogMessage> logMessages = response.getLogMessages();
tableViewer.setInput(logMessages.toArray(new LogMessage[0]));
tableViewer.refresh();
@@ -198,30 +201,30 @@ public class VolumeLogsPage extends Composite {
}
protected boolean validateTimeRange(Date fromTimestamp, Date toTimestamp) {
- if(fromTimestamp == null && toTimestamp == null) {
+ if (fromTimestamp == null && toTimestamp == null) {
// no time range selected. nothing to validate.
return true;
}
-
+
Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();
- if(fromTimestamp != null && fromTimestamp.after(now)) {
+ if (fromTimestamp != null && fromTimestamp.after(now)) {
MessageDialog.openError(getShell(), "Volume Logs", "From time can't be greater than current time!");
return false;
}
-
- if(toTimestamp != null) {
+
+ if (toTimestamp != null) {
if (toTimestamp.after(now)) {
MessageDialog.openError(getShell(), "Volume Logs", "To time can't be greater than current time!");
return false;
}
-
- if(fromTimestamp.after(toTimestamp)) {
+
+ if (fromTimestamp.after(toTimestamp)) {
MessageDialog.openError(getShell(), "Volume Logs", "From time can't be greater than To time!");
return false;
}
}
-
+
return true;
}
@@ -304,11 +307,11 @@ public class VolumeLogsPage extends Composite {
private void createSeverityCombo(Composite composite) {
severityCombo = new Combo(composite, SWT.READ_ONLY);
severityCombo.setBounds(555, 15, 110, 20);
-
+
severityCombo.setItems(GlusterConstants.VOLUME_LOG_LEVELS_ARR.toArray(new String[0]));
severityCombo.select(VOLUME_LOG_LEVELS.ERROR.ordinal());
severityCombo.add(CoreConstants.ALL, 0);
-
+
toolkit.adapt(severityCombo);
toolkit.paintBordersFor(severityCombo);
}
@@ -319,9 +322,11 @@ public class VolumeLogsPage extends Composite {
}
private void createDisksCombo(Composite composite) {
+ GlusterCoreUtil glusterCoreUtil = new GlusterCoreUtil();
+
disksCombo = new Combo(composite, SWT.READ_ONLY);
disksCombo.setBounds(365, 15, 100, 20);
- disksCombo.setItems(volume.getDisks().toArray(new String[0]));
+ disksCombo.setItems(glusterCoreUtil.getQualifiedBrickList(volume.getBricks()).toArray(new String[0]));
disksCombo.add(CoreConstants.ALL, 0);
toolkit.adapt(disksCombo);
toolkit.paintBordersFor(disksCombo);
@@ -329,7 +334,7 @@ public class VolumeLogsPage extends Composite {
}
private void createDiskLabel(Composite composite) {
- Label lblMessagesAndFilter = toolkit.createLabel(composite, "messages, and filter on disk", SWT.NONE);
+ Label lblMessagesAndFilter = toolkit.createLabel(composite, "messages, and filter on bricks", SWT.NONE);
lblMessagesAndFilter.setBounds(160, 15, 200, 20);
}
@@ -348,10 +353,10 @@ public class VolumeLogsPage extends Composite {
GridData layoutData = new GridData();
layoutData.grabExcessHorizontalSpace = true;
layoutData.grabExcessVerticalSpace = true;
- //layoutData.verticalIndent = 10;
+ // layoutData.verticalIndent = 10;
setLayoutData(layoutData);
}
-
+
private Composite createTableViewerComposite() {
Composite tableViewerComposite = new Composite(this, SWT.NO);
tableViewerComposite.setLayout(new FillLayout(SWT.HORIZONTAL));
@@ -360,7 +365,7 @@ public class VolumeLogsPage extends Composite {
tableViewerComposite.setLayoutData(layoutData);
return tableViewerComposite;
}
-
+
private void setupLogsTable(Composite parent, Table table) {
table.setHeaderVisible(true);
table.setLinesVisible(false);
@@ -374,7 +379,7 @@ public class VolumeLogsPage extends Composite {
setColumnProperties(table, LOG_TABLE_COLUMN_INDICES.SEVERITY, SWT.CENTER, 50);
setColumnProperties(table, LOG_TABLE_COLUMN_INDICES.MESSAGE, SWT.LEFT, 100);
}
-
+
/**
* Sets properties for alignment and weight of given column of given table
*
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java
index 9e25a018..680dc391 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java
@@ -56,7 +56,7 @@ public class VolumesPage extends Composite {
};
private static final String[] VOLUME_TABLE_COLUMN_NAMES = new String[] { "Name",
- "Volume Type", "Number of\nDisks", "Transport Type", "Status" };
+ "Volume Type", "Number of\nBricks", "Transport Type", "Status" };
public VolumesPage(final Composite parent, IWorkbenchSite site, EntityGroup<Volume> volumes) {
super(parent, SWT.NONE);