From: Mathieu Baudier Date: Fri, 27 Jun 2008 22:03:29 +0000 (+0000) Subject: Adapt web services to lazy loading X-Git-Tag: argeo-slc-2.1.7~2743 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=c21f3ae9746cd2bbc81dad813e9e590300433a52;p=gpl%2Fargeo-slc.git Adapt web services to lazy loading git-svn-id: https://svn.argeo.org/slc/trunk@1299 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.server/pom.xml b/org.argeo.slc.server/pom.xml index 9133b46dc..147ba303e 100644 --- a/org.argeo.slc.server/pom.xml +++ b/org.argeo.slc.server/pom.xml @@ -1,93 +1,107 @@ - - - 4.0.0 - - org.argeo.slc - argeo-slc - 0.9-SNAPSHOT - ../org.argeo.slc - - argeo-slc-server - Argeo SLC Server - SLC Server - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.mortbay.jetty - maven-jetty-plugin - 6.1.9 - - 10 - org.argeo.slc.webapp - true - - ../org.argeo.slc.webapp/src/main/webapp - - stopKey - 8081 - - - - ../org.argeo.slc.webapp/src/main/webapp - - - **/*.xml - **/*.properties - - - - - - - - - + + + 4.0.0 + + org.argeo.slc + argeo-slc + 0.9-SNAPSHOT + ../org.argeo.slc + + argeo-slc-server + Argeo SLC Server + SLC Server + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-source-plugin + + + org.mortbay.jetty + maven-jetty-plugin + + 10 + + ../org.argeo.slc.webapp/src/main/webapp + + + + + ../org.argeo.slc.webapp/src/main/webapp + + + **/*.xml + **/*.properties + + + + + + + + org.argeo.slc argeo-slc-core ${project.version} + + + xerces + xercesImpl + + org.argeo.slc argeo-slc-hibernate ${project.version} + + + xerces + xercesImpl + + + + + + javax.servlet + jstl + + + taglibs + standard - - - javax.servlet - jstl - - - taglibs - standard - org.springframework.ws spring-ws-core - - org.springframework - spring-webmvc - - - javax.servlet - servlet-api - provided - - - c3p0 - c3p0 - - + + org.springframework + spring-webmvc + + + org.springframework + spring-aop + + + javax.servlet + servlet-api + provided + + + c3p0 + c3p0 + + + org.aspectj + aspectjweaver + + \ No newline at end of file diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java index 17ee53046..8c1d109c2 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java @@ -47,8 +47,11 @@ public class TestManagerServiceImpl implements TestManagerService { .getSlcExecution(testRunDescriptor .getSlcExecutionUuid()); if (slcExecution != null) { - addResultToCollection(slcExecution.getUser(), - testRunDescriptor.getTestResultUuid()); + String collectionId = slcExecution.getUser() != null ? slcExecution + .getUser() + : "default"; + addResultToCollection(collectionId, testRunDescriptor + .getTestResultUuid()); } } } @@ -61,9 +64,7 @@ public class TestManagerServiceImpl implements TestManagerService { ttrc = new TreeTestResultCollection(collectionId); treeTestResultCollectionDao.create(ttrc); } - TreeTestResult ttr = treeTestResultDao.getTestResult(resultUuid); - ttrc.getResults().add(ttr); - treeTestResultCollectionDao.update(ttrc); + treeTestResultCollectionDao.addResultToCollection(ttrc, resultUuid); } public void removeResultFromCollection(String collectionId, @@ -71,10 +72,8 @@ public class TestManagerServiceImpl implements TestManagerService { TreeTestResultCollection ttrc = treeTestResultCollectionDao .getTestResultCollection(collectionId); if (ttrc != null) { - TreeTestResult ttr = treeTestResultDao.getTestResult(resultUuid); - if (ttrc.getResults().remove(ttr)) { - treeTestResultCollectionDao.update(ttrc); - } + treeTestResultCollectionDao.removeResultFromCollection(ttrc, + resultUuid); } } 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 f92dbc68e..3c41d9afd 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 @@ -30,13 +30,13 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { if (slcExecutionDao.getSlcExecution(slcExecution.getUuid()) == null) { if (log.isDebugEnabled()) - log.debug("Creating SlcExecution with uuid " + log.debug("Creating SLC execution #" + slcExecution.getUuid()); slcExecutionDao.create(slcExecution); } else { if (log.isDebugEnabled()) - log.debug("Updating SlcExecution with uuid " + log.debug("Updating SLC execution #" + slcExecution.getUuid()); slcExecutionDao.update(slcExecution); @@ -47,6 +47,10 @@ public class SlcExecutionRequestEp extends AbstractMarshallingPayloadEndpoint { SlcExecutionStatusRequest msg = (SlcExecutionStatusRequest) requestObject; SlcExecution slcExecution = slcExecutionDao.getSlcExecution(msg .getSlcExecutionUuid()); + if (slcExecution == null) + throw new SlcException("Could not find SLC execution #" + + msg.getSlcExecutionUuid()); + slcExecution.setStatus(msg.getNewStatus()); slcExecutionDao.update(slcExecution); 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 56532d4ca..738c2c699 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 @@ -30,30 +30,22 @@ public class SlcExecutionStepsRequestEp extends 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 additionalSteps = msg.getSteps(); if (log.isTraceEnabled()) { - log.trace("Trying to add additional steps to slc execution " + log.trace("Trying to add additional steps to SLC execution #" + uuid + ":"); - for (SlcExecutionStep step : additionalSteps) { - log.trace("Step " + step.getUuid() + " (in slc execution " + for (SlcExecutionStep step : msg.getSteps()) { + log.trace("Step " + step.getUuid() + " (in SLC execution #" + uuid + ")"); } } - slcExecution.getSteps().addAll(additionalSteps); log.debug("Adding " + msg.getSteps().size() - + " steps to SlcExecution with uuid " - + slcExecution.getUuid()); + + " steps to SLC execution #" + uuid); - slcExecutionDao.update(slcExecution); + slcExecutionDao.addSteps(uuid, msg.getSteps()); return null; } catch (Exception e) { - log.error("Could not update SlcExecution " + uuid + log.error("Could not update SLC execution #" + uuid + " with additional steps", e); throw e; } 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 a0fac4881..4c42b6e1c 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 @@ -24,8 +24,8 @@ public class CloseTreeTestResultRequestEp extends CloseTreeTestResultRequest msg = (CloseTreeTestResultRequest) requestObject; if (log.isDebugEnabled()) - log.debug("Closing result with id " + msg.getResultUuid() - + " at date " + msg.getCloseDate()); + log.debug("Closing result #" + msg.getResultUuid() + " at date " + + msg.getCloseDate()); treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate()); 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 483250e6a..a250703bb 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 @@ -26,7 +26,7 @@ public class CreateTreeTestResultRequestEp extends TreeTestResult treeTestResult = msg.getTreeTestResult(); if (log.isDebugEnabled()) - log.debug("Creating result with id " + treeTestResult.getUuid()); + log.debug("Creating result #" + treeTestResult.getUuid()); treeTestResultDao.create(treeTestResult); 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 cdf77f592..e80808ee2 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 @@ -29,49 +29,13 @@ public class ResultPartRequestEp extends AbstractMarshallingPayloadEndpoint { testManagerService .registerTestRunDescriptor(msg.getTestRunDescriptor()); - // if (testRunDescriptor != null) { - // if (log.isDebugEnabled()) - // log.debug("Updating test run descriptor with id " - // + testRunDescriptor.getTestRunUuid()); - // - // testRunDescriptorDao.saveOrUpdate(testRunDescriptor); - // - // // Update tree test result collection - // // TODO: put it in dedicated service and optimize - // SlcExecution slcExecution = slcExecutionDao - // .getSlcExecution(testRunDescriptor.getSlcExecutionUuid()); - // if (slcExecution != null) { - // TreeTestResultCollection ttrc = treeTestResultCollectionDao - // .getTestResultCollection(slcExecution.getUser()); - // if (ttrc == null) { - // ttrc = new TreeTestResultCollection(slcExecution.getUser()); - // treeTestResultCollectionDao.create(ttrc); - // } - // TreeTestResult ttr = treeTestResultDao - // .getTestResult(testRunDescriptor.getTestResultUuid()); - // ttrc.getResults().add(ttr); - // treeTestResultCollectionDao.update(ttrc); - // } - // } - TreeTestResult treeTestResult = treeTestResultDao.getTestResult(msg - .getResultUuid()); - if (treeTestResult == null) { - throw new SlcException("No result with id " + msg.getResultUuid()); - } - - PartSubList lst = treeTestResult.getResultParts().get(msg.getPath()); - if (lst == null) { - lst = new PartSubList(); - treeTestResult.getResultParts().put(msg.getPath(), lst); - } - lst.getParts().add(msg.getResultPart()); - treeTestResult.getElements().putAll(msg.getRelatedElements()); + treeTestResultDao.addResultPart(msg.getResultUuid(), msg.getPath(), msg + .getResultPart(), msg.getRelatedElements()); if (log.isDebugEnabled()) - log.debug("Updating result with id " + treeTestResult.getUuid()); - - treeTestResultDao.update(treeTestResult); + log.debug("Added result part to test result #" + + msg.getResultUuid()); return null; } 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 3465fa026..a7dc089ff 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 @@ -1,7 +1,12 @@ + + \ 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 6d0e272a6..7c48b2523 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 @@ -1,101 +1,122 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - slcExecutionRequestEp - - - slcExecutionRequestEp - - - slcExecutionStepsRequestEp - - - createTreeTestResultRequestEp - - - closeTreeTestResultRequestEp - - - resultPartRequestEp - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + slcExecutionRequestEp + + + slcExecutionRequestEp + + + slcExecutionStepsRequestEp + + + createTreeTestResultRequestEp + + + closeTreeTestResultRequestEp + + + resultPartRequestEp + + + + + + + + + + + - - - - - + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.server/src/test/resources/log4j.properties b/org.argeo.slc.server/src/test/resources/log4j.properties deleted file mode 100644 index c49b71be8..000000000 --- a/org.argeo.slc.server/src/test/resources/log4j.properties +++ /dev/null @@ -1,24 +0,0 @@ -# Set root logger level to DEBUG and its only appender to A1. -log4j.rootLogger=INFO, console - -## Levels -# Slc -log4j.logger.org.argeo.slc=DEBUG -log4j.logger.org.argeo.slc.ws.process=DEBUG -# Spring -log4j.logger.org.springframework=INFO -# Hibernate -log4j.logger.org.hibernate=WARN -#log4j.logger.org.hibernate.SQL=TRACE -#log4j.logger.org.hibernate.tool.hbm2ddl=TRACE -#log4j.logger.org.hibernate.type=TRACE - - -## Appenders -# A1 is set to be a ConsoleAppender. -log4j.appender.console=org.apache.log4j.ConsoleAppender - -# A1 uses PatternLayout. -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c%n -