Author: nbubna
Date: Fri Oct 24 16:26:51 2008
New Revision: 707787

URL: http://svn.apache.org/viewvc?rev=707787&view=rev
Log:
don't use individual setter for ServletContext access

Modified:
    
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/SecureLinkTool.java
    
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/StrutsLinkTool.java

Modified: 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/SecureLinkTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/SecureLinkTool.java?rev=707787&r1=707786&r2=707787&view=diff
==============================================================================
--- 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/SecureLinkTool.java
 (original)
+++ 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/SecureLinkTool.java
 Fri Oct 24 16:26:51 2008
@@ -25,7 +25,9 @@
 import org.apache.struts.action.SecurePlugInInterface;
 import org.apache.struts.config.ModuleConfig;
 import org.apache.struts.config.SecureActionConfig;
+import org.apache.velocity.tools.generic.ValueParser;
 import org.apache.velocity.tools.view.LinkTool;
+import org.apache.velocity.tools.view.ViewContext;
 
 /**
  * Tool to be able to use Struts SSL Extensions with Velocity.
@@ -102,17 +104,23 @@
  */
 public class SecureLinkTool extends LinkTool
 {
+    protected ServletContext application;
 
     private static final String HTTP = "http";
     private static final String HTTPS = "https";
     private static final String STD_HTTP_PORT = "80";
     private static final String STD_HTTPS_PORT = "443";
 
-    protected ServletContext application;
-
-    public void setServletContext(ServletContext app)
+    @Override
+    protected void configure(ValueParser props)
     {
-        this.application = app;
+        // request values override configured defaults 
+        //NOTE: not sure this is the most intuitive way in all cases;
+        // it might make sense to provide the option of whether req/res
+        // values override configured ones or vice versa.
+        super.configure(props);
+
+        this.application = 
(ServletContext)props.getValue(ViewContext.SERVLET_CONTEXT_KEY);
     }
 
     /**

Modified: 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/StrutsLinkTool.java
URL: 
http://svn.apache.org/viewvc/velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/StrutsLinkTool.java?rev=707787&r1=707786&r2=707787&view=diff
==============================================================================
--- 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/StrutsLinkTool.java
 (original)
+++ 
velocity/tools/trunk/src/main/java/org/apache/velocity/tools/struts/StrutsLinkTool.java
 Fri Oct 24 16:26:51 2008
@@ -20,7 +20,9 @@
  */
 
 import javax.servlet.ServletContext;
+import org.apache.velocity.tools.generic.ValueParser;
 import org.apache.velocity.tools.view.LinkTool;
+import org.apache.velocity.tools.view.ViewContext;
 
 /**
  * <p>The StrutsLinkTool extends the standard [EMAIL PROTECTED] LinkTool} to 
add methods
@@ -54,13 +56,19 @@
  */
 public class StrutsLinkTool extends LinkTool
 {
-
     protected ServletContext application;
     private String get;
 
-    public void setServletContext(ServletContext app)
+    @Override
+    protected void configure(ValueParser props)
     {
-        this.application = app;
+        // request values override configured defaults 
+        //NOTE: not sure this is the most intuitive way in all cases;
+        // it might make sense to provide the option of whether req/res
+        // values override configured ones or vice versa.
+        super.configure(props);
+
+        this.application = 
(ServletContext)props.getValue(ViewContext.SERVLET_CONTEXT_KEY);
     }
 
     /**


Reply via email to