X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.server%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fweb%2Fmvc%2Fprocess%2FNewSlcExecutionController.java;h=7b03f3b9bed0b4d7454bdd75dfae9eb659574250;hb=1d1bc92e4aef2b8b889d7482f91b7ed905f0fb47;hp=2e19764e6bb1f38f9c5410c697f19f95fd89e8c2;hpb=d8ae26046184c02fab744ca2ff63c357c5845a80;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/process/NewSlcExecutionController.java b/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/process/NewSlcExecutionController.java index 2e19764e6..7b03f3b9b 100644 --- a/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/process/NewSlcExecutionController.java +++ b/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/process/NewSlcExecutionController.java @@ -1,6 +1,7 @@ package org.argeo.slc.web.mvc.process; import java.io.BufferedReader; +import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -9,11 +10,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.slc.msg.MsgConstants; import org.argeo.slc.process.SlcExecution; +import org.argeo.slc.process.SlcExecutionStep; import org.argeo.slc.runtime.SlcAgent; import org.argeo.slc.runtime.SlcAgentFactory; -import org.argeo.slc.services.process.SlcExecutionService; +import org.argeo.slc.services.SlcExecutionService; import org.argeo.slc.web.mvc.AbstractServiceController; import org.springframework.oxm.Unmarshaller; +import org.springframework.util.Assert; import org.springframework.web.servlet.ModelAndView; import org.springframework.xml.transform.StringSource; @@ -38,6 +41,7 @@ public class NewSlcExecutionController extends AbstractServiceController { String agentId = request .getParameter(MsgConstants.PROPERTY_SLC_AGENT_ID); + Assert.notNull(agentId, "agent id"); String answer = request.getParameter("body"); if (answer == null) { @@ -58,7 +62,15 @@ public class NewSlcExecutionController extends AbstractServiceController { SlcExecution slcExecution = (SlcExecution) unmarshaller .unmarshal(source); + // Workaround for https://www.argeo.org/bugzilla/show_bug.cgi?id=86 + if (slcExecution.getUuid() == null + || slcExecution.getUuid().length() < 8) + slcExecution.setUuid(UUID.randomUUID().toString()); + slcExecution.setStatus(SlcExecution.STATUS_SCHEDULED); + slcExecution.getSteps().add( + new SlcExecutionStep(SlcExecutionStep.TYPE_START, + "Process started from the Web UI")); slcExecutionService.newExecution(slcExecution); SlcAgent agent = agentFactory.getAgent(agentId);