]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Adapt web services to lazy loading
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 27 Jun 2008 22:03:29 +0000 (22:03 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 27 Jun 2008 22:03:29 +0000 (22:03 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1299 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.server/pom.xml
org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/process/SlcExecutionStepsRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CreateTreeTestResultRequestEp.java
org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/ResultPartRequestEp.java
org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/servletContext.xml
org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-ws-servlet.xml
org.argeo.slc.server/src/test/resources/log4j.properties [deleted file]

index 9133b46dc1fac296bd2ad5a198e4184a1b607363..147ba303ea4ccb177c27c5a05c40827362255081 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<project xmlns="http://maven.apache.org/POM/4.0.0"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.argeo.slc</groupId>\r
-               <artifactId>argeo-slc</artifactId>\r
-               <version>0.9-SNAPSHOT</version>\r
-               <relativePath>../org.argeo.slc</relativePath>\r
-       </parent>\r
-       <artifactId>argeo-slc-server</artifactId>\r
-       <name>Argeo SLC Server</name>\r
-       <description>SLC Server</description>\r
-       <build>\r
-               <plugins>\r
-                       <!-- Look to parent pom for inheritances -->\r
-                       <plugin>\r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-compiler-plugin</artifactId>\r
-                       </plugin>\r
-                       <plugin>\r
-                               <groupId>org.apache.maven.plugins</groupId>\r
-                               <artifactId>maven-source-plugin</artifactId>\r
-                       </plugin>\r
-                       <plugin>\r
-                               <groupId>org.mortbay.jetty</groupId>\r
-                               <artifactId>maven-jetty-plugin</artifactId>\r
-                               <version>6.1.9</version>\r
-                               <configuration>\r
-                                       <scanIntervalSeconds>10</scanIntervalSeconds>\r
-                                       <contextPath>org.argeo.slc.webapp</contextPath>\r
-                                       <useTestClasspath>true</useTestClasspath>\r
-                                       <webAppSourceDirectory>\r
-                                               ../org.argeo.slc.webapp/src/main/webapp\r
-                                       </webAppSourceDirectory>\r
-                                       <stopKey>stopKey</stopKey>\r
-                                       <stopPort>8081</stopPort>\r
-                                       <scanTargetPatterns>\r
-                                               <scanTargetPattern>\r
-                                                       <directory>\r
-                                                               ../org.argeo.slc.webapp/src/main/webapp\r
-                                                       </directory>\r
-                                                       <includes>\r
-                                                               <include>**/*.xml</include>\r
-                                                               <include>**/*.properties</include>\r
-                                                       </includes>\r
-                                               </scanTargetPattern>\r
-                                       </scanTargetPatterns>\r
-                               </configuration>\r
-                       </plugin>\r
-\r
-               </plugins>\r
-       </build>\r
-       <dependencies>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.argeo.slc</groupId>
+               <artifactId>argeo-slc</artifactId>
+               <version>0.9-SNAPSHOT</version>
+               <relativePath>../org.argeo.slc</relativePath>
+       </parent>
+       <artifactId>argeo-slc-server</artifactId>
+       <name>Argeo SLC Server</name>
+       <description>SLC Server</description>
+       <build>
+               <plugins>
+                       <!-- Look to parent pom for inheritances -->
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-compiler-plugin</artifactId>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-source-plugin</artifactId>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.mortbay.jetty</groupId>
+                               <artifactId>maven-jetty-plugin</artifactId>
+                               <configuration>
+                                       <scanIntervalSeconds>10</scanIntervalSeconds>
+                                       <webAppSourceDirectory>
+                                               ../org.argeo.slc.webapp/src/main/webapp
+                                       </webAppSourceDirectory>
+                                       <scanTargetPatterns>
+                                               <scanTargetPattern>
+                                                       <directory>
+                                                               ../org.argeo.slc.webapp/src/main/webapp
+                                                       </directory>
+                                                       <includes>
+                                                               <include>**/*.xml</include>
+                                                               <include>**/*.properties</include>
+                                                       </includes>
+                                               </scanTargetPattern>
+                                       </scanTargetPatterns>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
+       <dependencies>
                <dependency>
                        <groupId>org.argeo.slc</groupId>
                        <artifactId>argeo-slc-core</artifactId>
                        <version>${project.version}</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>xerces</groupId>
+                                       <artifactId>xercesImpl</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
                <dependency>
                        <groupId>org.argeo.slc</groupId>
                        <artifactId>argeo-slc-hibernate</artifactId>
                        <version>${project.version}</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>xerces</groupId>
+                                       <artifactId>xercesImpl</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+
+               <dependency>
+                       <groupId>javax.servlet</groupId>
+                       <artifactId>jstl</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>taglibs</groupId>
+                       <artifactId>standard</artifactId>
                </dependency>
-\r
-               <dependency>\r
-                       <groupId>javax.servlet</groupId>\r
-                       <artifactId>jstl</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>taglibs</groupId>\r
-                       <artifactId>standard</artifactId>\r
-               </dependency>\r
                <dependency>
                        <groupId>org.springframework.ws</groupId>
                        <artifactId>spring-ws-core</artifactId>
                </dependency>
-               <dependency>\r
-                       <groupId>org.springframework</groupId>\r
-                       <artifactId>spring-webmvc</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>javax.servlet</groupId>\r
-                       <artifactId>servlet-api</artifactId>\r
-                       <scope>provided</scope>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>c3p0</groupId>\r
-                       <artifactId>c3p0</artifactId>\r
-               </dependency>\r
-       </dependencies>\r
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-webmvc</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-aop</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.servlet</groupId>
+                       <artifactId>servlet-api</artifactId>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>c3p0</groupId>
+                       <artifactId>c3p0</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>org.aspectj</groupId>
+                       <artifactId>aspectjweaver</artifactId>
+               </dependency>
+       </dependencies>
 </project>
\ No newline at end of file
index 17ee530468d7643134085f98aa5a4f6021d04c46..8c1d109c295e5485ff14655f6d0e1e3a77cdb542 100644 (file)
@@ -47,8 +47,11 @@ public class TestManagerServiceImpl implements TestManagerService {
                                                .getSlcExecution(testRunDescriptor\r
                                                                .getSlcExecutionUuid());\r
                                if (slcExecution != null) {\r
-                                       addResultToCollection(slcExecution.getUser(),\r
-                                                       testRunDescriptor.getTestResultUuid());\r
+                                       String collectionId = slcExecution.getUser() != null ? slcExecution\r
+                                                       .getUser()\r
+                                                       : "default";\r
+                                       addResultToCollection(collectionId, testRunDescriptor\r
+                                                       .getTestResultUuid());\r
                                }\r
                        }\r
                }\r
@@ -61,9 +64,7 @@ public class TestManagerServiceImpl implements TestManagerService {
                        ttrc = new TreeTestResultCollection(collectionId);\r
                        treeTestResultCollectionDao.create(ttrc);\r
                }\r
-               TreeTestResult ttr = treeTestResultDao.getTestResult(resultUuid);\r
-               ttrc.getResults().add(ttr);\r
-               treeTestResultCollectionDao.update(ttrc);\r
+               treeTestResultCollectionDao.addResultToCollection(ttrc, resultUuid);\r
        }\r
 \r
        public void removeResultFromCollection(String collectionId,\r
@@ -71,10 +72,8 @@ public class TestManagerServiceImpl implements TestManagerService {
                TreeTestResultCollection ttrc = treeTestResultCollectionDao\r
                                .getTestResultCollection(collectionId);\r
                if (ttrc != null) {\r
-                       TreeTestResult ttr = treeTestResultDao.getTestResult(resultUuid);\r
-                       if (ttrc.getResults().remove(ttr)) {\r
-                               treeTestResultCollectionDao.update(ttrc);\r
-                       }\r
+                       treeTestResultCollectionDao.removeResultFromCollection(ttrc,\r
+                                       resultUuid);\r
                }\r
        }\r
 \r
index f92dbc68e6782e0c758f7d8ca5f32bd98faf1348..3c41d9afd5e7d706885a3328a80ccbfd98fec96e 100644 (file)
@@ -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;
index 56532d4ca3e35daa03025659e73948879d0ea7ce..738c2c69966afc0fc7acaa56a6261da5747d5738 100644 (file)
@@ -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<SlcExecutionStep> 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;
                }
