summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.gui
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-04-29 10:40:32 +0530
committerDhandapani <dhandapani@gluster.com>2011-04-29 10:40:32 +0530
commit31aec846b9da81c87333a2fc0ffbba46b3b5f7d4 (patch)
tree364f4a5a03b7ab734aa983e54465bf802bbd3243 /src/com.gluster.storage.management.gui
parentf1c261837f84d05dd6e1a1dcb95084e852ada071 (diff)
parente6433daabe87fec1ae58273114b8862b82de4da2 (diff)
Merge commit 'upstream/master'
Diffstat (limited to 'src/com.gluster.storage.management.gui')
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java10
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/details/VolumeLogsPage.java52
2 files changed, 42 insertions, 20 deletions
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java
index 399cdc65..9858a25b 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java
@@ -19,19 +19,11 @@
package com.gluster.storage.management.gui;
-import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.LogMessage;
import com.gluster.storage.management.core.utils.DateUtil;
-import com.gluster.storage.management.gui.utils.GUIHelper;
import com.gluster.storage.management.gui.views.details.VolumeLogsPage.LOG_TABLE_COLUMN_INDICES;
public class VolumeLogTableLabelProvider extends TableLabelProviderAdapter {
- private GUIHelper guiHelper = GUIHelper.getInstance();
-
- private String getFormattedDiskName(Disk disk) {
- return disk.getServerName() + ":" + disk.getName();
- }
-
@Override
public String getColumnText(Object element, int columnIndex) {
if (!(element instanceof LogMessage)) {
@@ -41,7 +33,7 @@ public class VolumeLogTableLabelProvider extends TableLabelProviderAdapter {
LogMessage logMessage = (LogMessage) element;
return (columnIndex == LOG_TABLE_COLUMN_INDICES.DATE.ordinal() ? DateUtil.formatDate(logMessage.getTimestamp())
: columnIndex == LOG_TABLE_COLUMN_INDICES.TIME.ordinal() ? DateUtil.formatTime(logMessage.getTimestamp())
- : columnIndex == LOG_TABLE_COLUMN_INDICES.DISK.ordinal() ? getFormattedDiskName(logMessage.getDisk())
+ : columnIndex == LOG_TABLE_COLUMN_INDICES.DISK.ordinal() ? logMessage.getDisk()
: columnIndex == LOG_TABLE_COLUMN_INDICES.SEVERITY.ordinal() ? "" + logMessage.getSeverity()
: columnIndex == LOG_TABLE_COLUMN_INDICES.MESSAGE.ordinal() ? logMessage.getMessage() : "Invalid");
}
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 ee7acea5..80fd092d 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
@@ -18,6 +18,9 @@
*******************************************************************************/
package com.gluster.storage.management.gui.views.details;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ColumnWeightData;
@@ -25,6 +28,8 @@ import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
@@ -39,8 +44,12 @@ import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
-import com.gluster.storage.management.core.model.GlusterDummyModel;
+import com.gluster.storage.management.client.GlusterDataModelManager;
+import com.gluster.storage.management.client.VolumesClient;
+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.gui.VolumeLogTableLabelProvider;
import com.gluster.storage.management.gui.utils.GUIHelper;
@@ -48,12 +57,16 @@ public class VolumeLogsPage extends Composite {
private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
private final GUIHelper guiHelper = GUIHelper.getInstance();
- private Text text;
+ private Text filterText;
+ private Text lineCountText;
+ private Volume volume;
+
public enum LOG_TABLE_COLUMN_INDICES {
DATE, TIME, DISK, SEVERITY, MESSAGE
};
private static final String[] LOG_TABLE_COLUMN_NAMES = new String[] { "Date", "Time", "Disk", "Severity", "Message" };
+ private TableViewer tableViewer;
/**
* Create the volume logs page
@@ -63,6 +76,8 @@ public class VolumeLogsPage extends Composite {
*/
public VolumeLogsPage(Composite parent, int style, Volume volume) {
super(parent, style);
+ this.volume = volume;
+
addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
toolkit.dispose();
@@ -106,18 +121,17 @@ public class VolumeLogsPage extends Composite {
private void createLogTableViewer() {
Composite tableViewerComposite = createTableViewerComposite();
- TableViewer tableViewer = new TableViewer(tableViewerComposite, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI);
+ tableViewer = new TableViewer(tableViewerComposite, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI);
tableViewer.setLabelProvider(new VolumeLogTableLabelProvider());
tableViewer.setContentProvider(new ArrayContentProvider());
setupLogsTable(tableViewerComposite, tableViewer.getTable());
- guiHelper.createFilter(tableViewer, text, false);
- tableViewer.setInput(GlusterDummyModel.getDummyLogMessages().toArray());
+ guiHelper.createFilter(tableViewer, filterText, false);
}
private void createFilterText(Composite composite) {
- text = guiHelper.createFilterText(toolkit, composite);
- text.setBounds(90, 105, 250, 20);
+ filterText = guiHelper.createFilterText(toolkit, composite);
+ filterText.setBounds(90, 105, 250, 20);
}
private void createFilterLabel(Composite composite) {
@@ -131,8 +145,24 @@ public class VolumeLogsPage extends Composite {
}
private void createSearchButton(Composite composite) {
- Button btngo = toolkit.createButton(composite, "&Go", SWT.NONE);
- btngo.setBounds(605, 55, 60, 30);
+ Button btnGo = toolkit.createButton(composite, "&Go", SWT.NONE);
+ btnGo.setBounds(605, 55, 60, 30);
+ btnGo.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ VolumesClient client = new VolumesClient(GlusterDataModelManager.getInstance().getSecurityToken());
+ LogMessageListResponse response = client.getLogs(volume.getName(), Integer.parseInt(lineCountText.getText()));
+ Status status = response.getStatus();
+ if(status.isSuccess()) {
+ List<LogMessage> logMessages = response.getLogMessages();
+ tableViewer.setInput(logMessages.toArray(new LogMessage[0]));
+ tableViewer.refresh();
+ } else {
+ MessageDialog.openError(getShell(), "Volume Logs", "Error while fetching volume logs: [" + status
+ + "]");
+ }
+ }
+ });
}
private void createToTimeField(Composite composite) {
@@ -202,8 +232,8 @@ public class VolumeLogsPage extends Composite {
}
private void createLineCountText(Composite composite) {
- text = toolkit.createText(composite, "100", SWT.NONE);
- text.setBounds(85, 15, 60, 20);
+ lineCountText = toolkit.createText(composite, "100", SWT.NONE);
+ lineCountText.setBounds(85, 15, 60, 20);
}
private void createLineCountLabel(Composite composite) {