]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrProcessListView.java
Make UI more reactive
[gpl/argeo-slc.git] / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / views / JcrProcessListView.java
index 18f8a5aee55d5763bd0b8c78640a9cab7acdd886..4e2cf8015b37c3d42c81be47dbc06bff66118571 100644 (file)
@@ -50,6 +50,7 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.ITableLabelProvider;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.rap.rwt.service.ServerPushSession;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Composite;
@@ -64,6 +65,7 @@ public class JcrProcessListView extends ViewPart {
        public static final String ID = ClientUiPlugin.ID + ".jcrProcessListView";
 
        private TableViewer viewer;
+       private ServerPushSession pushSession;
 
        private Repository repository;
        private Session session;
@@ -75,6 +77,8 @@ public class JcrProcessListView extends ViewPart {
        private Integer queryLimit = 2000;
 
        public void createPartControl(Composite parent) {
+               pushSession = new ServerPushSession();
+               pushSession.start();
                try {
                        session = repository.login();
                } catch (RepositoryException re) {
@@ -251,6 +255,8 @@ public class JcrProcessListView extends ViewPart {
        public void dispose() {
                JcrUtils.unregisterQuietly(session.getWorkspace(), processesObserver);
                JcrUtils.logoutQuietly(session);
+               if (pushSession != null)
+                       pushSession.stop();
                super.dispose();
        }