X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.client.ui%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fviews%2FJcrProcessListView.java;h=4e2cf8015b37c3d42c81be47dbc06bff66118571;hb=b911d584b6a193fd2aa0171a32a759810d205e5a;hp=f6a20dc10194e23fc3b963b0609f2d6044083d66;hpb=2db415932b071525adb52c6374e021174512a924;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrProcessListView.java b/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrProcessListView.java index f6a20dc10..4e2cf8015 100644 --- a/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrProcessListView.java +++ b/org.argeo.slc.client.ui/src/org/argeo/slc/client/ui/views/JcrProcessListView.java @@ -34,14 +34,14 @@ import javax.jcr.query.Query; import org.argeo.eclipse.ui.jcr.AsyncUiEventListener; import org.argeo.jcr.JcrUtils; import org.argeo.slc.SlcException; +import org.argeo.slc.SlcNames; +import org.argeo.slc.SlcTypes; import org.argeo.slc.client.ui.ClientUiPlugin; import org.argeo.slc.client.ui.SlcImages; import org.argeo.slc.client.ui.editors.ProcessEditor; import org.argeo.slc.client.ui.editors.ProcessEditorInput; import org.argeo.slc.execution.ExecutionProcess; import org.argeo.slc.jcr.SlcJcrUtils; -import org.argeo.slc.jcr.SlcNames; -import org.argeo.slc.jcr.SlcTypes; import org.eclipse.jface.viewers.ColumnLabelProvider; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; @@ -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,7 +65,9 @@ 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; private EventListener processesObserver; @@ -74,6 +77,14 @@ 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) { + throw new SlcException("Unable to log in Repository " + repository, + re); + } Table table = createTable(parent); viewer = new TableViewer(table); viewer.setLabelProvider(new LabelProvider()); @@ -241,24 +252,16 @@ public class JcrProcessListView extends ViewPart { } - @Deprecated - public void setSession(Session session) { - this.session = session; - } - public void dispose() { JcrUtils.unregisterQuietly(session.getWorkspace(), processesObserver); JcrUtils.logoutQuietly(session); + if (pushSession != null) + pushSession.stop(); super.dispose(); } public void setRepository(Repository repository) { - try { - session = repository.login(); - } catch (RepositoryException re) { - throw new SlcException("Unable to log in Repository " + repository, - re); - } + this.repository = repository; } } \ No newline at end of file