summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShireesh Anjal <shireesh@gluster.com>2011-07-10 00:25:48 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-07-10 00:25:48 +0530
commit901d2fc3cfd69219e84de8845e7b8c2e61e35672 (patch)
tree7a530ea7f96d6250e91e6e5438a8e449c49c14d1 /src
parent8a33f5d206d6a56212aceca40ae59d812910bfac (diff)
parentd387f34dd83ffc70a85c135237855316496a9717 (diff)
Merge branch 'work'
Conflicts: src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java
Diffstat (limited to 'src')
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java4
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java10
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java16
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java7
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java20
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java22
6 files changed, 42 insertions, 37 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java
index 350c9102..b6c9db34 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java
@@ -35,10 +35,6 @@ public interface ClusterListener {
public void serverChanged(GlusterServer server, Event event);
- public void volumeAdded(Volume volume);
-
- public void volumeRemoved(Volume volume);
-
public void volumeChanged(Volume volume, Event event);
public void volumeCreated(Volume volume);
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java
index c530fde4..ce66a8f4 100644
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java
+++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java
@@ -40,16 +40,6 @@ public class DefaultClusterListener implements ClusterListener {
}
@Override
- public void volumeAdded(Volume volume) {
- modelChanged();
- }
-
- @Override
- public void volumeRemoved(Volume volume) {
- modelChanged();
- }
-
- @Override
public void volumeChanged(Volume volume, Event event) {
modelChanged();
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java
index e8db61dc..1e2c888d 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java
@@ -142,15 +142,17 @@ public abstract class AbstractTableViewerPage<T> extends Composite implements IS
clusterListener = createClusterListener();
GlusterDataModelManager.getInstance().addClusterListener(clusterListener);
+
+ addDisposeListener(new DisposeListener() {
+
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ toolkit.dispose();
+ GlusterDataModelManager.getInstance().removeClusterListener(clusterListener);
+ }
+ });
}
- @Override
- public void dispose() {
- super.dispose();
- toolkit.dispose();
- GlusterDataModelManager.getInstance().removeClusterListener(clusterListener);
- }
-
protected abstract ClusterListener createClusterListener();
protected abstract String[] getColumnNames();
protected abstract void setColumnProperties(Table table);
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java
index be4df7ad..8dc58ff1 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java
@@ -59,17 +59,20 @@ public class GlusterServersPage extends AbstractTableViewerPage<GlusterServer> {
@Override
public void serverAdded(GlusterServer server) {
- tableViewer.refresh();
+ tableViewer.add(server);
+ parent.update();
}
@Override
public void serverRemoved(GlusterServer server) {
- tableViewer.refresh();
+ tableViewer.remove(server);
+ parent.update();
}
@Override
public void serverChanged(GlusterServer server, Event event) {
tableViewer.update(server, null);
+ parent.update();
}
};
}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java
index f285dd9f..5c659268 100644
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java
+++ b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java
@@ -33,6 +33,7 @@ import org.eclipse.ui.IWorkbenchSite;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.DefaultClusterListener;
import com.gluster.storage.management.core.model.EntityGroup;
+import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.gui.EntityGroupContentProvider;
import com.gluster.storage.management.gui.ServerTableLabelProvider;
@@ -46,14 +47,6 @@ public class ServersPage extends AbstractTableViewerPage<Server> {
private static final String[] SERVER_TABLE_COLUMN_NAMES = new String[] { "Name", "IP Address(es)", "Number of Disks", "Total Disk Space (GB)" };
- // public enum SERVER_DISK_TABLE_COLUMN_INDICES {
- // NAME, NUM_OF_CPUS, CPU_USAGE, TOTAL_MEMORY, MEMORY_IN_USE, TOTAL_DISK_SPACE, DISK_SPACE_IN_USE
- // };
- //
- // private static final String[] SERVER_TABLE_COLUMN_NAMES = new String[] { "Name",
- // "Number\nof CPUs", "CPU\nUsage (%)", "Total\nMemory (GB)", "Memory\nIn Use (GB)",
- // "Total Disk\n Space (GB)", "Disk Space\nin Use (GB)"};
-
public ServersPage(final Composite parent, IWorkbenchSite site, EntityGroup<Server> serversGroup) {
super(site, parent, SWT.NONE, true, true, serversGroup);
this.servers = serversGroup.getEntities();
@@ -64,16 +57,19 @@ public class ServersPage extends AbstractTableViewerPage<Server> {
return new DefaultClusterListener() {
@Override
public void discoveredServerRemoved(Server server) {
- refreshViewer();
+ tableViewer.remove(server);
+ parent.update();
}
@Override
public void discoveredServerAdded(Server server) {
- refreshViewer();
+ tableViewer.add(server);
+ parent.update();
}
- private void refreshViewer() {
- tableViewer.refresh();
+ @Override
+ public void discoveredServerChanged(Server server, Event event) {
+ tableViewer.update(server, null);
parent.update();
}
};
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 33eb6da7..f1e3a2ef 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
@@ -33,6 +33,7 @@ import org.eclipse.ui.IWorkbenchSite;
import com.gluster.storage.management.core.model.ClusterListener;
import com.gluster.storage.management.core.model.DefaultClusterListener;
import com.gluster.storage.management.core.model.EntityGroup;
+import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.Volume;
import com.gluster.storage.management.gui.EntityGroupContentProvider;
import com.gluster.storage.management.gui.VolumeTableLabelProvider;
@@ -75,8 +76,25 @@ public class VolumesPage extends AbstractTableViewerPage<Volume> {
@Override
protected ClusterListener createClusterListener() {
- // TODO: Override methods to handle volume related events
- return new DefaultClusterListener();
+ return new DefaultClusterListener() {
+ @Override
+ public void volumeCreated(Volume volume) {
+ tableViewer.add(volume);
+ parent.update();
+ }
+
+ @Override
+ public void volumeDeleted(Volume volume) {
+ tableViewer.remove(volume);
+ parent.update();
+ }
+
+ @Override
+ public void volumeChanged(Volume volume, Event event) {
+ tableViewer.update(volume, null);
+ parent.update();
+ }
+ };
}
/**