Change bargull-20110327-rCm by bargull@Bargull02 on 2011-03-27 17:45:28
in /home/anba/src/svn/openlaszlo/trunk
for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Replace StringWriter with StringBuilder in ScriptCompiler

Bugs Fixed: LPP-9736 (Clean up java sources) (partial)

Technical Reviewer: ptw
QA Reviewer: (pending)

Details:
StringWriter uses StringBuffer internally, StringBuffer is synchronized for use in multiple threads. Java5's new StringBuilder provides the same functionality as StringBuffer, but safes the synchronization overhead. That means StringBuilder should be preferred over StringBuffer/StringWriter.

ScriptCompiler:
#writeObject(Object, Appendable)
-- changed second parameter from Writer to Java5 Appendable
-- this allows to use Writers as well as faster alternatives, e.g. StringBuilder (Writer implements Appendable)
#isIdentifier(String)
-- use hashset instead of slower string comparison
#quote(String), #JSONquote(String)
-- code was almost the same, except for quote character selection in quote() and slash character escaping in JSONquote() -- quoteInternal() is now used for quoting, quote() and JSONquote() use this new method internally
#quoteInternal(String, char, boolean)
-- new method for quoting, works for Javascript- and JSON-quoting
-- uses StringBuilder instead of StringReader+StringWriter

CanvasCompiler, DebugCompiler, NodeModel, StyleSheetCompiler:
- use StringBuilder instead of StringWriter

Tests:

Files:
M WEB-INF/lps/server/src/org/openlaszlo/sc/ScriptCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/CanvasCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/DebugCompiler.java
M WEB-INF/lps/server/src/org/openlaszlo/compiler/StyleSheetCompiler.java

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/bargull-20110327-rCm.tar

Reply via email to