Introduce XSLT view
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 5 May 2008 15:05:44 +0000 (15:05 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 5 May 2008 15:05:44 +0000 (15:05 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1130 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.webapp/src/main/webapp/WEB-INF/jsp/resultList.jsp
org.argeo.slc.webapp/src/main/webapp/WEB-INF/slc-xslt-servlet.xml [new file with mode: 0644]
org.argeo.slc.webapp/src/main/webapp/WEB-INF/web.xml
org.argeo.slc.webapp/src/main/webapp/WEB-INF/xslt/resultView.xsl [new file with mode: 0644]

index a5e2fef8622b4fe26e788418ab3ca3839c8d91be..30870b9c6c5e369f1928a1e01be7db76706a60ba 100644 (file)
@@ -29,6 +29,7 @@
                                </c:otherwise>\r
                        </c:choose>\r
                        <td><a href="resultView.web?uuid=${result.uuid}">view</a></td>\r
+                       <td><a href="resultView.xslt?uuid=${result.uuid}">xsl</a></td>\r
                </tr>\r
        </c:forEach>\r
 </table>\r
diff --git a/org.argeo.slc.webapp/src/main/webapp/WEB-INF/slc-xslt-servlet.xml b/org.argeo.slc.webapp/src/main/webapp/WEB-INF/slc-xslt-servlet.xml
new file mode 100644 (file)
index 0000000..2b43c12
--- /dev/null
@@ -0,0 +1,37 @@
+<?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
+       xmlns:aop="http://www.springframework.org/schema/aop"\r
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"\r
+       default-lazy-init="true">\r
+\r
+       <import\r
+               resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
+\r
+       <bean name="/resultView.xslt"\r
+               class="org.argeo.slc.web.mvc.result.ResultViewController">\r
+               <constructor-arg ref="testResultDao" />\r
+               <property name="viewName" value="resultView" />\r
+       </bean>\r
+\r
+       <bean\r
+               class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">\r
+       </bean>\r
+\r
+\r
+       <bean id="viewResolverXslt"\r
+               class="org.argeo.slc.web.mvc.XsltMarshallerViewResolver">\r
+               <property name="viewClass">\r
+                       <value>org.argeo.slc.web.mvc.XsltMarshallerView</value>\r
+               </property>\r
+               <property name="prefix">\r
+                       <value>WEB-INF/xslt/</value>\r
+               </property>\r
+               <property name="suffix">\r
+                       <value>.xsl</value>\r
+               </property>\r
+               <property name="marshaller" ref="slcDefault.castor.marshaller"/>\r
+       </bean>\r
+\r
+\r
+</beans>
\ No newline at end of file
index 85b87a247b976e5613578bd6b5ee0bb8ff8f8d02..dbfebf22be61ab7ced3a58157fc74b3b8709429e 100644 (file)
                <url-pattern>*.web</url-pattern>\r
        </servlet-mapping>\r
 \r
+       <servlet>\r
+               <servlet-name>slc-xslt</servlet-name>\r
+               <servlet-class>\r
+                       org.springframework.web.servlet.DispatcherServlet\r
+               </servlet-class>\r
+       </servlet>\r
+\r
+       <servlet-mapping>\r
+               <servlet-name>slc-xslt</servlet-name>\r
+               <url-pattern>*.xslt</url-pattern>\r
+       </servlet-mapping>\r
+\r
        <context-param>\r
                <param-name>contextConfigLocation</param-name>\r
                <param-value>/WEB-INF/applicationContext.xml</param-value>\r
diff --git a/org.argeo.slc.webapp/src/main/webapp/WEB-INF/xslt/resultView.xsl b/org.argeo.slc.webapp/src/main/webapp/WEB-INF/xslt/resultView.xsl
new file mode 100644 (file)
index 0000000..947cef0
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<xsl:stylesheet version="1.0"\r
+       xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\r
+       xmlns:slc="http://argeo.org/projects/slc/schemas"\r
+       exclude-result-prefixes="slc">\r
+\r
+       <xsl:output method="html" omit-xml-declaration="yes" />\r
+\r
+       <xsl:template match="/">\r
+               <html>\r
+                       <head>\r
+                               <title>Result</title>\r
+                       </head>\r
+                       <body style="font-family: sans-serif">\r
+                               <h1>\r
+                                       Result\r
+                                       <xsl:value-of select="slc:tree-test-result/@uuid" />\r
+                               </h1>\r
+                               <xsl:for-each\r
+                                       select="slc:tree-test-result/slc:result-parts/slc:result-part">\r
+                                       <h2>\r
+                                               <xsl:value-of select="@path" />\r
+                                       </h2>\r
+                                       <table>\r
+                                               <xsl:for-each\r
+                                                       select="slc:part-sub-list/slc:parts/slc:simple-result-part">\r
+                                                       <tr>\r
+                                                               <xsl:choose>\r
+                                                                       <xsl:when\r
+                                                                               test="slc:status = 'PASSED' ">\r
+                                                                               <td style="color:green">\r
+                                                                                       <xsl:value-of\r
+                                                                                               select="slc:message" />\r
+                                                                               </td>\r
+                                                                       </xsl:when>\r
+                                                                       <xsl:otherwise>\r
+                                                                               <td style="color:red">\r
+                                                                                       <xsl:value-of\r
+                                                                                               select="slc:message" />\r
+                                                                               </td>\r
+                                                                       </xsl:otherwise>\r
+                                                               </xsl:choose>\r
+                                                       </tr>\r
+                                               </xsl:for-each>\r
+                                       </table>\r
+                               </xsl:for-each>\r
+                       </body>\r
+               </html>\r
+       </xsl:template>\r
+</xsl:stylesheet>
\ No newline at end of file