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

org.argeo.slc.webapp/src/main/webapp/WEB-INF/local-template.properties
org.argeo.slc.webapp/src/main/webapp/WEB-INF/log4j.properties [new file with mode: 0644]
org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml
org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java
org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java

index 05241b75ff1134481ac0008b2b8c900e5dc68da3..86ac8ce28fbbbe8700ccec64bb81f8316fe38b0b 100644 (file)
@@ -1,7 +1,7 @@
 # Rename this file to local.properties\r
 \r
 # For in memory database switch following lines\r
-sessionFactoryParentBean=slcDefault.dataSource.inMemoryTestHSQL\r
+sessionFactoryParentBean=slcDefault.sessionFactory.hibernateTestHSQL\r
 #sessionFactoryParentBean=slcServerDefault.sessionFactory.persistentHSQL\r
 \r
 # URL of the persistent database\r
diff --git a/org.argeo.slc.webapp/src/main/webapp/WEB-INF/log4j.properties b/org.argeo.slc.webapp/src/main/webapp/WEB-INF/log4j.properties
new file mode 100644 (file)
index 0000000..cc1ed80
--- /dev/null
@@ -0,0 +1,25 @@
+# Set root logger level to DEBUG and its only appender to A1.\r
+log4j.rootLogger=WARN, console\r
+\r
+## Levels\r
+# Slc\r
+log4j.logger.org.argeo.slc=DEBUG\r
+\r
+# Spring\r
+log4j.logger.org.springframework=WARN\r
+\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
index 29499de2f343925a18cc74c87b0b194059c39fc1..963139a325b71b38816e8ccb557e8c9048c93329 100644 (file)
                <jsp-property-group>
                        <url-pattern>*.jsp</url-pattern>
                        <page-encoding>ISO-8859-1</page-encoding>
-                       <include-prelude>/WEB-INF/specific/prelude.jspf</include-prelude>
+                       <include-prelude>
+                               /WEB-INF/specific/prelude.jspf
+                       </include-prelude>
                        <include-coda>/WEB-INF/specific/coda.jspf</include-coda>
                </jsp-property-group>
        </jsp-config>
+
+       <!-- Log4j configContext loader config -->
+       <listener>
+               <listener-class>
+                       org.springframework.web.util.Log4jConfigListener
+               </listener-class>
+       </listener>
+       <context-param>
+               <param-name>log4jConfigLocation</param-name>
+               <param-value>/WEB-INF/log4j.properties</param-value>
+       </context-param>
+       <context-param>
+               <param-name>log4jRefreshInterval</param-name>
+               <param-value>5000</param-value>
+       </context-param>
+
 </web-app>
index 47d584f2349e32650daa3ea6e4bcd6aa841d08d0..d097900d84150cab4e420884ac2a82501d5b6f23 100644 (file)
@@ -1,29 +1,84 @@
 package org.argeo.slc.ws;
 
+import java.util.List;
+import java.util.Vector;
+
 import org.springframework.ws.client.core.WebServiceTemplate;
+import org.springframework.ws.soap.client.SoapFaultClientException;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import org.argeo.slc.core.process.SlcExecution;
+import org.argeo.slc.core.process.SlcExecutionStep;
 import org.argeo.slc.msg.process.SlcExecutionRequest;
+import org.argeo.slc.msg.process.SlcExecutionStatusRequest;
+import org.argeo.slc.msg.process.SlcExecutionStepsRequest;
 import org.argeo.slc.unit.AbstractSpringTestCase;
 import org.argeo.slc.unit.process.SlcExecutionTestUtils;
+import org.argeo.slc.ws.client.WebServiceUtils;
 
 public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
        private Log log = LogFactory.getLog(getClass());
 
-       public void testSendSlcExecutionrequest() {
-               WebServiceTemplate template = getBean(WebServiceTemplate.class);
+       WebServiceTemplate template;
+
+       public void setUp() {
+               template = getBean(WebServiceTemplate.class);
+               ;
+       }
+
+       public void testSlcExecutionRequests() {
                SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
 
-               SlcExecutionRequest req = new SlcExecutionRequest();
-               req.setSlcExecution(slcExec);
+               log.info("Send create SlcExecutionRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+
+               slcExec.setUser("otherUser");
+               log.info("Send update SlcExecutionRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+       }
+
+       public void testSlcExecutionStatusRequest() {
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
 
-               log.info("Send SlcExecutionRequest for SlcExecution "
+               log.info("Send create SlcExecutionRequest for SlcExecution #"
                                + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
 
-               Object resp = template.marshalSendAndReceive(req);
-               log.info("Resp: " + resp);
+               slcExec.setStatus(SlcExecution.STATUS_FINISHED);
+               log.info("Send update SlcExecutionStatusRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionStatusRequest(slcExec
+                               .getUuid(), slcExec.getStatus()));
+       }
+
+       public void testSendSlcExecutionStepRequest() {
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
+
+               log.info("Send create SlcExecutionRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+
+               SlcExecutionStep step1 = new SlcExecutionStep(
+                               "Logline\nAnother log line.");
+               SlcExecutionStep step2 = new SlcExecutionStep(
+                               "Logline2\nAnother log line2.");
+               List<SlcExecutionStep> steps = new Vector<SlcExecutionStep>();
+               steps.add(step1);
+               steps.add(step2);
+
+               slcExec.setStatus(SlcExecution.STATUS_FINISHED);
+               log.info("Send SlcExecutionStepsRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               try {
+                       template.marshalSendAndReceive(new SlcExecutionStepsRequest(slcExec
+                                       .getUuid(), steps));
+               } catch (SoapFaultClientException e) {
+                       WebServiceUtils.manageSoapException(e);
+                       throw e;
+               }
        }
 }
index 7796c26d75414c6a3723470aeb45051298d1ece5..d27c795ddf4190c2a31baeba7b6e3bca20bcb29e 100644 (file)
@@ -26,8 +26,7 @@ public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
                log.info("Send CreateTreeTestResultRequest for result "
                                + req.getTreeTestResult().getUuid());
 
-               Object resp = template.marshalSendAndReceive(req);
-               log.info("Resp: " + resp);
+               template.marshalSendAndReceive(req);
        }
 
        public void testResultPartRequest() {
@@ -43,8 +42,7 @@ public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
                ResultPartRequest req = createSimpleResultPartRequest(ttr);
 
                log.info("Send ResultPartRequest for result " + req.getResultUuid());
-               Object resp = template.marshalSendAndReceive(req);
-               log.info("Resp: " + resp);
+               template.marshalSendAndReceive(req);
        }
 
        public void testCloseTreeTestResultRequest() {
@@ -64,7 +62,6 @@ public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
                log.info("Send CloseTreeTestResultRequest for result "
                                + req.getResultUuid());
 
-               Object resp = template.marshalSendAndReceive(req);
-               log.info("Resp: " + resp);
+               template.marshalSendAndReceive(req);
        }
 }