From bf3678f8b4d6dbd9965a27632fe6bb39db689c9a Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 28 Jun 2008 17:07:13 +0000 Subject: [PATCH] Introduce transaction management git-svn-id: https://svn.argeo.org/slc/trunk@1312 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/ws/process/SlcExecutionRequestEp.java | 14 ++++---- .../slc/server/spring/servletContext.xml | 36 +++++++++++++++---- .../slc/server/spring/slc-ws-servlet.xml | 16 ++++----- 3 files changed, 43 insertions(+), 23 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 10a7aab22..e9e63da0f 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 @@ -26,20 +26,21 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { if (requestObject instanceof SlcExecutionRequest) { SlcExecutionRequest msg = (SlcExecutionRequest) requestObject; - SlcExecution slcExecution = msg.getSlcExecution(); + SlcExecution slcExecutionMsg = msg.getSlcExecution(); - if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) { + SlcExecution slcExecutionPersisted = slcExecutionDao.getSlcExecution(slcExecutionMsg.getUuid()); + if (slcExecutionPersisted == null) { if (log.isTraceEnabled()) log.trace("Creating SLC execution #" - + slcExecution.getUuid()); + + slcExecutionMsg.getUuid()); - slcExecutionDao.create(slcExecution); + slcExecutionDao.create(slcExecutionMsg); } else { if (log.isTraceEnabled()) log.trace("Updating SLC execution #" - + slcExecution.getUuid()); + + slcExecutionMsg.getUuid()); - slcExecutionDao.update(slcExecution); + slcExecutionDao.merge(slcExecutionMsg); } return null; @@ -64,5 +65,4 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { + requestObject.getClass()); } } - } diff --git a/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml b/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml index 0ea81004e..21efb5d08 100644 --- a/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml +++ b/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml @@ -4,7 +4,9 @@ xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" default-lazy-init="true"> + ref="slcServerDefault.dataSource.inMemoryTestHSQL" /> + + + + - + + + + + + - + - + - + @@ -102,4 +116,12 @@ class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor"> + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml b/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml index 7c48b2523..794d97782 100644 --- a/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml +++ b/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml @@ -103,20 +103,18 @@ - - - + + - + - + - --> + \ No newline at end of file -- 2.39.5