| 
					
				 | 
			
			
				@@ -0,0 +1,109 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<?xml version="1.0" encoding="UTF-8"?> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | XSL Sheet used by the web.xml to acegi-security beans converter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | to create the new acegified web.xml. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | $Id$ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!-- The CAS proxy url (left empty if not to be used) --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:param name="cas-proxy-url"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!-- The acegi context file name - used in the --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:param name="acegi-security-context-file" select="'applicationContext-acegi-security.xml'"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:output doctype-public="-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        doctype-system="http://java.sun.com/J2EE/dtds/web-app_2_3.dtd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        indent="yes"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!-- Identity template which we override for specific cases --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:template match="@*|node()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:copy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <xsl:apply-templates select="@*|node()"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </xsl:copy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</xsl:template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:template match="web-app"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<web-app> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="icon|display-name|description|distributable"/>   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="context-param"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:call-template name="insert-spring-context-param"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:if test="$cas-proxy-url"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<!-- Required for CAS ProxyTicketReceptor servlet. This is the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     URL to CAS' "proxy" actuator, where a PGT and TargetService can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     be presented to obtain a new proxy ticket. THIS CAN BE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     REMOVED IF THE APPLICATION DOESN'T NEED TO ACT AS A PROXY --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <context-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <param-name>edu.yale.its.tp.cas.proxyUrl</param-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <param-value><xsl:value-of select="$cas-proxy-url"/></param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </context-param>         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </xsl:if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <filter> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <filter-name>Acegi Filter Chain Proxy</filter-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <init-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <param-name>targetClass</param-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <param-value>net.sf.acegisecurity.util.FilterChainProxy</param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </init-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </filter> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="filter"/>    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <filter-mapping> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <filter-name>Acegi Filter Chain Proxy</filter-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <url-pattern>/*</url-pattern> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </filter-mapping> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="filter-mapping"/>     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<listener> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</listener> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="listener"/>     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- Run any remaining non-security elements through the identity template --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:apply-templates select="servlet|servlet-mapping|session-config|mime-mapping|welcome-file-list|error-page|taglib|resource-env-ref|resource-ref|env-entry|ejb-ref|ejb-local-ref"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</web-app> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</xsl:template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | Looks for the case where we have an existing Spring context and appends 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | the acegi file to the list of app. context files. Otherwise just copies the contents. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:template match="context-param"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <context-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:choose> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <xsl:when test="./param-name = 'contextConfigLocation'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <param-name>contextConfigLocation</param-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <xsl:value-of select="./param-value"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <xsl:value-of select="concat('    /WEB-INF/',$acegi-security-context-file)"/><xsl:text>
      </xsl:text>                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </xsl:when> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <xsl:otherwise> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <xsl:apply-templates /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </xsl:otherwise> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </xsl:choose> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </context-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</xsl:template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!--  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | Inserts a Spring config location context-param if one doesn't already exist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ | If there is one, do nothing as it will be handled by the context-param template above. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ -->  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<xsl:template name="insert-spring-context-param"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <xsl:if test="not(./context-param/param-name[string() = 'contextConfigLocation'])"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <context-param> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <param-name>contextConfigLocation</param-name> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <xsl:value-of select="concat('/WEB-INF/',$acegi-security-context-file)"/><xsl:text>
</xsl:text> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </param-value> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </context-param>             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </xsl:if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</xsl:template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</xsl:stylesheet> 
			 |