X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.server%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fws%2Fprocess%2FSlcExecutionStepsRequestEp.java;h=c15b4de758eb1a352bda27a985f4ea75a26af1c7;hb=e8533fdb40ffbd61574d381643dae5c8fbf61370;hp=cf6a7af93bec9198fba4c4460566dcb38645f124;hpb=b3991f6eea5fa7301459307b08158028b97c2eb3;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java index cf6a7af93..c15b4de75 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java @@ -1,13 +1,11 @@ package org.argeo.slc.ws.process; -import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.core.process.SlcExecution; +import org.argeo.slc.core.process.SlcExecutionStep; import org.argeo.slc.dao.process.SlcExecutionDao; import org.argeo.slc.msg.process.SlcExecutionStepsRequest; +import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint; public class SlcExecutionStepsRequestEp extends AbstractMarshallingPayloadEndpoint { @@ -22,16 +20,28 @@ public class SlcExecutionStepsRequestEp extends @Override protected Object invokeInternal(Object requestObject) throws Exception { - SlcExecutionStepsRequest msg = (SlcExecutionStepsRequest) requestObject; - String uuid = msg.getSlcExecutionUuid(); - SlcExecution slcExecution = slcExecutionDao.getSlcExecution(uuid); - - slcExecution.getSteps().addAll(msg.getSteps()); - - slcExecutionDao.update(slcExecution); - log.debug("Added " + msg.getSteps().size() - + "steps to SlcExecution with uuid " + slcExecution.getUuid()); - return null; + String uuid = null; + try { + SlcExecutionStepsRequest msg = (SlcExecutionStepsRequest) requestObject; + uuid = msg.getSlcExecutionUuid(); + if (log.isTraceEnabled()) { + log.trace("Trying to add additional steps to SLC execution #" + + uuid + ":"); + for (SlcExecutionStep step : msg.getSteps()) { + log.trace("Step " + step.getUuid() + " (in SLC execution #" + + uuid + ")"); + } + log.trace("Adding " + msg.getSteps().size() + + " steps to SLC execution #" + uuid); + } + + slcExecutionDao.addSteps(uuid, msg.getSteps()); + return null; + } catch (Exception e) { + log.error("Could not update SLC execution #" + uuid + + " with additional steps", e); + throw e; + } } }