import org.argeo.eclipse.ui.jcr.NodeElementComparer;
import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider;
import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils;
-import org.argeo.slc.BasicNameVersion;
-import org.argeo.slc.NameVersion;
import org.argeo.slc.SlcException;
+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.jcr.SlcJcrConstants;
import org.argeo.slc.jcr.SlcNames;
import org.argeo.slc.jcr.SlcTypes;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IStructuredSelection;
new String[] { SlcJcrConstants.VM_AGENT_FACTORY_PATH });
}
- // @Override
- // protected Object[] getChildren(Node node) throws RepositoryException
- // {
- // if (node.isNodeType(SlcTypes.SLC_AGENT_FACTORY)) {
- // List<AgentNodesWrapper> wrappers = new
- // ArrayList<AgentNodesWrapper>();
- // for (NodeIterator nit = node.getNodes(); nit.hasNext();) {
- // wrappers.add(new AgentNodesWrapper(nit.nextNode()));
- // }
- // return wrappers.toArray();
- // }
- // return super.getChildren(node);
- // }
-
@Override
protected Object[] sort(Object parent, Object[] children) {
Object[] sorted = new Object[children.length];
}
- // /** Wraps the execution modules of an agent. */
- // static class AgentNodesWrapper extends NodesWrapper {
- //
- // public AgentNodesWrapper(Node node) {
- // super(node);
- // }
- //
- // protected List<WrappedNode> getWrappedNodes()
- // throws RepositoryException {
- // List<WrappedNode> children = new ArrayList<WrappedNode>();
- // Node executionModules = getNode();
- // for (NodeIterator nit = executionModules.getNodes(); nit.hasNext();) {
- // for (NodeIterator nitVersions = nit.nextNode().getNodes(); nitVersions
- // .hasNext();) {
- // children.add(new WrappedNode(this, nitVersions.nextNode()));
- // }
- // }
- // return children;
- // }
- //
- // }
-
class VmAgentObserver extends AsyncUiEventListener {
public VmAgentObserver(Display display) {
}
}
- // try {
- // Node vmAgentNode = session
- // .getNode(SlcJcrConstants.VM_AGENT_FACTORY_PATH);
- // viewer.refresh(vmAgentNode);
- // } catch (RepositoryException e) {
- // log.warn("Cannot process event : " + e);
- // }
// TODO: optimize based on event
viewer.refresh();
}
if (obj instanceof Node) {
Node node = (Node) obj;
if (node.isNodeType(SLC_EXECUTION_MODULE)) {
- String name = node.getProperty(SLC_NAME).getString();
- String version = node.getProperty(SLC_VERSION)
- .getString();
- final NameVersion nameVersion = new BasicNameVersion(
- name, version);
- Boolean started = node.getProperty(SLC_STARTED)
- .getBoolean();
-
- Job job;
- if (started) {
- job = new Job("Stop " + nameVersion) {
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask("Stop " + nameVersion, 1);
- modulesManager.stop(nameVersion);
- monitor.worked(1);
- return Status.OK_STATUS;
- }
-
- protected void canceling() {
- getThread().interrupt();
- super.canceling();
- }
- };
- } else {
- job = new Job("Start " + nameVersion) {
- protected IStatus run(IProgressMonitor monitor) {
- monitor.beginTask("Start " + nameVersion, 1);
- modulesManager.start(nameVersion);
- monitor.worked(1);
- return Status.OK_STATUS;
- }
-
- protected void canceling() {
- getThread().interrupt();
- super.canceling();
- }
- };
- }
- job.setUser(true);
- job.schedule();
+ ClientUiPlugin.startStopExecutionModule(modulesManager,
+ node);
} else {
String path = node.getPath();
// TODO factorize with editor
paths.add(nit.nextNode().getPath());
}
- // List<String> paths = new ArrayList<String>();
- // paths.add(node.getPath());
IWorkbenchPage activePage = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
activePage.openEditor(new ProcessEditorInput(
}
+ /** Listen to drags */
class ViewDragListener extends DragSourceAdapter {
public void dragSetData(DragSourceEvent event) {
IStructuredSelection selection = (IStructuredSelection) viewer
.getSelection();
if (selection.getFirstElement() instanceof Node) {
Node node = (Node) selection.getFirstElement();
- // try {
- // if (node.isNodeType(SLC_EXECUTION_FLOW)) {
- // if (EditorInputTransfer.getInstance().isSupportedType(
- // event.dataType)) {
- // ProcessEditorInput pei = new ProcessEditorInput(
- // node.getPath());
- // EditorInputData eid = EditorInputTransfer
- // .createEditorInputData(ProcessEditor.ID,
- // pei);
- // event.data = new EditorInputTransfer.EditorInputData[] { eid
- // };
- //
- // }
- // }
- // } catch (RepositoryException e1) {
- // throw new SlcException("Cannot drag " + node, e1);
- // }
-
if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
try {
event.data = node.getPath();
- } catch (RepositoryException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+ } catch (RepositoryException e) {
+ throw new SlcException("Cannot read node", e);
}
}
}