index a0fac48811aac6153a4257bbefbe72316ac6d6b9..4c42b6e1c68d02f61a4818c0859b68c6eeef2cd9 100644 (file)
@@ -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());
 
index 483250e6ad36968f7a9e5b80c42e329a3e415b6e..a250703bbbf26de5761ee2986ff081c55b1c6ebf 100644 (file)
@@ -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);
 
index cdf77f592814756e94735d144b9c046f8a60fc30..e80808ee2c0a709a54be9f2cc670e53317748282 100644 (file)
@@ -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;
        }
index 3465fa02604931af6d51bf55cc1dbe3d13a21a31..a7dc089ff5739ada00a2a4d254e87bd98a30e552 100644 (file)
@@ -1,7 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
+       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/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">
 
        <import
                parent="slcTemplates.dao.slcExecutionDao">
                <property name="sessionFactory" ref="sessionFactory" />
        </bean>
+
+       <!-- Transaction
+       <bean id="hibernateTransactionManager"
+               class="org.springframework.orm.hibernate3.HibernateTransactionManager"
+               lazy-init="false">
+               <property name="sessionFactory" ref="sessionFactory" />
+       </bean> -->
 </beans>
\ No newline at end of file
index 6d0e272a644e23de9313d602945fa71b7e1e6b27..7c48b2523515066ec0ffdaaa4deb3a2c76c92c9f 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"\r
-       default-lazy-init="true">\r
-\r
-       <import\r
-               resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
-       <import\r
-               resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />\r
-\r
-       <bean name="slcExecutionRequestEp"\r
-               class="org.argeo.slc.ws.process.SlcExecutionRequestEp">\r
-               <constructor-arg ref="slcExecutionDao" />\r
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
-               <property name="unmarshaller"\r
-                       ref="slcDefault.castor.marshaller" />\r
-       </bean>\r
-\r
-       <bean name="slcExecutionStepsRequestEp"\r
-               class="org.argeo.slc.ws.process.SlcExecutionStepsRequestEp">\r
-               <constructor-arg ref="slcExecutionDao" />\r
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
-               <property name="unmarshaller"\r
-                       ref="slcDefault.castor.marshaller" />\r
-       </bean>\r
-\r
-       <bean name="createTreeTestResultRequestEp"\r
-               class="org.argeo.slc.ws.test.tree.CreateTreeTestResultRequestEp">\r
-               <constructor-arg ref="testResultDao" />\r
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
-               <property name="unmarshaller"\r
-                       ref="slcDefault.castor.marshaller" />\r
-       </bean>\r
-\r
-       <bean name="closeTreeTestResultRequestEp"\r
-               class="org.argeo.slc.ws.test.tree.CloseTreeTestResultRequestEp">\r
-               <constructor-arg ref="testResultDao" />\r
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
-               <property name="unmarshaller"\r
-                       ref="slcDefault.castor.marshaller" />\r
-       </bean>\r
-\r
-       <bean name="resultPartRequestEp"\r
-               class="org.argeo.slc.ws.test.tree.ResultPartRequestEp">\r
-               <constructor-arg ref="testResultDao" />\r
-               <constructor-arg ref="testManagerService" />\r
-               <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
-               <property name="unmarshaller"\r
-                       ref="slcDefault.castor.marshaller" />\r
-       </bean>\r
-\r
-       <bean id="endPointMapping"\r
-               class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">\r
-               <property name="mappings">\r
-\r
-                       <props>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-request">\r
-                                       slcExecutionRequestEp\r
-                               </prop>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-status-request">\r
-                                       slcExecutionRequestEp\r
-                               </prop>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-steps-request">\r
-                                       slcExecutionStepsRequestEp\r
-                               </prop>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}create-tree-test-result-request">\r
-                                       createTreeTestResultRequestEp\r
-                               </prop>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}close-tree-test-result-request">\r
-                                       closeTreeTestResultRequestEp\r
-                               </prop>\r
-                               <prop\r
-                                       key="{http://argeo.org/projects/slc/schemas}result-part-request">\r
-                                       resultPartRequestEp\r
-                               </prop>\r
-                       </props>\r
-               </property>\r
-\r
-               <property name="interceptors">\r
-                       <bean\r
-                               class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />\r
-               </property>\r
-       </bean>\r
-\r
-       <bean id="slcDefinition"\r
-               class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">\r
-               <property name="schema" ref="slcDefault.xml.xsdSchema" />\r
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       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/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">
+
+       <import
+               resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
+       <import
+               resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />
+
+       <bean name="slcExecutionRequestEp"
+               class="org.argeo.slc.ws.process.SlcExecutionRequestEp">
+               <constructor-arg ref="slcExecutionDao" />
+               <property name="marshaller" ref="slcDefault.castor.marshaller" />
+               <property name="unmarshaller"
+                       ref="slcDefault.castor.marshaller" />
+       </bean>
+
+       <bean name="slcExecutionStepsRequestEp"
+               class="org.argeo.slc.ws.process.SlcExecutionStepsRequestEp">
+               <constructor-arg ref="slcExecutionDao" />
+               <property name="marshaller" ref="slcDefault.castor.marshaller" />
+               <property name="unmarshaller"
+                       ref="slcDefault.castor.marshaller" />
+       </bean>
+
+       <bean name="createTreeTestResultRequestEp"
+               class="org.argeo.slc.ws.test.tree.CreateTreeTestResultRequestEp">
+               <constructor-arg ref="testResultDao" />
+               <property name="marshaller" ref="slcDefault.castor.marshaller" />
+               <property name="unmarshaller"
+                       ref="slcDefault.castor.marshaller" />
+       </bean>
+
+       <bean name="closeTreeTestResultRequestEp"
+               class="org.argeo.slc.ws.test.tree.CloseTreeTestResultRequestEp">
+               <constructor-arg ref="testResultDao" />
+               <property name="marshaller" ref="slcDefault.castor.marshaller" />
+               <property name="unmarshaller"
+                       ref="slcDefault.castor.marshaller" />
+       </bean>
+
+       <bean name="resultPartRequestEp"
+               class="org.argeo.slc.ws.test.tree.ResultPartRequestEp">
+               <constructor-arg ref="testResultDao" />
+               <constructor-arg ref="testManagerService" />
+               <property name="marshaller" ref="slcDefault.castor.marshaller" />
+               <property name="unmarshaller"
+                       ref="slcDefault.castor.marshaller" />
+       </bean>
+
+       <bean id="endPointMapping"
+               class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
+               <property name="mappings">
+
+                       <props>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-request">
+                                       slcExecutionRequestEp
+                               </prop>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-status-request">
+                                       slcExecutionRequestEp
+                               </prop>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}slc-execution-steps-request">
+                                       slcExecutionStepsRequestEp
+                               </prop>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}create-tree-test-result-request">
+                                       createTreeTestResultRequestEp
+                               </prop>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}close-tree-test-result-request">
+                                       closeTreeTestResultRequestEp
+                               </prop>
+                               <prop
+                                       key="{http://argeo.org/projects/slc/schemas}result-part-request">
+                                       resultPartRequestEp
+                               </prop>
+                       </props>
+               </property>
+
+               <property name="interceptors">
+                       <bean
+                               class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor" />
+               </property>
+       </bean>
+
+       <bean id="slcDefinition"
+               class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
+               <property name="schema" ref="slcDefault.xml.xsdSchema" />
                <property name="portTypeName" value="Slc" />
