Browse Source

address efficiency concerns

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@959173 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 15 years ago
parent
commit
62c16a4a5d
2 changed files with 15 additions and 9 deletions
  1. +0
    -1
      src/main/org/apache/tools/ant/taskdefs/Execute.java
  2. +15
    -8
      src/main/org/apache/tools/ant/util/DOMElementWriter.java

+ 0
- 1
src/main/org/apache/tools/ant/taskdefs/Execute.java View File

@@ -498,7 +498,6 @@ public class Execute {
watchdog.stop();
}
streamHandler.stop();
closeStreams(process);

if (watchdog != null) {
watchdog.checkException();


+ 15
- 8
src/main/org/apache/tools/ant/util/DOMElementWriter.java View File

@@ -45,6 +45,13 @@ public class DOMElementWriter {

private static final int HEX = 16;

private static final String[] WS_ENTITIES = new String['\r' - '\t' + 1];
static {
for (int i = '\t'; i < '\r' + 1; i++) {
WS_ENTITIES[i - '\t'] = "&#x" + Integer.toHexString(i) + ";";
}
}

/** prefix for generated prefixes */
private static final String NS = "ns";

@@ -425,11 +432,11 @@ public class DOMElementWriter {
return encode(value, true);
}

private String encode(String value, boolean encodeWhitespace) {
int len = value.length();
StringBuffer sb = new StringBuffer(len);
private String encode(final String value, final boolean encodeWhitespace) {
final int len = value.length();
final StringBuffer sb = new StringBuffer(len);
for (int i = 0; i < len; i++) {
char c = value.charAt(i);
final char c = value.charAt(i);
switch (c) {
case '<':
sb.append("&lt;");
@@ -450,7 +457,7 @@ public class DOMElementWriter {
case '\n':
case '\t':
if (encodeWhitespace) {
sb.append("&#x").append(Integer.toHexString(c)).append(";");
sb.append(WS_ENTITIES[c - '\t']);
} else {
sb.append(c);
}
@@ -482,10 +489,10 @@ public class DOMElementWriter {

*/
public String encodedata(final String value) {
int len = value.length();
final int len = value.length();
StringBuffer sb = new StringBuffer(len);
for (int i = 0; i < len; ++i) {
char c = value.charAt(i);
final char c = value.charAt(i);
if (isLegalCharacter(c)) {
sb.append(c);
}
@@ -543,7 +550,7 @@ public class DOMElementWriter {
* @return true if the character is allowed.
* @since 1.10, Ant 1.5
*/
public boolean isLegalCharacter(char c) {
public boolean isLegalCharacter(final char c) {
// CheckStyle:MagicNumber OFF
if (c == 0x9 || c == 0xA || c == 0xD) {
return true;


Loading…
Cancel
Save