diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-07-10 00:25:48 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-07-10 00:25:48 +0530 |
| commit | 901d2fc3cfd69219e84de8845e7b8c2e61e35672 (patch) | |
| tree | 7a530ea7f96d6250e91e6e5438a8e449c49c14d1 /src | |
| parent | 8a33f5d206d6a56212aceca40ae59d812910bfac (diff) | |
| parent | d387f34dd83ffc70a85c135237855316496a9717 (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')
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(); + } + }; } /** |
