package org.argeo.slc.ws.process;
+import java.util.List;
+
import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.core.SlcException;
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;
uuid = msg.getSlcExecutionUuid();
SlcExecution slcExecution = slcExecutionDao.getSlcExecution(uuid);
- slcExecution.getSteps().addAll(msg.getSteps());
+ if (slcExecution == null)
+ throw new SlcException("Could not find slc execution " + uuid);
+
+ List<SlcExecutionStep> additionalSteps = msg.getSteps();
+ if(log.isTraceEnabled()){
+ log.trace("Trying to add additional steps to slc execution "+uuid+":");
+ for(SlcExecutionStep step: additionalSteps){
+ log.trace("Step "+step.getUuid()+" (in slc execution "+uuid+")");
+ }
+ }
+ slcExecution.getSteps().addAll(additionalSteps);
slcExecutionDao.update(slcExecution);
log.debug("Added " + msg.getSteps().size()
- + "steps to SlcExecution with uuid "
+ + " steps to SlcExecution with uuid "
+ slcExecution.getUuid());
return null;
} catch (Exception e) {