[prev in list] [next in list] [prev in thread] [next in thread] 

List:       velocity-dev
Subject:    [jira] Resolved: (VELOCITY-749) ReferenceInsertionEventHandler
From:       "Claude Brisson (JIRA)" <dev () velocity ! apache ! org>
Date:       2009-12-17 12:26:18
Message-ID: 2104057183.1261052778274.JavaMail.jira () brutus
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/VELOCITY-749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Claude Brisson resolved VELOCITY-749.
-------------------------------------

    Resolution: Won't Fix

Sophisticated filtering behaviours can be proposed on the wiki, but shouldn't be \
included in the engine, as use cases are too complex and too different one from \
another

> ReferenceInsertionEventHandler called "to often"/need more configuration settings
> ---------------------------------------------------------------------------------
> 
> Key: VELOCITY-749
> URL: https://issues.apache.org/jira/browse/VELOCITY-749
> Project: Velocity
> Issue Type: Bug
> Affects Versions: 1.6.2
> Reporter: Marco Rothe
> Priority: Minor
> Fix For: 1.6.x, 1.7
> 
> 
> I use the EscapeXmlReference (ReferenceInsertionEventHandler implementation) in our \
> projects to produce valid XHTML. But I works not as expected in some situations:
> Given the reference $test as 'Me & Co. Ltd' (for example from context) will output \
> as  Me &amp; Co. Ltd 
> correctly after the EscapeXmlReference.
> But if we enrich the $test reference with some other string before output \
>                 (#set($test = "* $test *")) we got 
> * Me &amp;amp; Co. Ltd *  
> and not  * Me &amp; Co. Ltd * as output!
> This is because the EscapeReference handler was called two times. First on the \
> (internal) set directive (Me & Co. Ltd -> Me &amp; Co. Ltd), second on the real \
> output of $test to the stream (* Me &amp; Co. Ltd *->  * Me &amp;amp; Co. Ltd *).  \
> The javadoc of ReferenceInsertionEventHandler says "Reference 'Stream insertion' \
> event handler.  Called with object  that will be inserted into stream via \
> value.toString()."  "inserted  into stream" means to me  into the real output \
> stream of the template merge, not into internal substreams. So I believe it's a bug \
> or a least an unexpected behaviour because it produce unpredictable results on \
> string operations. So the ReferenceInsertionEventHandler needs the possibility to \
> know if the current insertation is an internal or an real output insertation to be \
> able to react on situations as descripted above.

-- 
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: dev-unsubscribe@velocity.apache.org
For additional commands, e-mail: dev-help@velocity.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic