From 319fa0f80e55511d6d425f3de18a5123848b41ad Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Mon, 5 May 2008 08:49:07 +0000 Subject: [PATCH] Improve SlcExecution notifications git-svn-id: https://svn.argeo.org/slc/trunk@1121 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/ws/process/SlcExecutionRequestEp.java | 48 +++++++++++++------ .../process/SlcExecutionStepsRequestEp.java | 5 +- .../tree/CloseTreeTestResultRequestEp.java | 8 ++-- .../tree/CreateTreeTestResultRequestEp.java | 5 +- .../slc/ws/test/tree/ResultPartRequestEp.java | 10 ++-- 5 files changed, 50 insertions(+), 26 deletions(-) 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 5978fc457..f92dbc68e 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 @@ -2,9 +2,13 @@ package org.argeo.slc.ws.process; 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.dao.process.SlcExecutionDao; import org.argeo.slc.msg.process.SlcExecutionRequest; +import org.argeo.slc.msg.process.SlcExecutionStatusRequest; + import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint; public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { @@ -19,23 +23,37 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { @Override protected Object invokeInternal(Object requestObject) throws Exception { - SlcExecutionRequest msg = (SlcExecutionRequest) requestObject; - SlcExecution slcExecution = msg.getSlcExecution(); - - if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) { - slcExecutionDao.create(slcExecution); - - if (log.isDebugEnabled()) - log.debug("Created SlcExecution with uuid " - + slcExecution.getUuid()); - } else { + if (requestObject instanceof SlcExecutionRequest) { + + SlcExecutionRequest msg = (SlcExecutionRequest) requestObject; + SlcExecution slcExecution = msg.getSlcExecution(); + + if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) { + if (log.isDebugEnabled()) + log.debug("Creating SlcExecution with uuid " + + slcExecution.getUuid()); + + slcExecutionDao.create(slcExecution); + } else { + if (log.isDebugEnabled()) + log.debug("Updating SlcExecution with uuid " + + slcExecution.getUuid()); + + slcExecutionDao.update(slcExecution); + } + return null; + + } else if (requestObject instanceof SlcExecutionStatusRequest) { + SlcExecutionStatusRequest msg = (SlcExecutionStatusRequest) requestObject; + SlcExecution slcExecution = slcExecutionDao.getSlcExecution(msg + .getSlcExecutionUuid()); + slcExecution.setStatus(msg.getNewStatus()); slcExecutionDao.update(slcExecution); - - if (log.isDebugEnabled()) - log.debug("Updated SlcExecution with uuid " - + slcExecution.getUuid()); + return null; + } else { + throw new SlcException("Unrecognized request format: " + + requestObject.getClass()); } - 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 index bb28343f5..36cf45a68 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 @@ -44,10 +44,11 @@ public class SlcExecutionStepsRequestEp extends } slcExecution.getSteps().addAll(additionalSteps); - slcExecutionDao.update(slcExecution); - log.debug("Added " + msg.getSteps().size() + log.debug("Adding " + msg.getSteps().size() + " steps to SlcExecution with uuid " + slcExecution.getUuid()); + + slcExecutionDao.update(slcExecution); return null; } catch (Exception e) { log.error("Could not update SlcExecution " + uuid diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java index bf9bb4e31..8b8bd860a 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java @@ -22,11 +22,13 @@ public class CloseTreeTestResultRequestEp extends @Override protected Object invokeInternal(Object requestObject) throws Exception { CloseTreeTestResultRequest msg = (CloseTreeTestResultRequest) requestObject; - treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate()); - + if (log.isDebugEnabled()) - log.debug("Close result with id " + msg.getResultUuid() + log.debug("Closing result with id " + msg.getResultUuid() + " at date " + msg.getCloseDate()); + + treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate()); + return null; } diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java index 025802106..483250e6a 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java @@ -25,10 +25,11 @@ public class CreateTreeTestResultRequestEp extends CreateTreeTestResultRequest msg = (CreateTreeTestResultRequest) requestObject; TreeTestResult treeTestResult = msg.getTreeTestResult(); + if (log.isDebugEnabled()) + log.debug("Creating result with id " + treeTestResult.getUuid()); + treeTestResultDao.create(treeTestResult); - if (log.isDebugEnabled()) - log.debug("Created result with id " + treeTestResult.getUuid()); return null; } diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java index 83425ae7b..7e73ff831 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java @@ -32,10 +32,11 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint { TestRunDescriptor testRunDescriptor = msg.getTestRunDescriptor(); if (testRunDescriptor != null) { - testRunDescriptorDao.saveOrUpdate(testRunDescriptor); if (log.isDebugEnabled()) - log.debug("Updated test run descriptor with id " + log.debug("Updating test run descriptor with id " + testRunDescriptor.getTestRunUuid()); + + testRunDescriptorDao.saveOrUpdate(testRunDescriptor); } TreeTestResult treeTestResult = treeTestResultDao.getTestResult(msg @@ -52,10 +53,11 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint { lst.getParts().add(msg.getResultPart()); treeTestResult.getElements().putAll(msg.getRelatedElements()); + if (log.isDebugEnabled()) + log.debug("Updating result with id " + treeTestResult.getUuid()); + treeTestResultDao.update(treeTestResult); - if (log.isDebugEnabled()) - log.debug("Update result with id " + treeTestResult.getUuid()); return null; } -- 2.39.5