X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fviews%2FJcrExecutionModulesView.java;h=71f291e8ac56b48e2757b7529fbb175870a62f1f;hb=48b6f7647f12f4b96d1914bcafc95efd7f43cc43;hp=dca7fc79988fa4bb003b3547befca357344c6916;hpb=b38be5eddf82923307efcc2440a98e8c85a3754a;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java index dca7fc799..71f291e8a 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrExecutionModulesView.java @@ -26,6 +26,7 @@ import java.util.TreeSet; import javax.jcr.Node; import javax.jcr.NodeIterator; import javax.jcr.Property; +import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; @@ -41,6 +42,7 @@ import org.argeo.eclipse.ui.jcr.DefaultNodeLabelProvider; import org.argeo.eclipse.ui.jcr.NodeElementComparer; import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider; import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils; +import org.argeo.jcr.JcrUtils; import org.argeo.slc.SlcException; import org.argeo.slc.client.ui.ClientUiPlugin; import org.argeo.slc.client.ui.SlcImages; @@ -79,14 +81,13 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, private TreeViewer viewer; + /* DEPENDENCY INJECTION */ private Session session; - private ExecutionModulesManager modulesManager; public void createPartControl(Composite parent) { viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); EclipseUiSpecificUtils.enableToolTipSupport(viewer); - ViewContentProvider contentProvider = new ViewContentProvider(session); viewer.setContentProvider(contentProvider); viewer.setComparer(new NodeElementComparer()); @@ -94,6 +95,9 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, viewer.setLabelProvider(viewLabelProvider); viewer.setInput(getViewSite()); viewer.addDoubleClickListener(new ViewDoubleClickListener()); + // context menu + // addContextMenu(viewer); + getViewSite().setSelectionProvider(viewer); Transfer[] tt = new Transfer[] { TextTransfer.getInstance() }; @@ -129,6 +133,7 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, viewer.setInput(getViewSite()); } + // Controllers class ViewContentProvider extends SimpleNodeContentProvider { public ViewContentProvider(Session session) { @@ -211,6 +216,25 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, } + // private void addContextMenu(TreeViewer flowsViewer) { + // + // final MenuManager menuMgr = new MenuManager(); + // menuMgr.setRemoveAllWhenShown(true); + // menuMgr.addMenuListener(new IMenuListener() { + // + // public void menuAboutToShow(IMenuManager manager) { + // menuMgr.add(new Action("Test") { + // public void run() { + // log.debug("do something"); + // } + // }); + // } + // }); + // Menu menu = menuMgr.createContextMenu(flowsViewer.getControl()); + // flowsViewer.getTree().setMenu(menu); + // getSite().registerContextMenu(menuMgr, flowsViewer); + // } + class VmAgentObserver extends AsyncUiEventListener { public VmAgentObserver(Display display) { @@ -402,25 +426,31 @@ public class JcrExecutionModulesView extends ViewPart implements SlcTypes, event.data = buf.toString(); log.debug("data set to : " + buf.toString()); } - // if (selection.getFirstElement() instanceof Node) { - // Node node = (Node) selection.getFirstElement(); - // if (TextTransfer.getInstance().isSupportedType(event.dataType)) { - // try { - // event.data = node.getPath(); - // } catch (RepositoryException e) { - // throw new SlcException("Cannot read node", e); - // } - // } - // } } } - public void setSession(Session session) { - this.session = session; + public void dispose() { + JcrUtils.logoutQuietly(session); + super.dispose(); } + // DEPENDENCY INJECTION + public void setModulesManager(ExecutionModulesManager modulesManager) { this.modulesManager = modulesManager; } + @Deprecated + public void setSession(Session session) { + this.session = session; + } + + public void setRepository(Repository repository) { + try { + session = repository.login(); + } catch (RepositoryException re) { + throw new SlcException("Unable to log in Repository " + repository, + re); + } + } } \ No newline at end of file