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=b6df3548e129a9419e728b66da03aaa12f101885;hpb=8696d1a70c254b338d0cac390ef7c80b5f773942;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 b6df3548e..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,5 +1,8 @@ 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; @@ -11,7 +14,10 @@ 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; @@ -21,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; @@ -31,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 { @@ -96,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); } @@ -142,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; @@ -151,4 +172,8 @@ public class ProcessEditor extends FormEditor implements SlcTypes, SlcNames { this.processController = processController; } + public void setModulesManager(ExecutionModulesManager modulesManager) { + this.modulesManager = modulesManager; + } + }