[
https://issues.apache.org/jira/browse/VELOCITY-736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12849972#action_12849972
]
Nathan Bubna commented on VELOCITY-736:
---------------------------------------
David, that is almost certainly because commons-fileupload 1.2 was compiled
with JDK 1.5. The structure of the testcase code matches that of the
commons-fileupload code in question. I would imagine you could fix your
problem by recompiling fileupload with JDK 1.6, though i haven't tried that.
Also, note the latest on VELOCITY-745, for a possible demonstration of why the
allowed scope is "public methods declared in public classes". It appears that
Method.invoke seems to care about the protection of the class in which the
method was declared, at least in JDK 1.5, which is the target JDK for Velocity
1.7.
> Introspection regression from 1.5 to 1.6.2
> ------------------------------------------
>
> Key: VELOCITY-736
> URL: https://issues.apache.org/jira/browse/VELOCITY-736
> Project: Velocity
> Issue Type: Bug
> Components: Engine
> Affects Versions: 1.6.2
> Environment: Sun JDK 1.5
> Reporter: David Esposito
> Attachments: Velocity736TestCase.java
>
>
> When upgrading from Velcocity 1.5 to 1.6.2, the following snippet of code
> changed behavior.
> In Velocity 1.5, the output was:
> The file upload exceeded 100
> In Velocity 1.6.2, the output is:
> The file upload exceeded $ex.permittedSize
> There is nothing in the velocity log file to help me identify why it's not
> resolving 'permittedSize' to the correct bean method.
> Here is a test program to replicate the problem. The context variable in
> question is the Commons FileUpload exception class documented here:
> http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/FileUploadBase.SizeLimitExceededException.html
> I am using commons-fileupload-1.2.jar
> import java.io.StringWriter;
> import org.apache.commons.fileupload.FileUploadBase;
> import org.apache.velocity.VelocityContext;
> import org.apache.velocity.app.VelocityEngine;
> import org.apache.velocity.context.Context;
> public class Main {
> public static void main(String[] args) throws Exception{
> VelocityEngine e = new VelocityEngine();
> String testTemplate = "The file upload exceeded
> $ex.permittedSize";
> StringWriter out = new StringWriter();
> Context ctx = new VelocityContext();
> FileUploadBase.FileSizeLimitExceededException ex = new
> FileUploadBase.FileSizeLimitExceededException("too big!", 50, 100);
> ctx.put("ex",ex);
> e.evaluate(ctx, out, "Tester", testTemplate);
> System.out.println(out.toString());
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]