diff options
| author | Shireesh Anjal <shireesh@gluster.com> | 2011-07-06 18:00:42 +0530 |
|---|---|---|
| committer | Shireesh Anjal <shireesh@gluster.com> | 2011-07-06 18:04:44 +0530 |
| commit | 9f0728357a909a9b38d74866ebb03a1be23dae87 (patch) | |
| tree | 5837a71c7bc97d04b3ac635ba5174b625ca6233b /src/com.gluster.storage.management.client | |
| parent | 550c02e275f8dac0f2ef08eed351db223719fb1b (diff) | |
Task#111 - Auto-refresh of data in views
Diffstat (limited to 'src/com.gluster.storage.management.client')
| -rw-r--r-- | src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index dbb1f46f..8d821174 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java @@ -24,6 +24,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import org.apache.log4j.Logger; + import com.gluster.storage.management.core.exceptions.GlusterRuntimeException; import com.gluster.storage.management.core.model.Brick; import com.gluster.storage.management.core.model.Cluster; @@ -53,6 +55,8 @@ public class GlusterDataModelManager { private List<ClusterListener> listeners = new ArrayList<ClusterListener>(); private List<VolumeOptionInfo> volumeOptionsDefaults; private String clusterName; + private static Boolean syncInProgress = false; + private static final Logger logger = Logger.getLogger(GlusterDataModelManager.class); private GlusterDataModelManager() { } @@ -106,7 +110,17 @@ public class GlusterDataModelManager { } public void refreshModel() { + synchronized (syncInProgress) { + if(syncInProgress) { + logger.info("Previous data sync is still running. Skipping this one."); + return; + } + syncInProgress = true; + } + + logger.info("Starting data sync"); updateModel(fetchData(clusterName)); + syncInProgress = false; } private void updateModel(GlusterDataModel model) { |
