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;
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;
public static final String ID = ClientUiPlugin.ID + ".jcrProcessListView";
private TableViewer viewer;
+ private ServerPushSession pushSession;
+ private Repository repository;
private Session session;
private EventListener processesObserver;
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());
}
- @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