]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java
Improve exception handling
[gpl/argeo-slc.git] / org.argeo.slc.server / src / main / java / org / argeo / slc / ws / process / SlcExecutionRequestEp.java
1 package org.argeo.slc.ws.process;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.argeo.slc.core.process.SlcExecution;
6 import org.argeo.slc.dao.process.SlcExecutionDao;
7 import org.argeo.slc.msg.process.SlcExecutionRequest;
8 import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
9
10 public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint {
11
12 private Log log = LogFactory.getLog(getClass());
13
14 private final SlcExecutionDao slcExecutionDao;
15
16 public SlcExecutionRequestEp(SlcExecutionDao slcExecutionDao) {
17 this.slcExecutionDao = slcExecutionDao;
18 }
19
20 @Override
21 protected Object invokeInternal(Object requestObject) throws Exception {
22 SlcExecutionRequest msg = (SlcExecutionRequest) requestObject;
23 SlcExecution slcExecution = msg.getSlcExecution();
24
25 if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) {
26 slcExecutionDao.create(slcExecution);
27 log.debug("Created SlcExecution with uuid "
28 + slcExecution.getUuid());
29 } else {
30 slcExecutionDao.update(slcExecution);
31 log.debug("Updated SlcExecution with uuid "
32 + slcExecution.getUuid());
33 }
34 return null;
35 }
36
37 }