-               <property name="targetNamespace"\r
-                       value="http://argeo.org/projects/slc/definitions" />\r
-               <property name="requestSuffix" value="-request" />\r
-       </bean>\r
-\r
-       <bean class="org.argeo.slc.ws.CustomSoapExceptionResolver" />\r
+               <property name="targetNamespace"
+                       value="http://argeo.org/projects/slc/definitions" />
+               <property name="requestSuffix" value="-request" />
+       </bean>
+
+       <bean class="org.argeo.slc.ws.CustomSoapExceptionResolver" />
+
+       <!-- Transaction
+
+       <aop:config>
+               <aop:pointcut id="resultPartRequestEpMethods"
+                       expression="execution(* org.argeo.slc.ws.test.tree.ResultPartRequestEp.*(..))" />
+               <aop:advisor advice-ref="resultPartRequestEpAdvice"
+                       pointcut-ref="resultPartRequestEpMethods" />
+       </aop:config>
+
+       <tx:advice id="resultPartRequestEpAdvice"
+               transaction-manager="hibernateTransactionManager">
+               <tx:attributes>
+                       <tx:method name="*" propagation="REQUIRED" />
+               </tx:attributes>
+       </tx:advice>
+ -->
 </beans>
\ 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 (file)
index c49b71b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Set root logger level to DEBUG and its only appender to A1.\r
-log4j.rootLogger=INFO, console\r
-\r
-## Levels\r
-# Slc\r
-log4j.logger.org.argeo.slc=DEBUG\r
-log4j.logger.org.argeo.slc.ws.process=DEBUG\r
-# Spring\r
-log4j.logger.org.springframework=INFO\r
-# Hibernate\r
-log4j.logger.org.hibernate=WARN\r
-#log4j.logger.org.hibernate.SQL=TRACE\r
-#log4j.logger.org.hibernate.tool.hbm2ddl=TRACE\r
-#log4j.logger.org.hibernate.type=TRACE\r
-\r
-\r
-## Appenders\r
-# A1 is set to be a ConsoleAppender.\r
-log4j.appender.console=org.apache.log4j.ConsoleAppender\r
-\r
-# A1 uses PatternLayout.\r
-log4j.appender.console.layout=org.apache.log4j.PatternLayout\r
-log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c%n\r
-\r