diff --git a/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java b/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
index 5e3b5080cf8..3b2cb534bad 100644
--- a/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
+++ b/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java
@@ -43,9 +43,8 @@ import java.util.Locale;
* supported by the Java runtime environment itself.
*
*
Packaging of Locale Sensitive Service Provider Implementations
- * Implementations of these locale sensitive services are packaged using the
- * Java Extension Mechanism
- * as installed extensions. A provider identifies itself with a
+ * Implementations of these locale sensitive services can be made available
+ * by adding them to the application's class path. A provider identifies itself with a
* provider-configuration file in the resource directory META-INF/services,
* using the fully qualified provider interface class name as the file name.
* The file should contain a list of fully-qualified concrete provider class names,
diff --git a/jdk/src/java.base/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java b/jdk/src/java.base/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java
index 59de0e2a629..be87f042e77 100644
--- a/jdk/src/java.base/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java
+++ b/jdk/src/java.base/share/classes/sun/util/locale/provider/SPILocaleProviderAdapter.java
@@ -77,7 +77,8 @@ public class SPILocaleProviderAdapter extends AuxLocaleProviderAdapter {
public P run() {
P delegate = null;
- for (LocaleServiceProvider provider : ServiceLoader.loadInstalled(c)) {
+ for (LocaleServiceProvider provider :
+ ServiceLoader.load(c, ClassLoader.getSystemClassLoader())) {
if (delegate == null) {
try {
delegate =
diff --git a/jdk/src/java.desktop/share/classes/java/awt/im/spi/package.html b/jdk/src/java.desktop/share/classes/java/awt/im/spi/package.html
index 11d28e6686d..2e63c9297cd 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/im/spi/package.html
+++ b/jdk/src/java.desktop/share/classes/java/awt/im/spi/package.html
@@ -55,9 +55,8 @@ recognition.
Packaging Input Methods
-Input methods are packaged as installed extensions, as specified
-by the Extension
-Mechanism . The main JAR file of an input method must contain the
+
Input methods can be made available by adding them to the application's
+class path. The main JAR file of an input method must contain the
file:
META-INF/services/java.awt.im.spi.InputMethodDescriptor
diff --git a/jdk/src/java.desktop/share/classes/sun/awt/im/ExecutableInputMethodManager.java b/jdk/src/java.desktop/share/classes/sun/awt/im/ExecutableInputMethodManager.java
index d974cdec24a..11619ba453d 100644
--- a/jdk/src/java.desktop/share/classes/sun/awt/im/ExecutableInputMethodManager.java
+++ b/jdk/src/java.desktop/share/classes/sun/awt/im/ExecutableInputMethodManager.java
@@ -259,7 +259,8 @@ class ExecutableInputMethodManager extends InputMethodManager
AccessController.doPrivileged(new PrivilegedExceptionAction() {
public Object run() {
for (InputMethodDescriptor descriptor :
- ServiceLoader.loadInstalled(InputMethodDescriptor.class)) {
+ ServiceLoader.load(InputMethodDescriptor.class,
+ ClassLoader.getSystemClassLoader())) {
ClassLoader cl = descriptor.getClass().getClassLoader();
javaInputMethodLocatorList.add(new InputMethodLocator(descriptor, cl, null));
}
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index b6a77f79fea..1f54f49b22d 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -306,22 +306,6 @@ com/sun/jdi/RedefinePop.sh generic-all
# 8051641
sun/util/calendar/zi/TestZoneInfo310.java generic-all
-# 8062588
-java/util/Locale/LocaleProviders.sh generic-all
-java/util/PluggableLocale/BreakIteratorProviderTest.sh generic-all
-java/util/PluggableLocale/CalendarDataProviderTest.sh generic-all
-java/util/PluggableLocale/CalendarNameProviderTest.sh generic-all
-java/util/PluggableLocale/CollatorProviderTest.sh generic-all
-java/util/PluggableLocale/CurrencyNameProviderTest.sh generic-all
-java/util/PluggableLocale/DateFormatProviderTest.sh generic-all
-java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh generic-all
-java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh generic-all
-java/util/PluggableLocale/GenericTest.sh generic-all
-java/util/PluggableLocale/LocaleNameProviderTest.sh generic-all
-java/util/PluggableLocale/NumberFormatProviderTest.sh generic-all
-java/util/PluggableLocale/TimeZoneNameProviderTest.sh generic-all
-java/util/ResourceBundle/Bug6299235Test.sh generic-all
-
# 8062512
java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.java generic-all
diff --git a/jdk/test/java/util/Locale/LocaleProviders.sh b/jdk/test/java/util/Locale/LocaleProviders.sh
index df3a75f8082..5d0c074e9cf 100644
--- a/jdk/test/java/util/Locale/LocaleProviders.sh
+++ b/jdk/test/java/util/Locale/LocaleProviders.sh
@@ -137,7 +137,7 @@ echo "DEFFMTCTRY=${DEFFMTCTRY}"
runTest()
{
- RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES} -Djava.locale.providers=$PREFLIST LocaleProviders $METHODNAME $PARAM1 $PARAM2 $PARAM3"
+ RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${TESTCLASSES}${PS}${SPICLASSES} -Djava.locale.providers=$PREFLIST LocaleProviders $METHODNAME $PARAM1 $PARAM2 $PARAM3"
echo ${RUNCMD}
${RUNCMD}
result=$?
@@ -189,6 +189,7 @@ else
PARAM2=zh
PARAM3=CN
fi
+SPICLASSES=
runTest
# testing SPI is NOT selected, as there is none.
@@ -197,6 +198,7 @@ PREFLIST=SPI,JRE
PARAM1=JRE
PARAM2=en
PARAM3=US
+SPICLASSES=
runTest
# testing the order, variaton #1. This assumes en_GB DateFormat data are available both in JRE & CLDR
@@ -205,6 +207,7 @@ PREFLIST=CLDR,JRE
PARAM1=CLDR
PARAM2=en
PARAM3=GB
+SPICLASSES=
runTest
# testing the order, variaton #2. This assumes en_GB DateFormat data are available both in JRE & CLDR
@@ -213,6 +216,7 @@ PREFLIST=JRE,CLDR
PARAM1=JRE
PARAM2=en
PARAM3=GB
+SPICLASSES=
runTest
# testing the order, variaton #3 for non-existent locale in JRE assuming "haw" is not in JRE.
@@ -221,6 +225,7 @@ PREFLIST=JRE,CLDR
PARAM1=CLDR
PARAM2=haw
PARAM3=GB
+SPICLASSES=
runTest
# testing the order, variaton #4 for the bug 7196799. CLDR's "zh" data should be used in "zh_CN"
@@ -229,6 +234,7 @@ PREFLIST=CLDR
PARAM1=CLDR
PARAM2=zh
PARAM3=CN
+SPICLASSES=
runTest
# testing FALLBACK provider. SPI and invalid one cases.
@@ -237,16 +243,19 @@ PREFLIST=SPI
PARAM1=FALLBACK
PARAM2=en
PARAM3=US
+SPICLASSES=
runTest
PREFLIST=FOO
PARAM1=JRE
PARAM2=en
PARAM3=US
+SPICLASSES=
runTest
PREFLIST=BAR,SPI
PARAM1=FALLBACK
PARAM2=en
PARAM3=US
+SPICLASSES=
runTest
# testing 7198834 fix. Only works on Windows Vista or upper.
@@ -255,22 +264,25 @@ PREFLIST=HOST
PARAM1=
PARAM2=
PARAM3=
+SPICLASSES=
runTest
# testing 8000245 fix.
METHODNAME=tzNameTest
-PREFLIST="JRE -Djava.ext.dirs=${SPIDIR}"
+PREFLIST=JRE
PARAM1=Europe/Moscow
PARAM2=
PARAM3=
+SPICLASSES=${SPIDIR}
runTest
# testing 8000615 fix.
METHODNAME=tzNameTest
-PREFLIST="JRE -Djava.ext.dirs=${SPIDIR}"
+PREFLIST=JRE
PARAM1=America/Los_Angeles
PARAM2=
PARAM3=
+SPICLASSES=${SPIDIR}
runTest
# testing 8001440 fix.
@@ -279,6 +291,7 @@ PREFLIST=CLDR
PARAM1=
PARAM2=
PARAM3=
+SPICLASSES=
runTest
# testing 8010666 fix.
@@ -289,15 +302,17 @@ then
PARAM1=
PARAM2=
PARAM3=
+ SPICLASSES=
runTest
fi
# testing 8013086 fix.
METHODNAME=bug8013086Test
-PREFLIST="JRE,SPI -Djava.ext.dirs=${SPIDIR}"
+PREFLIST=JRE,SPI
PARAM1=ja
PARAM2=JP
PARAM3=
+SPICLASSES=${SPIDIR}
runTest
# testing 8013903 fix. (Windows only)
@@ -306,12 +321,14 @@ PREFLIST=HOST,JRE
PARAM1=
PARAM2=
PARAM3=
+SPICLASSES=
runTest
METHODNAME=bug8013903Test
PREFLIST=HOST
PARAM1=
PARAM2=
PARAM3=
+SPICLASSES=
runTest
# testing 8027289 fix, if the platform format default is zh_CN
@@ -323,12 +340,14 @@ if [ "${DEFFMTLANG}" = "zh" ] && [ "${DEFFMTCTRY}" = "CN" ]; then
PARAM1=FFE5
PARAM2=
PARAM3=
+ SPICLASSES=
runTest
METHODNAME=bug8027289Test
PREFLIST=HOST
PARAM1=00A5
PARAM2=
PARAM3=
+ SPICLASSES=
runTest
fi
diff --git a/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh b/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh
index 050d422324b..f927fb16811 100644
--- a/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440
+# @bug 4052440 8062588
# @summary BreakIteratorProvider tests
-# @run shell ExecTest.sh foo BreakIteratorProviderTest true
+# @run shell ExecTest.sh foo BreakIteratorProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/CalendarDataProviderTest.sh b/jdk/test/java/util/PluggableLocale/CalendarDataProviderTest.sh
index 36234d7cdc7..186f0b4b8f1 100644
--- a/jdk/test/java/util/PluggableLocale/CalendarDataProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/CalendarDataProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 7058207 8000986
+# @bug 7058207 8000986 8062588
# @summary CalendarDataProvider tests
-# @run shell ExecTest.sh bar CalendarDataProviderTest true
+# @run shell ExecTest.sh bar CalendarDataProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/CalendarNameProviderTest.sh b/jdk/test/java/util/PluggableLocale/CalendarNameProviderTest.sh
index a772292b936..8883c31871b 100644
--- a/jdk/test/java/util/PluggableLocale/CalendarNameProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/CalendarNameProviderTest.sh
@@ -22,6 +22,6 @@
#
# @test
-# @bug 8000986
+# @bug 8000986 8062588
# @summary CalendarNameProvider tests
-# @run shell ExecTest.sh bar CalendarNameProviderTest true
+# @run shell ExecTest.sh bar CalendarNameProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/ClasspathTest.java b/jdk/test/java/util/PluggableLocale/ClasspathTest.java
index 2c73a3cef47..54df0491250 100644
--- a/jdk/test/java/util/PluggableLocale/ClasspathTest.java
+++ b/jdk/test/java/util/PluggableLocale/ClasspathTest.java
@@ -36,13 +36,13 @@ public class ClasspathTest {
ClasspathTest() {
/*
- * Since providers can only be loaded from the extension directory,
- * this test will fail if they are loaded from classpath.
+ * Since providers can be loaded from the application's classpath,
+ * this test will fail if they are NOT loaded from classpath.
*/
Locale OSAKA = new Locale("ja", "JP", "osaka");
List availableLocales = Arrays.asList(Locale.getAvailableLocales());
- if (availableLocales.contains(OSAKA)) {
- throw new RuntimeException("LSS providers were loaded from the class path.");
+ if (!availableLocales.contains(OSAKA)) {
+ throw new RuntimeException("LSS providers were NOT loaded from the class path.");
}
}
}
diff --git a/jdk/test/java/util/PluggableLocale/ClasspathTest.sh b/jdk/test/java/util/PluggableLocale/ClasspathTest.sh
index 99749540553..f19d1f928dd 100644
--- a/jdk/test/java/util/PluggableLocale/ClasspathTest.sh
+++ b/jdk/test/java/util/PluggableLocale/ClasspathTest.sh
@@ -23,7 +23,6 @@
#
#
# @test
-# @bug 6388652
-# @summary Checks whether providers can only be loaded from extension directories,
-# not from classpath.
-# @run shell ExecTest.sh bar ClasspathTest false
+# @bug 6388652 8062588
+# @summary Checks whether providers can be loaded from classpath.
+# @run shell ExecTest.sh bar ClasspathTest
diff --git a/jdk/test/java/util/PluggableLocale/CollatorProviderTest.sh b/jdk/test/java/util/PluggableLocale/CollatorProviderTest.sh
index 01e1b277f5b..01b6fa6191b 100644
--- a/jdk/test/java/util/PluggableLocale/CollatorProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/CollatorProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440
+# @bug 4052440 8062588
# @summary CollatorProvider tests
-# @run shell ExecTest.sh foo CollatorProviderTest true
+# @run shell ExecTest.sh foo CollatorProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.sh b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.sh
index 9e8d4f90d61..2684767ce94 100644
--- a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 7199750 8000997
+# @bug 4052440 7199750 8000997 8062588
# @summary CurrencyNameProvider tests
-# @run shell ExecTest.sh bar CurrencyNameProviderTest true
+# @run shell ExecTest.sh bar CurrencyNameProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.sh b/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.sh
index d8a9a288854..0d1be46b6d0 100644
--- a/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 7003643
+# @bug 4052440 7003643 8062588
# @summary DateFormatProvider tests
-# @run shell ExecTest.sh foo DateFormatProviderTest true
+# @run shell ExecTest.sh foo DateFormatProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh b/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh
index 51ebe6fa630..e4191f01eaf 100644
--- a/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 7200341
+# @bug 4052440 7200341 8062588
# @summary DateFormatSymbolsProvider tests
-# @run shell ExecTest.sh foo DateFormatSymbolsProviderTest true
+# @run shell ExecTest.sh foo DateFormatSymbolsProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh b/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh
index 7d6e9bf8ada..e4dc5864768 100644
--- a/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440
+# @bug 4052440 8062588
# @summary DecimalFormatSymbolsProvider tests
-# @run shell ExecTest.sh foo DecimalFormatSymbolsProviderTest true
+# @run shell ExecTest.sh foo DecimalFormatSymbolsProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/ExecTest.sh b/jdk/test/java/util/PluggableLocale/ExecTest.sh
index a30d70312d2..7e8a5365f45 100644
--- a/jdk/test/java/util/PluggableLocale/ExecTest.sh
+++ b/jdk/test/java/util/PluggableLocale/ExecTest.sh
@@ -76,14 +76,6 @@ case "$OS" in
;;
esac
-# set classpath and extension directory variables
-if [ -d ${TESTJAVA}${FS}lib${FS}ext ]
-then
- EXTDIRS="${TESTJAVA}${FS}lib${FS}ext${PS}${TESTCLASSES}"
-else
- EXTDIRS="${TESTJAVA}${FS}jre${FS}lib${FS}ext${PS}${TESTCLASSES}"
-fi
-
case "$1" in
"foo" )
cp ${TESTSRC}${FS}fooprovider.jar ${TESTCLASSES}
@@ -122,12 +114,7 @@ else
fi
# run
-if [ "$3" = "true" ]
-then
- RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Djava.ext.dirs=${EXTDIRS} $2 "
-else
- RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${CLASSPATHARG} $2 "
-fi
+RUNCMD="${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -classpath ${CLASSPATHARG} $2 "
echo ${RUNCMD}
${RUNCMD}
diff --git a/jdk/test/java/util/PluggableLocale/GenericTest.sh b/jdk/test/java/util/PluggableLocale/GenericTest.sh
index 0d53be11c3e..d1906e1c61f 100644
--- a/jdk/test/java/util/PluggableLocale/GenericTest.sh
+++ b/jdk/test/java/util/PluggableLocale/GenericTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440
+# @bug 4052440 8062588
# @summary Generic tests for the pluggable locales feature
-# @run shell ExecTest.sh foobar GenericTest true
+# @run shell ExecTest.sh foobar GenericTest
diff --git a/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.sh b/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.sh
index 489c92c779e..3619533c0a3 100644
--- a/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 8000273
+# @bug 4052440 8000273 8062588
# @summary LocaleNameProvider tests
-# @run shell ExecTest.sh bar LocaleNameProviderTest true
+# @run shell ExecTest.sh bar LocaleNameProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.sh b/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.sh
index 1c952e84de8..e38b9563deb 100644
--- a/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 7003643
+# @bug 4052440 7003643 8062588
# @summary NumberFormatProvider tests
-# @run shell ExecTest.sh foo NumberFormatProviderTest true
+# @run shell ExecTest.sh foo NumberFormatProviderTest
diff --git a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh
index 88f05c498d3..f80874b68fe 100644
--- a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh
+++ b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.sh
@@ -23,6 +23,6 @@
#
#
# @test
-# @bug 4052440 8003267
+# @bug 4052440 8003267 8062588
# @summary TimeZoneNameProvider tests
-# @run shell ExecTest.sh bar TimeZoneNameProviderTest true
+# @run shell ExecTest.sh bar TimeZoneNameProviderTest
diff --git a/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh b/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
index 7d1d256a0e6..a29c7444ecb 100644
--- a/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
+++ b/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
@@ -55,27 +55,14 @@ if [ -z "${TESTJAVA}" ]; then
exit 1
fi
-# See if TESTJAVA points to JRE or JDK
-if [ -d "${TESTJAVA}${FILESEP}jre" ]; then
- JRE_EXT_DIR=${TESTJAVA}${FILESEP}jre${FILESEP}lib${FILESEP}ext
-else
- JRE_EXT_DIR=${TESTJAVA}${FILESEP}lib${FILESEP}ext
-fi
-
-if [ -d "${JRE_EXT_DIR}" ]; then
- NEW_EXT_DIR="${JRE_EXT_DIR}${PATHSEP}${TESTSRC}"
-else
- NEW_EXT_DIR=${TESTSRC}
-fi
-
echo "TESTJAVA=${TESTJAVA}"
echo "TESTSRC=${TESTSRC}"
echo "TESTCLASSES=${TESTCLASSES}"
echo "NEW_EXT_DIR=${NEW_EXT_DIR}"
cd ${TESTSRC}
-
-${TESTJAVA}/bin/java ${TESTVMOPTS} -cp ${TESTCLASSES} -Djava.ext.dirs=${NEW_EXT_DIR} Bug6299235Test
+echo
+${TESTJAVA}/bin/java ${TESTVMOPTS} -cp ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}awtres.jar Bug6299235Test
if [ $? -ne 0 ]
then