From 42c8f489c680b6028c0849551422a2fddaa1e936 Mon Sep 17 00:00:00 2001 From: Selvasundaram Date: Fri, 14 Oct 2011 16:46:25 +0530 Subject: Migrate brick dialog shows the source and target brick selection dynamically in the message. --- .../management/console/actions/MigrateBrickAction.java | 6 +++++- .../management/console/dialogs/MigrateBrickPage1.java | 16 ++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'src/com.gluster.storage.management.console') diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java index db416c07..a8667c33 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/actions/MigrateBrickAction.java @@ -54,7 +54,11 @@ public class MigrateBrickAction extends AbstractActionDelegate { action.setEnabled(false); if (selectedEntity instanceof Brick) { bricks = GUIHelper.getInstance().getSelectedEntities(getWindow(), Brick.class); - brick = bricks.iterator().next(); + if ( bricks.iterator().hasNext()) { + brick = bricks.iterator().next(); + } else { + brick = null; + } action.setEnabled(brick != null); } } 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 dfa0b352..e3d9d2bf 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 @@ -147,18 +147,18 @@ public class MigrateBrickPage1 extends WizardPage { this.volume = volume; this.fromBrick = brick; setTitle("Migrate Brick [" + volume.getName() + "]"); - setPageDescription(null, null); + setPageDescription(fromBrick.getQualifiedName(), null); setPageComplete(false); } private void setPageDescription(String source, String target) { - if (source == null || source.equals("")) { - source = "From Brick"; + if (source == null) { + source = ""; } - if (target == null || target.equals("")) { - target = "To Brick"; + if (target == null) { + target = ""; } - setDescription("Migrate volume data from \"" + source + "\" to \"" + target + "\""); + setDescription("Migrate data from \"" + source + "\" to \"" + target + "\""); } private Object getSelectedItem(TableViewer tableViewer) { @@ -194,6 +194,9 @@ public class MigrateBrickPage1 extends WizardPage { public String getTargetBrickDir() { Device targetDevice = (Device)getSelectedItem(tableViewerTo); + if (targetDevice == null) { + return ""; + } return targetDevice.getQualifiedBrickName(volume.getName()); } @@ -290,6 +293,7 @@ public class MigrateBrickPage1 extends WizardPage { @Override public void selectionChanged(SelectionChangedEvent event) { refreshButtonStatus(); + setPageDescription(getSourceBrickDir(), getTargetBrickDir()); } }); return tableViewer; -- cgit From 5db18d827c55d4452b55e8215721b86fbfa49c92 Mon Sep 17 00:00:00 2001 From: Selvasundaram Date: Thu, 10 Nov 2011 08:29:49 +0530 Subject: Story#65 Task#189 Double click on volume log row will show in a popup dialog --- .../management/console/views/VolumeLogsView.java | 24 +++++++++++++++++++++- .../console/views/pages/VolumeLogsPage.java | 5 +++++ 2 files changed, 28 insertions(+), 1 deletion(-) (limited to 'src/com.gluster.storage.management.console') diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java index 7f35d332..2790869f 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java @@ -1,14 +1,22 @@ package com.gluster.storage.management.console.views; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.DoubleClickEvent; +import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.part.ViewPart; import com.gluster.storage.management.console.utils.GUIHelper; import com.gluster.storage.management.console.views.pages.VolumeLogsPage; +import com.gluster.storage.management.core.constants.CoreConstants; import com.gluster.storage.management.core.model.Volume; +import com.gluster.storage.management.core.model.VolumeLogMessage; +import com.gluster.storage.management.core.utils.DateUtil; -public class VolumeLogsView extends ViewPart { +public class VolumeLogsView extends ViewPart implements IDoubleClickListener { VolumeLogsPage logsPage; public static final String ID = VolumeLogsView.class.getName(); private static final GUIHelper guiHelper = GUIHelper.getInstance(); @@ -25,6 +33,8 @@ public class VolumeLogsView extends ViewPart { private void createPage(Composite parent) { logsPage = new VolumeLogsPage(parent, SWT.NONE, volume); + logsPage.addDoubleClickListener(this); + parent.layout(); // IMP: lays out the form properly } @@ -32,4 +42,16 @@ public class VolumeLogsView extends ViewPart { public void setFocus() { logsPage.setFocus(); } + + @Override + public void doubleClick(DoubleClickEvent event) { + VolumeLogMessage volumeLogMessage = (VolumeLogMessage) ((StructuredSelection) event.getSelection()) + .getFirstElement(); + String message = DateUtil.formatDate(volumeLogMessage.getTimestamp()) + " " + + DateUtil.formatTime(volumeLogMessage.getTimestamp()) + " [" + volumeLogMessage.getSeverity() + "]" + + CoreConstants.NEWLINE + CoreConstants.NEWLINE + volumeLogMessage.getMessage(); + + new MessageDialog(getSite().getShell(), "Log message from " + volumeLogMessage.getBrick(), GUIHelper + .getInstance().getImage(""), message, MessageDialog.NONE, new String[] { "Close" }, 0).open(); + } } \ No newline at end of file diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java index e573229c..162160f8 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/pages/VolumeLogsPage.java @@ -26,6 +26,7 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.layout.TableColumnLayout; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; @@ -423,4 +424,8 @@ public class VolumeLogsPage extends Composite { calendar.set(Calendar.SECOND, time.getSeconds()); return calendar.getTime(); } + + public void addDoubleClickListener(IDoubleClickListener listener) { + tableViewer.addDoubleClickListener(listener); + } } -- cgit From c9975dad2461333c202a1c3518f8299f5f711a72 Mon Sep 17 00:00:00 2001 From: Selvasundaram Date: Thu, 10 Nov 2011 08:29:49 +0530 Subject: Story#65 Task#189 Double click on volume log row will show in a popup dialog --- .../com/gluster/storage/management/console/views/VolumeLogsView.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/com.gluster.storage.management.console') diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java index 2790869f..74ef5616 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumeLogsView.java @@ -51,7 +51,8 @@ public class VolumeLogsView extends ViewPart implements IDoubleClickListener { + DateUtil.formatTime(volumeLogMessage.getTimestamp()) + " [" + volumeLogMessage.getSeverity() + "]" + CoreConstants.NEWLINE + CoreConstants.NEWLINE + volumeLogMessage.getMessage(); - new MessageDialog(getSite().getShell(), "Log message from " + volumeLogMessage.getBrick(), GUIHelper - .getInstance().getImage(""), message, MessageDialog.NONE, new String[] { "Close" }, 0).open(); + new MessageDialog(getSite().getShell(), "Log message from " + volumeLogMessage.getBrick(), null, message, + MessageDialog.NONE, new String[] { "Close" }, 0).open(); + } } \ No newline at end of file -- cgit