From b3991f6eea5fa7301459307b08158028b97c2eb3 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 22 Apr 2008 21:04:37 +0000 Subject: [PATCH] Add SlcExecutionSteps request git-svn-id: https://svn.argeo.org/slc/trunk@1031 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/ws/process/SlcExecutionRequestEp.java | 12 +++++- .../process/SlcExecutionStepsRequestEp.java | 37 +++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java index a9782aca7..65b520a26 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java @@ -21,8 +21,16 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { protected Object invokeInternal(Object requestObject) throws Exception { SlcExecutionRequest msg = (SlcExecutionRequest) requestObject; SlcExecution slcExecution = msg.getSlcExecution(); - slcExecutionDao.create(slcExecution); - log.debug("Created SlcExecution with uuid " + slcExecution.getUuid()); + + if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) { + slcExecutionDao.create(slcExecution); + log.debug("Created SlcExecution with uuid " + + slcExecution.getUuid()); + } else { + slcExecutionDao.update(slcExecution); + log.debug("Updated SlcExecution with uuid " + + slcExecution.getUuid()); + } return null; } 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 new file mode 100644 index 000000000..cf6a7af93 --- /dev/null +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java @@ -0,0 +1,37 @@ +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.dao.process.SlcExecutionDao; +import org.argeo.slc.msg.process.SlcExecutionStepsRequest; + +public class SlcExecutionStepsRequestEp extends + AbstractMarshallingPayloadEndpoint { + + private Log log = LogFactory.getLog(getClass()); + + private final SlcExecutionDao slcExecutionDao; + + public SlcExecutionStepsRequestEp(SlcExecutionDao slcExecutionDao) { + this.slcExecutionDao = slcExecutionDao; + } + + @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; + } + +} -- 2.39.2