Here is the patch for the changes. Two files were modified TR.props
and TemplateLink.java.
Can you pls submit that for me?
Thanks very much,
Costas


cvs -z9 -q diff -w -u TurbineResources.properties
Index: TurbineResources.properties
===================================================================
RCS file: /home/cvspublic/jakarta-turbine/conf/TurbineResources.properties,v
retrieving revision 1.105
diff -w -u -r1.105 TurbineResources.properties
--- TurbineResources.properties 2001/04/25 05:31:03 1.105
+++ TurbineResources.properties 2001/05/09 06:48:51
@@ -308,6 +308,14 @@

 action.accesscontroller=AccessController

+# Set this parameter to 'true' if you want the TemplateLink to force
+# the comma (',') as the path separator for Templates. This will
+# add an overhead to the processing of the TemplateLink but will
+# ensure that all links will be created using a comma instead of a
+# slash. Leave it to false if you are certain that you always use the
+# ',' character in your templates.
+templatelink.force.comma=false
+
 # -------------------------------------------------------------------
 #
 #  J N D I  C O N T E X T S




cvs -z9 -q diff -w -u TemplateLink.java
Index: TemplateLink.java
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine/src/java/org/apache/turbine/util/template/Te
mplateLink.java,v
retrieving revision 1.7
diff -w -u -r1.7 TemplateLink.java
--- TemplateLink.java 2001/03/06 06:14:45 1.7
+++ TemplateLink.java 2001/05/09 06:47:36
@@ -84,6 +84,7 @@
  *
  * @author <a href="[EMAIL PROTECTED]">Dave Bryson</a>
  * @author <a href="mailto:[EMAIL PROTECTED]";>Jon S. Stevens</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]";>Costas Stergiou</a>
  * @version $Id: TemplateLink.java,v 1.7 2001/03/06 06:14:45 chrise Exp $
  */
 public class TemplateLink
@@ -96,6 +97,26 @@
     private String template = null;

     /**
+     * reflects the value of the templatelink.force.comma property. If set
+     * the setPage method will check to ensure that the ',' is used as a
+     * separator. If not, it will replace all slashes (except the first
one)
+     * with a comma.
+     */
+    private static boolean forceComma = false;
+
+    static{
+        try
+        {
+            forceComma =
TurbineResources.getBoolean("templatelink.force.comma",false);
+        }
+        catch(Exception ex)
+        {
+            //ignore: the TurbineResources servive has not yet been
initialized.
+        }
+    }
+
+
+    /**
      * Default constructor
      * <p>
      * The init method must be called before use.
@@ -127,6 +148,7 @@
         // or null is passed in we'll throw an appropriate runtime
         // exception.
         super.init((RunData)data);
+
     }

     /**
@@ -156,7 +178,12 @@
      */
     public DynamicURI setPage(String t)
     {
+        //see if we need to replace slashes with commas. Exclude the first
slash
+        if ( forceComma )
+            template = t.replace('/', ',');
+        else
         template = t;
+
         return addPathInfo(TEMPLATE_KEY,t);
     }

@@ -201,5 +228,13 @@
     public String getURI()
     {
         return super.toString();
+    }
+
+    /**
+     * Sets whether the TemplateLink object will attempt to replace '/'
with
+     * ',' for the path info in the generated links.
+     */
+    public static void setForceComma(boolean newValue){
+        forceComma = newValue;
     }
 }


----- Original Message -----
From: "John McNally" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, May 08, 2001 9:06 PM
Subject: Re: Use of ',' and '/' in template links with Apache as WebServer


> I have stated over and over again that one should not use '/' or '%2F'
> as the path separator when referring to templates.  You should use the
> ','.  TemplateLink could be modified to check for cases where templates
> are being referred to using '/' and converting to ',' but I do not like
> adding this inefficiency for everyone, when the correct thing to do is
> to use ',' and avoid the problem.  But a TR.prop to allow '/' so that a
> static final boolean can be used in the conditional would be acceptable,
> if you care to submit a patch.  Or you can extend TemplateLink and
> override setPage to make the conversion.
>
> To get the template parameter without conversion just do
> data.getParameters().getString("template");
>
> john mcnally
>
> Costas Stergiou wrote:
> >
> > Hi all,
> > I have a turbine+velocity app that is accessed from an
> > Apache WebServer with Ajp12 (or Ajp13). The problem is
> > that I cannot access any templates within directories because
> > the %2F is not recognized.
> > Is there any workaroung other than using the ',' to indicate the
> > sub-dir of a template?
> >
> > Is there a way to make the DynamicURI (TemplateLink) class
> > always use the ',' as a separator in order to avoid this problem
> > (of course, I could use the ',' at the setPage method, but the
> > templates and the links are too many...)
> >
> > Also, when I use the method data.getScreenTemplate() the
> > returned value always contains a '/' as a separator. How can I
> > avoid this?
> >
> > Thanks in advance,
> > Costas
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to