From 24875de6bd864fa7082e1c96bf8aebe9950c3e54 Mon Sep 17 00:00:00 2001
From: "Shawn O. Pearce" <spearce@spearce.org>
Date: Fri, 12 Mar 2010 10:26:06 -0800
Subject: [PATCH] Fix NLS to build under Java 5

The tests were using a Locale.ROOT constant which was introduced
in Java 6.  However, we need to retain Java 5 support.

Change-Id: I75c5648fcfc728a9aea2e839d2ad0320f5cf742f
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
CC: Sasa Zivkov <sasa.zivkov@sap.com>
---
 .../tst/org/eclipse/jgit/nls/TestNLS.java     | 14 ++++++-------
 .../jgit/nls/TestTranslationBundle.java       | 20 +++++++++----------
 .../src/org/eclipse/jgit/nls/NLS.java         |  1 +
 3 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestNLS.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestNLS.java
index b6377c920..a01ed4e92 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestNLS.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestNLS.java
@@ -53,9 +53,9 @@
 public class TestNLS extends TestCase {
 
 	public void testNLSLocale() {
-		NLS.setLocale(Locale.ROOT);
+		NLS.setLocale(NLS.ROOT_LOCALE);
 		GermanTranslatedBundle bundle = GermanTranslatedBundle.get();
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 
 		NLS.setLocale(Locale.GERMAN);
 		bundle = GermanTranslatedBundle.get();
@@ -63,10 +63,10 @@ public void testNLSLocale() {
 	}
 
 	public void testJVMDefaultLocale() {
-		Locale.setDefault(Locale.ROOT);
+		Locale.setDefault(NLS.ROOT_LOCALE);
 		NLS.useJVMDefaultLocale();
 		GermanTranslatedBundle bundle = GermanTranslatedBundle.get();
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 
 		Locale.setDefault(Locale.GERMAN);
 		NLS.useJVMDefaultLocale();
@@ -84,7 +84,7 @@ public void run() {
 			}
 		}
 
-		NLS.setLocale(Locale.ROOT);
+		NLS.setLocale(NLS.ROOT_LOCALE);
 		GermanTranslatedBundle mainThreadsBundle = GermanTranslatedBundle.get();
 		T t = new T();
 		t.start();
@@ -126,7 +126,7 @@ public void run() {
 			}
 		}
 
-		T t1 = new T(Locale.ROOT);
+		T t1 = new T(NLS.ROOT_LOCALE);
 		T t2 = new T(Locale.GERMAN);
 		t1.start();
 		t2.start();
@@ -135,7 +135,7 @@ public void run() {
 
 		assertNull("t1 was interrupted or barrier was broken", t1.e);
 		assertNull("t2 was interrupted or barrier was broken", t2.e);
-		assertEquals(Locale.ROOT, t1.bundle.getEffectiveLocale());
+		assertEquals(NLS.ROOT_LOCALE, t1.bundle.getEffectiveLocale());
 		assertEquals(Locale.GERMAN, t2.bundle.getEffectiveLocale());
 	}
 }
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestTranslationBundle.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestTranslationBundle.java
index 58b42c9d4..7d713f2c1 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestTranslationBundle.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/nls/TestTranslationBundle.java
@@ -54,23 +54,23 @@ public class TestTranslationBundle extends TestCase {
 
 	public void testMissingPropertiesFile() {
 		try {
-			new NoPropertiesBundle().load(Locale.ROOT);
+			new NoPropertiesBundle().load(NLS.ROOT_LOCALE);
 			fail("Expected TranslationBundleLoadingException");
 		} catch (TranslationBundleLoadingException e) {
 			assertEquals(NoPropertiesBundle.class, e.getBundleClass());
-			assertEquals(Locale.ROOT, e.getLocale());
+			assertEquals(NLS.ROOT_LOCALE, e.getLocale());
 			// pass
 		}
 	}
 
 	public void testMissingString() {
 		try {
-			new MissingPropertyBundle().load(Locale.ROOT);
+			new MissingPropertyBundle().load(NLS.ROOT_LOCALE);
 			fail("Expected TranslationStringMissingException");
 		} catch (TranslationStringMissingException e) {
 			assertEquals("nonTranslatedKey", e.getKey());
 			assertEquals(MissingPropertyBundle.class, e.getBundleClass());
-			assertEquals(Locale.ROOT, e.getLocale());
+			assertEquals(NLS.ROOT_LOCALE, e.getLocale());
 			// pass
 		}
 	}
@@ -78,24 +78,24 @@ public void testMissingString() {
 	public void testNonTranslatedBundle() {
 		NonTranslatedBundle bundle = new NonTranslatedBundle();
 
-		bundle.load(Locale.ROOT);
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		bundle.load(NLS.ROOT_LOCALE);
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 		assertEquals("Good morning {0}", bundle.goodMorning);
 
 		bundle.load(Locale.ENGLISH);
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 		assertEquals("Good morning {0}", bundle.goodMorning);
 
 		bundle.load(Locale.GERMAN);
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 		assertEquals("Good morning {0}", bundle.goodMorning);
 	}
 
 	public void testGermanTranslation() {
 		GermanTranslatedBundle bundle = new GermanTranslatedBundle();
 
-		bundle.load(Locale.ROOT);
-		assertEquals(Locale.ROOT, bundle.getEffectiveLocale());
+		bundle.load(NLS.ROOT_LOCALE);
+		assertEquals(NLS.ROOT_LOCALE, bundle.getEffectiveLocale());
 		assertEquals("Good morning {0}", bundle.goodMorning);
 
 		bundle.load(Locale.GERMAN);
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java b/org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java
index ece20bdb3..f2e379e13 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/nls/NLS.java
@@ -68,6 +68,7 @@
  * </pre>
  */
 public class NLS {
+	static final Locale ROOT_LOCALE = new Locale("", "", "");
 
 	private static final InheritableThreadLocal<NLS> local = new InheritableThreadLocal<NLS>() {
 		protected NLS initialValue() {
-- 
GitLab