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

Adrian Cumiskey updated OGNL-38:
--------------------------------

    Attachment: patch-OGNL38.txt
    
> [PATCH] Use StringBuilder instead of StringBuffer, deprecate >=JDK1.5 
> conditionals and use CONSTANT.equals(variable).
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: OGNL-38
>                 URL: https://issues.apache.org/jira/browse/OGNL-38
>             Project: OGNL
>          Issue Type: Improvement
>            Reporter: Adrian Cumiskey
>            Priority: Minor
>         Attachments: patch-OGNL38.txt
>
>
> This patch replaces all StringBuffer references with StringBuilder for better 
> performance.  Improved performance has not been verified but it is fairly 
> well established that StringBuilder performs better in single threaded use 
> cases (see 
> http://littletutorials.com/2008/07/16/stringbuffer-vs-stringbuilder-performance-comparison/).
>   All JDK1.5 checking has also been deprecated/removed since OGNL is now 
> dependent upon >=JDK1.5 these days.  Lastly, all remaining 
> variable.equals(CONSTANT) has been flipped to the null safe 
> CONSTANT.equals(variable).
> A list of modified classes and changes are given here :-
> MenuItem: toString() now uses a chained StringBuilder instead of StringBuffer.
> StaticsAndConstructorsTest: use StringBuilder instead of StringBuffer.
> EnumerationPropertyAccessor: Test CONSTANT.equals(variable).
> ExpressionCompiler: Test CONSTANT.equals(variable).
> ASTMethod: Variable naming (don't use acronyms), remove OgnlRuntime.isJdk15() 
> check.
> OgnlRuntime:
> * Remove JDK1.5 checking since OGNL now requires >=JDK1.5.
> * The isJdk15() method is now deprecated.
> * Variable naming (don't use acronyms.
> * getPointerString(int) now uses StringBuilder instead of StringBuffer.
> * getUniqueDescriptor(Object, boolean) now uses StringBuilder instead of 
> StringBuffer.
> * package private method findType() unused to removed.
> * Simplify getMethods(Class<?>,boolean) with ternary.
> * getStaticField(OgnlContext,String,String) test CONSTANT.equals(variable) 
> and remove JDK1.5 conditionals.
> * A lot of variable naming!
> SetPropertyAccessor: Test CONSTANT.equals(variable) and simplify conditionals.
> ASTStaticField: Test CONSTANT.equals(variable), remove JDK1.5 conditionals 
> and variable naming. 
> MapPropertyAccessor: Simplify conditionals.
> ArrayPropertyAccessor: Test CONSTANT.equals(variable).
> IteratorPropertyAccessor: Test CONSTANT.equals(variable).
> OgnlOps: Use StringBuilder instead of StringBuffer.
> ognl.jjt: Variable naming, use StringBuilder instead of StringBuffer. Replace 
> new String(stringBuffer) with stringBuffer.toString().
> Cheers, Adrian.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to