You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2009/03/15 12:18:30 UTC
svn commit: r754653 - in /commons/proper/lang/trunk/src:
java/org/apache/commons/lang/Entities.java
test/org/apache/commons/lang/EntitiesPerformanceTest.java
Author: sebb
Date: Sun Mar 15 11:18:30 2009
New Revision: 754653
URL: http://svn.apache.org/viewvc?rev=754653&view=rev
Log:
Don't expose static arrays to potential writes, even for testing
Add package protected read method instead
Modified:
commons/proper/lang/trunk/src/java/org/apache/commons/lang/Entities.java
commons/proper/lang/trunk/src/test/org/apache/commons/lang/EntitiesPerformanceTest.java
Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/Entities.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/Entities.java?rev=754653&r1=754652&r2=754653&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/Entities.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/Entities.java Sun Mar 15 11:18:30 2009
@@ -51,8 +51,7 @@
private static final String[][] APOS_ARRAY = {{"apos", "39"}, // XML apostrophe
};
- // package scoped for testing
- static final String[][] ISO8859_1_ARRAY = {{"nbsp", "160"}, // non-breaking space
+ private static final String[][] ISO8859_1_ARRAY = {{"nbsp", "160"}, // non-breaking space
{"iexcl", "161"}, // inverted exclamation mark
{"cent", "162"}, // cent sign
{"pound", "163"}, // pound sign
@@ -150,9 +149,15 @@
{"yuml", "255"}, // ΓΏ - lowercase y, umlaut
};
- // http://www.w3.org/TR/REC-html40/sgml/entities.html
// package scoped for testing
- static final String[][] HTML40_ARRAY = {
+ static int ISO8859_1_ARRAY_LENGTH = ISO8859_1_ARRAY.length;
+
+ static String getISO8859_1(int i, int j) {
+ return ISO8859_1_ARRAY[i][j];
+ }
+
+ // http://www.w3.org/TR/REC-html40/sgml/entities.html
+ private static final String[][] HTML40_ARRAY = {
// <!-- Latin Extended-B -->
{"fnof", "402"}, // latin small f with hook = function= florin, U+0192 ISOtech -->
// <!-- Greek -->
@@ -348,6 +353,13 @@
// <!-- rsaquo is proposed but not yet ISO standardized -->
{"euro", "8364"}, // -- euro sign, U+20AC NEW -->
};
+
+ // package scoped for testing
+ static int HTML40_ARRAY_LENGTH = HTML40_ARRAY.length;
+
+ static String getHTML40(int i, int j) {
+ return HTML40_ARRAY[i][j];
+ }
/**
* <p>
@@ -438,9 +450,9 @@
}
static class PrimitiveEntityMap implements EntityMap {
- private Map mapNameToValue = new HashMap();
+ private final Map mapNameToValue = new HashMap();
- private IntHashMap mapValueToName = new IntHashMap();
+ private final IntHashMap mapValueToName = new IntHashMap();
/**
* {@inheritDoc}
Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/EntitiesPerformanceTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/EntitiesPerformanceTest.java?rev=754653&r1=754652&r2=754653&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/EntitiesPerformanceTest.java (original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/EntitiesPerformanceTest.java Sun Mar 15 11:18:30 2009
@@ -62,13 +62,13 @@
}
private char html40value(int i) {
- String entityValue = Entities.HTML40_ARRAY[i % Entities.HTML40_ARRAY.length][1];
+ String entityValue = Entities.getHTML40(i % Entities.HTML40_ARRAY_LENGTH, 1);
char ch = (char) Integer.parseInt(entityValue);
return ch;
}
private char isovalue(int i) {
- String entityValue = Entities.ISO8859_1_ARRAY[i % Entities.ISO8859_1_ARRAY.length][1];
+ String entityValue = Entities.getISO8859_1(i % Entities.ISO8859_1_ARRAY_LENGTH, 1);
char ch = (char) Integer.parseInt(entityValue);
return ch;
}