X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fplugins%2Forg.argeo.slc.client.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Feditors%2FProcessEditor.java;h=b00b41298f3b545f290307beb4488ad7fcb8f06f;hb=0e2ff188c2e8ffac85739cccc3925e8bd82d7be9;hp=59a0b01fe5c2b5c05d8e9f510f404a12e05830bb;hpb=cb9c3adf8b024d64da158fbc76f8874629f377ed;p=gpl%2Fargeo-slc.git diff --git a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessEditor.java b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessEditor.java index 59a0b01fe..b00b41298 100644 --- a/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessEditor.java +++ b/eclipse/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/editors/ProcessEditor.java @@ -1,19 +1,23 @@ package org.argeo.slc.client.ui.editors; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.UUID; import javax.jcr.Node; -import javax.jcr.Property; import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.nodetype.NodeType; import org.argeo.eclipse.ui.Error; import org.argeo.jcr.JcrUtils; import org.argeo.slc.SlcException; import org.argeo.slc.client.ui.ClientUiPlugin; import org.argeo.slc.client.ui.controllers.ProcessController; +import org.argeo.slc.execution.ExecutionModulesManager; import org.argeo.slc.execution.ExecutionProcess; +import org.argeo.slc.execution.ExecutionProcessNotifier; +import org.argeo.slc.execution.ExecutionStep; import org.argeo.slc.jcr.SlcJcrUtils; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.jcr.SlcTypes; @@ -23,7 +27,8 @@ import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.forms.editor.FormEditor; -public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { +public class ProcessEditor extends FormEditor implements + ExecutionProcessNotifier, SlcTypes, SlcNames { public final static String ID = ClientUiPlugin.ID + ".processEditor"; private Session session; @@ -33,6 +38,8 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { private ProcessBuilderPage builderPage; private ProcessLogPage logPage; + private ExecutionModulesManager modulesManager; + @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { @@ -98,7 +105,11 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { } doSave(null); try { - processController.process(processNode); + ExecutionProcess process = processController.process(processNode); + Map properties = new HashMap(); + properties.put(ExecutionModulesManager.SLC_PROCESS_ID, + process.getUuid()); + modulesManager.registerProcessNotifier(this, properties); } catch (Exception e) { Error.show("Execution of " + processNode + " failed", e); } @@ -144,6 +155,14 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { return false; } + public void updateStatus(ExecutionProcess process, String oldStatus, + String newStatus) { + } + + public void addSteps(ExecutionProcess process, List steps) { + logPage.addSteps(steps); + } + /** Expects one session per editor. */ public void setSession(Session session) { this.session = session; @@ -153,4 +172,8 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { this.processController = processController; } + public void setModulesManager(ExecutionModulesManager modulesManager) { + this.modulesManager = modulesManager; + } + }