[ 
https://issues.apache.org/jira/browse/LANG-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717203#action_12717203
 ] 

Henri Yandell commented on LANG-505:
------------------------------------

unescapeJava was quite implementable - though I'm changing behaviour from 
passing on a last char being an escaping \ without a value to escape to it 
being removed (and in fact I think the correct behaviour would be an exception).

unescapeCsv + escapeCsv were hugely easy. Same for escapeJavaScript.

HTML and XML left, while I'm left wondering if all I'm doing is writing a very 
dumb Regexp engine and it would be better to replace the entire 
StringEscapeUtils with a RegexUtils that defines various standard Regexs and 
lets you build your own. While huge numbers of non-grouping alternation might 
be considered poor performance in a regex, I doubt it's any worse than my own 
code.

Will attach code for people's perusal.

> Rewrite StringEscapeUtils
> -------------------------
>
>                 Key: LANG-505
>                 URL: https://issues.apache.org/jira/browse/LANG-505
>             Project: Commons Lang
>          Issue Type: Task
>            Reporter: Henri Yandell
>             Fix For: 3.0
>
>
> I think StringEscapeUtils needs a strong rewrite. For each escape method (and 
> unescape) there tend to be three or four types of escaping happening. So not 
> being able to define which set of three or four apply is a pain point (and 
> cause of bug reports due to different desired features).
> We should be offering basic functionality, but also allowing people to say 
> "escape(Escapers.BASIC_XML, Escapers.LOW_UNICODE, Escapers.HIGH_UNICODE)".
> Also should delete escapeSql; it's a bad one imo. Dangerous in that it will 
> lead people to not use PreparedStatement and given it only escapes ', it's 
> not much use. Especially as different dialects escape that in different ways.
> Opening this ticket for discussion. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to