- 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();
+ SlcExecution slcExecution = slcExecutionDao.getSlcExecution(uuid);
+
+ 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 "
+ + slcExecution.getUuid());
+ return null;
+ } catch (Exception e) {
+ log.error("Could not update SlcExecution " + uuid
+ + " with additional steps", e);
+ throw e;
+ }