]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/editors/ProcessEditor.java
Make UI more reactive
[gpl/argeo-slc.git] / org.argeo.slc.client.ui / src / org / argeo / slc / client / ui / editors / ProcessEditor.java
index 1e9788e3965cdffcd959cb644e38b5187d5d9853..e0ff7858950ac85fa3537639444dbfff9bad87fa 100644 (file)
@@ -37,6 +37,7 @@ import org.argeo.slc.execution.ExecutionModulesManager;
 import org.argeo.slc.execution.ExecutionProcess;
 import org.argeo.slc.jcr.SlcJcrUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.rap.rwt.service.ServerPushSession;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.IWorkbenchPage;
@@ -54,6 +55,7 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames {
        private Session session;
        private Node processNode;
        private ProcessController processController;
+       private ServerPushSession pushSession;
 
        private ProcessBuilderPage builderPage;
 
@@ -63,6 +65,8 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames {
        public void init(IEditorSite site, IEditorInput input)
                        throws PartInitException {
                super.init(site, input);
+               pushSession = new ServerPushSession();
+               pushSession.start();
                try {
                        session = repository.login();
                } catch (RepositoryException e1) {
@@ -119,6 +123,8 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames {
        @Override
        public void dispose() {
                JcrUtils.logoutQuietly(session);
+               if (pushSession != null)
+                       pushSession.stop();
                super.dispose();
        }