Index: trunk/modules/text/src/main/java/java/text/RuleBasedCollator.java =================================================================== --- trunk/modules/text/src/main/java/java/text/RuleBasedCollator.java (revision 424155) +++ trunk/modules/text/src/main/java/java/text/RuleBasedCollator.java (working copy) @@ -148,6 +148,9 @@ * than, equivalent to, or greater than target. */ public int compare(String source, String target) { + if (source == null || target == null) { + throw new NullPointerException(); + } return this.icuColl.compare(source, target); } Index: trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java =================================================================== --- trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java (revision 424155) +++ trunk/modules/text/src/test/java/org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java (working copy) @@ -94,6 +94,14 @@ String rule = "< c < b < a"; RuleBasedCollator coll = new RuleBasedCollator(rule); assertEquals(-1, coll.compare("c", "a")); + + //regression test for HARMONY-937 + try { + coll.compare(null, null); + fail("NullPointerException expected"); + } catch (NullPointerException e) { + //expected + } } public void testGetCollationKey() {