changeset 12307:f376824d4940 jdk9-b72

Merge
author lana
date Thu, 02 Jul 2015 16:08:47 -0700
parents dd489ac949cc (current diff) efc27aefd2e2 (diff)
children d94566351c12 cce0dee6d995
files src/java.desktop/windows/native/libawt/windows/hand.cur src/jdk.accessibility/windows/conf/accessibility.properties
diffstat 784 files changed, 5482 insertions(+), 2147 deletions(-) [+]
line wrap: on
line diff
--- a/make/CopySamples.gmk	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/CopySamples.gmk	Thu Jul 02 16:08:47 2015 -0700
@@ -28,7 +28,7 @@
 include $(SPEC)
 include MakeBase.gmk
 
-SAMPLE_TARGET_DIR := $(SUPPORT_OUTPUTDIR)/sample
+SAMPLE_TARGET_DIR := $(SUPPORT_OUTPUTDIR)/sample/image
 SAMPLE_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/share
 SAMPLE_CLOSED_SOURCE_DIR := $(JDK_TOPDIR)/src/closed/sample/share
 SAMPLE_SOLARIS_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/solaris
--- a/make/copy/Copy-jdk.accessibility.gmk	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/copy/Copy-jdk.accessibility.gmk	Thu Jul 02 16:08:47 2015 -0700
@@ -31,17 +31,12 @@
   TARGETS += $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCallbacks.h \
       $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.h \
       $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgePackages.h \
-      $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.c \
-      $(CONF_DST_DIR)/accessibility.properties
+      $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.c
 
   $(INCLUDE_DST_OS_DIR)/bridge/%: \
       $(JDK_TOPDIR)/src/jdk.accessibility/windows/native/include/bridge/%
 		$(install-file)
 
-  $(CONF_DST_DIR)/accessibility.properties: \
-      $(JDK_TOPDIR)/src/jdk.accessibility/windows/conf/accessibility.properties
-		$(install-file)
-
 endif
 
 ################################################################################
--- a/make/data/tzdata/VERSION	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/data/tzdata/VERSION	Thu Jul 02 16:08:47 2015 -0700
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2015d
+tzdata2015e
--- a/make/data/tzdata/africa	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/data/tzdata/africa	Thu Jul 02 16:08:47 2015 -0700
@@ -361,9 +361,10 @@
 # time this summer, and carry out studies on the possibility of canceling the
 # practice altogether in future years."
 #
-# From Paul Eggert (2015-04-20):
-# For now, assume DST will be canceled.  Any resumption would likely
-# use different rules anyway.
+# From Paul Eggert (2015-04-24):
+# Yesterday the office of Egyptian President El-Sisi announced his
+# decision to abandon DST permanently.  See Ahram Online 2015-04-24.
+# http://english.ahram.org.eg/NewsContent/1/64/128509/Egypt/Politics-/Sisi-cancels-daylight-saving-time-in-Egypt.aspx
 
 Rule	Egypt	2008	only	-	Aug	lastThu	24:00	0	-
 Rule	Egypt	2009	only	-	Aug	20	24:00	0	-
@@ -810,20 +811,41 @@
 # will resume again at 02:00 on Saturday, August 2, 2014....
 # http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
 
-# From Paul Eggert (2014-06-05):
-# For now, guess that later spring and fall transitions will use 2014's rules,
+# From Milamber (2015-06-08):
+# (Google Translation) The hour will thus be delayed 60 minutes
+# Sunday, June 14 at 3:00, the ministry said in a statement, adding
+# that the time will be advanced again 60 minutes Sunday, July 19,
+# 2015 at 2:00.  The move comes under 2.12.126 Decree of 26 Jumada I
+# 1433 (18 April 2012) and the decision of the Head of Government of
+# 16 N. 3-29-15 Chaaban 1435 (4 June 2015).
+# Source (french):
+# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/
+#
+# From Milamber (2015-06-09):
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=863
+#
+# From Michael Deckers (2015-06-09):
+# [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go
+# from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch....
+# I think the patch is correct and the quoted text is wrong; the text in
+# <http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
+# with the patch.
+
+# From Paul Eggert (2015-06-08):
+# For now, guess that later spring and fall transitions will use 2015's rules,
 # and guess that Morocco will switch to standard time at 03:00 the last
-# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
-# Ramadan.  To implement this, transition dates for 2015 through 2037 were
+# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
+# Ramadan.  To implement this, transition dates for 2016 through 2037 were
 # determined by running the following program under GNU Emacs 24.3, with the
 # results integrated by hand into the table below.
-# (let ((islamic-year 1436))
+# (let ((islamic-year 1437))
+#   (require 'cal-islam)
 #   (while (< islamic-year 1460)
 #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
 #           (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
-#           (saturday 6))
-#       (while (/= saturday (mod (setq a (1- a)) 7)))
-#       (while (/= saturday (mod b 7))
+#           (sunday 0))
+#       (while (/= sunday (mod (setq a (1- a)) 7)))
+#       (while (/= sunday (mod b 7))
 #         (setq b (1+ b)))
 #       (setq a (calendar-gregorian-from-absolute a))
 #       (setq b (calendar-gregorian-from-absolute b))
@@ -867,32 +889,30 @@
 Rule	Morocco	2013	only	-	Jul	 7	 3:00	0	-
 Rule	Morocco	2013	only	-	Aug	10	 2:00	1:00	S
 Rule	Morocco	2013	max	-	Oct	lastSun	 3:00	0	-
-Rule	Morocco	2014	2022	-	Mar	lastSun	 2:00	1:00	S
+Rule	Morocco	2014	2021	-	Mar	lastSun	 2:00	1:00	S
 Rule	Morocco	2014	only	-	Jun	28	 3:00	0	-
 Rule	Morocco	2014	only	-	Aug	 2	 2:00	1:00	S
-Rule	Morocco	2015	only	-	Jun	13	 3:00	0	-
-Rule	Morocco	2015	only	-	Jul	18	 2:00	1:00	S
-Rule	Morocco	2016	only	-	Jun	 4	 3:00	0	-
-Rule	Morocco	2016	only	-	Jul	 9	 2:00	1:00	S
-Rule	Morocco	2017	only	-	May	20	 3:00	0	-
-Rule	Morocco	2017	only	-	Jul	 1	 2:00	1:00	S
-Rule	Morocco	2018	only	-	May	12	 3:00	0	-
-Rule	Morocco	2018	only	-	Jun	16	 2:00	1:00	S
-Rule	Morocco	2019	only	-	May	 4	 3:00	0	-
-Rule	Morocco	2019	only	-	Jun	 8	 2:00	1:00	S
-Rule	Morocco	2020	only	-	Apr	18	 3:00	0	-
-Rule	Morocco	2020	only	-	May	30	 2:00	1:00	S
-Rule	Morocco	2021	only	-	Apr	10	 3:00	0	-
-Rule	Morocco	2021	only	-	May	15	 2:00	1:00	S
-Rule	Morocco	2022	only	-	Apr	 2	 3:00	0	-
-Rule	Morocco	2022	only	-	May	 7	 2:00	1:00	S
-Rule	Morocco	2023	only	-	Apr	22	 2:00	1:00	S
-Rule	Morocco	2024	only	-	Apr	13	 2:00	1:00	S
-Rule	Morocco	2025	only	-	Apr	 5	 2:00	1:00	S
+Rule	Morocco	2015	only	-	Jun	14	 3:00	0	-
+Rule	Morocco	2015	only	-	Jul	19	 2:00	1:00	S
+Rule	Morocco	2016	only	-	Jun	 5	 3:00	0	-
+Rule	Morocco	2016	only	-	Jul	10	 2:00	1:00	S
+Rule	Morocco	2017	only	-	May	21	 3:00	0	-
+Rule	Morocco	2017	only	-	Jul	 2	 2:00	1:00	S
+Rule	Morocco	2018	only	-	May	13	 3:00	0	-
+Rule	Morocco	2018	only	-	Jun	17	 2:00	1:00	S
+Rule	Morocco	2019	only	-	May	 5	 3:00	0	-
+Rule	Morocco	2019	only	-	Jun	 9	 2:00	1:00	S
+Rule	Morocco	2020	only	-	Apr	19	 3:00	0	-
+Rule	Morocco	2020	only	-	May	24	 2:00	1:00	S
+Rule	Morocco	2021	only	-	Apr	11	 3:00	0	-
+Rule	Morocco	2021	only	-	May	16	 2:00	1:00	S
+Rule	Morocco	2022	only	-	May	 8	 2:00	1:00	S
+Rule	Morocco	2023	only	-	Apr	23	 2:00	1:00	S
+Rule	Morocco	2024	only	-	Apr	14	 2:00	1:00	S
+Rule	Morocco	2025	only	-	Apr	 6	 2:00	1:00	S
 Rule	Morocco	2026	max	-	Mar	lastSun	 2:00	1:00	S
-Rule	Morocco	2035	only	-	Oct	27	 3:00	0	-
-Rule	Morocco	2036	only	-	Oct	18	 3:00	0	-
-Rule	Morocco	2037	only	-	Oct	10	 3:00	0	-
+Rule	Morocco	2036	only	-	Oct	19	 3:00	0	-
+Rule	Morocco	2037	only	-	Oct	 4	 3:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
--- a/make/data/tzdata/iso3166.tab	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/data/tzdata/iso3166.tab	Thu Jul 02 16:08:47 2015 -0700
@@ -26,11 +26,10 @@
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
-# From Paul Eggert (2014-07-18):
+# From Paul Eggert (2015-05-02):
 # This file contains a table of two-letter country codes.  Columns are
 # separated by a single tab.  Lines beginning with '#' are comments.
-# Although all text currently uses ASCII encoding, this is planned to
-# change to UTF-8 soon.  The columns of the table are as follows:
+# All text uses UTF-8 encoding.  The columns of the table are as follows:
 #
 # 1.  ISO 3166-1 alpha-2 country code, current as of
 #     ISO 3166-1 Newsletter VI-16 (2013-07-11).  See: Updates on ISO 3166
@@ -61,7 +60,7 @@
 AT	Austria
 AU	Australia
 AW	Aruba
-AX	Aaland Islands
+AX	Åland Islands
 AZ	Azerbaijan
 BA	Bosnia & Herzegovina
 BB	Barbados
@@ -90,7 +89,7 @@
 CF	Central African Rep.
 CG	Congo (Rep.)
 CH	Switzerland
-CI	Cote d'Ivoire
+CI	Côte d'Ivoire
 CK	Cook Islands
 CL	Chile
 CM	Cameroon
@@ -234,7 +233,7 @@
 PW	Palau
 PY	Paraguay
 QA	Qatar
-RE	Reunion
+RE	Réunion
 RO	Romania
 RS	Serbia
 RU	Russia
--- a/make/data/tzdata/northamerica	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/data/tzdata/northamerica	Thu Jul 02 16:08:47 2015 -0700
@@ -2684,7 +2684,17 @@
 			-4:00	US	A%sT
 
 # Cayman Is
-# See America/Panama.
+
+# From Paul Eggert (2015-05-15):
+# The Cayman government has decided to introduce DST in 2016, the idea being
+# to keep in sync with New York.  The legislation hasn't passed but the change
+# seems quite likely.  See: Meade B. Cayman 27.
+# http://www.cayman27.com.ky/2015/05/15/clock-ticks-toward-daylight-saving-time-in-cayman
+
+Zone	America/Cayman	-5:25:32 -	LMT	1890     # Georgetown
+			-5:07:11 -	KMT	1912 Feb # Kingston Mean Time
+			-5:00	-	EST	2016
+			-5:00	US	E%sT
 
 # Costa Rica
 
@@ -3207,7 +3217,6 @@
 Zone	America/Panama	-5:18:08 -	LMT	1890
 			-5:19:36 -	CMT	1908 Apr 22 # Colón Mean Time
 			-5:00	-	EST
-Link America/Panama America/Cayman
 
 # Puerto Rico
 # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
--- a/make/data/tzdata/southamerica	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/data/tzdata/southamerica	Thu Jul 02 16:08:47 2015 -0700
@@ -53,7 +53,7 @@
 #	I suggest the use of _Summer time_ instead of the more cumbersome
 #	_daylight-saving time_.  _Summer time_ seems to be in general use
 #	in Europe and South America.
-#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
+#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
 #	H L Mencken, _The American Language: Supplement I_ (1960), p 466
 #
 # Earlier editions of these tables also used the North American style
--- a/make/gensrc/GensrcCLDR.gmk	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/gensrc/GensrcCLDR.gmk	Thu Jul 02 16:08:47 2015 -0700
@@ -29,7 +29,7 @@
 GENSRC_BASEDIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata
 
-CLDR_BASEMETAINFO_FILE := $(GENSRC_DIR)/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java
+CLDR_BASEMETAINFO_FILE := $(GENSRC_BASEDIR)/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java
 CLDR_METAINFO_FILE := $(GENSRC_DIR)/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java
 
 CLDR_BASE_LOCALES := "en-US"
--- a/make/lib/LibCommon.gmk	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/lib/LibCommon.gmk	Thu Jul 02 16:08:47 2015 -0700
@@ -60,17 +60,6 @@
       $(JDK_TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2)))
 
 ################################################################################
-# Find lib dir for module
-# Param 1 - module name
-ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
-  FindLibDirForModule = \
-      $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)$(OPENJDK_TARGET_CPU_LIBDIR)
-else
-  FindLibDirForModule = \
-      $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)
-endif
-
-################################################################################
 # Find a library
 # Param 1 - module name
 # Param 2 - library name
--- a/make/lib/NioLibraries.gmk	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/lib/NioLibraries.gmk	Thu Jul 02 16:08:47 2015 -0700
@@ -81,7 +81,8 @@
     LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
         $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib \
         advapi32.lib, \
-    LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \
+    LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread \
+        -framework CoreFoundation -framework CoreServices, \
     LDFLAGS_SUFFIX :=, \
     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
     RC_FLAGS := $(RC_FLAGS) \
--- a/make/src/classes/build/tools/module/ModuleArchive.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/make/src/classes/build/tools/module/ModuleArchive.java	Thu Jul 02 16:08:47 2015 -0700
@@ -228,7 +228,8 @@
         private static String nativeDir(String filename) {
             if (System.getProperty("os.name").startsWith("Windows")) {
                 if (filename.endsWith(".dll") || filename.endsWith(".diz")
-                    || filename.endsWith(".pdb") || filename.endsWith(".map")) {
+                    || filename.endsWith(".pdb") || filename.endsWith(".map")
+                    || filename.endsWith(".cpl")) {
                     return "bin";
                 } else {
                     return "lib";
--- a/src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,6 +49,8 @@
     FileTypeDetector getFileTypeDetector() {
         Path userMimeTypes = Paths.get(AccessController.doPrivileged(
             new GetPropertyAction("user.home")), ".mime.types");
-        return new MimeTypesFileTypeDetector(userMimeTypes);
+
+        return chain(new MimeTypesFileTypeDetector(userMimeTypes),
+                     new UTIFileTypeDetector());
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/macosx/classes/sun/nio/fs/UTIFileTypeDetector.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.fs;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * File type detector that uses a file extension to look up its MIME type
+ * via the Apple Uniform Type Identifier interfaces.
+ */
+class UTIFileTypeDetector extends AbstractFileTypeDetector {
+    UTIFileTypeDetector() {
+        super();
+    }
+
+    private native String probe0(String fileExtension) throws IOException;
+
+    @Override
+    protected String implProbeContentType(Path path) throws IOException {
+        Path fn = path.getFileName();
+        if (fn == null)
+            return null;  // no file name
+
+        String ext = getExtension(fn.toString());
+        if (ext.isEmpty())
+            return null;  // no extension
+
+        return probe0(ext);
+    }
+
+    static {
+        AccessController.doPrivileged(new PrivilegedAction<>() {
+            @Override
+            public Void run() {
+                System.loadLibrary("nio");
+                return null;
+            }
+        });
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/macosx/native/libnio/fs/UTIFileTypeDetector.c	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "jni.h"
+#include "jni_util.h"
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <CoreServices/CoreServices.h>
+
+/**
+ * Creates a CF string from the given Java string.
+ * If javaString is NULL, NULL is returned.
+ * If a memory error occurs, and OutOfMemoryError is thrown and
+ * NULL is returned.
+ */
+static CFStringRef toCFString(JNIEnv *env, jstring javaString)
+{
+    if (javaString == NULL) {
+        return NULL;
+    } else {
+        CFStringRef result = NULL;
+        jsize length = (*env)->GetStringLength(env, javaString);
+        const jchar *chars = (*env)->GetStringChars(env, javaString, NULL);
+        if (chars == NULL) {
+            JNU_ThrowOutOfMemoryError(env, "toCFString failed");
+            return NULL;
+        }
+        result = CFStringCreateWithCharacters(NULL, (const UniChar *)chars,
+                                              length);
+        (*env)->ReleaseStringChars(env, javaString, chars);
+        if (result == NULL) {
+            JNU_ThrowOutOfMemoryError(env, "toCFString failed");
+            return NULL;
+        }
+        return result;
+    }
+}
+
+/**
+ * Creates a Java string from the given CF string.
+ * If cfString is NULL, NULL is returned.
+ * If a memory error occurs, and OutOfMemoryError is thrown and
+ * NULL is returned.
+ */
+static jstring toJavaString(JNIEnv *env, CFStringRef cfString)
+{
+    if (cfString == NULL) {
+        return NULL;
+    } else {
+        jstring javaString = NULL;
+
+        CFIndex length = CFStringGetLength(cfString);
+        const UniChar *constchars = CFStringGetCharactersPtr(cfString);
+        if (constchars) {
+            javaString = (*env)->NewString(env, constchars, length);
+        } else {
+            UniChar *chars = malloc(length * sizeof(UniChar));
+            if (chars == NULL) {
+                JNU_ThrowOutOfMemoryError(env, "toJavaString failed");
+                return NULL;
+            }
+            CFStringGetCharacters(cfString, CFRangeMake(0, length), chars);
+            javaString = (*env)->NewString(env, chars, length);
+            free(chars);
+        }
+        return javaString;
+    }
+}
+
+/**
+ * Returns the content type corresponding to the supplied file extension.
+ * The mapping is determined using Uniform Type Identifiers (UTIs).  If
+ * the file extension parameter is NULL, a CFString cannot be created
+ * from the file extension parameter, there is no UTI corresponding to
+ * the file extension, the UTI cannot supply a MIME type for the file
+ * extension, or a Java string cannot be created, then NULL is returned;
+ * otherwise the MIME type string is returned.
+ */
+JNIEXPORT jstring JNICALL
+Java_sun_nio_fs_UTIFileTypeDetector_probe0(JNIEnv* env, jobject ftd,
+                                           jstring ext)
+{
+    jstring result = NULL;
+
+    CFStringRef extension = toCFString(env, ext);
+    if (extension != NULL) {
+        CFStringRef uti =
+            UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
+                                                  extension, NULL);
+        CFRelease(extension);
+
+        if (uti != NULL) {
+            CFStringRef mimeType =
+                UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType);
+            CFRelease(uti);
+
+            if (mimeType != NULL) {
+                result = toJavaString(env, mimeType);
+                CFRelease(mimeType);
+            }
+        }
+    }
+
+    return result;
+}
--- a/src/java.base/share/classes/com/sun/crypto/provider/GHASH.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/com/sun/crypto/provider/GHASH.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2015 Red Hat, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -62,14 +62,16 @@
 
     private static final int AES_BLOCK_SIZE = 16;
 
-    // Multiplies state0, state1 by V0, V1.
-    private void blockMult(long V0, long V1) {
+    // Multiplies state[0], state[1] by subkeyH[0], subkeyH[1].
+    private static void blockMult(long[] st, long[] subH) {
         long Z0 = 0;
         long Z1 = 0;
+        long V0 = subH[0];
+        long V1 = subH[1];
         long X;
 
-        // Separate loops for processing state0 and state1.
-        X = state0;
+        // Separate loops for processing state[0] and state[1].
+        X = st[0];
         for (int i = 0; i < 64; i++) {
             // Zi+1 = Zi if bit i of x is 0
             long mask = X >> 63;
@@ -89,7 +91,7 @@
             X <<= 1;
         }
 
-        X = state1;
+        X = st[1];
         for (int i = 64; i < 127; i++) {
             // Zi+1 = Zi if bit i of x is 0
             long mask = X >> 63;
@@ -115,15 +117,18 @@
         Z1 ^= V1 & mask;
 
         // Save result.
-        state0 = Z0;
-        state1 = Z1;
+        st[0] = Z0;
+        st[1] = Z1;
+
     }
 
+    /* subkeyH and state are stored in long[] for GHASH intrinsic use */
+
     // hash subkey H; should not change after the object has been constructed
-    private final long subkeyH0, subkeyH1;
+    private final long[] subkeyH;
 
     // buffer for storing hash
-    private long state0, state1;
+    private final long[] state;
 
     // variables for save/restore calls
     private long stateSave0, stateSave1;
@@ -141,8 +146,10 @@
         if ((subkeyH == null) || subkeyH.length != AES_BLOCK_SIZE) {
             throw new ProviderException("Internal error");
         }
-        this.subkeyH0 = getLong(subkeyH, 0);
-        this.subkeyH1 = getLong(subkeyH, 8);
+        state = new long[2];
+        this.subkeyH = new long[2];
+        this.subkeyH[0] = getLong(subkeyH, 0);
+        this.subkeyH[1] = getLong(subkeyH, 8);
     }
 
     /**
@@ -151,33 +158,30 @@
      * this object for different data w/ the same H.
      */
     void reset() {
-        state0 = 0;
-        state1 = 0;
+        state[0] = 0;
+        state[1] = 0;
     }
 
     /**
      * Save the current snapshot of this GHASH object.
      */
     void save() {
-        stateSave0 = state0;
-        stateSave1 = state1;
+        stateSave0 = state[0];
+        stateSave1 = state[1];
     }
 
     /**
      * Restores this object using the saved snapshot.
      */
     void restore() {
-        state0 = stateSave0;
-        state1 = stateSave1;
+        state[0] = stateSave0;
+        state[1] = stateSave1;
     }
 
-    private void processBlock(byte[] data, int ofs) {
-        if (data.length - ofs < AES_BLOCK_SIZE) {
-            throw new RuntimeException("need complete block");
-        }
-        state0 ^= getLong(data, ofs);
-        state1 ^= getLong(data, ofs + 8);
-        blockMult(subkeyH0, subkeyH1);
+    private static void processBlock(byte[] data, int ofs, long[] st, long[] subH) {
+        st[0] ^= getLong(data, ofs);
+        st[1] ^= getLong(data, ofs + 8);
+        blockMult(st, subH);
     }
 
     void update(byte[] in) {
@@ -185,22 +189,57 @@
     }
 
     void update(byte[] in, int inOfs, int inLen) {
-        if (inLen - inOfs > in.length) {
-            throw new RuntimeException("input length out of bound");
+        if (inLen == 0) {
+            return;
+        }
+        ghashRangeCheck(in, inOfs, inLen, state, subkeyH);
+        processBlocks(in, inOfs, inLen/AES_BLOCK_SIZE, state, subkeyH);
+    }
+
+    private static void ghashRangeCheck(byte[] in, int inOfs, int inLen, long[] st, long[] subH) {
+        if (inLen < 0) {
+            throw new RuntimeException("invalid input length: " + inLen);
+        }
+        if (inOfs < 0) {
+            throw new RuntimeException("invalid offset: " + inOfs);
+        }
+        if (inLen > in.length - inOfs) {
+            throw new RuntimeException("input length out of bound: " +
+                                       inLen + " > " + (in.length - inOfs));
         }
         if (inLen % AES_BLOCK_SIZE != 0) {
-            throw new RuntimeException("input length unsupported");
+            throw new RuntimeException("input length/block size mismatch: " +
+                                       inLen);
         }
 
-        for (int i = inOfs; i < (inOfs + inLen); i += AES_BLOCK_SIZE) {
-            processBlock(in, i);
+        // These two checks are for C2 checking
+        if (st.length != 2) {
+            throw new RuntimeException("internal state has invalid length: " +
+                                       st.length);
+        }
+        if (subH.length != 2) {
+            throw new RuntimeException("internal subkeyH has invalid length: " +
+                                       subH.length);
+        }
+    }
+    /*
+     * This is an intrinsified method.  The method's argument list must match
+     * the hotspot signature.  This method and methods called by it, cannot
+     * throw exceptions or allocate arrays as it will breaking intrinsics
+     */
+    private static void processBlocks(byte[] data, int inOfs, int blocks, long[] st, long[] subH) {
+        int offset = inOfs;
+        while (blocks > 0) {
+            processBlock(data, offset, st, subH);
+            blocks--;
+            offset += AES_BLOCK_SIZE;
         }
     }
 
     byte[] digest() {
         byte[] result = new byte[AES_BLOCK_SIZE];
-        putLong(result, 0, state0);
-        putLong(result, 8, state1);
+        putLong(result, 0, state[0]);
+        putLong(result, 8, state[1]);
         reset();
         return result;
     }
--- a/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -121,7 +121,7 @@
             } else if (data.isContextSpecific((byte) 0x01)) {
                 // mgf algid
                 AlgorithmId val = AlgorithmId.parse(data.data.getDerValue());
-                if (!val.getOID().equals((Object) OID_MGF1)) {
+                if (!val.getOID().equals(OID_MGF1)) {
                     throw new IOException("Only MGF1 mgf is supported");
                 }
                 AlgorithmId params = AlgorithmId.parse(
@@ -144,7 +144,7 @@
             } else if (data.isContextSpecific((byte) 0x02)) {
                 // pSource algid
                 AlgorithmId val = AlgorithmId.parse(data.data.getDerValue());
-                if (!val.getOID().equals((Object) OID_PSpecified)) {
+                if (!val.getOID().equals(OID_PSpecified)) {
                     throw new IOException("Wrong OID for pSpecified");
                 }
                 DerInputStream dis = new DerInputStream(val.getEncodedParams());
--- a/src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1235,7 +1235,7 @@
         int sofar = 0;  // how far have we processed the layout?
         for (;;) {
             // for each dash, collect everything up to the dash
-            result.append(layout.substring(sofar, dash));
+            result.append(layout, sofar, dash);
             sofar = dash+1;  // skip the dash
             // then collect intermediate values
             int value0 = parseIntBefore(layout, dash);
@@ -1249,7 +1249,7 @@
             dash = findCaseDash(layout, sofar);
             if (dash < 0)  break;
         }
-        result.append(layout.substring(sofar));  // collect the rest
+        result.append(layout, sofar, layout.length());  // collect the rest
         return result.toString();
     }
     static {
--- a/src/java.base/share/classes/java/io/BufferedOutputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/io/BufferedOutputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,8 +34,7 @@
  * @author  Arthur van Hoff
  * @since   1.0
  */
-public
-class BufferedOutputStream extends FilterOutputStream {
+public class BufferedOutputStream extends FilterOutputStream {
     /**
      * The internal buffer where data is stored.
      */
@@ -90,6 +89,7 @@
      * @param      b   the byte to be written.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public synchronized void write(int b) throws IOException {
         if (count >= buf.length) {
             flushBuffer();
@@ -113,6 +113,7 @@
      * @param      len   the number of bytes to write.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public synchronized void write(byte b[], int off, int len) throws IOException {
         if (len >= buf.length) {
             /* If the request length exceeds the size of the output buffer,
@@ -136,6 +137,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#out
      */
+    @Override
     public synchronized void flush() throws IOException {
         flushBuffer();
         out.flush();
--- a/src/java.base/share/classes/java/io/FilterOutputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/io/FilterOutputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,13 +41,15 @@
  * @author  Jonathan Payne
  * @since   1.0
  */
-public
-class FilterOutputStream extends OutputStream {
+public class FilterOutputStream extends OutputStream {
     /**
      * The underlying output stream to be filtered.
      */
     protected OutputStream out;
 
+    /**
+     * Whether the stream is closed; implicitly initialized to false.
+     */
     private boolean closed;
 
     /**
@@ -75,6 +77,7 @@
      * @param      b   the <code>byte</code>.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public void write(int b) throws IOException {
         out.write(b);
     }
@@ -95,6 +98,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#write(byte[], int, int)
      */
+    @Override
     public void write(byte b[]) throws IOException {
         write(b, 0, b.length);
     }
@@ -119,6 +123,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#write(int)
      */
+    @Override
     public void write(byte b[], int off, int len) throws IOException {
         if ((off | len | (b.length - (len + off)) | (off + len)) < 0)
             throw new IndexOutOfBoundsException();
@@ -138,6 +143,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#out
      */
+    @Override
     public void flush() throws IOException {
         out.flush();
     }
@@ -154,13 +160,40 @@
      * @see        java.io.FilterOutputStream#flush()
      * @see        java.io.FilterOutputStream#out
      */
-    @SuppressWarnings("try")
+    @Override
     public void close() throws IOException {
-        if (closed)
+        if (closed) {
             return;
+        }
         closed = true;
-        try (OutputStream ostream = out) {
+
+        Throwable flushException = null;
+        try {
             flush();
+        } catch (Throwable e) {
+            flushException = e;
+            throw e;
+        } finally {
+            if (flushException == null) {
+                out.close();
+            } else {
+                try {
+                    out.close();
+                } catch (Throwable closeException) {
+                   // evaluate possible precedence of flushException over closeException
+                   if ((flushException instanceof ThreadDeath) &&
+                       !(closeException instanceof ThreadDeath)) {
+                       flushException.addSuppressed(closeException);
+                       throw (ThreadDeath) flushException;
+                   }
+
+                    if (flushException != closeException) {
+                        closeException.addSuppressed(flushException);
+                    }
+
+                    throw closeException;
+                }
+            }
         }
     }
 }
--- a/src/java.base/share/classes/java/io/StringWriter.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/io/StringWriter.java	Thu Jul 02 16:08:47 2015 -0700
@@ -109,7 +109,7 @@
      * @param  len  Number of characters to write
      */
     public void write(String str, int off, int len)  {
-        buf.append(str.substring(off, off + len));
+        buf.append(str, off, off + len);
     }
 
     /**
--- a/src/java.base/share/classes/java/lang/AbstractStringBuilder.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/lang/AbstractStringBuilder.java	Thu Jul 02 16:08:47 2015 -0700
@@ -515,8 +515,12 @@
                 + s.length());
         int len = end - start;
         ensureCapacityInternal(count + len);
-        for (int i = start, j = count; i < end; i++, j++)
-            value[j] = s.charAt(i);
+        if (s instanceof String) {
+            ((String)s).getChars(start, end, value, count);
+        } else {
+            for (int i = start, j = count; i < end; i++, j++)
+                value[j] = s.charAt(i);
+        }
         count += len;
         return this;
     }
--- a/src/java.base/share/classes/java/net/NetworkInterface.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/net/NetworkInterface.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,10 +25,14 @@
 
 package java.net;
 
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.NoSuchElementException;
-import sun.security.action.*;
 import java.security.AccessController;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
 
 /**
  * This class represents a Network Interface made up of a name,
@@ -95,8 +99,8 @@
     }
 
     /**
-     * Convenience method to return an Enumeration with all or a
-     * subset of the InetAddresses bound to this network interface.
+     * Get an Enumeration with all or a subset of the InetAddresses bound to
+     * this network interface.
      * <p>
      * If there is a security manager, its {@code checkConnect}
      * method is called for each InetAddress. Only InetAddresses where
@@ -104,53 +108,56 @@
      * will be returned in the Enumeration. However, if the caller has the
      * {@link NetPermission}("getNetworkInformation") permission, then all
      * InetAddresses are returned.
+     *
      * @return an Enumeration object with all or a subset of the InetAddresses
      * bound to this network interface
+     * @see #inetAddresses()
      */
     public Enumeration<InetAddress> getInetAddresses() {
-
-        class checkedAddresses implements Enumeration<InetAddress> {
-
-            private int i=0, count=0;
-            private InetAddress local_addrs[];
-
-            checkedAddresses() {
-                local_addrs = new InetAddress[addrs.length];
-                boolean trusted = true;
+        return enumerationFromArray(getCheckedInetAddresses());
+    }
 
-                SecurityManager sec = System.getSecurityManager();
-                if (sec != null) {
-                    try {
-                        sec.checkPermission(new NetPermission("getNetworkInformation"));
-                    } catch (SecurityException e) {
-                        trusted = false;
-                    }
-                }
-                for (int j=0; j<addrs.length; j++) {
-                    try {
-                        if (sec != null && !trusted) {
-                            sec.checkConnect(addrs[j].getHostAddress(), -1);
-                        }
-                        local_addrs[count++] = addrs[j];
-                    } catch (SecurityException e) { }
-                }
+    /**
+     * Get a Stream of all or a subset of the InetAddresses bound to this
+     * network interface.
+     * <p>
+     * If there is a security manager, its {@code checkConnect}
+     * method is called for each InetAddress. Only InetAddresses where
+     * the {@code checkConnect} doesn't throw a SecurityException will be
+     * returned in the Stream. However, if the caller has the
+     * {@link NetPermission}("getNetworkInformation") permission, then all
+     * InetAddresses are returned.
+     *
+     * @return a Stream object with all or a subset of the InetAddresses
+     * bound to this network interface
+     * @since 1.9
+     */
+    public Stream<InetAddress> inetAddresses() {
+        return streamFromArray(getCheckedInetAddresses());
+    }
 
-            }
+    private InetAddress[] getCheckedInetAddresses() {
+        InetAddress[] local_addrs = new InetAddress[addrs.length];
+        boolean trusted = true;
 
-            public InetAddress nextElement() {
-                if (i < count) {
-                    return local_addrs[i++];
-                } else {
-                    throw new NoSuchElementException();
-                }
-            }
-
-            public boolean hasMoreElements() {
-                return (i < count);
+        SecurityManager sec = System.getSecurityManager();
+        if (sec != null) {
+            try {
+                sec.checkPermission(new NetPermission("getNetworkInformation"));
+            } catch (SecurityException e) {
+                trusted = false;
             }
         }
-        return new checkedAddresses();
-
+        int i = 0;
+        for (int j = 0; j < addrs.length; j++) {
+            try {
+                if (!trusted) {
+                    sec.checkConnect(addrs[j].getHostAddress(), -1);
+                }
+                local_addrs[i++] = addrs[j];
+            } catch (SecurityException e) { }
+        }
+        return Arrays.copyOf(local_addrs, i);
     }
 
     /**
@@ -188,30 +195,23 @@
      *
      * @return an Enumeration object with all of the subinterfaces
      * of this network interface
+     * @see #subInterfaces()
      * @since 1.6
      */
     public Enumeration<NetworkInterface> getSubInterfaces() {
-        class subIFs implements Enumeration<NetworkInterface> {
-
-            private int i=0;
-
-            subIFs() {
-            }
+        return enumerationFromArray(childs);
+    }
 
-            public NetworkInterface nextElement() {
-                if (i < childs.length) {
-                    return childs[i++];
-                } else {
-                    throw new NoSuchElementException();
-                }
-            }
-
-            public boolean hasMoreElements() {
-                return (i < childs.length);
-            }
-        }
-        return new subIFs();
-
+    /**
+     * Get a Stream of all subinterfaces (also known as virtual
+     * interfaces) attached to this network interface.
+     *
+     * @return a Stream object with all of the subinterfaces
+     * of this network interface
+     * @since 1.9
+     */
+    public Stream<NetworkInterface> subInterfaces() {
+        return streamFromArray(childs);
     }
 
     /**
@@ -326,43 +326,80 @@
     }
 
     /**
-     * Returns all the interfaces on this machine. The {@code Enumeration}
-     * contains at least one element, possibly representing a loopback
-     * interface that only supports communication between entities on
+     * Returns an {@code Enumeration} of all the interfaces on this machine. The
+     * {@code Enumeration} contains at least one element, possibly representing
+     * a loopback interface that only supports communication between entities on
      * this machine.
      *
-     * NOTE: can use getNetworkInterfaces()+getInetAddresses()
-     *       to obtain all IP addresses for this node
+     * @apiNote this method can be used in combination with
+     * {@link #getInetAddresses()} to obtain all IP addresses for this node
      *
      * @return an Enumeration of NetworkInterfaces found on this machine
      * @exception  SocketException  if an I/O error occurs.
+     * @see #networkInterfaces()
      */
-
     public static Enumeration<NetworkInterface> getNetworkInterfaces()
         throws SocketException {
-        final NetworkInterface[] netifs = getAll();
+        NetworkInterface[] netifs = getAll();
+        assert netifs != null && netifs.length > 0;
 
-        // specified to return null if no network interfaces
-        if (netifs == null)
-            return null;
+        return enumerationFromArray(netifs);
+    }
 
+    /**
+     * Returns a {@code Stream} of all the interfaces on this machine.  The
+     * {@code Stream} contains at least one interface, possibly representing a
+     * loopback interface that only supports communication between entities on
+     * this machine.
+     *
+     * @apiNote this method can be used in combination with
+     * {@link #inetAddresses()}} to obtain a stream of all IP addresses for
+     * this node, for example:
+     * <pre> {@code
+     * Stream<InetAddress> addrs = NetworkInterface.networkInterfaces()
+     *     .flatMap(NetworkInterface::inetAddresses);
+     * }</pre>
+     *
+     * @return a Stream of NetworkInterfaces found on this machine
+     * @exception  SocketException  if an I/O error occurs.
+     * @since 1.9
+     */
+    public static Stream<NetworkInterface> networkInterfaces()
+        throws SocketException {
+        NetworkInterface[] netifs = getAll();
+        assert netifs != null && netifs.length > 0;
+
+        return streamFromArray(netifs);
+    }
+
+    private static <T> Enumeration<T> enumerationFromArray(T[] a) {
         return new Enumeration<>() {
-            private int i = 0;
-            public NetworkInterface nextElement() {
-                if (netifs != null && i < netifs.length) {
-                    NetworkInterface netif = netifs[i++];
-                    return netif;
+            int i = 0;
+
+            @Override
+            public T nextElement() {
+                if (i < a.length) {
+                    return a[i++];
                 } else {
                     throw new NoSuchElementException();
                 }
             }
 
+            @Override
             public boolean hasMoreElements() {
-                return (netifs != null && i < netifs.length);
+                return i < a.length;
             }
         };
     }
 
+    private static <T> Stream<T> streamFromArray(T[] a) {
+        return StreamSupport.stream(
+                Spliterators.spliterator(
+                        a,
+                        Spliterator.DISTINCT | Spliterator.IMMUTABLE | Spliterator.NONNULL),
+                false);
+    }
+
     private native static NetworkInterface[] getAll()
         throws SocketException;
 
--- a/src/java.base/share/classes/java/net/URI.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/net/URI.java	Thu Jul 02 16:08:47 2015 -0700
@@ -2018,7 +2018,7 @@
             StringBuilder sb = new StringBuilder(base.length() + cn);
             // 5.2 (6a)
             if (i >= 0)
-                sb.append(base.substring(0, i + 1));
+                sb.append(base, 0, i + 1);
             // 5.2 (6b)
             sb.append(child);
             path = sb.toString();
@@ -2686,7 +2686,7 @@
                 if (!match(c, lowMask, highMask)) {
                     if (sb == null) {
                         sb = new StringBuffer();
-                        sb.append(s.substring(0, i));
+                        sb.append(s, 0, i);
                     }
                     appendEscape(sb, (byte)c);
                 } else {
@@ -2698,7 +2698,7 @@
                            || Character.isISOControl(c))) {
                 if (sb == null) {
                     sb = new StringBuffer();
-                    sb.append(s.substring(0, i));
+                    sb.append(s, 0, i);
                 }
                 appendEncoded(sb, c);
             } else {
--- a/src/java.base/share/classes/java/security/PermissionCollection.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/security/PermissionCollection.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
 package java.security;
 
 import java.util.*;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
 
 /**
  * Abstract class representing a collection of Permission objects.
@@ -126,10 +128,35 @@
      * Returns an enumeration of all the Permission objects in the collection.
      *
      * @return an enumeration of all the Permissions.
+     * @see #elementsAsStream()
      */
     public abstract Enumeration<Permission> elements();
 
     /**
+     * Returns a stream of all the Permission objects in the collection.
+     *
+     * <p> The collection should not be modified (see {@link #add}) during the
+     * execution of the terminal stream operation. Otherwise, the result of the
+     * terminal stream operation is undefined.
+     *
+     * @implSpec
+     * The default implementation creates a stream whose source is derived from
+     * the enumeration returned from a call to {@link #elements()}.
+     *
+     * @return a stream of all the Permissions.
+     * @since 1.9
+     */
+    public Stream<Permission> elementsAsStream() {
+        int characteristics = isReadOnly()
+                ? Spliterator.NONNULL | Spliterator.IMMUTABLE
+                : Spliterator.NONNULL;
+        return StreamSupport.stream(
+                Spliterators.spliteratorUnknownSize(
+                        elements().asIterator(), characteristics),
+                false);
+    }
+
+    /**
      * Marks this PermissionCollection object as "readonly". After
      * a PermissionCollection object
      * is marked as readonly, no new Permission objects can be added to it
--- a/src/java.base/share/classes/java/security/cert/X509CertSelector.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/security/cert/X509CertSelector.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2238,7 +2238,7 @@
                     + subjectPublicKeyAlgID + ", xcert subjectPublicKeyAlgID = "
                     + algID.getOID());
             }
-            if (!subjectPublicKeyAlgID.equals((Object)algID.getOID())) {
+            if (!subjectPublicKeyAlgID.equals(algID.getOID())) {
                 if (debug != null) {
                     debug.println("X509CertSelector.match: "
                         + "subject public key alg IDs don't match");
--- a/src/java.base/share/classes/java/text/MergeCollation.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/text/MergeCollation.java	Thu Jul 02 16:08:47 2015 -0700
@@ -329,8 +329,8 @@
                 PatternEntry e = patterns.get(i);
                 if (e.chars.regionMatches(0,entry.chars,0,
                                               e.chars.length())) {
-                    excessChars.append(entry.chars.substring(e.chars.length(),
-                                                            entry.chars.length()));
+                    excessChars.append(entry.chars, e.chars.length(),
+                            entry.chars.length());
                     break;
                 }
             }
--- a/src/java.base/share/classes/java/text/MessageFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/text/MessageFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1239,7 +1239,7 @@
         int lastOffset = 0;
         int last = result.length();
         for (int i = 0; i <= maxOffset; ++i) {
-            result.append(pattern.substring(lastOffset, offsets[i]));
+            result.append(pattern, lastOffset, offsets[i]);
             lastOffset = offsets[i];
             int argumentNumber = argumentNumbers[i];
             if (arguments == null || argumentNumber >= arguments.length) {
@@ -1332,7 +1332,7 @@
                 }
             }
         }
-        result.append(pattern.substring(lastOffset, pattern.length()));
+        result.append(pattern, lastOffset, pattern.length());
         if (characterIterators != null && last != result.length()) {
             characterIterators.add(createAttributedCharacterIterator(
                                    result.substring(last)));
--- a/src/java.base/share/classes/java/util/Collections.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/util/Collections.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -4268,6 +4268,7 @@
 
         public boolean hasMoreElements() { return false; }
         public E nextElement() { throw new NoSuchElementException(); }
+        public Iterator<E> asIterator() { return emptyIterator(); }
     }
 
     /**
@@ -5199,6 +5200,11 @@
      * interoperability with legacy APIs that require an enumeration
      * as input.
      *
+     * <p>The iterator returned from a call to {@link Enumeration#asIterator()}
+     * does not support removal of elements from the specified collection.  This
+     * is necessary to avoid unintentionally increasing the capabilities of the
+     * returned enumeration.
+     *
      * @param  <T> the class of the objects in the collection
      * @param c the collection for which an enumeration is to be returned.
      * @return an enumeration over the specified collection.
--- a/src/java.base/share/classes/java/util/LinkedList.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/util/LinkedList.java	Thu Jul 02 16:08:47 2015 -0700
@@ -88,18 +88,22 @@
 
     /**
      * Pointer to first node.
-     * Invariant: (first == null && last == null) ||
-     *            (first.prev == null && first.item != null)
      */
     transient Node<E> first;
 
     /**
      * Pointer to last node.
-     * Invariant: (first == null && last == null) ||
-     *            (last.next == null && last.item != null)
      */
     transient Node<E> last;
 
+    /*
+    void dataStructureInvariants() {
+        assert (size == 0)
+            ? (first == null && last == null)
+            : (first.prev == null && last.next == null);
+    }
+    */
+
     /**
      * Constructs an empty list.
      */
--- a/src/java.base/share/classes/java/util/jar/JarFile.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/util/jar/JarFile.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -265,6 +265,10 @@
         public JarEntry nextElement() {
             return next();
         }
+
+        public Iterator<JarEntry> asIterator() {
+            return this;
+        }
     }
 
     /**
--- a/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Jul 02 16:08:47 2015 -0700
@@ -526,6 +526,10 @@
                 return ze;
             }
         }
+
+        public Iterator<ZipEntry> asIterator() {
+            return this;
+        }
     }
 
     /**
--- a/src/java.base/share/classes/sun/invoke/util/BytecodeName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/invoke/util/BytecodeName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -511,7 +511,7 @@
                 if (s.charAt(0) != ESCAPE_C && i > 0)
                     sb.append(NULL_ESCAPE);
                 // append the string so far, which is unremarkable:
-                sb.append(s.substring(0, i));
+                sb.append(s, 0, i);
             }
 
             // rewrite \ to \-, / to \|, etc.
@@ -544,7 +544,7 @@
                     if (sb == null) {
                         sb = new StringBuilder(s.length());
                         // append the string so far, which is unremarkable:
-                        sb.append(s.substring(stringStart, i));
+                        sb.append(s, stringStart, i);
                     }
                     ++i;  // skip both characters
                     c = oc;
--- a/src/java.base/share/classes/sun/net/www/ParseUtil.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/net/www/ParseUtil.java	Thu Jul 02 16:08:47 2015 -0700
@@ -451,7 +451,7 @@
                 if (!match(c, lowMask, highMask) && !isEscaped(s, i)) {
                     if (sb == null) {
                         sb = new StringBuffer();
-                        sb.append(s.substring(0, i));
+                        sb.append(s, 0, i);
                     }
                     appendEscape(sb, (byte)c);
                 } else {
@@ -463,7 +463,7 @@
                            || Character.isISOControl(c))) {
                 if (sb == null) {
                     sb = new StringBuffer();
-                    sb.append(s.substring(0, i));
+                    sb.append(s, 0, i);
                 }
                 appendEncoded(sb, c);
             } else {
--- a/src/java.base/share/classes/sun/nio/fs/AbstractFileTypeDetector.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/nio/fs/AbstractFileTypeDetector.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,27 @@
     }
 
     /**
+     * Returns the extension of a file name, specifically the portion of the
+     * parameter string after the first dot. If the parameter is {@code null},
+     * empty, does not contain a dot, or the dot is the last character, then an
+     * empty string is returned, otherwise the characters after the dot are
+     * returned.
+     *
+     * @param name A file name
+     * @return The characters after the first dot or an empty string.
+     */
+    protected final String getExtension(String name) {
+        String ext = "";
+        if (name != null && !name.isEmpty()) {
+            int dot = name.indexOf('.');
+            if ((dot >= 0) && (dot < name.length() - 1)) {
+                ext = name.substring(dot + 1);
+            }
+        }
+        return ext;
+    }
+
+    /**
      * Invokes the appropriate probe method to guess a file's content type,
      * and checks that the content type's syntax is valid.
      */
--- a/src/java.base/share/classes/sun/security/pkcs/ContentInfo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/pkcs/ContentInfo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -163,9 +163,9 @@
     }
 
     public byte[] getData() throws IOException {
-        if (contentType.equals((Object)DATA_OID) ||
-            contentType.equals((Object)OLD_DATA_OID) ||
-            contentType.equals((Object)TIMESTAMP_TOKEN_INFO_OID)) {
+        if (contentType.equals(DATA_OID) ||
+            contentType.equals(OLD_DATA_OID) ||
+            contentType.equals(TIMESTAMP_TOKEN_INFO_OID)) {
             if (content == null)
                 return null;
             else
--- a/src/java.base/share/classes/sun/security/pkcs/PKCS7.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/pkcs/PKCS7.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -182,13 +182,12 @@
         contentType = contentInfo.contentType;
         DerValue content = contentInfo.getContent();
 
-        if (contentType.equals((Object)ContentInfo.SIGNED_DATA_OID)) {
+        if (contentType.equals(ContentInfo.SIGNED_DATA_OID)) {
             parseSignedData(content);
-        } else if (contentType.equals((Object)ContentInfo.OLD_SIGNED_DATA_OID)) {
+        } else if (contentType.equals(ContentInfo.OLD_SIGNED_DATA_OID)) {
             // This is for backwards compatibility with JDK 1.1.x
             parseOldSignedData(content);
-        } else if (contentType.equals((Object)
-                       ContentInfo.NETSCAPE_CERT_SEQUENCE_OID)){
+        } else if (contentType.equals(ContentInfo.NETSCAPE_CERT_SEQUENCE_OID)){
             parseNetscapeCertChain(content);
         } else {
             throw new ParsingException("content type " + contentType +
--- a/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -307,7 +307,7 @@
                        authenticatedAttributes.getAttributeValue(
                          PKCS9Attribute.CONTENT_TYPE_OID);
                 if (contentType == null ||
-                    !contentType.equals((Object)content.contentType))
+                    !contentType.equals(content.contentType))
                     return null;  // contentType does not match, bad SignerInfo
 
                 // now, check message digest
--- a/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Thu Jul 02 16:08:47 2015 -0700
@@ -789,7 +789,7 @@
                 }
             }
             if (params != null) {
-                if (algorithm.equals((Object)pbes2_OID)) {
+                if (algorithm.equals(pbes2_OID)) {
                     algParams = AlgorithmParameters.getInstance("PBES2");
                 } else {
                     algParams = AlgorithmParameters.getInstance("PBE");
@@ -926,7 +926,7 @@
     private static String mapPBEParamsToAlgorithm(ObjectIdentifier algorithm,
         AlgorithmParameters algParams) throws NoSuchAlgorithmException {
         // Check for PBES2 algorithms
-        if (algorithm.equals((Object)pbes2_OID) && algParams != null) {
+        if (algorithm.equals(pbes2_OID) && algParams != null) {
             return algParams.toString();
         }
         return algorithm.toString();
@@ -1937,7 +1937,7 @@
         ContentInfo authSafe = new ContentInfo(s);
         ObjectIdentifier contentType = authSafe.getContentType();
 
-        if (contentType.equals((Object)ContentInfo.DATA_OID)) {
+        if (contentType.equals(ContentInfo.DATA_OID)) {
            authSafeData = authSafe.getData();
         } else /* signed data */ {
            throw new IOException("public key protected PKCS12 not supported");
@@ -1965,14 +1965,14 @@
             safeContents = new ContentInfo(sci);
             contentType = safeContents.getContentType();
             safeContentsData = null;
-            if (contentType.equals((Object)ContentInfo.DATA_OID)) {
+            if (contentType.equals(ContentInfo.DATA_OID)) {
 
                 if (debug != null) {
                     debug.println("Loading PKCS#7 data content-type");
                 }
 
                 safeContentsData = safeContents.getData();
-            } else if (contentType.equals((Object)ContentInfo.ENCRYPTED_DATA_OID)) {
+            } else if (contentType.equals(ContentInfo.ENCRYPTED_DATA_OID)) {
                 if (password == null) {
 
                     if (debug != null) {
@@ -2178,12 +2178,12 @@
                                         + bagValue.tag);
             }
             bagValue = bagValue.data.getDerValue();
-            if (bagId.equals((Object)PKCS8ShroudedKeyBag_OID)) {
+            if (bagId.equals(PKCS8ShroudedKeyBag_OID)) {
                 PrivateKeyEntry kEntry = new PrivateKeyEntry();
                 kEntry.protectedPrivKey = bagValue.toByteArray();
                 bagItem = kEntry;
                 privateKeyCount++;
-            } else if (bagId.equals((Object)CertBag_OID)) {
+            } else if (bagId.equals(CertBag_OID)) {
                 DerInputStream cs = new DerInputStream(bagValue.toByteArray());
                 DerValue[] certValues = cs.getSequence(2);
                 ObjectIdentifier certId = certValues[0].getOID();
@@ -2198,7 +2198,7 @@
                         (new ByteArrayInputStream(certValue.getOctetString()));
                 bagItem = cert;
                 certificateCount++;
-            } else if (bagId.equals((Object)SecretBag_OID)) {
+            } else if (bagId.equals(SecretBag_OID)) {
                 DerInputStream ss = new DerInputStream(bagValue.toByteArray());
                 DerValue[] secretValues = ss.getSequence(2);
                 ObjectIdentifier secretId = secretValues[0].getOID();
@@ -2249,12 +2249,12 @@
                         throw new IOException("Attribute " + attrId +
                                 " should have a value " + e.getMessage());
                     }
-                    if (attrId.equals((Object)PKCS9FriendlyName_OID)) {
+                    if (attrId.equals(PKCS9FriendlyName_OID)) {
                         alias = valSet[0].getBMPString();
-                    } else if (attrId.equals((Object)PKCS9LocalKeyId_OID)) {
+                    } else if (attrId.equals(PKCS9LocalKeyId_OID)) {
                         keyId = valSet[0].getOctetString();
                     } else if
-                        (attrId.equals((Object)TrustedKeyUsage_OID)) {
+                        (attrId.equals(TrustedKeyUsage_OID)) {
                         trustedKeyUsage = new ObjectIdentifier[valSet.length];
                         for (int k = 0; k < valSet.length; k++) {
                             trustedKeyUsage[k] = valSet[k].getOID();
--- a/src/java.base/share/classes/sun/security/provider/certpath/OCSP.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/provider/certpath/OCSP.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -322,7 +322,7 @@
 
         List<AccessDescription> descriptions = aia.getAccessDescriptions();
         for (AccessDescription description : descriptions) {
-            if (description.getAccessMethod().equals((Object)
+            if (description.getAccessMethod().equals(
                 AccessDescription.Ad_OCSP_Id)) {
 
                 GeneralName generalName = description.getAccessLocation();
--- a/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	Thu Jul 02 16:08:47 2015 -0700
@@ -239,7 +239,7 @@
         // responseType
         derIn = tmp.data;
         ObjectIdentifier responseType = derIn.getOID();
-        if (responseType.equals((Object)OCSP_BASIC_RESPONSE_OID)) {
+        if (responseType.equals(OCSP_BASIC_RESPONSE_OID)) {
             if (debug != null) {
                 debug.println("OCSP response type: basic");
             }
@@ -338,8 +338,7 @@
                         debug.println("OCSP extension: " + ext);
                     }
                     // Only the NONCE extension is recognized
-                    if (ext.getExtensionId().equals((Object)
-                        OCSP.NONCE_EXTENSION_OID))
+                    if (ext.getExtensionId().equals(OCSP.NONCE_EXTENSION_OID))
                     {
                         nonce = ext.getExtensionValue();
                     } else if (ext.isCritical())  {
--- a/src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java	Thu Jul 02 16:08:47 2015 -0700
@@ -202,7 +202,7 @@
      * object of a certificate's Authority Information Access Extension.
      */
     static CertStore getInstance(AccessDescription ad) {
-        if (!ad.getAccessMethod().equals((Object)
+        if (!ad.getAccessMethod().equals(
                 AccessDescription.Ad_CAISSUERS_Id)) {
             return null;
         }
--- a/src/java.base/share/classes/sun/security/rsa/RSASignature.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/rsa/RSASignature.java	Thu Jul 02 16:08:47 2015 -0700
@@ -232,7 +232,7 @@
             throw new IOException("SEQUENCE length error");
         }
         AlgorithmId algId = AlgorithmId.parse(values[0]);
-        if (algId.getOID().equals((Object)oid) == false) {
+        if (algId.getOID().equals(oid) == false) {
             throw new IOException("ObjectIdentifier mismatch: "
                 + algId.getOID());
         }
--- a/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1280,7 +1280,7 @@
         Iterator<PKCS10Attribute> attrs = req.getAttributes().getAttributes().iterator();
         while (attrs.hasNext()) {
             PKCS10Attribute attr = attrs.next();
-            if (attr.getAttributeId().equals((Object)PKCS9Attribute.EXTENSION_REQUEST_OID)) {
+            if (attr.getAttributeId().equals(PKCS9Attribute.EXTENSION_REQUEST_OID)) {
                 reqex = (CertificateExtensions)attr.getAttributeValue();
             }
         }
@@ -2338,7 +2338,7 @@
                 req.getSubjectName(), pkey.getFormat(), pkey.getAlgorithm());
         for (PKCS10Attribute attr: req.getAttributes().getAttributes()) {
             ObjectIdentifier oid = attr.getAttributeId();
-            if (oid.equals((Object)PKCS9Attribute.EXTENSION_REQUEST_OID)) {
+            if (oid.equals(PKCS9Attribute.EXTENSION_REQUEST_OID)) {
                 CertificateExtensions exts = (CertificateExtensions)attr.getAttributeValue();
                 if (exts != null) {
                     printExtensions(rb.getString("Extension.Request."), exts, out);
--- a/src/java.base/share/classes/sun/security/util/ObjectIdentifier.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/util/ObjectIdentifier.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -319,14 +319,6 @@
     }
 
     /**
-     * @deprecated Use equals((Object)oid)
-     */
-    @Deprecated
-    public boolean equals(ObjectIdentifier other) {
-        return equals((Object)other);
-    }
-
-    /**
      * Compares this identifier with another, for equality.
      *
      * @return true iff the names are identical.
--- a/src/java.base/share/classes/sun/security/x509/AVA.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/AVA.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -364,8 +364,8 @@
 
         // encode as PrintableString unless value contains
         // non-PrintableString chars
-        if (this.oid.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID) ||
-            (this.oid.equals((Object)X500Name.DOMAIN_COMPONENT_OID) &&
+        if (this.oid.equals(PKCS9Attribute.EMAIL_ADDRESS_OID) ||
+            (this.oid.equals(X500Name.DOMAIN_COMPONENT_OID) &&
                 PRESERVE_OLD_DC_ENCODING == false)) {
             // EmailAddress and DomainComponent must be IA5String
             return new DerValue(DerValue.tag_IA5String,
@@ -495,8 +495,8 @@
 
         // encode as PrintableString unless value contains
         // non-PrintableString chars
-        if (this.oid.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID) ||
-            (this.oid.equals((Object)X500Name.DOMAIN_COMPONENT_OID) &&
+        if (this.oid.equals(PKCS9Attribute.EMAIL_ADDRESS_OID) ||
+            (this.oid.equals(X500Name.DOMAIN_COMPONENT_OID) &&
                 PRESERVE_OLD_DC_ENCODING == false)) {
             // EmailAddress and DomainComponent must be IA5String
             return new DerValue(DerValue.tag_IA5String, temp.toString());
--- a/src/java.base/share/classes/sun/security/x509/AccessDescription.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/AccessDescription.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -95,19 +95,19 @@
         if (this == that) {
             return true;
         }
-        return (accessMethod.equals((Object)that.getAccessMethod()) &&
+        return (accessMethod.equals(that.getAccessMethod()) &&
             accessLocation.equals(that.getAccessLocation()));
     }
 
     public String toString() {
         String method = null;
-        if (accessMethod.equals((Object)Ad_CAISSUERS_Id)) {
+        if (accessMethod.equals(Ad_CAISSUERS_Id)) {
             method = "caIssuers";
-        } else if (accessMethod.equals((Object)Ad_CAREPOSITORY_Id)) {
+        } else if (accessMethod.equals(Ad_CAREPOSITORY_Id)) {
             method = "caRepository";
-        } else if (accessMethod.equals((Object)Ad_TIMESTAMPING_Id)) {
+        } else if (accessMethod.equals(Ad_TIMESTAMPING_Id)) {
             method = "timeStamping";
-        } else if (accessMethod.equals((Object)Ad_OCSP_Id)) {
+        } else if (accessMethod.equals(Ad_OCSP_Id)) {
             method = "ocsp";
         } else {
             method = accessMethod.toString();
--- a/src/java.base/share/classes/sun/security/x509/CertificateExtensions.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/CertificateExtensions.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -241,7 +241,7 @@
 
     public String getNameByOid(ObjectIdentifier oid) throws IOException {
         for (String name: map.keySet()) {
-            if (map.get(name).getExtensionId().equals((Object)oid)) {
+            if (map.get(name).getExtensionId().equals(oid)) {
                 return name;
             }
         }
--- a/src/java.base/share/classes/sun/security/x509/CertificatePolicyId.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/CertificatePolicyId.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -93,8 +93,7 @@
      */
     public boolean equals(Object other) {
         if (other instanceof CertificatePolicyId)
-            return id.equals((Object)
-                    ((CertificatePolicyId) other).getIdentifier());
+            return id.equals(((CertificatePolicyId) other).getIdentifier());
         else
             return false;
     }
--- a/src/java.base/share/classes/sun/security/x509/Extension.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/Extension.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -264,7 +264,7 @@
         Extension otherExt = (Extension) other;
         if (critical != otherExt.critical)
             return false;
-        if (!extensionId.equals((Object)otherExt.extensionId))
+        if (!extensionId.equals(otherExt.extensionId))
             return false;
         return Arrays.equals(extensionValue, otherExt.extensionValue);
     }
--- a/src/java.base/share/classes/sun/security/x509/NameConstraintsExtension.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/NameConstraintsExtension.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -579,7 +579,7 @@
     public boolean verifyRFC822SpecialCase(X500Name subject) throws IOException {
         for (AVA ava : subject.allAvas()) {
             ObjectIdentifier attrOID = ava.getObjectIdentifier();
-            if (attrOID.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID)) {
+            if (attrOID.equals(PKCS9Attribute.EMAIL_ADDRESS_OID)) {
                 String attrValue = ava.getValueString();
                 if (attrValue != null) {
                     RFC822Name emailName;
--- a/src/java.base/share/classes/sun/security/x509/OIDName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/OIDName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -120,7 +120,7 @@
 
         OIDName other = (OIDName)obj;
 
-        return oid.equals((Object)other.oid);
+        return oid.equals(other.oid);
     }
 
     /**
--- a/src/java.base/share/classes/sun/security/x509/OtherName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/OtherName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -176,7 +176,7 @@
             return false;
         }
         OtherName otherOther = (OtherName)other;
-        if (!(otherOther.oid.equals((Object)oid))) {
+        if (!(otherOther.oid.equals(oid))) {
             return false;
         }
         GeneralNameInterface otherGNI = null;
--- a/src/java.base/share/classes/sun/security/x509/RDN.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/RDN.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -321,7 +321,7 @@
      */
     DerValue findAttribute(ObjectIdentifier oid) {
         for (int i = 0; i < assertion.length; i++) {
-            if (assertion[i].oid.equals((Object)oid)) {
+            if (assertion[i].oid.equals(oid)) {
                 return assertion[i].value;
             }
         }
--- a/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -414,7 +414,7 @@
                                                  e.hasMoreElements();) {
                     ex = e.nextElement();
                     inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         crlExt = ex;
                         break;
                     }
--- a/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1039,7 +1039,7 @@
                                                  e.hasMoreElements();) {
                     ex = e.nextElement();
                     inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         crlExt = ex;
                         break;
                     }
--- a/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1339,7 +1339,7 @@
                     return ex;
                 }
                 for (Extension ex2: extensions.getAllExtensions()) {
-                    if (ex2.getExtensionId().equals((Object)oid)) {
+                    if (ex2.getExtensionId().equals(oid)) {
                         //XXXX May want to consider cloning this
                         return ex2;
                     }
@@ -1395,7 +1395,7 @@
 
                 for (Extension ex : exts.getAllExtensions()) {
                     ObjectIdentifier inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         certExt = ex;
                         break;
                     }
--- a/src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1850,7 +1850,7 @@
             syntaxError(chars, "Invalid property pattern");
         }
         chars.jumpahead(pos.getIndex());
-        rebuiltPat.append(patStr.substring(0, pos.getIndex()));
+        rebuiltPat.append(patStr, 0, pos.getIndex());
     }
 
     //----------------------------------------------------------------
--- a/src/java.base/share/classes/sun/util/BuddhistCalendar.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/classes/sun/util/BuddhistCalendar.java	Thu Jul 02 16:08:47 2015 -0700
@@ -242,12 +242,13 @@
             return s;
         }
         p += yearField.length();
-        StringBuilder sb = new StringBuilder(s.substring(0, p));
+        StringBuilder sb = new StringBuilder(s.length() + 10);
+        sb.append(s, 0, p);
         // Skip the year number
         while (Character.isDigit(s.charAt(p++)))
             ;
         int year = internalGet(YEAR) + BUDDHIST_YEAR_OFFSET;
-        sb.append(year).append(s.substring(p - 1));
+        sb.append(year).append(s, p - 1, s.length());
         return sb.toString();
     }
 
--- a/src/java.base/share/native/libjli/java.c	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/share/native/libjli/java.c	Thu Jul 02 16:08:47 2015 -0700
@@ -145,7 +145,7 @@
 static int knownVMsCount = 0;
 static int knownVMsLimit = 0;
 
-static void GrowKnownVMs();
+static void GrowKnownVMs(int minimum);
 static int  KnownVMIndex(const char* name);
 static void FreeKnownVMs();
 static jboolean IsWildCardEnabled();
--- a/src/java.base/unix/classes/java/io/UnixFileSystem.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/unix/classes/java/io/UnixFileSystem.java	Thu Jul 02 16:08:47 2015 -0700
@@ -65,8 +65,8 @@
         int n = len;
         while ((n > 0) && (pathname.charAt(n - 1) == '/')) n--;
         if (n == 0) return "/";
-        StringBuffer sb = new StringBuffer(pathname.length());
-        if (off > 0) sb.append(pathname.substring(0, off));
+        StringBuilder sb = new StringBuilder(pathname.length());
+        if (off > 0) sb.append(pathname, 0, off);
         char prevChar = 0;
         for (int i = off; i < n; i++) {
             char c = pathname.charAt(i);
--- a/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -83,18 +83,6 @@
         return mimeType;
     }
 
-    // Get the extension of a file name.
-    private static String getExtension(String name) {
-        String ext = "";
-        if (name != null && !name.isEmpty()) {
-            int dot = name.indexOf('.');
-            if ((dot >= 0) && (dot < name.length() - 1)) {
-                ext = name.substring(dot + 1);
-            }
-        }
-        return ext;
-    }
-
     /**
      * Parse the mime types file, and store the type-extension mappings into
      * mimeTypeMap. The mime types file is not loaded until the first probe
--- a/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Thu Jul 02 16:08:47 2015 -0700
@@ -104,7 +104,7 @@
         if (off < 3) off = 0;   /* Avoid fencepost cases with UNC pathnames */
         int src;
         char slash = this.slash;
-        StringBuffer sb = new StringBuffer(len);
+        StringBuilder sb = new StringBuilder(len);
 
         if (off == 0) {
             /* Complete normalization, including prefix */
@@ -112,7 +112,7 @@
         } else {
             /* Partial normalization */
             src = off;
-            sb.append(path.substring(0, off));
+            sb.append(path, 0, off);
         }
 
         /* Remove redundant slashes from the remainder of the path, forcing all
@@ -156,8 +156,7 @@
             }
         }
 
-        String rv = sb.toString();
-        return rv;
+        return sb.toString();
     }
 
     /* A normal Win32 pathname contains no duplicate slashes, except possibly
@@ -172,7 +171,7 @@
                 else directory-relative (has form "z:foo")
            3  absolute local pathname (begins with "z:\\")
      */
-    private int normalizePrefix(String path, int len, StringBuffer sb) {
+    private int normalizePrefix(String path, int len, StringBuilder sb) {
         int src = 0;
         while ((src < len) && isSlash(path.charAt(src))) src++;
         char c;
--- a/src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -275,7 +275,7 @@
     }
 
 
-    Hit getHitForPoint(final double x, final double y, final double w, final double h, final double hitX, final double hitY) {
+    Hit getHitForPoint(final int x, final int y, final int w, final int h, final int hitX, final int hitY) {
         sync();
         // reflect hitY about the midline of the control before sending to native
         final Hit hit = JRSUIConstants.getHit(getNativeHitPart(cfDictionaryPtr, priorEncodedProperties, currentEncodedProperties, x, y, w, h, hitX, 2 * y + h - hitY));
@@ -283,7 +283,7 @@
         return hit;
     }
 
-    void getPartBounds(final double[] rect, final double x, final double y, final double w, final double h, final int part) {
+    void getPartBounds(final double[] rect, final int x, final int y, final int w, final int h, final int part) {
         if (rect == null) throw new NullPointerException("Cannot load null rect");
         if (rect.length != 4) throw new IllegalArgumentException("Rect must have four elements");
 
@@ -292,7 +292,7 @@
         priorEncodedProperties = currentEncodedProperties;
     }
 
-    double getScrollBarOffsetChange(final double x, final double y, final double w, final double h, final int offset, final int visibleAmount, final int extent) {
+    double getScrollBarOffsetChange(final int x, final int y, final int w, final int h, final int offset, final int visibleAmount, final int extent) {
         sync();
         final double offsetChange = getNativeScrollBarOffsetChange(cfDictionaryPtr, priorEncodedProperties, currentEncodedProperties, x, y, w, h, offset, visibleAmount, extent);
         priorEncodedProperties = currentEncodedProperties;
--- a/src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,14 +25,15 @@
 
 package apple.laf;
 
-import com.apple.laf.AquaImageFactory.NineSliceMetrics;
+import java.security.AccessController;
 
-import apple.laf.JRSUIConstants.*;
+import apple.laf.JRSUIConstants.Hit;
+import apple.laf.JRSUIConstants.ScrollBarPart;
+import com.apple.laf.AquaImageFactory.NineSliceMetrics;
 import sun.security.action.GetPropertyAction;
 
-import java.security.AccessController;
+public final class JRSUIUtils {
 
-public class JRSUIUtils {
     static boolean isLeopard = isMacOSXLeopard();
     static boolean isSnowLeopardOrBelow = isMacOSXSnowLeopardOrBelow();
 
@@ -48,7 +49,9 @@
         return currentMacOSXVersionMatchesGivenVersionRange(version, true, false, false);
     }
 
-    static boolean currentMacOSXVersionMatchesGivenVersionRange(final int version, final boolean inclusive, final boolean matchBelow, final boolean matchAbove) {
+    static boolean currentMacOSXVersionMatchesGivenVersionRange(
+            final int version, final boolean inclusive,
+            final boolean matchBelow, final boolean matchAbove) {
         // split the "10.x.y" version number
         String osVersion = AccessController.doPrivileged(new GetPropertyAction("os.version"));
         String[] fragments = osVersion.split("\\.");
@@ -99,12 +102,22 @@
             return shouldUseScrollToClick();
         }
 
-        public static void getPartBounds(final double[] rect, final JRSUIControl control, final double x, final double y, final double w, final double h, final ScrollBarPart part) {
+        public static void getPartBounds(final double[] rect,
+                                         final JRSUIControl control,
+                                         final int x, final int y, final int w,
+                                         final int h,
+                                         final ScrollBarPart part) {
             control.getPartBounds(rect, x, y, w, h, part.ordinal);
         }
 
-        public static double getNativeOffsetChange(final JRSUIControl control, final double x, final double y, final double w, final double h, final int offset, final int visibleAmount, final int extent) {
-            return control.getScrollBarOffsetChange(x, y, w, h, offset, visibleAmount, extent);
+        public static double getNativeOffsetChange(final JRSUIControl control,
+                                                   final int x, final int y,
+                                                   final int w, final int h,
+                                                   final int offset,
+                                                   final int visibleAmount,
+                                                   final int extent) {
+            return control.getScrollBarOffsetChange(x, y, w, h, offset,
+                                                    visibleAmount, extent);
         }
     }
 
@@ -115,7 +128,10 @@
     }
 
     public static class HitDetection {
-        public static Hit getHitForPoint(final JRSUIControl control, final double x, final double y, final double w, final double h, final double hitX, final double hitY) {
+        public static Hit getHitForPoint(final JRSUIControl control,
+                                         final int x, final int y, final int w,
+                                         final int h, final int hitX,
+                                         final int hitY) {
             return control.getHitForPoint(x, y, w, h, hitX, hitY);
         }
     }
--- a/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,8 +26,8 @@
 
 import java.beans.ConstructorProperties;
 import java.io.InputStream;
-import java.net.URL;
 import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.security.PrivilegedExceptionAction;
 import java.util.Hashtable;
 import java.util.Properties;
@@ -261,7 +261,7 @@
      * @throws IllegalArgumentException if the specified cursor type is
      *         invalid
      */
-    static public Cursor getPredefinedCursor(int type) {
+    public static Cursor getPredefinedCursor(int type) {
         if (type < Cursor.DEFAULT_CURSOR || type > Cursor.MOVE_CURSOR) {
             throw new IllegalArgumentException("illegal cursor type");
         }
@@ -286,7 +286,7 @@
      * <code>GraphicsEnvironment.isHeadless</code> returns true
      * @exception AWTException in case of erroneous retrieving of the cursor
      */
-    static public Cursor getSystemCustomCursor(final String name)
+    public static Cursor getSystemCustomCursor(final String name)
         throws AWTException, HeadlessException {
         GraphicsEnvironment.checkHeadless();
         Cursor cursor = systemCustomCursors.get(name);
@@ -330,18 +330,15 @@
             } catch (NumberFormatException nfe) {
                 throw new AWTException("failed to parse hotspot property for cursor: " + name);
             }
-
-            try {
-                final Toolkit toolkit = Toolkit.getDefaultToolkit();
-                final String file = RESOURCE_PREFIX + fileName;
-
-                cursor = AccessController.doPrivileged(
-                        (PrivilegedExceptionAction<Cursor>) () -> {
-                            URL url = Cursor.class.getResource(file);
-                            Image image = toolkit.getImage(url);
-                            return toolkit.createCustomCursor(image, hotPoint,
-                                                              localized);
-                        });
+            final Toolkit toolkit = Toolkit.getDefaultToolkit();
+            final String file = RESOURCE_PREFIX + fileName;
+            final InputStream in = AccessController.doPrivileged(
+                    (PrivilegedAction<InputStream>) () -> {
+                        return Cursor.class.getResourceAsStream(file);
+                    });
+            try (in) {
+                Image image = toolkit.createImage(in.readAllBytes());
+                cursor = toolkit.createCustomCursor(image, hotPoint, localized);
             } catch (Exception e) {
                 throw new AWTException(
                     "Exception: " + e.getClass() + " " + e.getMessage() +
@@ -365,7 +362,7 @@
      *
      * @return the default cursor
      */
-    static public Cursor getDefaultCursor() {
+    public static Cursor getDefaultCursor() {
         return getPredefinedCursor(Cursor.DEFAULT_CURSOR);
     }
 
--- a/src/java.desktop/share/classes/java/awt/Toolkit.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java	Thu Jul 02 16:08:47 2015 -0700
@@ -58,6 +58,14 @@
 import sun.awt.SunToolkit;
 import sun.util.CoreResourceBundleControl;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Arrays;
+import java.util.ServiceLoader;
+import java.util.Set;
+import java.util.stream.Collectors;
+import javax.accessibility.AccessibilityProvider;
+
 /**
  * This class is the abstract superclass of all actual
  * implementations of the Abstract Window Toolkit. Subclasses of
@@ -420,7 +428,7 @@
                     }
                 }
 
-                // Get the names of any assistive technolgies to load.  First
+                // Get the names of any assistive technologies to load.  First
                 // check the system property and then check the properties
                 // file.
                 String classNames = System.getProperty("javax.accessibility.assistive_technologies");
@@ -436,85 +444,125 @@
     }
 
     /**
-     * Loads additional classes into the VM, using the property
-     * 'assistive_technologies' specified in the Sun reference
-     * implementation by a line in the 'accessibility.properties'
-     * file.  The form is "assistive_technologies=..." where
-     * the "..." is a comma-separated list of assistive technology
-     * classes to load.  Each class is loaded in the order given
-     * and a single instance of each is created using
-     * Class.forName(class).newInstance().  All errors are handled
-     * via an AWTError exception.
+     * Rethrow the AWTError but include the cause.
+     *
+     * @param s the error message
+     * @param e the original exception
+     * @throw the new AWTError including the cause (the original exception)
+     */
+    private static void newAWTError(Throwable e, String s) {
+        AWTError newAWTError = new AWTError(s);
+        newAWTError.initCause(e);
+        throw newAWTError;
+    }
+
+    /**
+     * When a service provider for Assistive Technology is not found look for a
+     * supporting class on the class path and instantiate it.
      *
-     * <p>The assumption is made that assistive technology classes are supplied
-     * as part of INSTALLED (as opposed to: BUNDLED) extensions or specified
-     * on the class path
-     * (and therefore can be loaded using the class loader returned by
-     * a call to <code>ClassLoader.getSystemClassLoader</code>, whose
-     * delegation parent is the extension class loader for installed
-     * extensions).
+     * @param atName the name of the class to be loaded
+     */
+    private static void fallbackToLoadClassForAT(String atName) {
+        try {
+            Class.forName(atName, false, ClassLoader.getSystemClassLoader()).newInstance();
+        } catch (ClassNotFoundException e) {
+            newAWTError(e, "Assistive Technology not found: " + atName);
+        } catch (InstantiationException e) {
+            newAWTError(e, "Could not instantiate Assistive Technology: " + atName);
+        } catch (IllegalAccessException e) {
+            newAWTError(e, "Could not access Assistive Technology: " + atName);
+        } catch (Exception e) {
+            newAWTError(e, "Error trying to install Assistive Technology: " + atName);
+        }
+    }
+
+    /**
+     * Loads accessibility support using the property assistive_technologies.
+     * The form is assistive_technologies= followed by a comma-separated list of
+     * assistive technology providers to load.  The order in which providers are
+     * loaded is determined by the order in which the ServiceLoader discovers
+     * implementations of the AccessibilityProvider interface, not by the order
+     * of provider names in the property list.  When a provider is found its
+     * accessibility implementation will be started by calling the provider's
+     * activate method.  All errors are handled via an AWTError exception.
      */
     private static void loadAssistiveTechnologies() {
         // Load any assistive technologies
         if (atNames != null) {
             ClassLoader cl = ClassLoader.getSystemClassLoader();
-            StringTokenizer parser = new StringTokenizer(atNames," ,");
-            String atName;
-            while (parser.hasMoreTokens()) {
-                atName = parser.nextToken();
+            Set<String> names = Arrays.stream(atNames.split(","))
+                                      .map(String::trim)
+                                      .collect(Collectors.toSet());
+            final Map<String, AccessibilityProvider> providers = new HashMap<>();
+            AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
                 try {
-                    Class<?> clazz;
-                    if (cl != null) {
-                        clazz = cl.loadClass(atName);
-                    } else {
-                        clazz = Class.forName(atName);
+                    for (AccessibilityProvider p : ServiceLoader.load(AccessibilityProvider.class, cl)) {
+                        String name = p.getName();
+                        if (names.contains(name) && !providers.containsKey(name)) {
+                            p.activate();
+                            providers.put(name, p);
+                        }
                     }
-                    clazz.newInstance();
-                } catch (ClassNotFoundException e) {
-                    throw new AWTError("Assistive Technology not found: "
-                            + atName);
-                } catch (InstantiationException e) {
-                    throw new AWTError("Could not instantiate Assistive"
-                            + " Technology: " + atName);
-                } catch (IllegalAccessException e) {
-                    throw new AWTError("Could not access Assistive"
-                            + " Technology: " + atName);
-                } catch (Exception e) {
-                    throw new AWTError("Error trying to install Assistive"
-                            + " Technology: " + atName + " " + e);
+                } catch (java.util.ServiceConfigurationError | Exception e) {
+                    newAWTError(e, "Could not load or activate service provider");
                 }
-            }
+                return null;
+            });
+            names.stream()
+                 .filter(n -> !providers.containsKey(n))
+                 .forEach(Toolkit::fallbackToLoadClassForAT);
         }
     }
 
     /**
      * Gets the default toolkit.
      * <p>
-     * If a system property named <code>"java.awt.headless"</code> is set
-     * to <code>true</code> then the headless implementation
-     * of <code>Toolkit</code> is used.
+     * If a system property named {@code "java.awt.headless"} is set
+     * to {@code true} then the headless implementation
+     * of {@code Toolkit} is used.
      * <p>
-     * If there is no <code>"java.awt.headless"</code> or it is set to
-     * <code>false</code> and there is a system property named
-     * <code>"awt.toolkit"</code>,
+     * If there is no {@code "java.awt.headless"} or it is set to
+     * {@code false} and there is a system property named
+     * {@code "awt.toolkit"},
      * that property is treated as the name of a class that is a subclass
-     * of <code>Toolkit</code>;
+     * of {@code Toolkit};
      * otherwise the default platform-specific implementation of
-     * <code>Toolkit</code> is used.
+     * {@code Toolkit} is used.
+     * <p>
+     * If this Toolkit is not a headless implementation and if they exist, service
+     * providers of {@link javax.accessibility.AccessibilityProvider} will be loaded
+     * if specified by the system property
+     * {@code javax.accessibility.assistive_technologies}.
      * <p>
-     * Also loads additional classes into the VM, using the property
-     * 'assistive_technologies' specified in the Sun reference
-     * implementation by a line in the 'accessibility.properties'
-     * file.  The form is "assistive_technologies=..." where
-     * the "..." is a comma-separated list of assistive technology
-     * classes to load.  Each class is loaded in the order given
-     * and a single instance of each is created using
-     * Class.forName(class).newInstance().  This is done just after
-     * the AWT toolkit is created.  All errors are handled via an
-     * AWTError exception.
-     * @return    the default toolkit.
+     * An example of setting this property is to invoke Java with
+     * {@code -Djavax.accessibility.assistive_technologies=MyServiceProvider}.
+     * In addition to MyServiceProvider other service providers can be specified
+     * using a comma separated list.  Service providers are loaded after the AWT
+     * toolkit is created. All errors are handled via an AWTError exception.
+     * <p>
+     * The names specified in the assistive_technologies property are used to query
+     * each service provider implementation.  If the requested name matches the
+     * {@linkplain AccessibilityProvider#getName name} of the service provider, the
+     * {@link AccessibilityProvider#activate} method will be invoked to activate the
+     * matching service provider.
+     *
+     * @implSpec
+     * If assistive technology service providers are not specified with a system
+     * property this implementation will look in a properties file located as follows:
+     * <ul>
+     * <li> {@code ${user.home}/.accessibility.properties}
+     * <li> {@code ${java.home}/conf/accessibility.properties}
+     * </ul>
+     * Only the first of these files to be located will be consulted.  The requested
+     * service providers are specified by setting the {@code assistive_technologies=}
+     * property.  A single provider or a comma separated list of providers can be
+     * specified.
+     *
+     * @return     the default toolkit.
      * @exception  AWTError  if a toolkit could not be found, or
      *                 if one could not be accessed or instantiated.
+     * @see java.util.ServiceLoader
+     * @see javax.accessibility.AccessibilityProvider
      */
     public static synchronized Toolkit getDefaultToolkit() {
         if (toolkit == null) {
@@ -550,7 +598,9 @@
                     return null;
                 }
             });
-            loadAssistiveTechnologies();
+            if (!GraphicsEnvironment.isHeadless()) {
+                loadAssistiveTechnologies();
+            }
         }
         return toolkit;
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.desktop/share/classes/javax/accessibility/AccessibilityProvider.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javax.accessibility;
+
+/**
+ * Service Provider Interface (SPI) for Assistive Technology.
+ * <p>
+ * This service provider class provides mappings from the platform
+ * specific accessibility APIs to the Java Accessibility API.
+ * <p>
+ * Each service provider implementation is named and can be activated via the
+ * {@link #activate} method. Service providers can be loaded when the default
+ * {@link java.awt.Toolkit toolkit} is initialized.
+ *
+ * @apiNote There will typically be one provider per platform, such as Windows
+ * or Linux, to support accessibility for screen readers and magnifiers.  However,
+ * more than one service provider can be activated.  For example, a test tool
+ * which provides visual results obtained by interrogating the Java Accessibility
+ * API can be activated along with the activation of the support for screen readers
+ * and screen magnifiers.
+ *
+ * @see java.awt.Toolkit#getDefaultToolkit
+ * @see java.util.ServiceLoader
+ * @since 1.9
+ */
+public abstract class AccessibilityProvider {
+
+    /**
+     * Initializes a new accessibility provider.
+     *
+     * @throws  SecurityException
+     *          If a security manager has been installed and it denies
+     *          {@link RuntimePermission} {@code "accessibilityProvider"}
+     */
+    protected AccessibilityProvider() {
+        // Use a permission check when calling a private constructor to check that
+        // the proper security permission has been granted before the Object superclass
+        // is called.  If an exception is thrown before the Object superclass is
+        // constructed a finalizer in a subclass of this class will not be run.
+        // This protects against a finalizer vulnerability.
+        this(checkPermission());
+    }
+
+    private AccessibilityProvider(Void ignore) { }
+
+    /**
+     * If this code is running with a security manager and if the permission
+     * "accessibilityProvider" has not been granted SecurityException will be thrown.
+     *
+     */
+    private static Void checkPermission() {
+        SecurityManager sm = System.getSecurityManager();
+        if (sm != null)
+            sm.checkPermission(new RuntimePermission("accessibilityProvider"));
+        return null;
+    }
+
+    /**
+     * Returns the name of this service provider.  This name is used to locate a
+     * requested service provider.
+     *
+     * @return the name of this service provider
+     */
+    public abstract String getName();
+
+    /**
+     * Activates the support provided by this service provider.
+     */
+    public abstract void activate();
+
+}
--- a/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -896,11 +896,12 @@
 
         // Paint the background for the tab area
         if ( tabPane.isOpaque() ) {
-            if (!c.isBackgroundSet() && (tabAreaBackground != null)) {
+            Color background = c.getBackground();
+            if (background instanceof UIResource && tabAreaBackground != null) {
                 g.setColor(tabAreaBackground);
             }
             else {
-                g.setColor( c.getBackground() );
+                g.setColor(background);
             }
             switch ( tabPlacement ) {
             case LEFT:
--- a/src/java.desktop/share/classes/sun/awt/SunToolkit.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/classes/sun/awt/SunToolkit.java	Thu Jul 02 16:08:47 2015 -0700
@@ -291,7 +291,7 @@
     // Maps from non-Component/MenuComponent to AppContext.
     // WeakHashMap<Component,AppContext>
     private static final Map<Object, AppContext> appContextMap =
-        Collections.synchronizedMap(new WeakHashMap<Object, AppContext>());
+        Collections.synchronizedMap(new WeakIdentityHashMap<Object, AppContext>());
 
     /**
      * Sets the appContext field of target. If target is not a Component or
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.desktop/share/classes/sun/awt/WeakIdentityHashMap.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,195 @@
+package sun.awt;
+
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
+import java.util.*;
+
+// A weak key reference hash map that uses System.identityHashCode() and "=="
+// instead of hashCode() and equals(Object)
+class WeakIdentityHashMap<K, V> implements Map<K, V> {
+    private final Map<WeakKey<K>, V> map;
+    private final transient ReferenceQueue<K> queue = new ReferenceQueue<K>();
+
+    /**
+     * Constructs a new, empty identity hash map with a default initial
+     * size (16).
+     */
+    public WeakIdentityHashMap() {
+        map = new HashMap<>(16);
+    }
+
+    /**
+     * Constructs a new, empty identity map with the specified initial size.
+     */
+    public WeakIdentityHashMap(int initialSize) {
+        map = new HashMap<>(initialSize);
+    }
+
+    private Map<WeakKey<K>, V> getMap() {
+        for(Reference<? extends K> ref; (ref = this.queue.poll()) != null;) {
+            map.remove(ref);
+        }
+        return map;
+    }
+
+    @Override
+    public int size() {
+        return getMap().size();
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return getMap().isEmpty();
+    }
+
+    @Override
+    public boolean containsKey(Object key) {
+        return getMap().containsKey(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public boolean containsValue(Object value) {
+        return getMap().containsValue(value);
+    }
+
+    @Override
+    public V get(Object key) {
+        return getMap().get(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public V put(K key, V value) {
+        return getMap().put(new WeakKey<K>(key, queue), value);
+    }
+
+    @Override
+    public V remove(Object key) {
+        return getMap().remove(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public void putAll(Map<? extends K, ? extends V> m) {
+        for (Entry<? extends K, ? extends V> entry : m.entrySet()) {
+            put(entry.getKey(), entry.getValue());
+        }
+    }
+
+    @Override
+    public void clear() {
+        getMap().clear();
+    }
+
+    @Override
+    public Set<K> keySet() {
+        return new AbstractSet<K>() {
+            @Override
+            public Iterator<K> iterator() {
+                return new Iterator<K>() {
+                    private K next;
+                    Iterator<WeakKey<K>> iterator = getMap().keySet().iterator();
+
+                    @Override
+                    public boolean hasNext() {
+                        while (iterator.hasNext()) {
+                            if ((next = iterator.next().get()) != null) {
+                                return true;
+                            }
+                        }
+                        return false;
+                    }
+
+                    @Override
+                    public K next() {
+                        if(next == null && !hasNext()) {
+                            throw new NoSuchElementException();
+                        }
+                        K ret = next;
+                        next = null;
+                        return ret;
+                    }
+                };
+            }
+
+            @Override
+            public int size() {
+                return getMap().keySet().size();
+            }
+        };
+    }
+
+    @Override
+    public Collection<V> values() {
+        return getMap().values();
+    }
+
+    @Override
+    public Set<Entry<K, V>> entrySet() {
+        return new AbstractSet<Entry<K, V>>() {
+            @Override
+            public Iterator<Entry<K, V>> iterator() {
+                final Iterator<Entry<WeakKey<K>, V>> iterator = getMap().entrySet().iterator();
+                return new Iterator<Entry<K, V>>() {
+                    @Override
+                    public boolean hasNext() {
+                        return iterator.hasNext();
+                    }
+
+                    @Override
+                    public Entry<K, V> next() {
+                        return new Entry<K, V>() {
+                            Entry<WeakKey<K>, V> entry = iterator.next();
+
+                            @Override
+                            public K getKey() {
+                                return entry.getKey().get();
+                            }
+
+                            @Override
+                            public V getValue() {
+                                return entry.getValue();
+                            }
+
+                            @Override
+                            public V setValue(V value) {
+                                return null;
+                            }
+                        };
+                    }
+                };
+            }
+
+            @Override
+            public int size() {
+                return getMap().entrySet().size();
+            }
+        };
+    }
+
+    private static class WeakKey<K> extends WeakReference<K>  {
+        private final int hash;
+
+        WeakKey(K key, ReferenceQueue <K> q) {
+            super(key, q);
+            hash = System.identityHashCode(key);
+        }
+
+        @Override
+        public boolean equals(Object o) {
+            if(this == o) {
+                return true;
+            } else if( o instanceof WeakKey ) {
+                return get() == ((WeakKey)o).get();
+            } else {
+                return false;
+            }
+        }
+
+        @Override
+        public int hashCode() {
+            return hash;
+        }
+    }
+
+
+}
--- a/src/java.desktop/share/native/libfontmanager/layout/LookupProcessor.cpp	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/native/libfontmanager/layout/LookupProcessor.cpp	Thu Jul 02 16:08:47 2015 -0700
@@ -175,7 +175,7 @@
   LEReferenceTo<LangSysTable> langSysTable;
     le_uint16 featureCount = 0;
     le_uint16 lookupListCount = 0;
-    le_uint16 requiredFeatureIndex;
+    le_uint16 requiredFeatureIndex = 0xFFFF;
 
     if (LE_FAILURE(success)) {
         return;
--- a/src/java.desktop/share/native/liblcms/cmsopt.c	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/share/native/liblcms/cmsopt.c	Thu Jul 02 16:08:47 2015 -0700
@@ -260,7 +260,9 @@
                             cmsStage* Multmat = cmsStageAllocMatrix(Lut->ContextID, 3, 3, (const cmsFloat64Number*) &res, NULL);
 
                             // Recover the chain
-                            Multmat->Next = chain;
+                            if (Multmat != NULL) {
+                                Multmat->Next = chain;
+                            }
                             *pt1 = Multmat;
                      }
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Jul 02 16:08:47 2015 -0700
@@ -2466,7 +2466,7 @@
 
     private static XEventDispatcher oops_waiter;
     private static boolean oops_updated;
-    private static boolean oops_move;
+    private static int oops_position = 0;
 
     /**
      * @inheritDoc
@@ -2495,9 +2495,12 @@
             oops_updated = false;
             long event_number = getEventNumber();
             // Generate OOPS ConfigureNotify event
-            XlibWrapper.XMoveWindow(getDisplay(), win.getWindow(), oops_move ? 0 : 1, 0);
+            XlibWrapper.XMoveWindow(getDisplay(), win.getWindow(), ++oops_position, 0);
             // Change win position each time to avoid system optimization
-            oops_move = !oops_move;
+            if (oops_position > 50) {
+                oops_position = 0;
+            }
+
             XSync();
 
             eventLog.finer("Generated OOPS ConfigureNotify event");
--- a/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -29,6 +29,7 @@
 import java.awt.Toolkit;
 import java.awt.image.BufferedImage;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.*;
 import java.util.concurrent.*;
@@ -233,6 +234,7 @@
     private Image smallIcon = null;
     private Image largeIcon = null;
     private Boolean isDir = null;
+    private final boolean isLib;
 
     /*
      * The following is to identify the My Documents folder as being special
@@ -254,6 +256,7 @@
         // Desktop is parent of DRIVES and NETWORK, not necessarily
         // other special shell folders.
         super(null, composePathForCsidl(csidl));
+        isLib = false;
 
         invoke(new Callable<Void>() {
             public Void call() throws InterruptedException {
@@ -279,7 +282,7 @@
                                 // Now we know that parent isn't immediate to 'this' because it
                                 // has a continued ID list. Create a shell folder for this child
                                 // pidl and make it the new 'parent'.
-                                parent = new Win32ShellFolder2((Win32ShellFolder2) parent, childPIDL);
+                                parent = createShellFolder((Win32ShellFolder2) parent, childPIDL);
                             } else {
                                 // No grandchildren means we have arrived at the parent of 'this',
                                 // and childPIDL is directly relative to parent.
@@ -301,8 +304,9 @@
     /**
      * Create a system shell folder
      */
-    Win32ShellFolder2(Win32ShellFolder2 parent, long pIShellFolder, long relativePIDL, String path) {
+    Win32ShellFolder2(Win32ShellFolder2 parent, long pIShellFolder, long relativePIDL, String path, boolean isLib) {
         super(parent, (path != null) ? path : "ShellFolder: ");
+        this.isLib = isLib;
         this.disposer.pIShellFolder = pIShellFolder;
         this.disposer.relativePIDL = relativePIDL;
         sun.java2d.Disposer.addRecord(this, disposer);
@@ -312,16 +316,19 @@
     /**
      * Creates a shell folder with a parent and relative PIDL
      */
-    Win32ShellFolder2(final Win32ShellFolder2 parent, final long relativePIDL) throws InterruptedException {
-        super(parent,
-            invoke(new Callable<String>() {
-                public String call() {
-                    return getFileSystemPath(parent.getIShellFolder(), relativePIDL);
-                }
-            }, RuntimeException.class)
-        );
-        this.disposer.relativePIDL = relativePIDL;
-        sun.java2d.Disposer.addRecord(this, disposer);
+    static Win32ShellFolder2 createShellFolder(Win32ShellFolder2 parent, long pIDL)
+            throws InterruptedException {
+        String path = invoke(new Callable<String>() {
+            public String call() {
+                return getFileSystemPath(parent.getIShellFolder(), pIDL);
+            }
+        }, RuntimeException.class);
+        String libPath = resolveLibrary(path);
+        if (libPath == null) {
+            return new Win32ShellFolder2(parent, 0, pIDL, path, false);
+        } else {
+            return new Win32ShellFolder2(parent, 0, pIDL, libPath, true);
+        }
     }
 
     // Initializes the desktop shell folder
@@ -601,20 +608,24 @@
         }
         String path = getDisplayNameOf(parentIShellFolder, relativePIDL,
                         SHGDN_FORPARSING);
+        return path;
+    }
+
+    private static String resolveLibrary(String path) {
         // if this is a library its default save location is taken as a path
         // this is a temp fix until java.io starts support Libraries
         if( path != null && path.startsWith("::{") &&
                 path.toLowerCase().endsWith(".library-ms")) {
             for (KnownFolderDefinition kf : KnownFolderDefinition.libraries) {
-                if( path.toLowerCase().endsWith(
-                            kf.relativePath.toLowerCase()) &&
-                            path.toUpperCase().startsWith(
-                            kf.parsingName.substring(0, 40).toUpperCase()) ) {
+                if (path.toLowerCase().endsWith(
+                        "\\" + kf.relativePath.toLowerCase()) &&
+                        path.toUpperCase().startsWith(
+                        kf.parsingName.substring(0, 40).toUpperCase())) {
                     return kf.saveLocation;
                 }
             }
         }
-        return path;
+        return null;
     }
 
     // Needs to be accessible to Win32ShellFolderManager2
@@ -750,7 +761,7 @@
                                             && pidlsEqual(pIShellFolder, childPIDL, personal.disposer.relativePIDL)) {
                                         childFolder = personal;
                                     } else {
-                                        childFolder = new Win32ShellFolder2(Win32ShellFolder2.this, childPIDL);
+                                        childFolder = createShellFolder(Win32ShellFolder2.this, childPIDL);
                                         releasePIDL = false;
                                     }
                                     list.add(childFolder);
@@ -790,10 +801,11 @@
                 while ((childPIDL = getNextChild(pEnumObjects)) != 0) {
                     if (getAttributes0(pIShellFolder, childPIDL, ATTRIB_FILESYSTEM) != 0) {
                         String path = getFileSystemPath(pIShellFolder, childPIDL);
+                        if(isLib) path = resolveLibrary( path );
                         if (path != null && path.equalsIgnoreCase(filePath)) {
                             long childIShellFolder = bindToObject(pIShellFolder, childPIDL);
                             child = new Win32ShellFolder2(Win32ShellFolder2.this,
-                                    childIShellFolder, childPIDL, path);
+                                    childIShellFolder, childPIDL, path, isLib);
                             break;
                         }
                     }
@@ -839,14 +851,14 @@
         return getLinkLocation(true);
     }
 
-    private ShellFolder getLinkLocation(final boolean resolve) {
-        return invoke(new Callable<ShellFolder>() {
-            public ShellFolder call() {
+    private Win32ShellFolder2 getLinkLocation(final boolean resolve) {
+        return invoke(new Callable<Win32ShellFolder2>() {
+            public Win32ShellFolder2 call() {
                 if (!isLink()) {
                     return null;
                 }
 
-                ShellFolder location = null;
+                Win32ShellFolder2 location = null;
                 long linkLocationPIDL = getLinkLocation(getParentIShellFolder(),
                         getRelativePIDL(), resolve);
                 if (linkLocationPIDL != 0) {
@@ -956,7 +968,7 @@
 
     // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details
     private static native long extractIcon(long parentIShellFolder, long relativePIDL,
-                                           boolean getLargeIcon);
+                                           boolean getLargeIcon, boolean getDefaultIcon);
 
     // Returns an icon from the Windows system icon list in the form of an HICON
     private static native long getSystemIcon(int iconID);
@@ -1007,7 +1019,13 @@
                 invoke(new Callable<Image>() {
                     public Image call() {
                         Image newIcon = null;
-                        if (isFileSystem()) {
+                        if (isLink()) {
+                            Win32ShellFolder2 folder = getLinkLocation(false);
+                            if (folder != null && folder.isLibrary()) {
+                                return folder.getIcon(getLargeIcon);
+                            }
+                        }
+                        if (isFileSystem() || isLibrary()) {
                             long parentIShellIcon = (parent != null)
                                 ? ((Win32ShellFolder2) parent).getIShellIcon()
                                 : 0L;
@@ -1037,7 +1055,19 @@
                         if (newIcon == null) {
                             // These are only cached per object
                             long hIcon = extractIcon(getParentIShellFolder(),
-                                getRelativePIDL(), getLargeIcon);
+                                    getRelativePIDL(), getLargeIcon, false);
+                            // E_PENDING: loading can take time so get the default
+                            if(hIcon <= 0) {
+                                hIcon = extractIcon(getParentIShellFolder(),
+                                         getRelativePIDL(), getLargeIcon, true);
+                                if(hIcon <= 0) {
+                                    if (isDirectory()) {
+                                        return getShell32Icon(4, getLargeIcon);
+                                    } else {
+                                        return getShell32Icon(1, getLargeIcon);
+                                    }
+                                }
+                            }
                             newIcon = makeIcon(hIcon, getLargeIcon);
                             disposeIcon(hIcon);
                         }
@@ -1129,6 +1159,8 @@
     private static final int LVCFMT_CENTER = 2;
 
     public ShellFolderColumnInfo[] getFolderColumns() {
+        ShellFolder library = resolveLibrary();
+        if (library != null) return library.getFolderColumns();
         return invoke(new Callable<ShellFolderColumnInfo[]>() {
             public ShellFolderColumnInfo[] call() {
                 ShellFolderColumnInfo[] columns = doGetColumnInfo(getIShellFolder());
@@ -1159,6 +1191,10 @@
     }
 
     public Object getFolderColumnValue(final int column) {
+        if(!isLibrary()) {
+            ShellFolder library = resolveLibrary();
+            if (library != null) return library.getFolderColumnValue(column);
+        }
         return invoke(new Callable<Object>() {
             public Object call() {
                 return doGetColumnValue(getParentIShellFolder(), getRelativePIDL(), column);
@@ -1166,6 +1202,26 @@
         });
     }
 
+    boolean isLibrary() {
+        return isLib;
+    }
+
+    private ShellFolder resolveLibrary() {
+        for (ShellFolder f = this; f != null; f = f.parent) {
+            if (!f.isFileSystem()) {
+                if (f instanceof Win32ShellFolder2 &&
+                                           ((Win32ShellFolder2)f).isLibrary()) {
+                    try {
+                        return getShellFolder(new File(getPath()));
+                    } catch (FileNotFoundException e) {
+                    }
+                }
+                break;
+            }
+        }
+        return null;
+    }
+
     // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details
     private native ShellFolderColumnInfo[] doGetColumnInfo(long iShellFolder2);
 
--- a/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -94,7 +94,7 @@
         while (pIDL != 0) {
             long curPIDL = Win32ShellFolder2.copyFirstPIDLEntry(pIDL);
             if (curPIDL != 0) {
-                parent = new Win32ShellFolder2(parent, curPIDL);
+                parent = Win32ShellFolder2.createShellFolder(parent, curPIDL);
                 pIDL = Win32ShellFolder2.getNextPIDLEntry(pIDL);
             } else {
                 // The list is empty if the parent is Desktop and pIDL is a shortcut to Desktop
--- a/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp	Thu Jul 02 16:08:47 2015 -0700
@@ -868,10 +868,11 @@
 /*
  * Class:     sun_awt_shell_Win32ShellFolder2
  * Method:    extractIcon
- * Signature: (JJZ)J
+ * Signature: (JJZZ)J
  */
 JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_extractIcon
-    (JNIEnv* env, jclass cls, jlong pIShellFolderL, jlong relativePIDL, jboolean getLargeIcon)
+    (JNIEnv* env, jclass cls, jlong pIShellFolderL, jlong relativePIDL,
+                                jboolean getLargeIcon, jboolean getDefaultIcon)
 {
     IShellFolder* pIShellFolder = (IShellFolder*)pIShellFolderL;
     LPITEMIDLIST pidl = (LPITEMIDLIST)relativePIDL;
@@ -889,7 +890,8 @@
         WCHAR szBuf[MAX_PATH];
         INT index;
         UINT flags;
-        hres = pIcon->GetIconLocation(GIL_FORSHELL, szBuf, MAX_PATH, &index, &flags);
+        UINT uFlags = getDefaultIcon ? GIL_DEFAULTICON : GIL_FORSHELL | GIL_ASYNC;
+        hres = pIcon->GetIconLocation(uFlags, szBuf, MAX_PATH, &index, &flags);
         if (SUCCEEDED(hres)) {
             HICON hIconLarge;
             hres = pIcon->Extract(szBuf, index, &hIconLarge, &hIcon, (16 << 16) + 32);
@@ -901,6 +903,9 @@
                     fn_DestroyIcon((HICON)hIconLarge);
                 }
             }
+        } else if (hres == E_PENDING) {
+            pIcon->Release();
+            return E_PENDING;
         }
         pIcon->Release();
     }
@@ -1284,7 +1289,6 @@
 JNIEXPORT jobjectArray JNICALL Java_sun_awt_shell_Win32ShellFolder2_loadKnownFolders
     (JNIEnv* env, jclass cls )
 {
-    CoInitialize(NULL);
     IKnownFolderManager* pkfm = NULL;
     HRESULT hr = CoCreateInstance(CLSID_KnownFolderManager, NULL,
                                 CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pkfm));
--- a/src/java.desktop/windows/native/libawt/windows/awt.rc	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/windows/native/libawt/windows/awt.rc	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 // 
-// Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+// Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
 // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 //
 // This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,6 @@
 
 LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 
-HAND_CURSOR  CURSOR  DISCARDABLE "hand.cur"
 AWT_ICON     ICON    DISCARDABLE "awt.ico"
 CHECK_BITMAP BITMAP  DISCARDABLE "check.bmp"
 
--- a/src/java.desktop/windows/native/libawt/windows/awt_Cursor.cpp	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.desktop/windows/native/libawt/windows/awt_Cursor.cpp	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -144,7 +144,7 @@
         winCursor = IDC_SIZEWE;
         break;
       case java_awt_Cursor_HAND_CURSOR:
-        winCursor = TEXT("HAND_CURSOR");
+        winCursor = IDC_HAND;
         break;
       case java_awt_Cursor_MOVE_CURSOR:
         winCursor = IDC_SIZEALL;
Binary file src/java.desktop/windows/native/libawt/windows/hand.cur has changed
--- a/src/java.security.jgss/share/classes/org/ietf/jgss/Oid.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.security.jgss/share/classes/org/ietf/jgss/Oid.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -157,7 +157,7 @@
             return (true);
 
         if (other instanceof Oid)
-            return this.oid.equals((Object)((Oid) other).oid);
+            return this.oid.equals(((Oid) other).oid);
         else if (other instanceof ObjectIdentifier)
             return this.oid.equals(other);
         else
--- a/src/java.security.jgss/share/classes/sun/security/jgss/GSSContextImpl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/GSSContextImpl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -252,7 +252,7 @@
                 } else {
                     // parse GSS header
                     gssHeader = new GSSHeader(inStream);
-                    if (!gssHeader.getOid().equals((Object) objId))
+                    if (!gssHeader.getOid().equals(objId))
                         throw new GSSExceptionImpl
                             (GSSException.DEFECTIVE_TOKEN,
                              "Mechanism not equal to " +
@@ -346,7 +346,7 @@
                 } else {
                     // parse GSS Header
                     gssHeader = new GSSHeader(inStream);
-                    if (!gssHeader.getOid().equals((Object) objId))
+                    if (!gssHeader.getOid().equals(objId))
                         throw new GSSExceptionImpl
                             (GSSException.DEFECTIVE_TOKEN,
                              "Mechanism not equal to " +
--- a/src/java.security.jgss/share/classes/sun/security/jgss/krb5/MessageToken.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.security.jgss/share/classes/sun/security/jgss/krb5/MessageToken.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -182,7 +182,7 @@
         try {
             gssHeader = new GSSHeader(is);
 
-            if (!gssHeader.getOid().equals((Object)OID)) {
+            if (!gssHeader.getOid().equals(OID)) {
                 throw new GSSException(GSSException.DEFECTIVE_TOKEN, -1,
                                        getTokenName(tokenId));
             }
--- a/src/java.sql/share/classes/java/sql/DriverManager.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/java.sql/share/classes/java/sql/DriverManager.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,11 +25,17 @@
 
 package java.sql;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.List;
 import java.util.ServiceLoader;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Stream;
+
 import sun.reflect.CallerSensitive;
 import sun.reflect.Reflection;
 
@@ -429,29 +435,44 @@
      * <CODE>d.getClass().getName()</CODE>
      *
      * @return the list of JDBC Drivers loaded by the caller's class loader
+     * @see #drivers()
      */
     @CallerSensitive
-    public static java.util.Enumeration<Driver> getDrivers() {
-        java.util.Vector<Driver> result = new java.util.Vector<>();
-
+    public static Enumeration<Driver> getDrivers() {
         ensureDriversInitialized();
 
-        Class<?> callerClass = Reflection.getCallerClass();
+        return Collections.enumeration(getDrivers(Reflection.getCallerClass()));
+    }
 
+    /**
+     * Retrieves a Stream with all of the currently loaded JDBC drivers
+     * to which the current caller has access.
+     *
+     * @return the stream of JDBC Drivers loaded by the caller's class loader
+     * @since 1.9
+     */
+    @CallerSensitive
+    public static Stream<Driver> drivers() {
+        ensureDriversInitialized();
+
+        return getDrivers(Reflection.getCallerClass()).stream();
+    }
+
+    private static List<Driver> getDrivers(Class<?> callerClass) {
+        List<Driver> result = new ArrayList<>();
         // Walk through the loaded registeredDrivers.
         for (DriverInfo aDriver : registeredDrivers) {
             // If the caller does not have permission to load the driver then
             // skip it.
             if (isDriverAllowed(aDriver.driver, callerClass)) {
-                result.addElement(aDriver.driver);
+                result.add(aDriver.driver);
             } else {
                 println("    skipping: " + aDriver.getClass().getName());
             }
         }
-        return (result.elements());
+        return result;
     }
 
-
     /**
      * Sets the maximum time in seconds that a driver will wait
      * while attempting to connect to a database once the driver has
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,26 @@
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+
+
+com.sun.java.accessibility.ProviderImpl
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/ProviderImpl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.java.accessibility;
+
+import javax.accessibility.AccessibilityProvider;
+
+/* This class provided methods to identify and activate the mapping from the
+ * JavaAccessBridge API to the Java Accessibility API.
+ */
+public final class ProviderImpl extends AccessibilityProvider {
+    /**
+     * Typically the service name returned by the name() method would be a simple
+     * name such as JavaAccessBridge, but the following name is used for compatibility
+     * with prior versions of ${user.home}/.accessibility.properties and
+     * ${java.home}/conf/accessibility.properties where the text on the
+     * assistive.technologies= line is a fully qualified class name. As of Java 9
+     * class names are no longer used to identify assistive technology implementations.
+     * If the properties file exists the installer will not replace it thus the
+     * need for compatibility.
+     */
+    private final String name = "com.sun.java.accessibility.AccessBridge";
+
+    public ProviderImpl() {}
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        /**
+         * Note that the AccessBridge is instantiated here rather than in the
+         * constructor.  If the caller determines that this object is named
+         * "com.sun.java.accessibility.AccessBridge" then the caller will call
+         * start to instantiate the AccessBridge which will in turn activate it.
+         */
+        new AccessBridge();
+    }
+
+}
--- a/src/jdk.accessibility/windows/conf/accessibility.properties	Thu Jul 02 08:54:01 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-#
-# Load the Java Access Bridge class into the JVM
-#
-#assistive_technologies=com.sun.java.accessibility.AccessBridge
-#screen_magnifier_present=true
-
--- a/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Jul 02 16:08:47 2015 -0700
@@ -30,6 +30,7 @@
 
 #include <jni.h>
 #include <stdlib.h>
+#include <string.h>
 #include <windows.h>
 #include <BaseTsd.h>
 #include <wincrypt.h>
@@ -58,11 +59,16 @@
     char szMessage[1024];
     szMessage[0] = '\0';
 
-    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, NULL, szMessage,
-        1024, NULL);
+    DWORD res = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError,
+        NULL, szMessage, sizeof(szMessage), NULL);
+    if (res == 0) {
+        strcpy(szMessage, "Unknown error");
+    }
 
     jclass exceptionClazz = env->FindClass(exceptionName);
-    env->ThrowNew(exceptionClazz, szMessage);
+    if (exceptionClazz != NULL) {
+        env->ThrowNew(exceptionClazz, szMessage);
+    }
 }
 
 
@@ -295,22 +301,42 @@
 
         // Determine clazz and method ID to generate certificate
         jclass clazzArrayList = env->FindClass("java/util/ArrayList");
+        if (clazzArrayList == NULL) {
+            __leave;
+        }
 
         jmethodID mNewArrayList = env->GetMethodID(clazzArrayList, "<init>", "()V");
+        if (mNewArrayList == NULL) {
+            __leave;
+        }
 
-        jmethodID mGenCert = env->GetMethodID(env->GetObjectClass(obj),
+        jclass clazzOfThis = env->GetObjectClass(obj);
+        if (clazzOfThis == NULL) {
+            __leave;
+        }
+
+        jmethodID mGenCert = env->GetMethodID(clazzOfThis,
                                               "generateCertificate",
                                               "([BLjava/util/Collection;)V");
+        if (mGenCert == NULL) {
+            __leave;
+        }
 
         // Determine method ID to generate certificate chain
-        jmethodID mGenCertChain = env->GetMethodID(env->GetObjectClass(obj),
+        jmethodID mGenCertChain = env->GetMethodID(clazzOfThis,
                                                    "generateCertificateChain",
                                                    "(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;)V");
+        if (mGenCertChain == NULL) {
+            __leave;
+        }
 
         // Determine method ID to generate RSA certificate chain
-        jmethodID mGenRSAKeyAndCertChain = env->GetMethodID(env->GetObjectClass(obj),
+        jmethodID mGenRSAKeyAndCertChain = env->GetMethodID(clazzOfThis,
                                                    "generateRSAKeyAndCertificateChain",
                                                    "(Ljava/lang/String;JJILjava/util/Collection;Ljava/util/Collection;)V");
+        if (mGenRSAKeyAndCertChain == NULL) {
+            __leave;
+        }
 
         // Use CertEnumCertificatesInStore to get the certificates
         // from the open store. pCertContext must be reset to
@@ -590,9 +616,6 @@
     }
     __finally
     {
-        if (hCryptProvAlt)
-            ::CryptReleaseContext(hCryptProvAlt, 0);
-
         if (pSignedHashBuffer)
             delete [] pSignedHashBuffer;
 
@@ -601,6 +624,9 @@
 
         if (hHash)
             ::CryptDestroyHash(hHash);
+
+        if (hCryptProvAlt)
+            ::CryptReleaseContext(hCryptProvAlt, 0);
     }
 
     return jSignedHash;
@@ -688,9 +714,6 @@
 
     __finally
     {
-        if (hCryptProvAlt)
-            ::CryptReleaseContext(hCryptProvAlt, 0);
-
         if (pSignedHashBuffer)
             delete [] pSignedHashBuffer;
 
@@ -699,6 +722,9 @@
 
         if (hHash)
             ::CryptDestroyHash(hHash);
+
+        if (hCryptProvAlt)
+            ::CryptReleaseContext(hCryptProvAlt, 0);
     }
 
     return result;
@@ -763,9 +789,15 @@
         // Get the method ID for the RSAKeyPair constructor
         jclass clazzRSAKeyPair =
             env->FindClass("sun/security/mscapi/RSAKeyPair");
+        if (clazzRSAKeyPair == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAKeyPair =
             env->GetMethodID(clazzRSAKeyPair, "<init>", "(JJI)V");
+        if (mNewRSAKeyPair == NULL) {
+            __leave;
+        }
 
         // Create a new RSA keypair
         keypair = env->NewObject(clazzRSAKeyPair, mNewRSAKeyPair,
@@ -1948,9 +1980,15 @@
         // Get the method ID for the RSAPrivateKey constructor
         jclass clazzRSAPrivateKey =
             env->FindClass("sun/security/mscapi/RSAPrivateKey");
+        if (clazzRSAPrivateKey == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAPrivateKey =
             env->GetMethodID(clazzRSAPrivateKey, "<init>", "(JJI)V");
+        if (mNewRSAPrivateKey == NULL) {
+            __leave;
+        }
 
         // Create a new RSA private key
         privateKey = env->NewObject(clazzRSAPrivateKey, mNewRSAPrivateKey,
@@ -2035,9 +2073,15 @@
         // Get the method ID for the RSAPublicKey constructor
         jclass clazzRSAPublicKey =
             env->FindClass("sun/security/mscapi/RSAPublicKey");
+        if (clazzRSAPublicKey == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAPublicKey =
             env->GetMethodID(clazzRSAPublicKey, "<init>", "(JJI)V");
+        if (mNewRSAPublicKey == NULL) {
+            __leave;
+        }
 
         // Create a new RSA public key
         publicKey = env->NewObject(clazzRSAPublicKey, mNewRSAPublicKey,
--- a/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java	Thu Jul 02 16:08:47 2015 -0700
@@ -169,7 +169,7 @@
             for (int i = 0; i < derValue.length; i++) {
                 description = new AccessDescription(derValue[i]);
                 if (description.getAccessMethod()
-                        .equals((Object)AD_TIMESTAMPING_Id)) {
+                        .equals(AD_TIMESTAMPING_Id)) {
                     location = description.getAccessLocation();
                     if (location.getType() == GeneralNameInterface.NAME_URI) {
                         uri = (URIName) location.getName();
--- a/test/ProblemList.txt	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/ProblemList.txt	Thu Jul 02 16:08:47 2015 -0700
@@ -116,6 +116,12 @@
 
 # jdk_beans
 
+# 8060027
+java/beans/XMLEncoder/Test4903007.java                        generic-all
+java/beans/XMLEncoder/java_awt_GridBagLayout.java             generic-all
+java/beans/XMLDecoder/8028054/TestConstructorFinder.java      generic-all
+java/beans/XMLDecoder/8028054/TestMethodFinder.java           generic-all
+
 ############################################################################
 
 # jdk_lang
@@ -221,9 +227,6 @@
 # 7164518: no PortUnreachableException on Mac
 sun/security/krb5/auto/Unreachable.java                         macosx-all
 
-# 8058849
-sun/security/krb5/config/dns.sh                                 generic-all
-
 # 7041639: Solaris DSA keypair generation bug
 java/security/KeyPairGenerator/SolarisShortDSA.java             solaris-all
 sun/security/tools/keytool/standard.sh                          solaris-all
@@ -292,10 +295,16 @@
 sun/security/pkcs11/tls/TestPRF.java                            windows-all
 sun/security/pkcs11/tls/TestPremaster.java                      windows-all
 
+# 8051770
+sun/security/provider/SecureRandom/StrongSecureRandom.java      macosx-10.10
+
 ############################################################################
 
 # jdk_sound
 
+# 8059743
+javax/sound/midi/Gervill/SoftProvider/GetDevice.java            generic-all
+
 ############################################################################
 
 # jdk_swing
--- a/test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 8007267
  * @summary [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working
  * @author leonid.romanov@oracle.com
+ * @modules java.desktop/sun.awt
  * @run main DefaultMenuBarTest
  */
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/apple/eawt/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,8 @@
   @summary The size returned by SecurityWarning.getSize() should not be zero
   @author anthony.petrov@sun.com: area=awt.toplevel
   @library ../../../../java/awt/regtesthelpers
+  @modules java.desktop/com.sun.awt
+           java.desktop/sun.awt
   @build Util CustomSecurityManager CopyClassFile
   @run main CopyClassFile CustomSecurityManager bootcp/
   @run main/othervm/secure=CustomSecurityManager -Xbootclasspath/a:bootcp GetSizeShouldNotReturnZero
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/awt/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/com/sun/awt/Translucency/WindowOpacity.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/awt/Translucency/WindowOpacity.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 6594131
   @summary Tests the AWTUtilities.get/setWindowOpacity() methods
   @author anthony.petrov@...: area=awt.toplevel
+  @modules java.desktop/com.sun.awt
   @run main WindowOpacity
 */
 
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4511676.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4511676.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4511676 {
     private static final String ALGO = "AES";
@@ -59,7 +58,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
 
         Test4511676 test = new Test4511676();
         String testName = test.getClass().getName() + "[" + ALGO +
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4512524.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4512524.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4512524 {
 
@@ -65,8 +64,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4512524 test = new Test4512524();
         test.execute("CBC");
         test.execute("GCM");
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4512704.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4512704.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4512704 {
     private static final String ALGO = "AES";
@@ -61,8 +60,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4512704 test = new Test4512704();
         test.execute("CBC");
         test.execute("GCM");
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -85,8 +85,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4513830 test = new Test4513830();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4517355 {
 
@@ -93,8 +92,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4517355 test = new Test4517355();
         Random rdm = new Random();
         rdm.nextBytes(test.plainText);
--- a/test/com/sun/crypto/provider/Cipher/AES/Test4626070.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/Test4626070.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,8 +60,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4626070 test = new Test4626070();
         test.execute("CBC", "PKCS5Padding");
         test.execute("GCM", "NoPadding");
--- a/test/com/sun/crypto/provider/Cipher/AES/TestGHASH.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/TestGHASH.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2015, Red Hat, Inc.
+ * Copyright (c) 2015, Oracle, Inc.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,7 +25,14 @@
 /*
  * @test
  * @bug 8069072
- * @summary Test vectors for com.sun.crypto.provider.GHASH
+ * @summary Test vectors for com.sun.crypto.provider.GHASH.
+ *
+ * Single iteration to verify software-only GHASH algorithm.
+ * @run main TestGHASH
+ *
+ * Multi-iteration to verify test intrinsics GHASH, if available.
+ * Many iterations are needed so we are sure hotspot will use intrinsic
+ * @run main TestGHASH -n 10000
  */
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
@@ -124,43 +132,55 @@
 
     public static void main(String[] args) throws Exception {
         TestGHASH test;
-        if (args.length == 0) {
-            test = new TestGHASH("com.sun.crypto.provider.GHASH");
-        } else {
-            test = new TestGHASH(args[0]);
+        String test_class = "com.sun.crypto.provider.GHASH";
+        int i = 0;
+        int num_of_loops = 1;
+        while (args.length > i) {
+            if (args[i].compareTo("-c") == 0) {
+                test_class = args[++i];
+            } else if (args[i].compareTo("-n") == 0) {
+                num_of_loops = Integer.parseInt(args[++i]);
+            }
+            i++;
         }
 
-        // Test vectors from David A. McGrew, John Viega,
-        // "The Galois/Counter Mode of Operation (GCM)", 2005.
-        // <http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf>
+        System.out.println("Running " + num_of_loops + " iterations.");
+        test = new TestGHASH(test_class);
+        i = 0;
 
-        test.check(1, "66e94bd4ef8a2c3b884cfa59ca342b2e", "", "",
-                "00000000000000000000000000000000");
-        test.check(2,
-                "66e94bd4ef8a2c3b884cfa59ca342b2e", "",
-                "0388dace60b6a392f328c2b971b2fe78",
-                "f38cbb1ad69223dcc3457ae5b6b0f885");
-        test.check(3,
-                "b83b533708bf535d0aa6e52980d53b78", "",
-                "42831ec2217774244b7221b784d0d49c" +
-                "e3aa212f2c02a4e035c17e2329aca12e" +
-                "21d514b25466931c7d8f6a5aac84aa05" +
-                "1ba30b396a0aac973d58e091473f5985",
-                "7f1b32b81b820d02614f8895ac1d4eac");
-        test.check(4,
-                "b83b533708bf535d0aa6e52980d53b78",
-                "feedfacedeadbeeffeedfacedeadbeef" + "abaddad2",
-                "42831ec2217774244b7221b784d0d49c" +
-                "e3aa212f2c02a4e035c17e2329aca12e" +
-                "21d514b25466931c7d8f6a5aac84aa05" +
-                "1ba30b396a0aac973d58e091",
-                "698e57f70e6ecc7fd9463b7260a9ae5f");
-        test.check(5, "b83b533708bf535d0aa6e52980d53b78",
-                "feedfacedeadbeeffeedfacedeadbeef" + "abaddad2",
-                "61353b4c2806934a777ff51fa22a4755" +
-                "699b2a714fcdc6f83766e5f97b6c7423" +
-                "73806900e49f24b22b097544d4896b42" +
-                "4989b5e1ebac0f07c23f4598",
-                "df586bb4c249b92cb6922877e444d37b");
+        while (num_of_loops > i) {
+            // Test vectors from David A. McGrew, John Viega,
+            // "The Galois/Counter Mode of Operation (GCM)", 2005.
+            // <http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/gcm/gcm-revised-spec.pdf>
+            test.check(1, "66e94bd4ef8a2c3b884cfa59ca342b2e", "", "",
+                       "00000000000000000000000000000000");
+            test.check(2,
+                       "66e94bd4ef8a2c3b884cfa59ca342b2e", "",
+                       "0388dace60b6a392f328c2b971b2fe78",
+                       "f38cbb1ad69223dcc3457ae5b6b0f885");
+            test.check(3,
+                       "b83b533708bf535d0aa6e52980d53b78", "",
+                       "42831ec2217774244b7221b784d0d49c" +
+                       "e3aa212f2c02a4e035c17e2329aca12e" +
+                       "21d514b25466931c7d8f6a5aac84aa05" +
+                       "1ba30b396a0aac973d58e091473f5985",
+                       "7f1b32b81b820d02614f8895ac1d4eac");
+            test.check(4,
+                       "b83b533708bf535d0aa6e52980d53b78",
+                       "feedfacedeadbeeffeedfacedeadbeef" + "abaddad2",
+                       "42831ec2217774244b7221b784d0d49c" +
+                       "e3aa212f2c02a4e035c17e2329aca12e" +
+                       "21d514b25466931c7d8f6a5aac84aa05" +
+                       "1ba30b396a0aac973d58e091",
+                       "698e57f70e6ecc7fd9463b7260a9ae5f");
+            test.check(5, "b83b533708bf535d0aa6e52980d53b78",
+                       "feedfacedeadbeeffeedfacedeadbeef" + "abaddad2",
+                       "61353b4c2806934a777ff51fa22a4755" +
+                       "699b2a714fcdc6f83766e5f97b6c7423" +
+                       "73806900e49f24b22b097544d4896b42" +
+                       "4989b5e1ebac0f07c23f4598",
+                       "df586bb4c249b92cb6922877e444d37b");
+            i++;
+        }
     }
 }
--- a/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -118,8 +118,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_IV test = new TestKATForECB_IV();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VK.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VK.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.math.*;
-import com.sun.crypto.provider.*;
 
 import java.util.*;
 
@@ -746,8 +745,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_VK test = new TestKATForECB_VK();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VT.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VT.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.math.*;
-import com.sun.crypto.provider.*;
 
 import java.util.*;
 
@@ -555,8 +554,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_VT test = new TestKATForECB_VT();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/test/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -68,10 +68,8 @@
 
     public static void main(String[] argv) throws Exception {
 
-        Provider p = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(p);
         String transformation = "Blowfish/ECB/NoPadding";
-        Cipher cipher = Cipher.getInstance(transformation);
+        Cipher cipher = Cipher.getInstance(transformation, "SunJCE");
         int MAX_KEY_SIZE = Cipher.getMaxAllowedKeyLength(transformation);
         //
         // test 1
--- a/test/com/sun/crypto/provider/Cipher/DES/DESSecretKeySpec.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/DESSecretKeySpec.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,11 +46,11 @@
         System.out.println("Testing DES key");
         SecretKeySpec skey = new SecretKeySpec(key, "DES");
         c = Cipher.getInstance("DES/CBC/PKCS5Padding", "SunJCE");
-        SecretKeyFactory.getInstance("DES").generateSecret(skey);
+        SecretKeyFactory.getInstance("DES", "SunJCE").generateSecret(skey);
 
         System.out.println("Testing DESede key");
         skey = new SecretKeySpec(key, "DESede");
         c = Cipher.getInstance("DESede/CBC/PKCS5Padding", "SunJCE");
-        SecretKeyFactory.getInstance("TripleDES").generateSecret(skey);
+        SecretKeyFactory.getInstance("TripleDES", "SunJCE").generateSecret(skey);
     }
 }
--- a/test/com/sun/crypto/provider/Cipher/DES/DesAPITest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/DesAPITest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,6 @@
 import java.security.spec.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 
 public class DesAPITest {
 
@@ -87,9 +86,6 @@
     public void init(String crypt, String mode, String padding)
         throws Exception {
 
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
-
         KeySpec desKeySpec = null;
         SecretKeyFactory factory = null;
 
@@ -99,7 +95,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -85,9 +85,7 @@
         IvParameterSpec IvParamSpec = null;
         SecretKey sKey = null;
 
-        // Step 0: add providers
-        Provider sun = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(sun);
+        // Step 0: list providers
         Provider[] theProviders = Security.getProviders();
         for (int index = 0; index < theProviders.length; index++) {
             System.out.println(theProviders[index].getName());
--- a/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,18 +32,13 @@
 import java.security.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.SunJCE;
 
 public class FlushBug {
     public static void main(String[] args) throws Exception {
-
-        Provider prov = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(prov);
-
         SecureRandom sr = new SecureRandom();
 
         // Create new DES key.
-        KeyGenerator kg = KeyGenerator.getInstance("DES");
+        KeyGenerator kg = KeyGenerator.getInstance("DES", "SunJCE");
         kg.init(sr);
         Key key = kg.generateKey();
 
@@ -53,13 +48,13 @@
         IvParameterSpec iv = new IvParameterSpec(iv_bytes);
 
         // Create the consumer
-        Cipher decrypter = Cipher.getInstance("DES/CFB8/NoPadding");
+        Cipher decrypter = Cipher.getInstance("DES/CFB8/NoPadding", "SunJCE");
         decrypter.init(Cipher.DECRYPT_MODE, key, iv);
         PipedInputStream consumer = new PipedInputStream();
         InputStream in = new CipherInputStream(consumer, decrypter);
 
         // Create the producer
-        Cipher encrypter = Cipher.getInstance("DES/CFB8/NoPadding");
+        Cipher encrypter = Cipher.getInstance("DES/CFB8/NoPadding", "SunJCE");
         encrypter.init(Cipher.ENCRYPT_MODE, key, iv);
         PipedOutputStream producer = new PipedOutputStream();
         OutputStream out = new CipherOutputStream(producer, encrypter);
--- a/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -118,7 +118,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/test/com/sun/crypto/provider/Cipher/DES/PerformanceTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/PerformanceTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -152,7 +152,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/test/com/sun/crypto/provider/Cipher/DES/Sealtest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/DES/Sealtest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,19 +35,17 @@
 
     public static void main(String[] args) throws Exception {
 
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         // create DSA keypair
         KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DSA");
         kpgen.initialize(512);
         KeyPair kp = kpgen.generateKeyPair();
 
         // create DES key
-        KeyGenerator kg = KeyGenerator.getInstance("DES");
+        KeyGenerator kg = KeyGenerator.getInstance("DES", "SunJCE");
         SecretKey skey = kg.generateKey();
 
         // create cipher
-        Cipher c = Cipher.getInstance("DES/CFB16/PKCS5Padding");
+        Cipher c = Cipher.getInstance("DES/CFB16/PKCS5Padding", "SunJCE");
         c.init(Cipher.ENCRYPT_MODE, skey);
 
         // seal the DSA private key
--- a/test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,7 @@
  */
 
 import java.security.Security;
+import java.security.Provider;
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
 
@@ -40,13 +41,12 @@
 
         try{
             // Remove SunJCE from Provider list
+            Provider prov = Security.getProvider("SunJCE");
             Security.removeProvider("SunJCE");
-
             // Create our own instance of SunJCE provider.  Purposefully not
             // using SunJCE.getInstance() so we can have our own instance
             // for the test.
-            jce = Cipher.getInstance("AES/CBC/PKCS5Padding",
-                new com.sun.crypto.provider.SunJCE());
+            jce = Cipher.getInstance("AES/CBC/PKCS5Padding", prov);
 
             jce.init(Cipher.ENCRYPT_MODE,
                 new SecretKeySpec("1234567890abcedf".getBytes(), "AES"));
--- a/test/com/sun/crypto/provider/KeyAgreement/DHGenSharedSecret.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyAgreement/DHGenSharedSecret.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,6 @@
 import java.security.interfaces.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 import java.math.BigInteger;
 
 public class DHGenSharedSecret {
@@ -69,8 +68,6 @@
     };
 
     public static void main(String[] args) throws Exception {
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
         DHGenSharedSecret test = new DHGenSharedSecret();
         test.run();
     }
--- a/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @bug 7146728
  * @summary DHKeyAgreement2
+ * @modules java.base/sun.misc
  * @author Jan Luehe
  */
 
@@ -36,7 +37,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 import sun.misc.HexDumpEncoder;
 
--- a/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * This test utility executes the Diffie-Hellman key agreement protocol
@@ -51,10 +50,6 @@
     private DHKeyAgreement3() {}
 
     public static void main(String argv[]) throws Exception {
-            // Add JCE to the list of providers
-            SunJCE jce = new SunJCE();
-            Security.addProvider(jce);
-
             DHKeyAgreement3 keyAgree = new DHKeyAgreement3();
             keyAgree.run();
             System.out.println("Test Passed");
@@ -69,36 +64,36 @@
 
         // Alice creates her own DH key pair
         System.err.println("ALICE: Generate DH keypair ...");
-        KeyPairGenerator aliceKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator aliceKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         aliceKpairGen.initialize(dhSkipParamSpec);
         KeyPair aliceKpair = aliceKpairGen.generateKeyPair();
 
         // Bob creates his own DH key pair
         System.err.println("BOB: Generate DH keypair ...");
-        KeyPairGenerator bobKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator bobKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         bobKpairGen.initialize(dhSkipParamSpec);
         KeyPair bobKpair = bobKpairGen.generateKeyPair();
 
         // Carol creates her own DH key pair
         System.err.println("CAROL: Generate DH keypair ...");
-        KeyPairGenerator carolKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator carolKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         carolKpairGen.initialize(dhSkipParamSpec);
         KeyPair carolKpair = carolKpairGen.generateKeyPair();
 
 
         // Alice initialize
         System.err.println("ALICE: Initialize ...");
-        KeyAgreement aliceKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement aliceKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         aliceKeyAgree.init(aliceKpair.getPrivate());
 
         // Bob initialize
         System.err.println("BOB: Initialize ...");
-        KeyAgreement bobKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement bobKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         bobKeyAgree.init(bobKpair.getPrivate());
 
         // Carol initialize
         System.err.println("CAROL: Initialize ...");
-        KeyAgreement carolKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement carolKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         carolKeyAgree.init(carolKpair.getPrivate());
 
 
--- a/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * This test creates a DH keypair, retrieves the encodings of the DH public and
@@ -49,10 +48,6 @@
     private DHKeyFactory() {}
 
     public static void main(String argv[]) throws Exception {
-            // Add JCE to the list of providers
-            SunJCE jce = new SunJCE();
-            Security.addProvider(jce);
-
             DHKeyFactory test = new DHKeyFactory();
             test.run();
             System.out.println("Test Passed");
@@ -67,7 +62,7 @@
         dhSkipParamSpec = new DHParameterSpec(skip1024Modulus,
                                               skip1024Base);
 
-        KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DH", "SunJCE");
         kpgen.initialize(dhSkipParamSpec);
         KeyPair kp = kpgen.generateKeyPair();
 
@@ -77,7 +72,7 @@
         // get the private key encoding
         byte[] privKeyEnc = kp.getPrivate().getEncoded();
 
-        KeyFactory kfac = KeyFactory.getInstance("DH");
+        KeyFactory kfac = KeyFactory.getInstance("DH", "SunJCE");
 
         X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(pubKeyEnc);
         PublicKey pubKey = kfac.generatePublic(x509KeySpec);
--- a/test/com/sun/crypto/provider/KeyAgreement/DHKeyGenSpeed.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyAgreement/DHKeyGenSpeed.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,6 @@
 import java.security.interfaces.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 import java.math.*;
 
 public class DHKeyGenSpeed {
@@ -71,8 +70,6 @@
     };
 
     public static void main(String[] args) throws Exception {
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
         DHKeyGenSpeed test = new DHKeyGenSpeed();
         test.run();
         System.out.println("Test Passed");
--- a/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Thu Jul 02 16:08:47 2015 -0700
@@ -66,15 +66,17 @@
                 megaByte = new byte [MB];
                 data.add(megaByte);
             } catch (OutOfMemoryError e) {
-                System.out.println("OOME is thrown when allocating "
-                        + data.size() + "MB memory.");
-                megaByte = null;
+                megaByte = null;    // Free memory ASAP
+
+                int size = data.size();
 
                 for (int j = 0; j < RESERVATION && !data.isEmpty(); j++) {
                     data.removeLast();
                 }
                 System.gc();
                 hasException = true;
+                System.out.println("OOME is thrown when allocating "
+                        + size + "MB memory.");
             }
         }
         dumpMemoryStats("After memory allocation");
--- a/test/com/sun/crypto/provider/KeyGenerator/Test4628062.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyGenerator/Test4628062.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,8 +78,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4628062 test = new Test4628062();
         String testName = test.getClass().getName();
         if (test.execute("AES", AES_SIZES)) {
--- a/test/com/sun/crypto/provider/KeyGenerator/TestExplicitKeyLength.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/KeyGenerator/TestExplicitKeyLength.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,7 +52,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
         for (int i = 0; i < ALGOS.length; i++) {
             System.out.println("Testing " + ALGOS[i] + " KeyGenerator with " +
                                KEY_SIZES[i] + "-bit keysize");
--- a/test/com/sun/crypto/provider/Mac/HmacMD5.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/Mac/HmacMD5.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,9 +39,6 @@
             int i, j, n;
             Mac mac;
 
-            Provider jce = new com.sun.crypto.provider.SunJCE();
-            Security.addProvider(jce);
-
             byte[][][] test_data = {
                 {
                     { (byte)0x0b, (byte)0x0b, (byte)0x0b, (byte)0x0b,
@@ -92,7 +89,7 @@
                 }
             };
 
-            mac = Mac.getInstance("HmacMD5");
+            mac = Mac.getInstance("HmacMD5", "SunJCE");
             for (i=0; i<3; i++) {
                 j=0;
 
@@ -109,7 +106,7 @@
             }
 
             // now test multiple-part operation, using the 2nd test vector
-            mac = Mac.getInstance("HmacMD5");
+            mac = Mac.getInstance("HmacMD5", "SunJCE");
             mac.init(new SecretKeySpec("Jefe".getBytes(), "HMAC"));
             mac.update("what do ya ".getBytes());
             mac.update("want for ".getBytes());
--- a/test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * Test that leading zeroes are stripped in TlsPremasterSecret case,
@@ -52,10 +51,6 @@
     private TestLeadingZeroes() {}
 
     public static void main(String argv[]) throws Exception {
-        // Add JCE to the list of providers
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
-
         TestLeadingZeroes keyAgree = new TestLeadingZeroes();
         keyAgree.run();
         System.out.println("Test Passed");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/java/swing/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/com/sun/java/swing/plaf/windows/Test6824600.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/java/swing/plaf/windows/Test6824600.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6824600
    @summary OOM occurs when setLookAndFeel() is executed in Windows L&F(XP style)
    @author Pavel Porvatov
+   @modules java.desktop/com.sun.java.swing.plaf.windows
    @run main Test6824600
 */
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/jdi/cds/CDSBreakpointTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8054386
+ * @summary java debugging test for CDS
+ * @modules jdk.jdi
+ *          java.base/sun.misc
+ *          java.management
+ *          jdk.jartool/sun.tools.jar
+ * @library /lib/testlibrary
+ * @library ..
+ * @run compile -g ../BreakpointTest.java
+ * @run main CDSBreakpointTest
+ */
+
+/*
+ * Launch the JDI BreakpointTest, which will set a debugger breakpoint in
+ * BreakpointTarg. BreakpointTarg is first dumped into the CDS archive,
+ * so this will test debugging a class in the archive.
+ */
+
+public class CDSBreakpointTest extends CDSJDITest {
+    static String jarClasses[] = {
+        // BreakpointTarg is the only class we need in the archive. It will
+        // be launched by BreakpointTest as the debuggee application. Note,
+        // compiling BreakpointTest.java above will cause BreakpointTarg to
+        // be compiled since it is also in BreakpointTest.java.
+        "BreakpointTarg",
+    };
+    static String testname = "BreakpointTest";
+
+    public static void main(String[] args) throws Exception {
+        runTest(testname, jarClasses);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/jdi/cds/CDSDeleteAllBkptsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8054386
+ * @summary java debugging test for CDS
+ * @modules jdk.jdi
+ *          java.base/sun.misc
+ *          java.management
+ *          jdk.jartool/sun.tools.jar
+ * @library /lib/testlibrary
+ * @library ..
+ * @run compile -g ../DeleteAllBkptsTest.java
+ * @run main CDSDeleteAllBkptsTest
+ */
+
+/*
+ * Launch the JDI DeleteAllBkptsTest, which will set a debugger breakpoint in
+ * DeleteAllBkptsTarg and then clear them. DeleteAllBkptsTarg is first dumped
+ * into the CDS archive, so this will test debugging a class in the archive.
+ */
+
+public class CDSDeleteAllBkptsTest extends CDSJDITest {
+    static String jarClasses[] = {
+        // DeleteAllBkptsTarg is the only class we need in the archive. It will
+        // be launched by DeleteAllBkptsTest as the debuggee application. Note,
+        // compiling DeleteAllBkptsTest.java above will cause DeleteAllBkptsTarg to
+        // be compiled since it is also in DeleteAllBkptsTest.java.
+        "DeleteAllBkptsTarg",
+    };
+    static String testname = "DeleteAllBkptsTest";
+
+    public static void main(String[] args) throws Exception {
+        runTest(testname, jarClasses);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/jdi/cds/CDSFieldWatchpoints.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8054386
+ * @summary java debugging test for CDS
+ * @modules jdk.jdi
+ *          java.base/sun.misc
+ *          java.management
+ *          jdk.jartool/sun.tools.jar
+ * @library /lib/testlibrary
+ * @library ..
+ * @run compile -g ../FieldWatchpoints.java
+ * @run main CDSFieldWatchpoints
+ */
+
+/*
+ * Launch the JDI FieldWatchpoints test, which will setup field watchpoints in
+ * FieldWatchpointsDebugee. FieldWatchpointsDebugee is first dumped into the
+ * CDS archive, so this will test debugging a class in the archive.
+ */
+
+public class CDSFieldWatchpoints extends CDSJDITest {
+    static String jarClasses[] = {
+        // FieldWatchpointsDebugee. A, and B are the only classes we need in the archive.
+        // FieldWatchpointsDebugee will be launched by FieldWatchpoints as the debuggee
+        // application. Note, compiling FieldWatchpoints.java above will cause
+        // FieldWatchpointsDebugee to be compiled since it is also in FieldWatchpoints.java.
+        "FieldWatchpointsDebugee", "A", "B",
+    };
+    static String testname = "FieldWatchpoints";
+
+    public static void main(String[] args) throws Exception {
+        runTest(testname, jarClasses);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/jdi/cds/CDSJDITest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,202 @@
+/*
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * Helper superclass for launching JDI tests out of the CDS archive.
+*/
+
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.ProcessTools;
+
+import java.io.*;
+import java.util.ArrayList;
+import sun.tools.jar.Main;
+
+public class CDSJDITest {
+    private static final String classesDir = System.getProperty("test.classes");
+
+    public static void runTest(String testname, String[] jarClasses) throws Exception {
+        File jarClasslistFile = makeClassList(jarClasses);
+        String appJar = buildJar(testname, jarClasses);
+
+        // These are the arguments passed to createJavaProcessBuilder() to launch
+        // the JDI test.
+        String[] testArgs = {
+        // JVM Args:
+            // These first three properties are setup by jtreg, and must be passed
+            // to the JDI test subprocess because it needs them in order to
+            // pass them to the subprocess it will create for the debuggee. This
+            // is how the JPRT -javaopts are passed to the debggee. See
+            // VMConnection.getDebuggeeVMOptions().
+            getPropOpt("test.classes"),
+            getPropOpt("test.java.opts"),
+            getPropOpt("test.vm.opts"),
+            // Pass -showversion to the JDI test just so we get a bit of trace output.
+            "-showversion",
+        // Main class:
+            testname,
+        // Args to the Main Class:
+            // These argument all follow the above <testname> argument, and are
+            // in fact passed to <testname>.main() as java arguments. <testname> will
+            // pass them as JVM arguments to the debuggee process it creates.
+            "-Xbootclasspath/a:" + appJar,
+            "-XX:+UnlockDiagnosticVMOptions",
+            "-XX:+TraceClassPaths",
+            "-XX:SharedArchiveFile=./SharedArchiveFile.jsa",
+            "-Xshare:on",
+            "-showversion"
+        };
+
+        // Dump the archive
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+            "-Xbootclasspath/a:" + appJar,
+            "-XX:+UnlockDiagnosticVMOptions", "-XX:SharedArchiveFile=./SharedArchiveFile.jsa",
+            "-XX:ExtraSharedClassListFile=" + jarClasslistFile.getPath(),
+            "-Xshare:dump");
+        OutputAnalyzer outputDump = executeAndLog(pb, "exec");
+        for (String jarClass : jarClasses) {
+            outputDump.shouldNotContain("Cannot find " + jarClass);
+        }
+        outputDump.shouldContain("Loading classes to share");
+        outputDump.shouldHaveExitValue(0);
+
+        // Run the test specified JDI test
+        pb = ProcessTools.createJavaProcessBuilder(true, testArgs);
+        OutputAnalyzer outputRun = executeAndLog(pb, "exec");
+        try {
+            outputRun.shouldContain("sharing");
+            outputRun.shouldHaveExitValue(0);
+        } catch (RuntimeException e) {
+            outputRun.shouldContain("Unable to use shared archive");
+            outputRun.shouldHaveExitValue(1);
+        }
+    }
+
+    public static String getPropOpt(String prop) {
+        String propVal = System.getProperty(prop);
+        if (propVal == null) propVal = "";
+        System.out.println(prop + ": '" + propVal  + "'");
+        return "-D" + prop + "=" + propVal;
+    }
+
+    public static File makeClassList(String appClasses[]) throws Exception {
+        File classList = getOutputFile("test.classlist");
+        FileOutputStream fos = new FileOutputStream(classList);
+        PrintStream ps = new PrintStream(fos);
+
+        addToClassList(ps, appClasses);
+
+        ps.close();
+        fos.close();
+
+        return classList;
+    }
+
+    public static OutputAnalyzer executeAndLog(ProcessBuilder pb, String logName) throws Exception {
+        long started = System.currentTimeMillis();
+        OutputAnalyzer output = ProcessTools.executeProcess(pb);
+        writeFile(getOutputFile(logName + ".stdout"), output.getStdout());
+        writeFile(getOutputFile(logName + ".stderr"), output.getStderr());
+        System.out.println("[ELAPSED: " + (System.currentTimeMillis() - started) + " ms]");
+        System.out.println("[STDOUT]\n" + output.getStdout());
+        System.out.println("[STDERR]\n" + output.getStderr());
+        return output;
+    }
+
+    private static void writeFile(File file, String content) throws Exception {
+        FileOutputStream fos = new FileOutputStream(file);
+        PrintStream ps = new PrintStream(fos);
+        ps.print(content);
+        ps.close();
+        fos.close();
+    }
+
+    public static File getOutputFile(String name) {
+        File dir = new File(System.getProperty("test.classes", "."));
+        return new File(dir, getTestNamePrefix() + name);
+    }
+
+    private static void addToClassList(PrintStream ps, String classes[]) throws IOException {
+        if (classes != null) {
+            for (String s : classes) {
+                ps.println(s);
+            }
+        }
+    }
+
+    private static String testNamePrefix;
+
+    private static String getTestNamePrefix() {
+        if (testNamePrefix == null) {
+            StackTraceElement[] elms = (new Throwable()).getStackTrace();
+            if (elms.length > 0) {
+                for (StackTraceElement n: elms) {
+                    if ("main".equals(n.getMethodName())) {
+                        testNamePrefix = n.getClassName() + "-";
+                        break;
+                    }
+                }
+            }
+
+            if (testNamePrefix == null) {
+                testNamePrefix = "";
+            }
+        }
+        return testNamePrefix;
+    }
+
+    private static String buildJar(String jarName, String ...classNames)
+        throws Exception {
+
+        String jarFullName = classesDir + File.separator + jarName + ".jar";
+        createSimpleJar(classesDir, jarFullName, classNames);
+        return jarFullName;
+    }
+
+    private static void createSimpleJar(String jarClassesDir, String jarName,
+        String[] classNames) throws Exception {
+
+        ArrayList<String> args = new ArrayList<String>();
+        args.add("cf");
+        args.add(jarName);
+        addJarClassArgs(args, jarClassesDir, classNames);
+        createJar(args);
+    }
+
+    private static void addJarClassArgs(ArrayList<String> args, String jarClassesDir,
+        String[] classNames) {
+
+        for (String name : classNames) {
+            args.add("-C");
+            args.add(jarClassesDir);
+            args.add(name + ".class");
+        }
+    }
+
+    private static void createJar(ArrayList<String> args) {
+        Main jarTool = new Main(System.out, System.err, "jar");
+        if (!jarTool.run(args.toArray(new String[1]))) {
+            throw new RuntimeException("jar operation failed");
+        }
+    }
+}
--- a/test/com/sun/tools/attach/BasicTests.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/tools/attach/BasicTests.java	Thu Jul 02 16:08:47 2015 -0700
@@ -21,17 +21,21 @@
  * questions.
  */
 
-import com.sun.tools.attach.*;
+import java.io.File;
+import java.io.IOException;
 import java.net.ServerSocket;
 import java.net.Socket;
-import java.io.IOException;
+import java.util.List;
 import java.util.Properties;
-import java.util.List;
-import java.io.File;
+
 import jdk.testlibrary.OutputAnalyzer;
-import jdk.testlibrary.JDKToolLauncher;
+import jdk.testlibrary.ProcessThread;
 import jdk.testlibrary.ProcessTools;
-import jdk.testlibrary.ProcessThread;
+
+import com.sun.tools.attach.AgentInitializationException;
+import com.sun.tools.attach.AgentLoadException;
+import com.sun.tools.attach.VirtualMachine;
+import com.sun.tools.attach.VirtualMachineDescriptor;
 
 /*
  * @test
--- a/test/com/sun/tools/attach/RunnerUtil.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/com/sun/tools/attach/RunnerUtil.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@
      */
     public static ProcessThread startApplication(String... additionalOpts) throws Throwable {
         String classpath = System.getProperty("test.class.path", ".");
-        String[] myArgs = concat(additionalOpts, new String [] { "-Dattach.test=true", "-classpath", classpath, "Application" });
+        String[] myArgs = concat(additionalOpts, new String [] { "-XX:+UsePerfData", "-Dattach.test=true", "-classpath", classpath, "Application" });
         String[] args = Utils.addTestJavaOpts(myArgs);
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args);
         ProcessThread pt = new ProcessThread("runApplication", (line) -> line.equals(Application.READY_MSG), pb);
--- a/test/java/awt/Choice/ItemStateChangeTest/ItemStateChangeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Choice/ItemStateChangeTest/ItemStateChangeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
   @author Oleg Pekhovskiy: area=awt-choice
   @library ../../regtesthelpers
   @library ../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build Util
   @build jdk.testlibrary.OSInfo
   @run main ItemStateChangeTest
--- a/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,6 +45,7 @@
  * @summary [macosx] Custom Cursor HiDPI support
  * @author Alexander Scherbatiy
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt.image
  * @build jdk.testlibrary.OSInfo
  * @run applet/manual=yesno MultiResolutionCursorTest.html
  */
--- a/test/java/awt/Desktop/8064934/bug8064934.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Desktop/8064934/bug8064934.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
  * @summary Incorrect Exception message from java.awt.Desktop.open()
  * @author Dmitry Markov
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run main bug8064934
  */
--- a/test/java/awt/Dialog/CloseDialog/CloseDialogTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Dialog/CloseDialog/CloseDialogTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  * @test
  * @bug 8043705
  * @summary Can't exit color chooser dialog when running as an applet
+ * @modules java.desktop/sun.awt
  * @run main CloseDialogTest
  */
 public class CloseDialogTest {
--- a/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 8031694
   @summary [macosx] TwentyThousandTest test intermittently hangs
   @author Oleg Pekhovskiy
+  @modules java.desktop/sun.awt
   @run main EDTShutdownTest
  */
 
--- a/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
         loop does not crash AWT.
         @author Andrei Dmitriev: area=awt.event
         @library ../../regtesthelpers
+        @modules java.desktop/sun.awt
         @build Util
         @run main LoopRobustness
   -->
--- a/test/java/awt/EventQueue/MainAppContext/MainAppContext.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/EventQueue/MainAppContext/MainAppContext.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011,2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011,2015 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 8004584
  * @summary Tests 8004584
  * @author anthony.petrov@oracle.com, petr.pchelko@oracle.com
+ * @modules java.desktop/sun.awt
  */
 
 import java.awt.*;
--- a/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 4171596 6699589
  * @summary Checks that the posting of events between the PostEventQueue
  * @summary and the EventQueue maintains proper ordering.
+ * @modules java.desktop/sun.awt
  * @run main PostEventOrderingTest
  * @author fredx
  */
--- a/test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
   @test
   @bug 4913324
   @author Oleg Sukhodolsky: area=eventqueue
+  @modules java.desktop/sun.awt
   @run main/timeout=30 PushPopTest
 */
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/FileDialog/8017487/bug8017487.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 8017487
+   @summary filechooser in Windows-Libraries folder: columns are mixed up
+   @author Semyon Sadetsky
+   @library /lib/testlibrary
+   @build jdk.testlibrary.OSInfo
+   @run main bug8017487
+  */
+
+
+import jdk.testlibrary.OSInfo;
+
+import sun.awt.shell.ShellFolder;
+import sun.awt.shell.ShellFolderColumnInfo;
+import javax.swing.filechooser.FileSystemView;
+import java.io.File;
+
+public class bug8017487
+{
+    public static void main(String[] p_args) throws Exception {
+        if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS &&
+                OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_VISTA) > 0 ) {
+            test();
+            System.out.println("ok");
+        }
+    }
+
+    private static void test() throws Exception {
+        FileSystemView fsv = FileSystemView.getFileSystemView();
+        File def = new File(fsv.getDefaultDirectory().getAbsolutePath());
+        ShellFolderColumnInfo[] defColumns =
+                ShellFolder.getShellFolder(def).getFolderColumns();
+
+        File[] files = fsv.getHomeDirectory().listFiles();
+        for (File file : files) {
+            if( "Libraries".equals(ShellFolder.getShellFolder( file ).getDisplayName())) {
+                File[] libs = file.listFiles();
+                for (File lib : libs) {
+                    ShellFolder libFolder =
+                            ShellFolder.getShellFolder(lib);
+                    if( "Library".equals(libFolder.getFolderType() ) ) {
+                        ShellFolderColumnInfo[] folderColumns =
+                                libFolder.getFolderColumns();
+
+                        for (int i = 0; i < defColumns.length; i++) {
+                            if (!defColumns[i].getTitle()
+                                    .equals(folderColumns[i].getTitle()))
+                                throw new RuntimeException("Columnn " +
+                                        folderColumns[i].getTitle() +
+                                        " doesn't match " +
+                                        defColumns[i].getTitle());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/FileDialog/FileDialogOpenDirTest/FileDialogOpenDirTest.html	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,43 @@
+<!--
+ Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ or visit www.oracle.com if you need additional information or have any
+ questions.
+-->
+
+<html>
+<!--
+  @test
+  @bug 4974135
+  @summary FileDialog should open current directory by default.
+  @author tav@sparc.spb.su: area=awt.filedialog
+  @run applet/manual=yesno FileDialogOpenDirTest.html
+  -->
+<head>
+<title>FileDialogOpenDirTest</title>
+</head>
+<body>
+
+<h1>FileDialogOpenDirTest<br>Bug ID: 4974135</h1>
+
+<p>See the dialog box (usually in upper left corner) for instructions</p>
+
+<APPLET CODE="FileDialogOpenDirTest.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/FileDialog/FileDialogOpenDirTest/FileDialogOpenDirTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ test
+ @bug 4974135
+ @summary FileDialog should open current directory by default.
+ @author tav@sparc.spb.su area=awt.filedialog
+ @run applet/manual=yesno FileDialogOpenDirTest.html
+*/
+
+import java.awt.*;
+import java.awt.event.*;
+import java.applet.*;
+
+public class FileDialogOpenDirTest extends Applet {
+
+    public static void main(String[] args) {
+        Applet a = new FileDialogOpenDirTest();
+        a.init();
+        a.start();
+    }
+
+    public void init()
+    {
+        System.setProperty("sun.awt.disableGtkFileDialogs","true");
+        //Create instructions for the user here, as well as set up
+        // the environment -- set the layout manager, add buttons,
+        // etc.
+        this.setLayout (new BorderLayout ());
+
+        String curdir = System.getProperty("user.dir");
+
+        String[] instructions1 =
+        {
+            "After test started you will see 'Test Frame' with a button inside.",
+            "Click the button to open FileDialog.",
+            "Verify that the directory opened is current directory, that is:",
+            curdir,
+            "If so press PASSED, otherwise FAILED."
+        };
+
+        String[] instructions2 =
+        {
+            "The test is not applicable for current platform. Press PASSED."
+        };
+
+        Sysout.createDialogWithInstructions(Toolkit.getDefaultToolkit().getClass().getName().
+                                            equals("sun.awt.X11.XToolkit") ?
+                                            instructions1 : instructions2);
+    }
+
+    public void start() {
+        Frame frame = new Frame("Test Frame");
+        Button open = new Button("Open File Dialog");
+
+        open.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    new FileDialog(new Frame()).show();
+                }
+            });
+
+        frame.setLayout(new FlowLayout());
+        frame.add(open);
+
+        int x = 0;
+        int y = 0;
+        Component dlg = null;
+
+        if ((dlg = Sysout.getDialog()) != null) {
+            x = dlg.getBounds().x + dlg.getBounds().width;
+            y = dlg.getBounds().y;
+        }
+        frame.setBounds(x, y, 150, 70);
+        frame.setVisible(true);
+    }
+}
+
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+  chunk of code whose purpose is to make user
+  interaction uniform, and thereby make it simpler
+  to read and understand someone else's test.
+ ****************************************************/
+
+/**
+ This is part of the standard test machinery.
+ It creates a dialog (with the instructions), and is the interface
+  for sending text messages to the user.
+ To print the instructions, send an array of strings to Sysout.createDialog
+  WithInstructions method.  Put one line of instructions per array entry.
+ To display a message for the tester to see, simply call Sysout.println
+  with the string to be displayed.
+ This mimics System.out.println but works within the test harness as well
+  as standalone.
+ */
+
+class Sysout
+{
+    private static TestDialog dialog;
+
+    public static void createDialogWithInstructions( String[] instructions )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        dialog.printInstructions( instructions );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+    public static void createDialog( )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        String[] defInstr = { "Instructions will appear here. ", "" } ;
+        dialog.printInstructions( defInstr );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+
+    public static void printInstructions( String[] instructions )
+    {
+        dialog.printInstructions( instructions );
+    }
+
+
+    public static void println( String messageIn )
+    {
+        dialog.displayMessage( messageIn );
+    }
+
+    public static Component getDialog() {
+        return dialog;
+    }
+
+}// Sysout  class
+
+/**
+  This is part of the standard test machinery.  It provides a place for the
+   test instructions to be displayed, and a place for interactive messages
+   to the user to be displayed.
+  To have the test instructions displayed, see Sysout.
+  To have a message to the user be displayed, see Sysout.
+  Do not call anything in this dialog directly.
+  */
+class TestDialog extends Dialog
+{
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog( Frame frame, String name )
+    {
+        super( frame, name );
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+        add( "North", instructionsText );
+
+        messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+        add("Center", messageText);
+
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions( String[] instructions )
+    {
+        //Clear out any current instructions
+        instructionsText.setText( "" );
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for( int i=0; i < instructions.length; i++ )
+        {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i ];
+            while( remainingStr.length() > 0 )
+            {
+                //if longer than max then chop off first max chars to print
+                if( remainingStr.length() >= maxStringLength )
+                {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.
+                        lastIndexOf( ' ', maxStringLength - 1 );
+
+                    if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+                    printStr = remainingStr.substring( 0, posOfSpace + 1 );
+                    remainingStr = remainingStr.substring( posOfSpace + 1 );
+                }
+                //else just print
+                else
+                {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append( printStr + "\n" );
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage( String messageIn )
+    {
+        messageText.append( messageIn + "\n" );
+        System.out.println(messageIn);
+    }
+
+}// TestDialog  class
--- a/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -36,7 +36,6 @@
 import java.applet.Applet;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.lang.reflect.InvocationTargetException;
-import sun.awt.SunToolkit;
 import test.java.awt.regtesthelpers.Util;
 
 public class ActualFocusedWindowBlockingTest extends Applet {
--- a/test/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html	Thu Jul 02 16:08:47 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6271849
   @summary    Tests that component in modal excluded Window which parent is blocked responses to mouse clicks.
   @author     anton.tarasov@sun.com: area=awt.focus
+  @modules java.desktop/sun.awt
   @run        applet ModalExcludedWindowClickTest.html
   -->
 <head>
--- a/test/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html	Thu Jul 02 16:08:47 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6272324
   @summary    Modal excluded Window which decorated parent is blocked should be non-focusable.
   @author     anton.tarasov@sun.com: area=awt.focus
+  @modules java.desktop/sun.awt
   @run        applet NonFocusableBlockedOwnerTest.html
   -->
 <head>
--- a/test/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html	Thu Jul 02 16:08:47 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6253913
   @summary    Tests that a Window shown before its owner is focusable.
   @author     anton.tarasov@sun.com: area=awt-focus
+  @modules java.desktop/sun.awt
   @run        applet WindowUpdateFocusabilityTest.html
   -->
 <head>
--- a/test/java/awt/Graphics2D/Test8004859/Test8004859.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Graphics2D/Test8004859/Test8004859.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,8 @@
  * @bug 8004859
  * @summary getClipBounds/getClip should return equivalent bounds.
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
  */
 public final class Test8004859 {
 
--- a/test/java/awt/Graphics2D/TransformSetGet/TransformSetGet.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Graphics2D/TransformSetGet/TransformSetGet.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  * @bug 8000629
  * @summary Set/get transform should work on constrained graphics.
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.java2d
  */
 public class TransformSetGet {
 
--- a/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
   @summary Tests that type-ahead for dialog works and doesn't block program
   @author  area=awt.focus
   @library    ../../regtesthelpers
+  @modules java.desktop/sun.awt
   @build      Util        
   @run applet TestDialogTypeAhead.html
   -->
--- a/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
   @author andrei.dmitriev: area=awt.menu
   @library ../../regtesthelpers
   @library ../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build jdk.testlibrary.OSInfo
   @build Util
   @run main OpensWithNoGrab
--- a/test/java/awt/Mixing/AWT_Mixing/JButtonInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JButtonInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JButtonInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JButtonOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JButtonOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JButtonOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JColorChooserOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JColorChooserOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JColorChooser
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JColorChooserOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JComboBoxOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JEditorPaneInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JEditorPaneInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JEditorPaneInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JEditorPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JEditorPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JEditorPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JGlassPaneInternalFrameOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JGlassPaneInternalFrameOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,6 +45,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JGlassPaneInternalFrameOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JGlassPaneMoveOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JGlassPaneMoveOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,6 +46,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JGlassPaneMoveOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JInternalFrameMoveOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,6 +41,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JInternalFrameOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JLabelInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JLabelInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JLabelInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JLabelOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JLabelOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JLabelOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JListInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JListInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JList
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JListInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JListOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JListOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JList
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JListOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JMenuBarOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JPanelInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JPanelInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JPanel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPanelInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JPanelOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JPanelOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JPanel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPanelOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,6 +45,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPopupMenuOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JProgressBarInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JProgressBarInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JProgressBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JProgressBarInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JProgressBarOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JProgressBarOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JProgressBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JProgressBarOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JScrollBarInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JScrollBarInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
 @summary Simple Overlapping test for javax.swing.JScrollBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollBarInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JScrollBarOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JScrollBarOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for javax.swing.JScrollBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollBarOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JSliderInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JSliderInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JSlider
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSliderInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JSliderOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JSliderOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JSlider
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSliderOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JSpinnerInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JSpinnerInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for javax.swing.JSpinner
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSpinnerInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JSpinnerOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JSpinnerOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,6 +35,7 @@
 @summary Simple Overlapping test for javax.swing.JSpinner
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSpinnerOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,6 +49,7 @@
 @summary Overlapping test for javax.swing.JSplitPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSplitPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTableInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTableInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for JTable
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTableInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTableOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTableOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 @summary Simple Overlapping test for JTable
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTableOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTextAreaInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTextAreaInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextAreaInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTextAreaOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTextAreaOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextAreaOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextFieldInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextFieldOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JToggleButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JToggleButtonInGlassPaneOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JToggleButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JToggleButtonOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,7 @@
 @summary Issues when resizing the JFrame with HW components
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main MixingFrameResizing
  */
--- a/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,6 +46,8 @@
 @bug 6776743
 @summary Opaque overlapping test for each AWT component
 @library ../../regtesthelpers
+@modules java.desktop/com.sun.awt
+         java.desktop/sun.awt
 @build Util
 @run main OpaqueOverlapping
  */
--- a/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,8 @@
 @bug 6994264
 @summary Opaque overlapping test for Choice AWT component
 @library ../../regtesthelpers
+@modules java.desktop/com.sun.awt
+         java.desktop/sun.awt
 @build Util
 @run main OpaqueOverlappingChoice
  */
--- a/test/java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,6 +51,7 @@
 @summary Viewport overlapping test for each AWT component
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main ViewportOverlapping
  */
--- a/test/java/awt/Mixing/OpaqueTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mixing/OpaqueTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @summary Tests whether opaque and non-opaque components mix correctly
   @author anthony.petrov@...: area=awt.mixing
   @library ../regtesthelpers
+  @modules java.desktop/com.sun.awt
   @build Util
   @run main OpaqueTest
 */
--- a/test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -21,7 +21,6 @@
 * questions.
 */
 
-import sun.misc.OSEnvironment;
 import test.java.awt.regtesthelpers.Util;
 
 import javax.swing.*;
--- a/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java	Thu Jul 02 16:08:47 2015 -0700
@@ -38,7 +38,6 @@
 
 import java.awt.*;
 import java.awt.event.*;
-import sun.awt.SunToolkit;
 import test.java.awt.regtesthelpers.Util;
 
 public class AcceptExtraMouseButtons extends Frame {
--- a/test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
  * @summary Native Mac OS X full screen does not work after showing the splash
  * @library ../
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build GenerateTestImage
  * @run main GenerateTestImage
--- a/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,6 +44,7 @@
  * @author Alexander Scherbatiy
  * @summary [macosx] java -splash does not honor 2x hi dpi notation for retina
  * support
+ * @modules java.desktop/sun.java2d
  * @run main MultiResolutionSplashTest GENERATE_IMAGES
  * @run main/othervm -splash:splash1.png MultiResolutionSplashTest TEST_SPLASH 0
  * @run main/othervm -splash:splash2 MultiResolutionSplashTest TEST_SPLASH 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/java/awt/Toolkit/RealSync/RealSyncOnEDT.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Toolkit/RealSync/RealSyncOnEDT.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 6541903
   @summary Tests if the realSync() throws the IllegalThreadException while invoked on the EDT
   @author anthony.petrov: area=awt.toolkit
+  @modules java.desktop/sun.awt
   @run main/timeout=10 RealSyncOnEDT
 */
 
--- a/test/java/awt/Toolkit/RealSync/Test.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Toolkit/RealSync/Test.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 6252005
   @summary Tests that realSync feature works
   @author denis.mikhalkin: area=awt.toolkit
+  @modules java.desktop/sun.awt
   @run main/timeout=6000 Test
 */
 
--- a/test/java/awt/Window/AlwaysOnTop/AutoTestOnTop.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Window/AlwaysOnTop/AutoTestOnTop.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
   @bug 4632143
   @summary Unit test for the RFE window/frame/dialog always on top
   @author dom@sparc.spb.su: area=awt.toplevel
+  @modules java.desktop/sun.awt
   @run main AutoTestOnTop
 */
 
--- a/test/java/awt/Window/Grab/GrabTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Window/Grab/GrabTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @summary Tests that SunToolkit.grab API works
   @author anton.tarasov@oracle.com: area=awt.toolkit
   @library ../../regtesthelpers
+  @modules java.desktop/sun.awt
   @build Util
   @run main GrabTest
 */
--- a/test/java/awt/Window/WindowsLeak/WindowsLeak.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/Window/WindowsLeak/WindowsLeak.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @test
  * @bug 8013563
  * @summary Tests that windows are removed from windows list
+ * @modules java.desktop/sun.awt
  * @run main/othervm -Xms32M -Xmx32M WindowsLeak
 */
 
--- a/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,8 @@
 #   @bug     6193279 6619458
 #   @summary REGRESSION: AppletViewer throws IOException when path is encoded URL
 #   @author  Dmitry Cherepanov: area=appletviewer
+#   @modules java.base/sun.net.www
+#            java.desktop
 #   @run compile IOExceptionIfEncodedURLTest.java
 #   @run main IOExceptionIfEncodedURLTest
 #   @run shell IOExceptionIfEncodedURLTest.sh
--- a/test/java/awt/datatransfer/Clipboard/BasicClipboardTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/Clipboard/BasicClipboardTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
  * @test
  * @summary To test the basic Clipboard functions
  * @author Kanishk Jethi (kanishk.jethi@sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main BasicClipboardTest
  */
 
--- a/test/java/awt/datatransfer/DataFlavor/DataFlavorCloneTest/DataFlavorCloneTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DataFlavorCloneTest/DataFlavorCloneTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4181601
   @summary tests that DataFlavor.clone method doesn't throw exception
   @author xianfa: area=
+  @modules java.datatransfer
   @run main DataFlavorCloneTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsNullTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsNullTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4175731
   @summary DataFlavor.equals(null) throws NullPointerException
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorEqualsNullTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4175341
   @summary DataFlavor.equals throws NullPointerException
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorEqualsTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/DataFlavorFileListTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DataFlavorFileListTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4172848
   @summary DataFlavor.isFlavorJavaFileListType works wrong
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorFileListTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/DataFlavorSerializedTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DataFlavorSerializedTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4174020
   @summary DataFlavor.isMimeTypeSerializedObject works wrong
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorSerializedTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/DefaultMatchTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/DefaultMatchTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4250750
   @summary tests that DataFlavor.match() does not throw NPE.
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DefaultMatchTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/EqualsHashCodeSymmetryTest/EqualsHashCodeSymmetryTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/EqualsHashCodeSymmetryTest/EqualsHashCodeSymmetryTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
  * @bug 8038999
  * @summary DataFlavor.equals is not symmetric
  * @author Petr Pchelko <petr.pchelko@oracle.com>
+ * @modules java.datatransfer
  */
 public class EqualsHashCodeSymmetryTest {
 
--- a/test/java/awt/datatransfer/DataFlavor/ExternalizeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/ExternalizeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4274267
   @summary Tests that externalized DataFlavor is restored properly
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ExternalizeTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/GetReaderForTextIAEForStringSelectionTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/GetReaderForTextIAEForStringSelectionTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4260874
   @summary Tests that DataFlavor.getReaderForText do not throw NPE when transferObject is null
   @author tdv@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main GetReaderForTextIAEForStringSelectionTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/GetReaderForTextNPETest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/GetReaderForTextNPETest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4260874
   @summary Tests that DataFlavor.getReaderForText do not throw NPE when transferObject is null
   @author tdv@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main GetReaderForTextNPETest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/MimeTypeSerializationTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/MimeTypeSerializationTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @summary Tests that long (more than 64K) MimeType can be serialized
            and deserialized.
   @author gas@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main MimeTypeSerializationTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/NoClassParameterTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/NoClassParameterTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4212613
   @summary tests that DataFlavor(String) doesn't through Exception if no "class=" specified.
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main NoClassParameterTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/NormalizeMimeTypeParameter.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/NormalizeMimeTypeParameter.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4260860
   @summary tests that DataFlavor.normalizeMimeTypeParameter() returns parm value
   @author ssi@sparc.spb.su area=
+  @modules java.datatransfer
   @run main NormalizeMimeTypeParameter
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/ReaderForUnicodeText.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/ReaderForUnicodeText.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4274234
   @summary Tests that DataFlavor.getReaderForText() doesn't throw UnsupportedEncodingException for unicode text
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ReaderForUnicodeText
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/SelectBestFlavorNPETest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/SelectBestFlavorNPETest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4370469
   @summary tests that selectBestTextFlavor doesn't throw NPE
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main SelectBestFlavorNPETest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/SelectBestTextFlavorBadArrayTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/SelectBestTextFlavorBadArrayTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
            is a null array or an empty array or an array which doesn't contain
            a text flavor in a supported encoding.
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main SelectBestTextFlavorBadArrayTest
 */
 
--- a/test/java/awt/datatransfer/DataFlavor/ToStringNullPointerTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/DataFlavor/ToStringNullPointerTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 4250768
   @summary tests that DataFlavor.toString() does not throw NPE
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ToStringNullPointerTest
 */
 
--- a/test/java/awt/datatransfer/Headless/HeadlessClipboard.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/Headless/HeadlessClipboard.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @test
  * @summary Check Clipboard constructor and getName() method do not throw
  *          exceptions in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessClipboard
  */
 
--- a/test/java/awt/datatransfer/Headless/HeadlessDataFlavor.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/Headless/HeadlessDataFlavor.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @test
  * @summary Check that DataFlavor constructors do not throw unexpected exceptions
  *          in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessDataFlavor
  */
 
--- a/test/java/awt/datatransfer/Headless/HeadlessSystemFlavorMap.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/Headless/HeadlessSystemFlavorMap.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
  * @test
  * @summary Check that SystemFlavorMap constructor does not throw unexpected
  *          exceptions in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessSystemFlavorMap
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorForNativeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorForNativeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddFlavorForNativeTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
  * @author dmitriy.ermashov@oracle.com
+ * @modules java.datatransfer
  * @run main AddFlavorTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/AddNativeForFlavorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/AddNativeForFlavorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddNativeForFlavorTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/AddNativeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/AddNativeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddNativeTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/DuplicateMappingTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/DuplicateMappingTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @summary tests that addUnencodedNativeForFlavor()/addFlavorForUnencodedNative()
            do not allow to duplicate mappings
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main DuplicateMappingTest
 */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/DuplicatedNativesTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/DuplicatedNativesTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
  * @bug 8028230
  * @summary Checks that SystemFlavorMap.getNativesForFlavor returns a list without duplicates
  * @author Petr Pchelko
+ * @modules java.datatransfer
  * @run main DuplicatedNativesTest
  */
 public class DuplicatedNativesTest {
--- a/test/java/awt/datatransfer/SystemFlavorMap/GetFlavorsForNewNativeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/GetFlavorsForNewNativeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
  *          returned, and with unknown Encoded String native where
  *          two-way mapping should be established.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main GetFlavorsForNewNativeTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForFlavorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForFlavorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
            only if there are no mappings for the DataFlavor and the mappings
            were not explicitly removed
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main GetNativesForFlavorTest
 */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForNewFlavorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForNewFlavorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          passing an unknown DataFlavor where two-way mapping
  *          should be established.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main GetNativesForNewFlavorTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/InvalidMapArgumentsTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/InvalidMapArgumentsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
  *          - setNativesForFlavor(DataFlavor flav, String[] natives)
  *          - setFlavorsForNative(String nat, DataFlavor[] flavors)
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main InvalidMapArgumentsTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/ManyFlavorMapTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/ManyFlavorMapTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          include all entries and that the correct order is
  *          maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main ManyFlavorMapTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/MappingGenerationTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/MappingGenerationTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,7 @@
   @bug 4512530 8027148
   @summary tests that mappings for text flavors are generated properly
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
 */
 
 public class MappingGenerationTest {
--- a/test/java/awt/datatransfer/SystemFlavorMap/SetDataFlavorsTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/SetDataFlavorsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,6 +39,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetDataFlavorsTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/SetFlavorsForNativeTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/SetFlavorsForNativeTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetFlavorsForNativeTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavor.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavor.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetNativesForFlavorTest
  */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @summary tests that getNativesForFlavor()/getFlavorsForNative() return the
            same list as was set with setNativesForFlavor()/setFlavorsForNative()
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main SetNativesForFlavorTest
 */
 
--- a/test/java/awt/datatransfer/SystemFlavorMap/SetNativesTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/datatransfer/SystemFlavorMap/SetNativesTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,6 +39,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetNativesTest
  */
 
--- a/test/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html	Thu Jul 02 16:08:47 2015 -0700
@@ -27,6 +27,7 @@
   @bug          4985250
   @summary      COMPONENT_MOVED/RESIZED tardy events shouldn't be generated.
   @author       tav@sparc.spb.su
+  @modules java.desktop/sun.awt
   @run applet MovedResizedTardyEventTest.html
   -->
 <head>
--- a/test/java/awt/event/KeyEvent/AltCharAcceleratorTest/AltCharAcceleratorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/event/KeyEvent/AltCharAcceleratorTest/AltCharAcceleratorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
 @bug 8068283
 @summary Checks that <Alt>+Char accelerators work when pressed in a text component
 @author Anton Nashatyrev
+@modules java.desktop/sun.awt
 @run main AltCharAcceleratorTest
 */
 
--- a/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
   @author    anton.tarasov: area=awt.focus
   @library   ../../../regtesthelpers
   @library ../../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build jdk.testlibrary.OSInfo
   @build     Util
   @run       main SwallowKeyEvents
--- a/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
   @bug 6960516
   @summary check if the ungrab event has the ID < AWTEvent.RESERVED_ID_MAX
   @author Andrei Dmitriev : area=awt.event
+  @modules java.desktop/sun.awt
   @run main UngrabID
 */
 
--- a/test/java/awt/im/8041990/bug8041990.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/im/8041990/bug8041990.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @bug 8041990
   @summary Language specific keys does not work in applets when opened outside the browser
   @author Petr Pchelko
+  @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,8 @@
  * @bug 8033534 8035069
  * @summary [macosx] Get MultiResolution image from native system
  * @author Alexander Scherbatiy
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main NSImageToMultiResolutionImageTest
  */
 
--- a/test/java/awt/image/MultiResolutionImageTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/image/MultiResolutionImageTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,6 +47,8 @@
  * @bug 8011059
  * @author Alexander Scherbatiy
  * @summary [macosx] Make JDK demos look perfect on retina displays
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main MultiResolutionImageTest CUSTOM
  * @run main MultiResolutionImageTest TOOLKIT_PREPARE
  * @run main MultiResolutionImageTest TOOLKIT_LOAD
--- a/test/java/awt/image/mlib/MlibOpsTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/image/mlib/MlibOpsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug     6556332 8011992 8012112
  * @summary Test verifies that on-demnad loading of medialib library does
  *          not break imageing ops based on this library.
+ * @modules java.desktop/sun.awt.image
  * @run     main MlibOpsTest
  * @run     main/othervm/policy=mlib.security.policy MlibOpsTest
  */
--- a/test/java/awt/image/multiresolution/MultiResolutionToolkitImageTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/image/multiresolution/MultiResolutionToolkitImageTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,6 +39,8 @@
  * @bug 8040291
  * @author Alexander Scherbatiy
  * @summary [macosx] Http-Images are not fully loaded when using ImageIcon
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main MultiResolutionToolkitImageTest
  */
 public class MultiResolutionToolkitImageTest {
--- a/test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
   @bug 6799551
   @summary Extended key codes for small letters undefined
   @author Andrei Dmitriev: area=awt.keyboard
+  @modules java.desktop/sun.awt
   @run main EqualKeyCode
 */
 
--- a/test/java/awt/print/bug8023392/bug8023392.html	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/print/bug8023392/bug8023392.html	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 
  This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
   @bug 8023392
   @summary Swing text components printed with spaces between chars
   @author Anton Nashatyrev
+  @modules java.desktop/sun.swing
   @run applet/manual=yesno bug8023392.html
   -->
 <head>
--- a/test/java/awt/xembed/server/RunTestXEmbed.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/xembed/server/RunTestXEmbed.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 4931668
  * @summary Tests XEmbed server/client functionality
  * @author Denis Mikhalkin: area=awt.xembed
+ * @modules java.desktop/sun.awt
  * @compile JavaClient.java TesterClient.java TestXEmbedServer.java
  * @run main/timeout=6000 RunTestXEmbed
  */
--- a/test/java/awt/xembed/server/TestXEmbedServerJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/awt/xembed/server/TestXEmbedServerJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 4931668
  * @summary Tests XEmbed server/client functionality
  * @author denis mikhalkin: area=awt.xembed
+ * @modules java.desktop/sun.awt
  * @compile JavaClient.java TesterClient.java TestXEmbedServer.java
  * @run main/manual TestXEmbedServerJava
  */
--- a/test/java/beans/Introspector/Test6277246.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/Introspector/Test6277246.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
  * @test
  * @bug 6277246
  * @summary Tests problem with java.beans use of reflection
+ * @modules java.base/sun.misc
+ *          java.desktop
  * @run main/othervm Test6277246
  * @author Jeff Nisewanger
  */
--- a/test/java/beans/Introspector/TestCacheRecursion.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/Introspector/TestCacheRecursion.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
  * @bug 8039137
  * @summary Tests Cache recursion
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.util
  * @compile -XDignore.symbol.file TestCacheRecursion.java
  * @run main TestCacheRecursion
  */
--- a/test/java/beans/Introspector/TestTypeResolver.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/Introspector/TestTypeResolver.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
  * @test
  * @summary Tests com.sun.beans.TypeResolver
  * @author Eamonn McManus
+ * @modules java.base/sun.reflect.generics.reflectiveObjects
+ *          java.desktop/com.sun.beans
  */
 
 import com.sun.beans.TypeResolver;
--- a/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,10 @@
  * @bug 6380849
  * @summary Tests PropertyEditor finder
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.editors
  * @compile -XDignore.symbol.file TestPropertyEditor.java
  * @run main TestPropertyEditor
+ * @key headful
  */
 
 import editors.SecondBeanEditor;
--- a/test/java/beans/PropertyEditor/Test6397609.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/Test6397609.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6397609
  * @summary Tests autocleaning
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.beans.PropertyEditorManager;
--- a/test/java/beans/PropertyEditor/Test6963811.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/Test6963811.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6963811
  * @summary Tests deadlock in PropertyEditorManager
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.editors
  * @compile -XDignore.symbol.file Test6963811.java
  * @run main Test6963811
  */
--- a/test/java/beans/PropertyEditor/TestBooleanClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510 6498158
  * @summary Tests PropertyEditor for value of type Boolean with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClass {
--- a/test/java/beans/PropertyEditor/TestBooleanClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498158
  * @summary Tests PropertyEditor for value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassJava {
--- a/test/java/beans/PropertyEditor/TestBooleanClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498158 6498171
  * @summary Tests PropertyEditor for null value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassNull {
--- a/test/java/beans/PropertyEditor/TestBooleanClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596 6498158
  * @summary Tests PropertyEditor for value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassValue {
--- a/test/java/beans/PropertyEditor/TestBooleanType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type boolean with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanType {
--- a/test/java/beans/PropertyEditor/TestBooleanTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeJava {
--- a/test/java/beans/PropertyEditor/TestBooleanTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeNull {
--- a/test/java/beans/PropertyEditor/TestBooleanTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestBooleanTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeValue {
--- a/test/java/beans/PropertyEditor/TestByteClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Byte with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClass {
--- a/test/java/beans/PropertyEditor/TestByteClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassJava {
--- a/test/java/beans/PropertyEditor/TestByteClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassNull {
--- a/test/java/beans/PropertyEditor/TestByteClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassValue {
--- a/test/java/beans/PropertyEditor/TestByteType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type byte with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteType {
--- a/test/java/beans/PropertyEditor/TestByteTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeJava {
--- a/test/java/beans/PropertyEditor/TestByteTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeNull {
--- a/test/java/beans/PropertyEditor/TestByteTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestByteTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeValue {
--- a/test/java/beans/PropertyEditor/TestColorClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestColorClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Color with security manager
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/test/java/beans/PropertyEditor/TestColorClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestColorClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/test/java/beans/PropertyEditor/TestColorClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestColorClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/test/java/beans/PropertyEditor/TestColorClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestColorClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/test/java/beans/PropertyEditor/TestDoubleClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Double with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClass {
--- a/test/java/beans/PropertyEditor/TestDoubleClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassJava {
--- a/test/java/beans/PropertyEditor/TestDoubleClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassNull {
--- a/test/java/beans/PropertyEditor/TestDoubleClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassValue {
--- a/test/java/beans/PropertyEditor/TestDoubleType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type double with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleType {
--- a/test/java/beans/PropertyEditor/TestDoubleTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeJava {
--- a/test/java/beans/PropertyEditor/TestDoubleTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeNull {
--- a/test/java/beans/PropertyEditor/TestDoubleTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestDoubleTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeValue {
--- a/test/java/beans/PropertyEditor/TestEnumClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6219769 6258510
  * @summary Tests PropertyEditor for value of type Enum with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClass {
--- a/test/java/beans/PropertyEditor/TestEnumClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6219769
  * @summary Tests PropertyEditor for value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassJava {
--- a/test/java/beans/PropertyEditor/TestEnumClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6219769 6498171
  * @summary Tests PropertyEditor for null value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassNull {
--- a/test/java/beans/PropertyEditor/TestEnumClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596 6219769
  * @summary Tests PropertyEditor for value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassValue {
--- a/test/java/beans/PropertyEditor/TestEnumSubclass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumSubclass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclass {
--- a/test/java/beans/PropertyEditor/TestEnumSubclassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumSubclassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassJava {
--- a/test/java/beans/PropertyEditor/TestEnumSubclassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumSubclassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for null value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassNull {
--- a/test/java/beans/PropertyEditor/TestEnumSubclassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestEnumSubclassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassValue {
--- a/test/java/beans/PropertyEditor/TestFloatClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Float with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClass {
--- a/test/java/beans/PropertyEditor/TestFloatClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassJava {
--- a/test/java/beans/PropertyEditor/TestFloatClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassNull {
--- a/test/java/beans/PropertyEditor/TestFloatClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassValue {
--- a/test/java/beans/PropertyEditor/TestFloatType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type float with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatType {
--- a/test/java/beans/PropertyEditor/TestFloatTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeJava {
--- a/test/java/beans/PropertyEditor/TestFloatTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeNull {
--- a/test/java/beans/PropertyEditor/TestFloatTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFloatTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeValue {
--- a/test/java/beans/PropertyEditor/TestFontClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFontClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596 6258510 6538853
  * @summary Tests PropertyEditor for value of type Font with security manager
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/test/java/beans/PropertyEditor/TestFontClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFontClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596 6538853
  * @summary Tests PropertyEditor for value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/test/java/beans/PropertyEditor/TestFontClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFontClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4506596 6498171 6538853
  * @summary Tests PropertyEditor for null value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/test/java/beans/PropertyEditor/TestFontClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestFontClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,10 @@
  * @bug 4222827 4506596 6538853
  * @summary Tests PropertyEditor for value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/test/java/beans/PropertyEditor/TestIntegerClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510 6498158
  * @summary Tests PropertyEditor for value of type Integer with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClass {
--- a/test/java/beans/PropertyEditor/TestIntegerClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498158
  * @summary Tests PropertyEditor for value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassJava {
--- a/test/java/beans/PropertyEditor/TestIntegerClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498158 6498171
  * @summary Tests PropertyEditor for null value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassNull {
--- a/test/java/beans/PropertyEditor/TestIntegerClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596 6498158
  * @summary Tests PropertyEditor for value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassValue {
--- a/test/java/beans/PropertyEditor/TestIntegerType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type int with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerType {
--- a/test/java/beans/PropertyEditor/TestIntegerTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeJava {
--- a/test/java/beans/PropertyEditor/TestIntegerTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeNull {
--- a/test/java/beans/PropertyEditor/TestIntegerTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestIntegerTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeValue {
--- a/test/java/beans/PropertyEditor/TestLongClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Long with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClass {
--- a/test/java/beans/PropertyEditor/TestLongClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassJava {
--- a/test/java/beans/PropertyEditor/TestLongClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassNull {
--- a/test/java/beans/PropertyEditor/TestLongClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassValue {
--- a/test/java/beans/PropertyEditor/TestLongType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type long with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongType {
--- a/test/java/beans/PropertyEditor/TestLongTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeJava {
--- a/test/java/beans/PropertyEditor/TestLongTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeNull {
--- a/test/java/beans/PropertyEditor/TestLongTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestLongTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeValue {
--- a/test/java/beans/PropertyEditor/TestShortClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Short with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClass {
--- a/test/java/beans/PropertyEditor/TestShortClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassJava {
--- a/test/java/beans/PropertyEditor/TestShortClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassNull {
--- a/test/java/beans/PropertyEditor/TestShortClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassValue {
--- a/test/java/beans/PropertyEditor/TestShortType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type short with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortType {
--- a/test/java/beans/PropertyEditor/TestShortTypeJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortTypeJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeJava {
--- a/test/java/beans/PropertyEditor/TestShortTypeNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortTypeNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeNull {
--- a/test/java/beans/PropertyEditor/TestShortTypeValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestShortTypeValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeValue {
--- a/test/java/beans/PropertyEditor/TestStringClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestStringClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6258510 6457659
  * @summary Tests PropertyEditor for value of type String with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClass {
--- a/test/java/beans/PropertyEditor/TestStringClassJava.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestStringClassJava.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6457659
  * @summary Tests PropertyEditor for value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassJava {
--- a/test/java/beans/PropertyEditor/TestStringClassNull.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestStringClassNull.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4506596 6457659 6498171
  * @summary Tests PropertyEditor for null value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassNull {
--- a/test/java/beans/PropertyEditor/TestStringClassValue.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/PropertyEditor/TestStringClassValue.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,9 @@
  * @bug 6457659
  * @summary Tests PropertyEditor for value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassValue {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/beans/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  * @bug 8028054
  * @summary Tests that cached constructors have synchronized access
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.finder
  * @compile -XDignore.symbol.file TestConstructorFinder.java
  * @run main TestConstructorFinder
  */
--- a/test/java/beans/XMLDecoder/8028054/TestMethodFinder.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLDecoder/8028054/TestMethodFinder.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
  * @bug 8028054
  * @summary Tests that cached methods have synchronized access
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.finder
  * @compile -XDignore.symbol.file TestMethodFinder.java
  * @run main TestMethodFinder
  */
--- a/test/java/beans/XMLEncoder/java_awt_ScrollPane.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLEncoder/java_awt_ScrollPane.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,6 +25,7 @@
  * @test
  * @bug 6402062 6487891
  * @summary Tests ScrollPane encoding
+ * @key headful
  * @author Sergey Malenkov
  */
 
--- a/test/java/beans/XMLEncoder/java_sql_Date.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLEncoder/java_sql_Date.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @bug 4733558 6471539
  * @summary Tests Date encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Date;
--- a/test/java/beans/XMLEncoder/java_sql_Time.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLEncoder/java_sql_Time.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @bug 4733558 6471539
  * @summary Tests Time encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Time;
--- a/test/java/beans/XMLEncoder/java_sql_Timestamp.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLEncoder/java_sql_Timestamp.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @bug 4733558 6471539
  * @summary Tests Timestamp encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Timestamp;
--- a/test/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6589532
  * @summary Tests PrintColorUIResource value encoding
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.swing
  */
 
 import java.awt.Color;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/io/FilterOutputStream/SuppressedException.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+import java.io.BufferedOutputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+/*
+ * @test
+ * @bug 8042377
+ * @summary Ensure suppressed exceptions are properly handled in close()
+ */
+public class SuppressedException {
+    private static final String CLOSE_MESSAGE = "Close exception";
+    private static final String FLUSH_MESSAGE = "Flush exception";
+    private static final String SAME_MESSAGE = "Same exception";
+
+    public static void main(String[] args) throws java.io.IOException {
+        SuppressedException test = new SuppressedException();
+        test.test();
+    }
+
+    private FilterOutputStream createOutputStream(OutputStream out,
+        boolean isBuffered) {
+        return isBuffered ? new BufferedOutputStream(out) :
+            new FilterOutputStream(out);
+    }
+
+    private void test() {
+        int failures = 0;
+        FilterOutputStream buf;
+
+        boolean[] isBuffered = new boolean[] {false, true};
+        for (boolean buffered : isBuffered) {
+            System.err.println("\n>>> Buffered: " + buffered + " <<<");
+            System.err.flush();
+
+            try {
+                buf = createOutputStream(new OutputStreamFailsWithException(),
+                        buffered);
+                buf.close();
+                System.err.println("\nNo IOException thrown for same exception");
+                failures++;
+            } catch (IOException expected) {
+                if (!expected.getMessage().equals(SAME_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    expected.printStackTrace();
+                    failures++;
+                }
+            } catch (IllegalArgumentException unexpected) {
+                System.err.println("\nUnexpected IllegalArgumentException thrown");
+                unexpected.printStackTrace();
+                failures++;
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(false, false),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                System.err.println("\nUnexpected IOException thrown");
+                e.printStackTrace();
+                failures++;
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(true, false),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(CLOSE_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(false, true),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(FLUSH_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(true, true),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(CLOSE_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+
+                Throwable[] suppressed = e.getSuppressed();
+                if (suppressed == null) {
+                    System.err.println("\nExpected suppressed exception not present");
+                    e.printStackTrace();
+                    failures++;
+                } else if (suppressed.length != 1) {
+                    System.err.println("\nUnexpected number of suppressed exceptions");
+                    e.printStackTrace();
+                    failures++;
+                } else if (!(suppressed[0] instanceof IOException)) {
+                    System.err.println("\nSuppressed exception is not an IOException");
+                    e.printStackTrace();
+                    failures++;
+                } else if (!suppressed[0].getMessage().equals(FLUSH_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+        }
+
+        if (failures > 0) {
+            throw new RuntimeException("Test failed with " + failures + " errors");
+        } else {
+            System.out.println("Test succeeded.");
+        }
+    }
+
+    class OutputStreamFailsWithException extends OutputStream {
+        private final IOException sameException = new IOException(SAME_MESSAGE);
+
+        private final Boolean throwSeparateCloseException;
+        private final Boolean throwSeparateFlushException;
+
+        OutputStreamFailsWithException() {
+            throwSeparateCloseException = null;
+            throwSeparateFlushException = null;
+        }
+
+        OutputStreamFailsWithException(boolean throwCloseException,
+                boolean throwFlushException) {
+            throwSeparateCloseException = throwCloseException;
+            throwSeparateFlushException = throwFlushException;
+        }
+
+        @Override
+        public void write(int i) throws IOException {
+            throw new UnsupportedOperationException("");
+        }
+
+        @Override
+        public void flush() throws IOException {
+            System.out.println("flush()");
+            if (throwSeparateFlushException == null) {
+                throw sameException;
+            } else if (throwSeparateFlushException) {
+                throw new IOException(FLUSH_MESSAGE);
+            }
+        }
+
+        @Override
+        public void close() throws IOException {
+            System.out.println("close()");
+            if (throwSeparateCloseException == null) {
+                throw sameException;
+            } else if (throwSeparateCloseException) {
+                throw new IOException(CLOSE_MESSAGE);
+            }
+        }
+    }
+}
--- a/test/java/lang/ref/SoftReference/Pin.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/lang/ref/SoftReference/Pin.java	Thu Jul 02 16:08:47 2015 -0700
@@ -76,6 +76,7 @@
                 Thread.sleep(100);              // yield, for what it's worth
             }
         } catch (OutOfMemoryError e) {
+            chain = null; // Free memory for further work.
             System.err.println("Got OutOfMemoryError, as expected.");
         }
 
--- a/test/java/math/BigInteger/ExtremeShiftingTests.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/math/BigInteger/ExtremeShiftingTests.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,6 +25,7 @@
  * @test
  * @bug 6371401
  * @summary Tests of shiftLeft and shiftRight on Integer.MIN_VALUE
+ * @requires os.maxMemory >= 1g
  * @run main/othervm -Xmx512m ExtremeShiftingTests
  * @author Joseph D. Darcy
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/net/NetworkInterface/NetworkInterfaceStreamTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 8081678
+ * @summary Tests for stream returning methods
+ * @library ../../util/stream/bootlib
+ * @build java.util.stream.OpTestCase
+ * @run testng/othervm NetworkInterfaceStreamTest
+ * @run testng/othervm -Djava.net.preferIPv4Stack=true NetworkInterfaceStreamTest
+ */
+
+import org.testng.annotations.Test;
+
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.function.Supplier;
+import java.util.stream.OpTestCase;
+import java.util.stream.Stream;
+import java.util.stream.TestData;
+
+public class NetworkInterfaceStreamTest extends OpTestCase {
+
+    @Test
+    public void testNetworkInterfaces() throws SocketException {
+        Supplier<Stream<NetworkInterface>> ss = () -> {
+            try {
+                return NetworkInterface.networkInterfaces();
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> expected = Collections.list(NetworkInterface.getNetworkInterfaces());
+        withData(TestData.Factory.ofSupplier("Top-level network interfaces", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+    private Collection<NetworkInterface> getAllNetworkInterfaces() throws SocketException {
+        Collection<NetworkInterface> anis = new ArrayList<>();
+        for (NetworkInterface ni : Collections.list(NetworkInterface.getNetworkInterfaces())) {
+            getAllSubNetworkInterfaces(ni, anis);
+        }
+        return anis;
+    }
+
+    private void getAllSubNetworkInterfaces(NetworkInterface ni, Collection<NetworkInterface> result) {
+        result.add(ni);
+
+        for (NetworkInterface sni : Collections.list(ni.getSubInterfaces())) {
+            getAllSubNetworkInterfaces(sni, result);
+        }
+    }
+
+    private Stream<NetworkInterface> allNetworkInterfaces() throws SocketException {
+        return NetworkInterface.networkInterfaces().flatMap(this::allSubNetworkInterfaces);
+    }
+
+    private Stream<NetworkInterface> allSubNetworkInterfaces(NetworkInterface ni) {
+        return Stream.concat(
+                Stream.of(ni),
+                ni.subInterfaces().flatMap(this::allSubNetworkInterfaces));
+    }
+
+    @Test
+    public void testSubNetworkInterfaces() throws SocketException {
+        Supplier<Stream<NetworkInterface>> ss = () -> {
+            try {
+                return allNetworkInterfaces();
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> expected = getAllNetworkInterfaces();
+        withData(TestData.Factory.ofSupplier("All network interfaces", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+    @Test
+    public void testInetAddresses() throws SocketException {
+        Supplier<Stream<InetAddress>> ss = () -> {
+            try {
+                return NetworkInterface.networkInterfaces().flatMap(NetworkInterface::inetAddresses);
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> nis = Collections.list(NetworkInterface.getNetworkInterfaces());
+        Collection<InetAddress> expected = new ArrayList<>();
+        for (NetworkInterface ni : nis) {
+            expected.addAll(Collections.list(ni.getInetAddresses()));
+        }
+        withData(TestData.Factory.ofSupplier("All inet addresses", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+}
--- a/test/java/nio/file/Files/probeContentType/Basic.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/nio/file/Files/probeContentType/Basic.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,7 @@
  */
 
 /* @test
- * @bug 4313887
+ * @bug 4313887 8129632
  * @summary Unit test for probeContentType method
  * @library ../..
  * @build Basic SimpleFileTypeDetector
@@ -33,9 +33,9 @@
 import java.io.*;
 
 /**
- * Uses Files.probeContentType to probe html file and custom file type.
+ * Uses Files.probeContentType to probe html file, custom file type, and minimal
+ * set of file extension to content type mappings.
  */
-
 public class Basic {
 
     static Path createHtmlFile() throws IOException {
@@ -51,6 +51,39 @@
         return Files.createTempFile("red", ".grape");
     }
 
+    static void checkContentTypes(String[] extensions, String[] expectedTypes)
+        throws IOException {
+        if (extensions.length != expectedTypes.length) {
+            throw new IllegalArgumentException("Parameter array lengths differ");
+        }
+
+        int failures = 0;
+        for (int i = 0; i < extensions.length; i++) {
+            String extension = extensions[i];
+            Path file = Files.createTempFile("foo", "." + extension);
+            try {
+                String type = Files.probeContentType(file);
+                if (type == null) {
+                    System.err.println("Content type of " + extension
+                            + " cannot be determined");
+                    failures++;
+                } else {
+                    if (!type.equals(expectedTypes[i])) {
+                        System.err.println("Content type: " + type
+                                + "; expected: " + expectedTypes[i]);
+                        failures++;
+                    }
+                }
+            } finally {
+                Files.delete(file);
+            }
+        }
+
+        if (failures > 0) {
+            throw new RuntimeException("Test failed!");
+        }
+    }
+
     public static void main(String[] args) throws IOException {
 
         // exercise default file type detector
@@ -79,5 +112,17 @@
             Files.delete(file);
         }
 
+        // Verify that common file extensions are mapped to the correct content
+        // types on Mac OS X only which has consistent Uniform Type Identifiers.
+        if (System.getProperty("os.name").contains("OS X")) {
+            String[] extensions = new String[]{
+                "jpg", "mp3", "mp4", "pdf", "png"
+            };
+            String[] expectedTypes = new String[]{
+                "image/jpeg", "audio/mpeg", "video/mp4", "application/pdf",
+                "image/png"
+            };
+            checkContentTypes(extensions, expectedTypes);
+        }
     }
 }
--- a/test/java/security/KeyStore/EntryMethods.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/security/KeyStore/EntryMethods.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -348,96 +348,140 @@
 
     public static class Pre15 extends KeyStoreSpi {
 
-        private static KeyStoreSpi jks = getJKS();
+        private static KeyStore jks = getJKS();
 
-        // javac does not allow direct access to class (javac bug?)
-        // use reflection instead
-        private static KeyStoreSpi getJKS() {
+        private static KeyStore getJKS() {
             try {
-                Class clazz = Class.forName("sun.security.provider.JavaKeyStore$JKS");
-                return (KeyStoreSpi)clazz.newInstance();
+                return (KeyStore) KeyStore.getInstance("JKS");
             } catch (Exception e) {
                 e.printStackTrace();
                 throw new RuntimeException(e);
             }
         }
+        public Pre15() {
+        }
 
         public Key engineGetKey(String alias, char[] password)
             throws NoSuchAlgorithmException, UnrecoverableKeyException {
-            return jks.engineGetKey(alias, password);
+            try {
+                return jks.getKey(alias, password);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public java.security.cert.Certificate[] engineGetCertificateChain
                 (String alias) {
-            return jks.engineGetCertificateChain(alias);
+            try {
+                return jks.getCertificateChain(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public java.security.cert.Certificate engineGetCertificate
                 (String alias) {
-            return jks.engineGetCertificate(alias);
+            try {
+                return jks.getCertificate(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public Date engineGetCreationDate(String alias) {
-            return jks.engineGetCreationDate(alias);
+            try {
+                return jks.getCreationDate(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineSetKeyEntry(String alias, Key key,
                                    char[] password,
                                    java.security.cert.Certificate[] chain)
             throws KeyStoreException {
-            jks.engineSetKeyEntry(alias, key, password, chain);
+            jks.setKeyEntry(alias, key, password, chain);
         }
 
         public void engineSetKeyEntry(String alias, byte[] key,
                                    java.security.cert.Certificate[] chain)
             throws KeyStoreException {
-            jks.engineSetKeyEntry(alias, key, chain);
+            jks.setKeyEntry(alias, key, chain);
         }
 
         public void engineSetCertificateEntry(String alias,
                                            java.security.cert.Certificate cert)
             throws KeyStoreException {
-            jks.engineSetCertificateEntry(alias, cert);
+            jks.setCertificateEntry(alias, cert);
         }
 
         public void engineDeleteEntry(String alias)
             throws KeyStoreException {
-            jks.engineDeleteEntry(alias);
+            jks.deleteEntry(alias);
         }
 
         public Enumeration engineAliases() {
-            return jks.engineAliases();
+            try {
+                return jks.aliases();
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
+
         }
 
         public boolean engineContainsAlias(String alias) {
-            return jks.engineContainsAlias(alias);
+            try {
+                return jks.containsAlias(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public int engineSize() {
-            return jks.engineSize();
+            try {
+                return jks.size();
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public boolean engineIsKeyEntry(String alias) {
-            return jks.engineIsKeyEntry(alias);
+            try {
+                return jks.isKeyEntry(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public boolean engineIsCertificateEntry(String alias) {
-            return jks.engineIsCertificateEntry(alias);
+            try {
+                return jks.isCertificateEntry(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public String engineGetCertificateAlias
                 (java.security.cert.Certificate cert) {
-            return jks.engineGetCertificateAlias(cert);
+            try {
+                return jks.getCertificateAlias(cert);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineStore(OutputStream stream, char[] password)
             throws IOException, NoSuchAlgorithmException, CertificateException {
-            jks.engineStore(stream, password);
+            try {
+                jks.store(stream, password);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineLoad(InputStream stream, char[] password)
             throws IOException, NoSuchAlgorithmException, CertificateException {
-            jks.engineLoad(stream, password);
+            jks.load(stream, password);
         }
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/security/PermissionCollection/PermissionCollectionStreamTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 8081678
+ * @summary Tests for stream returning methods
+ * @library ../../util/stream/bootlib
+ * @build java.util.stream.OpTestCase
+ * @run testng/othervm PermissionCollectionStreamTest
+ */
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import java.io.FilePermission;
+import java.security.Permission;
+import java.security.PermissionCollection;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.function.Supplier;
+import java.util.stream.OpTestCase;
+import java.util.stream.Stream;
+import java.util.stream.TestData;
+
+public class PermissionCollectionStreamTest extends OpTestCase {
+
+    @DataProvider
+    public static Object[][] permissions() {
+        return new Object[][]{
+                {
+                        "FilePermission",
+                        new Permission[]{
+                                new FilePermission("/home/foobar", "read"),
+                                new FilePermission("/home/foo", "write"),
+                                new FilePermission("/home/foobar", "read,write"),
+                        }
+                },
+        };
+    }
+
+
+    private PermissionCollection create(Permission[] pa) {
+        PermissionCollection pc = pa[0].newPermissionCollection();
+        for (Permission p : pa) {
+            pc.add(p);
+        }
+        return pc;
+    }
+
+    @Test(dataProvider = "permissions")
+    public void testElementsAsStream(String description, Permission[] pa) {
+        PermissionCollection pc = create(pa);
+
+        Supplier<Stream<Permission>> ss = pc::elementsAsStream;
+
+        Collection<Permission> expected = Collections.list(pc.elements());
+        withData(TestData.Factory.ofSupplier(description, ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+}
--- a/test/java/sql/testng/test/sql/DriverManagerTests.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/sql/testng/test/sql/DriverManagerTests.java	Thu Jul 02 16:08:47 2015 -0700
@@ -34,7 +34,11 @@
 import java.sql.Driver;
 import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Properties;
+import java.util.stream.Collectors;
+
 import static org.testng.Assert.*;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
@@ -351,4 +355,24 @@
             assertTrue(result.equals(reader.readLine()));
         }
     }
+
+    /**
+     * Register some driver implementations and validate that the driver
+     * elements covered by the Enumeration obtained from
+     * {@link DriverManager#getDrivers()} are the same as driver elements
+     * covered by the stream obtained from {@link DriverManager#drivers()}}
+     */
+    @Test
+    public void tests19() throws Exception {
+        int n = 8;
+        for (int i = 0; i < n; i++) {
+            DriverManager.registerDriver(new StubDriver());
+        }
+
+        Collection<Driver> expectedDrivers = Collections.list(DriverManager.getDrivers());
+        assertEquals(expectedDrivers.size(), n);
+        Collection<Driver> drivers = DriverManager.drivers().collect(Collectors.toList());
+
+        assertEquals(drivers, expectedDrivers);
+    }
 }
--- a/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -171,7 +171,7 @@
         assertSorted(result);
     }
 
-    @Test
+    @Test(groups = { "serialization-hostile" })
     public void testStable() {
         // Create N instances of Integer all with the same value
         List<Integer> input = IntStream.rangeClosed(0, 1000)
--- a/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -190,6 +190,7 @@
         }
     }
 
+    @Test(groups = { "serialization-hostile" })
     public void testSkipLimitOpsWithNonSplittingSpliterator() {
         class NonSplittingNotSubsizedOrderedSpliterator<T> implements Spliterator<T> {
             Spliterator<T> s;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/BarProvider.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UncheckedIOException;
+import javax.accessibility.AccessibilityProvider;
+
+public final class BarProvider extends AccessibilityProvider {
+    private final String name = "BarProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("BarProvider.txt")) {
+            writer.println(" BarProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/FooProvider.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import javax.accessibility.AccessibilityProvider;
+import java.io.UncheckedIOException;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+public final class FooProvider extends AccessibilityProvider {
+
+    private final String name = "FooProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("FooProvider.txt")) {
+            writer.println("FooProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/Load.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.awt.AWTError;
+import java.awt.Toolkit;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import javax.accessibility.AccessibilityProvider;
+
+public class Load {
+
+    public static void main(String[] args) {
+        // args[0]: "pass" or "fail" (the expected result)
+        // args[1]: "<first provider name>"
+        // args[2]: "<optional second provider name>"
+
+        boolean passExpected = args[0].equals("pass");
+
+        // Fill Set with provider names that were requested.
+        // The providers may or may not be available:
+        // - available: FooProvider, BarProvider
+        // - not available: NoProvider
+        List<String> requestedNames = new ArrayList<>();
+        for (int i = 1; i < args.length; ++i) {
+            requestedNames.add(args[i]);
+        }
+        // cleanup files from any prior run
+        for (String name : requestedNames) {
+            File f = new File(name + ".txt");
+            f.delete();
+        }
+        // Activate getDefaultToolkit which will in turn activate the providers
+        try {
+            Toolkit.getDefaultToolkit();
+        } catch (AWTError e) {
+            if (passExpected) {
+                throw new RuntimeException(e.getMessage());
+            }
+        }
+        // Toolkit.getDefaultToolkit() already went through all the service
+        // providers, loading and activating the requested ones, but now we need
+        // to see if they actually got activated.
+        // Go through the providers that were requested, for each one:
+        //   If it was activated pass
+        //   else fail (throw exception)
+        boolean failure = false;
+        String failingName = "";
+        for (String name : requestedNames) {
+            File f = new File(name + ".txt");
+            if (!f.exists()) {
+                failure = true;
+                failingName = name;
+                break;
+            }
+        } // if get to here, no issues, so try next provider
+        if (failure && passExpected) {
+            throw new RuntimeException(failingName + " was not activated");
+        }
+        if (!failure && !passExpected) {
+            String s = "Test passed but a failure was expected.  ";
+            s += "The requested providers were:\n";
+            for (String name : requestedNames) {
+                s += ("  " + name + "\n");
+            }
+            throw new RuntimeException(s);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/UnusedProvider.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UncheckedIOException;
+import javax.accessibility.AccessibilityProvider;
+
+public final class UnusedProvider extends AccessibilityProvider {
+
+    private static final String name = "UnusedProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("UnusedProvider.txt")) {
+            writer.println("UnusedProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/accessibilityProvider.sp	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,4 @@
+grant { 
+    permission java.lang.RuntimePermission "accessibilityProvider";
+    permission java.io.FilePermission "*", "read,write,delete";
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/AccessibilityProvider/basic.sh	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,114 @@
+#
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# @test
+# @bug 8055160
+# @summary Unit test for javax.accessibility.AccessibilitySPI
+#
+# @build Load FooProvider BarProvider UnusedProvider
+# @run shell basic.sh
+
+# Command-line usage: sh basic.sh /path/to/build
+
+if [ -z "$TESTJAVA" ]; then
+  if [ $# -lt 1 ]; then exit 1; fi
+  TESTJAVA="$1"
+  TESTSRC=`pwd`
+  TESTCLASSES="`pwd`"
+fi
+
+JAVA="$TESTJAVA/bin/java"
+
+OS=`uname -s`
+case "$OS" in
+    SunOS | Darwin | AIX )
+      FS='/'
+      SEP=':' ;;
+    Linux )
+      FS='/'
+      SEP=':' ;;
+    * )
+      FS='\\'
+      SEP='\;' ;;
+esac
+
+TESTD=x.test
+rm -rf $TESTD
+mkdir -p $TESTD
+
+mv $TESTCLASSES/FooProvider.class $TESTD
+mv $TESTCLASSES/BarProvider.class $TESTD
+mv $TESTCLASSES/UnusedProvider.class $TESTD
+mkdir -p $TESTD/META-INF/services
+echo FooProvider >$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+echo BarProvider >>$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+echo UnusedProvider >>$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+
+
+failures=0
+
+go() {
+  CP="$TESTCLASSES$SEP$TESTD"
+  echo ''
+  sh -xc "$JAVA $SECURITY_MANAGER -Djavax.accessibility.assistive_technologies=$PROVIDER1$COMMA$PROVIDER2 -cp $CP Load $1 $2 $3" 2>&1
+  if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
+}
+
+# find one provider
+PROVIDER1="FooProvider"
+go pass $PROVIDER1
+
+# start using security manager
+SECURITY_MANAGER="-Djava.security.manager -Djava.security.policy=$TESTSRC/accessibilityProvider.sp"
+
+# find one provider (with security manager)
+go pass $PROVIDER1
+SECURITY_MANAGER=
+
+# fail if no provider found
+PROVIDER1="NoProvider"
+go fail $PROVIDER1
+
+# setup for two providers
+COMMA=","
+
+# find two providers, both exist
+PROVIDER1="FooProvider"
+PROVIDER2="BarProvider"
+go pass $PROVIDER1 $PROVIDER2
+
+# find two providers, where second one doesn't exist
+PROVIDER1="FooProvider"
+PROVIDER2="NoProvider"
+go fail $PROVIDER1 $PROVIDER2
+
+# find two providers, where first one doesn't exist
+PROVIDER1="NoProvider"
+PROVIDER2="BarProvider"
+go fail $PROVIDER1 $PROVIDER2
+
+echo ''
+if [ $failures -gt 0 ];
+  then echo "$failures case(s) failed";
+  else echo "All cases passed"; fi
+exit $failures
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/accessibility/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/imageio/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,1 @@
+modules=java.desktop
--- a/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Jul 02 16:08:47 2015 -0700
@@ -1,6 +1,6 @@
 #!/bin/ksh -p
 #
-# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@
 #               the same VM and verifies that ImageIO shutdown hook
 #               StreamCloser does not cause a leak of classloaders.
 #
+#   @modules java.desktop/sun.awt
 #   @build      test.Main
 #   @build      testapp.Main
 #   @run shell  run_test.sh
--- a/test/javax/management/loading/MLetCLR/MLetCommand.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/management/loading/MLetCLR/MLetCommand.java	Thu Jul 02 16:08:47 2015 -0700
@@ -31,7 +31,7 @@
  * @modules java.management
  * @run clean MLetCommand
  * @run build MLetCommand
- * @run main/othervm/policy=policy MLetCommand
+ * @run main/othervm/java.security.policy=policy MLetCommand
  */
 
 import javax.management.MBeanServer;
--- a/test/javax/management/modelmbean/ModelMBeanInfoSupport/GetAllDescriptorsTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/management/modelmbean/ModelMBeanInfoSupport/GetAllDescriptorsTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -30,7 +30,7 @@
  * @modules java.management
  * @run clean GetAllDescriptorsTest
  * @run build GetAllDescriptorsTest
- * @run main/othervm/policy=policy  GetAllDescriptorsTest
+ * @run main/othervm/java.security.policy=policy  GetAllDescriptorsTest
  */
 
 import java.lang.reflect.*;
--- a/test/javax/management/modelmbean/SimpleModelMBean/SimpleModelMBeanCommand.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/management/modelmbean/SimpleModelMBean/SimpleModelMBeanCommand.java	Thu Jul 02 16:08:47 2015 -0700
@@ -31,7 +31,7 @@
  * @modules java.management
  * @run clean SimpleModelMBeanCommand
  * @run build SimpleModelMBeanCommand
- * @run main/othervm/policy=policy  SimpleModelMBeanCommand
+ * @run main/othervm/java.security.policy=policy  SimpleModelMBeanCommand
  */
 
 import java.lang.reflect.*;
--- a/test/javax/management/remote/mandatory/notif/DeadListenerTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/management/remote/mandatory/notif/DeadListenerTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -27,6 +27,7 @@
  * @summary Test that a listener can be removed remotely from an MBean that no longer exists.
  * @modules java.management/com.sun.jmx.remote.internal
  * @author Eamonn McManus
+ * @run main/othervm -XX:+UsePerfData DeadListenerTest
  */
 
 import com.sun.jmx.remote.internal.ServerNotifForwarder;
--- a/test/javax/net/ssl/TLS/CipherTestUtils.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/net/ssl/TLS/CipherTestUtils.java	Thu Jul 02 16:08:47 2015 -0700
@@ -47,6 +47,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Base64;
+import java.util.Collections;
 import java.util.List;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLEngine;
@@ -70,7 +71,8 @@
     public static final SecureRandom secureRandom = new SecureRandom();
     public static char[] PASSWORD = "passphrase".toCharArray();
     private static final List<TestParameters> TESTS = new ArrayList<>(3);
-    private static final List<Exception> EXCEPTIONS = new ArrayList<>(1);
+    private static final List<Exception> EXCEPTIONS
+            = Collections.synchronizedList(new ArrayList<>(1));
     private static final String CLIENT_PUBLIC_KEY
         = "-----BEGIN CERTIFICATE-----\n"
         + "MIICtTCCAh4CCQDkYJ46DMcGRjANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMC\n"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/print/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/sound/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatConverter getFormat method */
+   @summary Test AudioFloatConverter getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 import com.sun.media.sound.*;
--- a/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatConverter toFloatArray method */
+   @summary Test AudioFloatConverter toFloatArray method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test skip method returned from AudioFloatFormatConverter.getAudioInputStream */
+ @summary Test skip method returned from AudioFloatFormatConverter.getAudioInputStream
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayInputStream;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream available method */
+   @summary Test AudioFloatInputStream available method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream close method */
+   @summary Test AudioFloatInputStream close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream getFormat method */
+   @summary Test AudioFloatInputStream getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream getFrameLength method */
+   @summary Test AudioFloatInputStream getFrameLength method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream markSupported method */
+   @summary Test AudioFloatInputStream markSupported method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read method */
+   @summary Test AudioFloatInputStream read method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read(float[]) method */
+   @summary Test AudioFloatInputStream read(float[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read(float[], int, int) method */
+   @summary Test AudioFloatInputStream read(float[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream reset method */
+   @summary Test AudioFloatInputStream reset method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream skip method */
+   @summary Test AudioFloatInputStream skip method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(File) method */
+ @summary Test DLSSoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(InputStream) method */
+ @summary Test DLSSoundbankReader getSoundbank(InputStream) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test DLSSoundbankReader getSoundbank(InputStream) method using
-     very bad InputStream which can only read 1 byte at time */
+     very bad InputStream which can only read 1 byte at time
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(File) method */
+ @summary Test DLSSoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.net.URL;
--- a/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test EmergencySoundbank createSoundbank() method */
+ @summary Test EmergencySoundbank createSoundbank() method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer getInputStream method */
+   @summary Test ModelByteBuffer getInputStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer getRoot method */
+   @summary Test ModelByteBuffer getRoot method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer load method */
+   @summary Test ModelByteBuffer load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer loadAll method */
+   @summary Test ModelByteBuffer loadAll method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(byte[]) constructor */
+   @summary Test ModelByteBuffer(byte[]) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(byte[],int,int) constructor */
+   @summary Test ModelByteBuffer(byte[],int,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(File) constructor */
+   @summary Test ModelByteBuffer(File) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(File,long,long) constructor */
+   @summary Test ModelByteBuffer(File,long,long) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream available() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream available() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream close method */
+   @summary Test ModelByteBuffer.RandomFileInputStream close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream mark and reset methods */
+   @summary Test ModelByteBuffer.RandomFileInputStream mark and reset methods
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream markSupported() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream markSupported() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[]) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[], int, int) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream skip(long) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream skip(long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long) method */
+   @summary Test ModelByteBuffer subbuffer(long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long,long) method */
+   @summary Test ModelByteBuffer subbuffer(long,long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long,long,boolean) method */
+   @summary Test ModelByteBuffer subbuffer(long,long,boolean) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer unload method */
+   @summary Test ModelByteBuffer unload method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer writeTo method */
+   @summary Test ModelByteBuffer writeTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getAttenuation method */
+   @summary Test ModelByteBufferWavetable getAttenuation method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getChannels method */
+   @summary Test ModelByteBufferWavetable getChannels method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getLoopLength method */
+   @summary Test ModelByteBufferWavetable getLoopLength method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getLoopStart method */
+   @summary Test ModelByteBufferWavetable getLoopStart method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getPitchCorrect method */
+   @summary Test ModelByteBufferWavetable getPitchCorrect method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat, float)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat, float)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable open method */
+   @summary Test ModelByteBufferWavetable open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test AudioFloatInputStream.getFrameLength() returned from
- ModelByteBufferWavetable openStream method */
+ ModelByteBufferWavetable openStream method
+ @modules java.desktop/com.sun.media.sound
+ */
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable set8BitExtensionBuffer method */
+   @summary Test ModelByteBufferWavetable set8BitExtensionBuffer method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable SetLoopType method */
+   @summary Test ModelByteBufferWavetable SetLoopType method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelDestination constructor */
+   @summary Test ModelDestination constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelDestination(ModelIdentifier) constructor */
+   @summary Test ModelDestination(ModelIdentifier) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable setIdentifier(ModelIdentifier) method */
+   @summary Test ModelByteBufferWavetable setIdentifier(ModelIdentifier) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable setTransform(ModelTransform) method */
+   @summary Test ModelByteBufferWavetable setTransform(ModelTransform) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier equals method */
+   @summary Test ModelIdentifier equals method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String) constructor */
+   @summary Test ModelIdentifier(String) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String, integer) constructor */
+   @summary Test ModelIdentifier(String, integer) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String,String) constructor */
+   @summary Test ModelIdentifier(String,String) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String,String,int) constructor */
+   @summary Test ModelIdentifier(String,String,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setInstance method */
+   @summary Test ModelIdentifier setInstance method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setObject method */
+   @summary Test ModelIdentifier setObject method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setVariable method */
+   @summary Test ModelIdentifier setVariable method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer getOscillators method */
+   @summary Test ModelPerformer getOscillators method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setConnectionBlocks method */
+   @summary Test ModelPerformer setConnectionBlocks method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setDefaultConnectionsEnabled method */
+   @summary Test ModelPerformer setDefaultConnectionsEnabled method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setExclusiveClass method */
+   @summary Test ModelPerformer setExclusiveClass method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setKeyFrom method */
+   @summary Test ModelPerformer setKeyFrom method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setKeyTo method */
+   @summary Test ModelPerformer setKeyTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setName method */
+   @summary Test ModelPerformer setName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setSelfNonExclusive method */
+   @summary Test ModelPerformer setSelfNonExclusive method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setVelFrom method */
+   @summary Test ModelPerformer setVelFrom method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setVelTo method */
+   @summary Test ModelPerformer setVelTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource() constructor */
+   @summary Test ModelSource() constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier) constructor */
+   @summary Test ModelSource(ModelIdentifier) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean,boolean) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean,boolean,int) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean,boolean,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,ModelTransform) constructor */
+   @summary Test ModelSource(ModelIdentifier,ModelTransform) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource setIdentifier method */
+   @summary Test ModelSource setIdentifier method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource setTransform method */
+   @summary Test ModelSource setTransform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardIndexedDirector class */
+   @summary Test ModelStandardIndexedDirector class
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.ArrayList;
 import java.util.List;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform constructor */
+   @summary Test ModelStandardTransform constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean) constructor */
+   @summary Test ModelStandardTransform(boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean,boolean) constructor */
+   @summary Test ModelStandardTransform(boolean,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean,boolean,int) constructor */
+   @summary Test ModelStandardTransform(boolean,boolean,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setDirection method */
+   @summary Test ModelStandardTransform setDirection method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setPolarity method */
+   @summary Test ModelStandardTransform setPolarity method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setTransform method */
+   @summary Test ModelStandardTransform setTransform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader available method */
+   @summary Test RiffReader available method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader close method */
+   @summary Test RiffReader close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader getFilePointer method */
+   @summary Test RiffReader getFilePointer method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader getSize method */
+   @summary Test RiffReader getSize method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader hasNextChunk method */
+   @summary Test RiffReader hasNextChunk method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read method */
+   @summary Test RiffReader read method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read(byte) method */
+   @summary Test RiffReader read(byte) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read(byte[], int, int) method */
+   @summary Test RiffReader read(byte[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readInt method */
+   @summary Test RiffReader readInt method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readLong method */
+   @summary Test RiffReader readLong method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readShort method */
+   @summary Test RiffReader readShort method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readString method */
+   @summary Test RiffReader readString method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedByte method */
+   @summary Test RiffReader readUnsignedByte method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedInt method */
+   @summary Test RiffReader readUnsignedInt method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedShort method */
+   @summary Test RiffReader readUnsignedShort method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader skip method */
+   @summary Test RiffReader skip method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffWriter(OutputStream) constructor */
+   @summary Test RiffWriter(OutputStream) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
--- a/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(File) method */
+ @summary Test SF2SoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(InputStream) method */
+ @summary Test SF2SoundbankReader getSoundbank(InputStream) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test SF2SoundbankReader getSoundbank(InputStream) method using
-     very bad InputStream which can only read 1 byte at time */
+     very bad InputStream which can only read 1 byte at time
+ @modules java.desktop/com.sun.media.sound
+ */
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(File) method */
+ @summary Test SF2SoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.net.URL;
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument) method */
+   @summary Test SimpleInstrument add(ModelInstrument) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer) method */
+   @summary Test SimpleInstrument add(ModelPerformer) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[]) method */
+   @summary Test SimpleInstrument add(ModelPerformer[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument clear method */
+   @summary Test SimpleInstrument clear method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument setName(String) method */
+   @summary Test SimpleInstrument setName(String) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument setPatch(Patch) method */
+   @summary Test SimpleInstrument setPatch(Patch) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank addInstrument method */
+   @summary Test SimpleSoundbank addInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank addResource method */
+   @summary Test SimpleSoundbank addResource method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.SoundbankResource;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank getInstrument method */
+   @summary Test SimpleSoundbank getInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank removeInstrument method */
+   @summary Test SimpleSoundbank removeInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setDescription method */
+   @summary Test SimpleSoundbank setDescription method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setName method */
+   @summary Test SimpleSoundbank setName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setVendor method */
+   @summary Test SimpleSoundbank setVendor method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setVersion method */
+   @summary Test SimpleSoundbank setVersion method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer array method */
+   @summary Test SoftAudioBuffer array method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer clear method */
+   @summary Test SoftAudioBuffer clear method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer get method */
+   @summary Test SoftAudioBuffer get method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer constructor */
+   @summary Test SoftAudioBuffer constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer getFormat method */
+   @summary Test SoftAudioSynthesizer getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer getPropertyInfo method */
+   @summary Test SoftAudioSynthesizer getPropertyInfo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer open method */
+   @summary Test SoftAudioSynthesizer open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer openStream method */
+   @summary Test SoftAudioSynthesizer openStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel allNotesOff method */
+   @summary Test SoftChannel allNotesOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel allSoundOff method */
+   @summary Test SoftChannel allSoundOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel channelPressure method */
+   @summary Test SoftChannel channelPressure method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/Controller.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/Controller.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel controller method */
+   @summary Test SoftChannel controller method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel localControl method */
+   @summary Test SoftChannel localControl method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/Mono.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/Mono.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel mono method */
+   @summary Test SoftChannel mono method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/Mute.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/Mute.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel mute method */
+   @summary Test SoftChannel mute method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOff method */
+   @summary Test SoftChannel noteOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOff method */
+   @summary Test SoftChannel noteOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOn method */
+   @summary Test SoftChannel noteOn method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOn/noteOff overflow test */
+   @summary Test SoftChannel noteOn/noteOff overflow test
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiChannel;
 import javax.sound.midi.VoiceStatus;
--- a/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel overflow test 2 */
+   @summary Test SoftChannel overflow test 2
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/test/javax/sound/midi/Gervill/SoftChannel/Omni.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/Omni.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel omni method */
+   @summary Test SoftChannel omni method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel pitchBend method */
+   @summary Test SoftChannel pitchBend method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel polyPressure method */
+   @summary Test SoftChannel polyPressure method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel program and bank change */
+   @summary Test SoftChannel program and bank change
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel programChange method */
+   @summary Test SoftChannel programChange method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel resetAllControllers method */
+   @summary Test SoftChannel resetAllControllers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftChannel/Solo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftChannel/Solo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel solo method */
+   @summary Test SoftChannel solo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftCubicResampler interpolate method */
+   @summary Test SoftCubicResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftFilter processAudio method */
+   @summary Test SoftFilter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLanczosResampler interpolate method */
+   @summary Test SoftLanczosResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLinearResampler interpolate method */
+   @summary Test SoftLinearResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLinearResampler2 interpolate method */
+   @summary Test SoftLinearResampler2 interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftLowFrequencyOscillator processControlLogic method */
+ @summary Test SoftLowFrequencyOscillator processControlLogic method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.AudioSynthesizerPropertyInfo;
 import com.sun.media.sound.SoftLowFrequencyOscillator;
--- a/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftPointResampler interpolate method */
+   @summary Test SoftPointResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftProvider getDevice method */
+   @summary Test SoftProvider getDevice method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Close.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Close.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver close method */
+   @summary Test SoftReceiver close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftReceiver getMidiDevice method */
+ @summary Test SoftReceiver getMidiDevice method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Receiver;
 
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSincResampler interpolate method */
+   @summary Test SoftSincResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer close method */
+   @summary Test SoftSynthesizer close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getAvailableInstruments method */
+   @summary Test SoftSynthesizer getAvailableInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getAvailableInstruments method */
+ @summary Test SoftSynthesizer getAvailableInstruments method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getChannels method */
+   @summary Test SoftSynthesizer getChannels method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiChannel;
 import javax.sound.midi.MidiDevice;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getDefaultSoundbank method */
+   @summary Test SoftSynthesizer getDefaultSoundbank method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getDeviceInfo method */
+   @summary Test SoftSynthesizer getDeviceInfo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getLatency method */
+   @summary Test SoftSynthesizer getLatency method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getLoadedInstruments method */
+   @summary Test SoftSynthesizer getLoadedInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getLoadedInstruments method */
+ @summary Test SoftSynthesizer getLoadedInstruments method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxPolyphony method */
+   @summary Test SoftSynthesizer getMaxPolyphony method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxReceivers method */
+   @summary Test SoftSynthesizer getMaxReceivers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxTransmitters method */
+   @summary Test SoftSynthesizer getMaxTransmitters method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMicrosecondPosition method */
+   @summary Test SoftSynthesizer getMicrosecondPosition method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getPropertyInfo method */
+ @summary Test SoftSynthesizer getPropertyInfo method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceiver method */
+   @summary Test SoftSynthesizer getReceiver method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceiver method */
+   @summary Test SoftSynthesizer getReceiver method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Receiver;
 import javax.sound.midi.ShortMessage;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceivers method */
+   @summary Test SoftSynthesizer getReceivers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getTransmitter method */
+   @summary Test SoftSynthesizer getTransmitter method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getTransmitters method */
+   @summary Test SoftSynthesizer getTransmitters method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getVoiceStatus method */
+   @summary Test SoftSynthesizer getVoiceStatus method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer implicit open/close using getReceiver. */
+   @summary Test SoftSynthesizer implicit open/close using getReceiver.
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.lang.reflect.Field;
 
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer isOpen method */
+   @summary Test SoftSynthesizer isOpen method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer isSoundbankSupported method */
+   @summary Test SoftSynthesizer isSoundbankSupported method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Instrument;
 import javax.sound.midi.MidiDevice;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstruments method */
+   @summary Test SoftSynthesizer loadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstrument method */
+   @summary Test SoftSynthesizer loadAllInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstruments method */
+   @summary Test SoftSynthesizer loadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer open method */
+   @summary Test SoftSynthesizer open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.lang.reflect.Field;
 
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer openStream method */
+   @summary Test SoftSynthesizer openStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer remapInstrument method */
+   @summary Test SoftSynthesizer remapInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Instrument;
 import javax.sound.midi.MidiDevice;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test Disable/enable loading default soundbank in SoftSynthesizer */
+ @summary Test Disable/enable loading default soundbank in SoftSynthesizer
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test rendering when using precise timestamps */
+ @summary Test rendering when using precise timestamps
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.Arrays;
 import java.util.Random;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer simple note rendering in many settings */
+ @summary Test SoftSynthesizer simple note rendering in many settings
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadAllInstruments method */
+   @summary Test SoftSynthesizer unloadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadInstrument method */
+   @summary Test SoftSynthesizer unloadInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadInstruments method */
+   @summary Test SoftSynthesizer unloadInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/test/javax/sound/midi/Gervill/SoftTuning/GetName.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/GetName.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getName method */
+   @summary Test SoftTuning getName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getTuning method */
+   @summary Test SoftTuning getTuning method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getTuning(int) method */
+   @summary Test SoftTuning getTuning(int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load1.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load1.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load4.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load4.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load5.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load5.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load6.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load6.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load7.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load7.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load8.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load8.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/Load9.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/Load9.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,9 @@
  */
 
 /* @test
- @summary Test RealTime-tunings using SoftReciver.send method */
+ @summary Test RealTime-tunings using SoftReciver.send method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/test/javax/swing/DataTransfer/6456844/bug6456844.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/DataTransfer/6456844/bug6456844.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6456844
    @summary Tests that JTextComponent doesn't create drop locations with null bias.
    @author Shannon Hickey
+   @modules java.desktop/sun.swing
 */
 
 import sun.swing.SwingAccessor;
--- a/test/javax/swing/JButton/4796987/bug4796987.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JButton/4796987/bug4796987.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,8 @@
  * @author Alexander Scherbatiy
  * @library ../../regtesthelpers
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build Util
  * @run main bug4796987
--- a/test/javax/swing/JCheckBox/4449413/bug4449413.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JCheckBox/4449413/bug4449413.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @summary Tests that checkbox and radiobuttons' check marks are visible when background is black
  * @author Ilya Boyandin
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run applet/manual=yesno bug4449413.html
  */
--- a/test/javax/swing/JColorChooser/Test6524757.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JColorChooser/Test6524757.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6524757
  * @summary Tests different locales
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.swing
  */
 
 import java.awt.Component;
--- a/test/javax/swing/JComboBox/4199622/bug4199622.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JComboBox/4199622/bug4199622.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
    @summary RFE: JComboBox shouldn't send ActionEvents for keyboard navigation
    @author Vladislav Karnaukhov
    @library ../../../../lib/testlibrary
+   @modules java.desktop/com.sun.java.swing.plaf.windows
    @build jdk.testlibrary.OSInfo
    @run main bug4199622
 */
--- a/test/javax/swing/JComboBox/8015300/Test8015300.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JComboBox/8015300/Test8015300.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,6 @@
 import javax.swing.JFrame;
 import javax.swing.JTextField;
 import javax.swing.UIManager;
-import sun.awt.SunToolkit;
 
 import static javax.swing.SwingUtilities.invokeAndWait;
 import static javax.swing.SwingUtilities.windowForComponent;
@@ -42,6 +41,7 @@
  * @summary Tests that editable combobox select all text
  * @author Sergey Malenkov
  * @library ../../../../lib/testlibrary/
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build ExtendedRobot
  * @run main Test8015300
  */
--- a/test/javax/swing/JComponent/6683775/bug6683775.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JComponent/6683775/bug6683775.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6683775 6794764
    @summary Painting artifacts is seen when panel is made setOpaque(false) for a translucent window
    @author Alexander Potochkin
+   @modules java.desktop/com.sun.awt
+            java.desktop/sun.awt
    @run main bug6683775
 */
 
--- a/test/javax/swing/JComponent/8043610/bug8043610.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JComponent/8043610/bug8043610.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
   @summary Tests that JComponent invalidate, revalidate and repaint methods could
            be called from any thread
   @author Petr Pchelko
+  @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/JEditorPane/bug4714674.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JEditorPane/bug4714674.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 4714674
    @summary Tests that JEditorPane opens HTTP connection asynchronously
    @author Peter Zhelezniakov
+   @modules java.desktop
+            jdk.httpserver
    @run main bug4714674
 */
 
--- a/test/javax/swing/JFileChooser/4847375/bug4847375.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/4847375/bug4847375.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @bug 4847375
  * @summary JFileChooser Create New Folder button is disabled incorrectly
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.shell
  */
 
 import sun.awt.OSInfo;
--- a/test/javax/swing/JFileChooser/6396844/TwentyThousandTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6396844/TwentyThousandTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @summary Tests memory leak for 20000 files
  * @author Sergey Malenkov
  * @library ../../regtesthelpers
+ * @modules java.desktop/sun.java2d
  * @build Util
  * @run main/othervm/timeout=1000 -mx128m TwentyThousandTest
  */
--- a/test/javax/swing/JFileChooser/6550546/bug6550546.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6550546/bug6550546.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6550546
    @summary Win LAF: JFileChooser -> Look in Drop down should not display any shortcuts created on desktop
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6550546
 */
 
--- a/test/javax/swing/JFileChooser/6713352/bug6713352.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6713352/bug6713352.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6713352
    @summary Deadlock in JFileChooser with synchronized custom FileSystemView
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt.shell
    @run main bug6713352
 */
 
--- a/test/javax/swing/JFileChooser/6741890/bug6741890.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6741890/bug6741890.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6741890
    @summary Deadlock in Win32ShellFolderManager2
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6741890
 */
 
--- a/test/javax/swing/JFileChooser/6798062/bug6798062.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6798062/bug6798062.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6798062
    @summary Memory Leak on using getFiles of FileSystemView
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run applet/manual=done bug6798062.html
 */
 
--- a/test/javax/swing/JFileChooser/6817933/Test6817933.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6817933/Test6817933.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
  * @bug 6817933
  * @summary Tests that HTMLEditorKit does not affect JFileChooser
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.swing
  */
 
 import java.awt.Color;
--- a/test/javax/swing/JFileChooser/6840086/bug6840086.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6840086/bug6840086.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
    @summary JFileChooser lacks icons on top right when running on Windows 7
    @author Pavel Porvatov
    @library ../../../../lib/testlibrary
+   @modules java.desktop/sun.awt.shell
    @build jdk.testlibrary.OSInfo
    @run main bug6840086
 */
--- a/test/javax/swing/JFileChooser/6945316/bug6945316.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/6945316/bug6945316.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6945316
    @summary The Win32ShellFolderManager2.isFileSystemRoot can throw NPE
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6945316
 */
 
--- a/test/javax/swing/JFileChooser/8046391/bug8046391.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/8046391/bug8046391.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @summary JFileChooser hangs if displayed in Windows L&F
  * @author Alexey Ivanov
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build jdk.testlibrary.OSInfo
  * @run main/othervm/timeout=10 bug8046391
 */
--- a/test/javax/swing/JFileChooser/8062561/bug8062561.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JFileChooser/8062561/bug8062561.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,6 +38,7 @@
  * @bug 8062561
  * @summary File system view returns null default directory
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run main/othervm bug8062561 GENERATE_POLICY
  * @run main/othervm/policy=security.policy bug8062561 CHECK_DEFAULT_DIR run
--- a/test/javax/swing/JInternalFrame/6725409/bug6725409.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JInternalFrame/6725409/bug6725409.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  *          can be localized during run-time
  * @author Mikhail Lapshin
  * @library ../../../../lib/testlibrary/
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build ExtendedRobot
  * @run main bug6725409
  */
--- a/test/javax/swing/JLabel/7004134/bug7004134.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JLabel/7004134/bug7004134.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 7004134
    @summary JLabel containing a ToolTipText does no longer show ToolTip after browser refresh
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/JPopupMenu/6495920/bug6495920.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JPopupMenu/6495920/bug6495920.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
             interaction with GNOME is not crippled
  * @author Sergey Malenkov
  * @library ../..
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- a/test/javax/swing/JPopupMenu/6827786/bug6827786.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JPopupMenu/6827786/bug6827786.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,7 @@
  * @author Peter Zhelezniakov
  * @library ../../regtesthelpers
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build Util
  * @run main bug6827786
--- a/test/javax/swing/JPopupMenu/7156657/bug7156657.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JPopupMenu/7156657/bug7156657.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,6 +34,8 @@
    @summary Version 7 doesn't support translucent popup menus against a translucent window
    @library ../../regtesthelpers
    @author Pavel Porvatov
+   @modules java.desktop/com.sun.awt
+            java.desktop/sun.awt
 */
 public class bug7156657 {
     private static JFrame lowerFrame;
--- a/test/javax/swing/JSlider/6524424/bug6524424.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JSlider/6524424/bug6524424.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @bug 6524424
  * @summary JSlider Clicking In Tracks Behavior Inconsistent For Different Tick Spacings
  * @author Pavel Porvatov
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @run applet/manual=done bug6524424.html
  */
 
--- a/test/javax/swing/JTabbedPane/8007563/Test8007563.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JTabbedPane/8007563/Test8007563.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -21,9 +21,7 @@
  * questions.
  */
 
-import java.awt.Color;
-import java.awt.Point;
-import java.awt.Robot;
+import java.awt.*;
 import java.util.ArrayList;
 import java.util.concurrent.CountDownLatch;
 import javax.swing.JFrame;
@@ -119,6 +117,20 @@
             }
 
         }
-        invokeLater(this);
+        SecondaryLoop secondaryLoop =
+                Toolkit.getDefaultToolkit().getSystemEventQueue()
+                        .createSecondaryLoop();
+        new Thread() {
+            @Override
+            public void run() {
+                try {
+                    Thread.sleep(200);
+                } catch (InterruptedException e) {
+                }
+                secondaryLoop.exit();
+                invokeLater(Test8007563.this);
+            }
+        }.start();
+        secondaryLoop.enter();
     }
 }
--- a/test/javax/swing/JTable/6788484/bug6788484.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JTable/6788484/bug6788484.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /* @test
    @bug 6788484
    @summary NPE in DefaultTableCellHeaderRenderer.getColumnSortOrder() with null table
+   @modules java.desktop/sun.swing.table
    @compile -XDignore.symbol.file=true bug6788484.java
    @author Alexander Potochkin
    @run main bug6788484
--- a/test/javax/swing/JTable/6937798/bug6937798.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JTable/6937798/bug6937798.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6937798
    @summary Nimbus: Issues with JTable grid
    @author Alexander Potochkin
+   @modules java.desktop/com.sun.java.swing.plaf.nimbus
    @run main bug6937798
 */
 
--- a/test/javax/swing/JTableHeader/6884066/bug6884066.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JTableHeader/6884066/bug6884066.java	Thu Jul 02 16:08:47 2015 -0700
@@ -35,8 +35,6 @@
 import java.awt.*;
 import java.awt.event.InputEvent;
 
-import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
-
 public class bug6884066 {
     private static JTableHeader header;
 
--- a/test/javax/swing/JTree/8004298/bug8004298.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/JTree/8004298/bug8004298.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @summary NPE in WindowsTreeUI.ensureRowsAreVisible
  * @author Alexander Scherbatiy
  * @library ../../regtesthelpers
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build Util
  * @run main bug8004298
  */
--- a/test/javax/swing/KeyboardManager/8013370/Test8013370.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/KeyboardManager/8013370/Test8013370.java	Thu Jul 02 16:08:47 2015 -0700
@@ -32,7 +32,6 @@
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.KeyStroke;
-import sun.awt.SunToolkit;
 
 import static java.awt.event.InputEvent.CTRL_DOWN_MASK;
 import static javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW;
--- a/test/javax/swing/Security/6657138/bug6657138.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/Security/6657138/bug6657138.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657138
  * @summary Verifies that buttons and labels don't share their ui's across appContexts
  * @author Alexander Potochkin
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/Security/6938813/bug6938813.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/Security/6938813/bug6938813.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6938813
  * @summary Swing mutable statics
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- a/test/javax/swing/SwingUtilities/8032219/DrawRect.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/SwingUtilities/8032219/DrawRect.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
  * @test
  * @bug 8032219
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.swing
  */
 public final class DrawRect {
 
@@ -121,4 +122,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/javax/swing/ToolTipManager/7123767/bug7123767.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/ToolTipManager/7123767/bug7123767.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 7123767
    @summary Wrong tooltip location in Multi-Monitor configurations
    @author Vladislav Karnaukhov
+   @modules java.desktop/sun.awt
    @run main bug7123767
 */
 
--- a/test/javax/swing/ToolTipManager/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/ToolTipManager/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026
  * @summary Tests shared ToolTipManager in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/UIDefaults/6795356/TableTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/UIDefaults/6795356/TableTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6795356
  * @summary Checks that SwingLazyValue class correclty works
  * @author Alexander Potochkin
+ * @modules java.desktop/sun.applet
  * @run main/othervm TableTest
  */
 
--- a/test/javax/swing/UIManager/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/UIManager/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026
  * @summary Tests shared UIManager in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/border/Test4856008.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/border/Test4856008.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 4856008 7025987
  * @summary Tests border insets
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.java.swing.plaf.motif
+ *          java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.swing.plaf.synth
  */
 
 import com.sun.java.swing.plaf.motif.MotifBorders;
--- a/test/javax/swing/border/Test6978482.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/border/Test6978482.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6978482 7025987
  * @summary Tests unchecked casts
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.java.swing.plaf.motif
+ *          java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.swing.plaf.synth
  */
 
 import com.sun.java.swing.plaf.motif.MotifBorders;
--- a/test/javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026
  * @summary Tests shared BasicSplitPaneUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/plaf/metal/MetalBumps/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/metal/MetalBumps/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026
  * @summary Tests shared MetalBumps in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026
  * @summary Tests shared MetalInternalFrameUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6657026 7077259
  * @summary Tests shared MetalSliderUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  * @run main/othervm -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel Test6657026
  */
 
--- a/test/javax/swing/plaf/nimbus/Test6741426.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/nimbus/Test6741426.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6741426
    @summary Tests reusing Nimbus borders across different components (JComboBox border set on a JTextField)
    @author Peter Zhelezniakov
+   @modules java.desktop/com.sun.java.swing.plaf.nimbus
    @run main Test6741426
 */
 
--- a/test/javax/swing/plaf/synth/7143614/bug7143614.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/synth/7143614/bug7143614.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 7143614
  * @summary Issues with Synth Look&Feel
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/plaf/synth/Test6660049.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/plaf/synth/Test6660049.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6660049 6849518
  * @summary Tests the Region initialization
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/javax/swing/system/6799345/TestShutdown.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/system/6799345/TestShutdown.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
    @summary Tests that no exceptions are thrown from TimerQueue and
 SwingWorker on AppContext shutdown
    @author art
+   @modules java.desktop/sun.awt
    @run main TestShutdown
 */
 
--- a/test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6636983
  * @summary test that composed text at the line starts is handled correctly
  * @author Sergey Groznyh
+ * @modules java.desktop/sun.swing
  * @run main bug6636983
  */
 
--- a/test/javax/swing/text/LayoutQueue/Test6588003.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/text/LayoutQueue/Test6588003.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6588003
    @summary LayoutQueue should not share its DefaultQueue across AppContexts
    @author Peter Zhelezniakov
+   @modules java.desktop/sun.awt
    @run main Test6588003
 */
 
--- a/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
    @bug 6990651
    @summary Regression: NPE when refreshing applet since 6u22-b01
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
 */
 import sun.awt.SunToolkit;
 
--- a/test/javax/swing/text/html/parser/Test8017492.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/javax/swing/text/html/parser/Test8017492.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 /*
  * @test
  * @bug 8017492
+ * @modules java.desktop/sun.awt
  * @run main/othervm Test8017492
  * @summary Tests for OutOfMemoryError/NegativeArraySizeException
  * @author Sergey Malenkov
--- a/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java	Thu Jul 02 16:08:47 2015 -0700
@@ -278,16 +278,46 @@
     }
 
     /**
-     * Create ProcessBuilder using the java launcher from the jdk to be tested
-     * and with any platform specific arguments prepended
+     * Create ProcessBuilder using the java launcher from the jdk to be tested,
+     * and with any platform specific arguments prepended.
+     *
+     * @param command Arguments to pass to the java command.
+     * @return The ProcessBuilder instance representing the java command.
      */
     public static ProcessBuilder createJavaProcessBuilder(String... command)
             throws Exception {
+        return createJavaProcessBuilder(false, command);
+    }
+
+    /**
+     * Create ProcessBuilder using the java launcher from the jdk to be tested,
+     * and with any platform specific arguments prepended.
+     *
+     * @param addTestVmAndJavaOptions If true, adds test.vm.opts and test.java.opts
+     *        to the java arguments.
+     * @param command Arguments to pass to the java command.
+     * @return The ProcessBuilder instance representing the java command.
+     */
+    public static ProcessBuilder createJavaProcessBuilder(boolean addTestVmAndJavaOptions, String... command) throws Exception {
         String javapath = JDKToolFinder.getJDKTool("java");
 
         ArrayList<String> args = new ArrayList<>();
         args.add(javapath);
         Collections.addAll(args, getPlatformSpecificVMArgs());
+
+        if (addTestVmAndJavaOptions) {
+            // -cp is needed to make sure the same classpath is used whether the test is
+            // run in AgentVM mode or OtherVM mode. It was added to the hotspot version
+            // of this API as part of 8077608. However, for the jdk version it is only
+            // added when addTestVmAndJavaOptions is true in order to minimize
+            // disruption to existing JDK tests, which have yet to be tested with -cp
+            // being added. At some point -cp should always be added to be consistent
+            // with what the hotspot version does.
+            args.add("-cp");
+            args.add(System.getProperty("java.class.path"));
+            Collections.addAll(args, Utils.getTestJavaOpts());
+        }
+
         Collections.addAll(args, command);
 
         // Reporting
--- a/test/sun/awt/AppContext/8012933/Test8012933.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/awt/AppContext/8012933/Test8012933.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
  * @summary Tests (although somewhat indirectly) that createNewAppContext()
  * immediately followed by dispose() works correctly
  * @author Leonid Romanov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/test/sun/awt/AppContext/MultiThread/MultiThreadTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/awt/AppContext/MultiThread/MultiThreadTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 8019623
  * @summary Tests that AppContext.getAppContext() works correctly in multi-threads scenario.
  * @author Leonid Romanov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/awt/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/sun/awt/datatransfer/DataFlavorComparatorTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/awt/datatransfer/DataFlavorComparatorTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,10 +25,10 @@
    @bug 7173464
    @summary Clipboard.getAvailableDataFlavors: Comparison method violates contract
    @author Petr Pchelko
+   @modules java.datatransfer/sun.datatransfer
    @run main DataFlavorComparatorTest
 */
 
-import sun.awt.datatransfer.DataTransferer;
 import java.util.Comparator;
 import sun.datatransfer.DataFlavorUtil;
 import java.awt.datatransfer.DataFlavor;
--- a/test/sun/awt/datatransfer/DataFlavorComparatorTest1.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/awt/datatransfer/DataFlavorComparatorTest1.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
    @summary "Comparison method violates its general contract" when using Clipboard
             Ensure that DataFlavorComparator conforms to Comparator contract
    @author Anton Nashatyrev
+   @modules java.datatransfer/sun.datatransfer
    @run main DataFlavorComparatorTest1
 */
 import sun.datatransfer.DataFlavorUtil;
--- a/test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,8 @@
    @bug 6877495
    @summary JTextField and JTextArea does not support supplementary characters
    @author Alexander Scherbatiy
+   @modules java.datatransfer/sun.datatransfer
+            java.desktop/sun.awt.datatransfer
    @run main SuplementaryCharactersTransferTest
 */
 
--- a/test/sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,6 +50,7 @@
  * @bug 6335200 6419610
  * @summary Tests that we don't render anything if specific empty clip is set
  * @author Dmitri.Trembovetski@Sun.COM: area=Graphics
+ * @modules java.desktop/sun.awt
  * @run main EmptyClipRenderingTest
  * @run main/othervm -Dsun.java2d.noddraw=true EmptyClipRenderingTest
  * @run main/othervm -Dsun.java2d.pmoffscreen=true EmptyClipRenderingTest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/java2d/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/test/sun/java2d/pipe/RegionOps.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/java2d/pipe/RegionOps.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
  * @bug 6504874
  * @summary This test verifies the operation (and performance) of the
  *          various CAG operations on the internal Region class.
+ * @modules java.desktop/sun.java2d.pipe
  * @run main RegionOps
  */
 
--- a/test/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,9 @@
  * @bug 6635805 6653780 6667607
  * @summary Tests that the resource sharing layer API is not broken
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
+ *          java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true RSLAPITest.java
  * @run main/othervm RSLAPITest
  * @run main/othervm -Dsun.java2d.noddraw=true RSLAPITest
--- a/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,9 @@
  * @bug 6764257
  * @summary Tests that the color is reset properly after save/restore context
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
+ *          java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true RSLContextInvalidationTest.java
  * @run main/othervm RSLContextInvalidationTest
  * @run main/othervm -Dsun.java2d.noddraw=true RSLContextInvalidationTest
--- a/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,6 +25,7 @@
  * @bug 6678218 6681745 6691737
  * @summary Tests that v-synced BufferStrategies works (if vsync is supported)
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true VSyncedBufferStrategyTest.java
  * @run main/manual/othervm VSyncedBufferStrategyTest
  * @run main/manual/othervm -Dsun.java2d.opengl=True VSyncedBufferStrategyTest
--- a/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -21,14 +21,15 @@
  * questions.
  */
 
-import java.io.File;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
+
 /**
  * @test
  * @library /lib/testlibrary
@@ -39,14 +40,10 @@
  *          both agent properties and jvmstat buffer.
  * @modules java.management/sun.management
  * @build jdk.testlibrary.* TestManager TestApplication
- * @run main/othervm/timeout=300 -XX:+UsePerfData LocalManagementTest
+ * @run main/othervm/timeout=300 LocalManagementTest
  */
-
-import jdk.testlibrary.ProcessTools;
-
 public class LocalManagementTest {
     private static final String TEST_CLASSPATH = System.getProperty("test.class.path");
-    private static final String TEST_JDK = System.getProperty("test.jdk");
 
     public static void main(String[] args) throws Exception {
         int failures = 0;
@@ -96,6 +93,8 @@
 
     private static boolean doTest(String testId, String arg) throws Exception {
         List<String> args = new ArrayList<>();
+        args.add("-XX:+UsePerfData");
+        args.addAll(Utils.getVmOptions());
         args.add("-cp");
         args.add(TEST_CLASSPATH);
 
--- a/test/sun/management/jmxremote/startstop/JMXStartStopTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/management/jmxremote/startstop/JMXStartStopTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -21,6 +21,7 @@
  * questions.
  */
 
+import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
@@ -36,7 +37,6 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
@@ -45,6 +45,7 @@
 import javax.net.ssl.SSLHandshakeException;
 
 import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
 import sun.management.Agent;
 import sun.management.AgentConfigurationError;
 
@@ -155,7 +156,28 @@
     }
 
     private static void testConnect(int port, int rmiPort) throws Exception {
+        EOFException lastException = null;
+        // factor adjusted timeout (5 seconds) for the RMI to become available
+        long timeout = System.currentTimeMillis() + Utils.adjustTimeout(5000);
+        do {
+            try {
+                doTestConnect(port, rmiPort);
+                lastException = null;
+            } catch (EOFException e) {
+                lastException = e;
+                System.out.println("Error establishing RMI connection. Retrying in 500ms.");
+                Thread.sleep(500);
+            }
+        } while (lastException != null && System.currentTimeMillis() < timeout);
 
+        if (lastException != null) {
+            // didn't manage to get the RMI running in time
+            // rethrow the exception
+            throw lastException;
+        }
+    }
+
+    private static void doTestConnect(int port, int rmiPort) throws Exception {
         dbg_print("RmiRegistry lookup...");
 
         dbg_print("Using port: " + port);
--- a/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/management/jmxremote/startstop/ManagementAgentJcmd.java	Thu Jul 02 16:08:47 2015 -0700
@@ -196,7 +196,9 @@
             l.addToolArg(cmd);
         }
 
-        StringBuilder output = new StringBuilder();
+        // this buffer will get filled in different threads
+        //   -> must be the synchronized StringBuffer
+        StringBuffer output = new StringBuffer();
 
         AtomicBoolean portUnavailable = new AtomicBoolean(false);
         Process p = ProcessTools.startProcess(
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/pisces/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,1 @@
+modules=java.desktop
--- a/test/sun/security/krb5/auto/AcceptPermissions.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/AcceptPermissions.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 9999999
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file AcceptPermissions.java
  * @run main/othervm AcceptPermissions two
  * @run main/othervm AcceptPermissions unbound
--- a/test/sun/security/krb5/auto/AcceptorSubKey.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/AcceptorSubKey.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7077646
  * @summary gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file AcceptorSubKey.java
  * @run main/othervm AcceptorSubKey 0
  * @run main/othervm AcceptorSubKey 4
--- a/test/sun/security/krb5/auto/AddressesAndNameType.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/AddressesAndNameType.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 4501327 4868379 8039132
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm AddressesAndNameType 1
  * @run main/othervm AddressesAndNameType 2
  * @run main/othervm AddressesAndNameType 3
--- a/test/sun/security/krb5/auto/BadKdc1.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BadKdc1.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc1
  * @summary krb5 should not try to access unavailable kdc too often
  */
@@ -64,4 +57,3 @@
        );
    }
 }
-
--- a/test/sun/security/krb5/auto/BadKdc2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BadKdc2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc2
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/test/sun/security/krb5/auto/BadKdc3.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BadKdc3.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc3
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/test/sun/security/krb5/auto/BadKdc4.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BadKdc4.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc4
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/test/sun/security/krb5/auto/Basic.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/Basic.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file Basic.java
  * @run main/othervm Basic
  */
--- a/test/sun/security/krb5/auto/BasicKrb5Test.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BasicKrb5Test.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6706974
  * @summary Add krb5 test infrastructure
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file BasicKrb5Test.java
  * @run main/othervm BasicKrb5Test
  * @run main/othervm BasicKrb5Test des-cbc-crc
--- a/test/sun/security/krb5/auto/BasicProc.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/BasicProc.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 8009977
  * @summary A test library to launch multiple Java processes
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file BasicProc.java
  * @run main/othervm BasicProc
  */
--- a/test/sun/security/krb5/auto/CleanState.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/CleanState.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6716534
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file CleanState.java
  * @run main/othervm CleanState
  * @summary Krb5LoginModule has not cleaned temp info between authentication attempts
--- a/test/sun/security/krb5/auto/CrossRealm.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/CrossRealm.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6706974
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file CrossRealm.java
  * @run main/othervm CrossRealm
  * @summary Add krb5 test infrastructure
--- a/test/sun/security/krb5/auto/DiffNameSameKey.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/DiffNameSameKey.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8005447
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DiffNameSameKey.java
  * @run main/othervm/fail DiffNameSameKey a
  * @run main/othervm DiffNameSameKey b
--- a/test/sun/security/krb5/auto/DupEtypes.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/DupEtypes.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7067974
  * @summary multiple ETYPE-INFO-ENTRY with same etype and different salt
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DupEtypes.java
  * @run main/othervm DupEtypes 1
  * @run main/othervm DupEtypes 2
--- a/test/sun/security/krb5/auto/DynamicKeytab.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/DynamicKeytab.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6894072
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DynamicKeytab.java
  * @run main/othervm DynamicKeytab
  * @summary always refresh keytab
--- a/test/sun/security/krb5/auto/EmptyPassword.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/EmptyPassword.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 6879540
  * @summary enable empty password for kerberos 5
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file EmptyPassword.java
  * @run main/othervm EmptyPassword
  */
--- a/test/sun/security/krb5/auto/FileKeyTab.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/FileKeyTab.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 7152121
  * @summary Krb5LoginModule no longer handles keyTabNames with "file:" prefix
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file FileKeyTab.java
  * @run main/othervm FileKeyTab
  */
--- a/test/sun/security/krb5/auto/ForwardableCheck.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/ForwardableCheck.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8022582
  * @summary Relax response flags checking in sun.security.krb5.KrbKdcRep.check.
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file ForwardableCheck.java
  * @run main/othervm ForwardableCheck
  */
--- a/test/sun/security/krb5/auto/GSS.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/GSS.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file GSS.java
  * @run main/othervm GSS
  */
--- a/test/sun/security/krb5/auto/GSSUnbound.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/GSSUnbound.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file GSSUnbound.java
  * @run main/othervm GSSUnbound
  */
--- a/test/sun/security/krb5/auto/HttpNegotiateServer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/HttpNegotiateServer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,15 +24,6 @@
 /*
  * @test
  * @bug 6578647 6829283
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.base/sun.util.logging
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm HttpNegotiateServer
  * @summary Undefined requesting URL in java.net.Authenticator.getPasswordAuthentication()
  * @summary HTTP/Negotiate: Authenticator triggered again when user cancels the first one
@@ -77,9 +68,6 @@
 import sun.security.jgss.GSSUtil;
 import sun.security.krb5.Config;
 import java.util.Base64;
-import sun.util.logging.PlatformLogger;
-
-import java.util.Base64;
 
 /**
  * Basic JGSS/krb5 test with 3 parties: client, server, backend server. Each
@@ -172,9 +160,7 @@
     public static void main(String[] args)
             throws Exception {
 
-        String HTTPLOG = "sun.net.www.protocol.http.HttpURLConnection";
         System.setProperty("sun.security.krb5.debug", "true");
-        PlatformLogger.getLogger(HTTPLOG).setLevel(PlatformLogger.Level.ALL);
 
         KDC kdcw = KDC.create(REALM_WEB);
         kdcw.addPrincipal(WEB_USER, WEB_PASS);
--- a/test/sun/security/krb5/auto/IgnoreChannelBinding.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/IgnoreChannelBinding.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6851973
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm IgnoreChannelBinding
  * @summary ignore incoming channel binding if acceptor does not set one
  */
--- a/test/sun/security/krb5/auto/KDC.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/KDC.java	Thu Jul 02 16:08:47 2015 -0700
@@ -30,6 +30,7 @@
 import java.security.SecureRandom;
 import java.util.*;
 import java.util.concurrent.*;
+
 import sun.net.spi.nameservice.NameService;
 import sun.net.spi.nameservice.NameServiceDescriptor;
 import sun.security.krb5.*;
@@ -155,6 +156,8 @@
     DatagramSocket u1 = null;
     ServerSocket t1 = null;
 
+    public static enum KtabMode { APPEND, EXISTING };
+
     /**
      * Option names, to be expanded forever.
      */
@@ -1316,6 +1319,68 @@
             // OK
         }
     }
+
+    public static void startKDC(final String host, final String krbConfFileName,
+            final String realm, final Map<String, String> principals,
+            final String ktab, final KtabMode mode) {
+
+        try {
+            KDC kdc = KDC.create(realm, host, 0, true);
+            kdc.setOption(KDC.Option.PREAUTH_REQUIRED, Boolean.FALSE);
+            KDC.saveConfig(krbConfFileName, kdc);
+
+            // Add principals
+            if (principals != null) {
+                principals.forEach((name, password) -> {
+                    if (password == null || password.isEmpty()) {
+                        System.out.println(String.format(
+                                "KDC:add a principal '%s' with a random " +
+                                        "password", name));
+                        kdc.addPrincipalRandKey(name);
+                    } else {
+                        System.out.println(String.format(
+                                "KDC:add a principal '%s' with '%s' password",
+                                name, password));
+                        kdc.addPrincipal(name, password.toCharArray());
+                    }
+                });
+            }
+
+            // Create or append keys to existing keytab file
+            if (ktab != null) {
+                File ktabFile = new File(ktab);
+                switch(mode) {
+                    case APPEND:
+                        if (ktabFile.exists()) {
+                            System.out.println(String.format(
+                                    "KDC:append keys to an exising keytab "
+                                    + "file %s", ktab));
+                            kdc.appendKtab(ktab);
+                        } else {
+                            System.out.println(String.format(
+                                    "KDC:create a new keytab file %s", ktab));
+                            kdc.writeKtab(ktab);
+                        }
+                        break;
+                    case EXISTING:
+                        System.out.println(String.format(
+                                "KDC:use an existing keytab file %s", ktab));
+                        break;
+                    default:
+                        throw new RuntimeException(String.format(
+                                "KDC:unsupported keytab mode: %s", mode));
+                }
+            }
+
+            System.out.println(String.format(
+                    "KDC: started on %s:%s with '%s' realm",
+                    host, kdc.getPort(), realm));
+        } catch (Exception e) {
+            throw new RuntimeException("KDC: unexpected exception", e);
+        }
+
+    }
+
     /**
      * Helper class to encapsulate a job in a KDC.
      */
--- a/test/sun/security/krb5/auto/KPEquals.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/KPEquals.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8015669
  * @summary KerberosPrincipal::equals should ignore name-type
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KPEquals.java
  * @run main/othervm KPEquals
  */
--- a/test/sun/security/krb5/auto/KeyPermissions.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/KeyPermissions.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8004488
  * @summary wrong permissions checked in krb5
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KeyPermissions.java
  * @run main/othervm KeyPermissions
  */
--- a/test/sun/security/krb5/auto/KeyTabCompat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/KeyTabCompat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6894072
  * @bug 8004488
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KeyTabCompat.java
  * @run main/othervm KeyTabCompat
  * @summary always refresh keytab
--- a/test/sun/security/krb5/auto/KvnoNA.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/KvnoNA.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7197159
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KvnoNA.java
  * @run main/othervm KvnoNA
  * @summary accept different kvno if there no match
--- a/test/sun/security/krb5/auto/LifeTimeInSeconds.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/LifeTimeInSeconds.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6857802
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm LifeTimeInSeconds
  * @summary GSS getRemainingInitLifetime method returns milliseconds not seconds
  */
--- a/test/sun/security/krb5/auto/LoginModuleOptions.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/LoginModuleOptions.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6765491
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm LoginModuleOptions
  * @summary Krb5LoginModule a little too restrictive, and the doc is not clear.
  */
--- a/test/sun/security/krb5/auto/LoginNoPass.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/LoginNoPass.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8028351
  * @summary JWS doesn't get authenticated when using kerberos auth proxy
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file LoginNoPass.java
  * @run main/othervm LoginNoPass
  */
--- a/test/sun/security/krb5/auto/MSOID2.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/MSOID2.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,15 +25,6 @@
  * @test
  * @bug 8078439
  * @summary SPNEGO auth fails if client proposes MS krb5 OID
- * @modules java.base/sun.misc
- *          java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file MSOID2.java
  * @run main/othervm MSOID2
  */
--- a/test/sun/security/krb5/auto/MaxRetries.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/MaxRetries.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6844193
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file MaxRetries.java
  * @run main/othervm/timeout=300 MaxRetries
  * @summary support max_retries in krb5.conf
--- a/test/sun/security/krb5/auto/MoreKvno.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/MoreKvno.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6893158 6907425 7197159
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm MoreKvno
  * @summary AP_REQ check should use key version number
  */
--- a/test/sun/security/krb5/auto/NewInquireTypes.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NewInquireTypes.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8043071
  * @summary Expose session key and KRB_CRED through extended GSS-API
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file NewInquireTypes.java
  * @run main/othervm NewInquireTypes
  */
--- a/test/sun/security/krb5/auto/NewSalt.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NewSalt.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6960894
  * @summary Better AS-REQ creation and processing
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NewSalt
  * @run main/othervm -Dnopreauth NewSalt
  * @run main/othervm -Donlyonepreauth NewSalt
--- a/test/sun/security/krb5/auto/NoAddresses.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NoAddresses.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7032354
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NoAddresses 1
  * @run main/othervm NoAddresses 2
  * @run main/othervm/fail NoAddresses 3
--- a/test/sun/security/krb5/auto/NoInitNoKeytab.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NoInitNoKeytab.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7089889
  * @summary Krb5LoginModule.login() throws an exception if used without a keytab
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file NoInitNoKeytab.java
  * @run main/othervm NoInitNoKeytab
  */
--- a/test/sun/security/krb5/auto/NonMutualSpnego.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NonMutualSpnego.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6733095
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NonMutualSpnego
  * @summary Failure when SPNEGO request non-Mutual
  */
--- a/test/sun/security/krb5/auto/NoneReplayCacheTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/NoneReplayCacheTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NoneReplayCacheTest
  * @summary the replaycache type none cannot stop an authenticator replay,
  * but it can stop a message replay when s.s.k.acceptor.subkey is true.
--- a/test/sun/security/krb5/auto/OkAsDelegate.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/OkAsDelegate.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6853328 7172701
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm OkAsDelegate false true true false false false
  *      FORWARDABLE ticket not allowed, always fail
  * @run main/othervm OkAsDelegate true false false false false false
--- a/test/sun/security/krb5/auto/OkAsDelegateXRealm.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/OkAsDelegateXRealm.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6853328 7172701
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm OkAsDelegateXRealm false
  *      KDC no OK-AS-DELEGATE, fail
  * @run main/othervm -Dtest.kdc.policy.ok-as-delegate OkAsDelegateXRealm true
--- a/test/sun/security/krb5/auto/OnlyDesLogin.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/OnlyDesLogin.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 8014310
  * @summary JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file OnlyDesLogin.java
  * @run main/othervm OnlyDesLogin
  */
--- a/test/sun/security/krb5/auto/PrincipalNameEquals.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/PrincipalNameEquals.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7061379
  * @summary [Kerberos] Cross-realm authentication fails, due to nameType problem
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file PrincipalNameEquals.java
  * @run main/othervm PrincipalNameEquals
  */
--- a/test/sun/security/krb5/auto/RRC.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/RRC.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7077640
  * @summary gss wrap for cfx doesn't handle rrc != 0
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file RRC.java
  * @run main/othervm RRC
  */
--- a/test/sun/security/krb5/auto/Renewal.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/Renewal.java	Thu Jul 02 16:08:47 2015 -0700
@@ -27,13 +27,6 @@
  * @summary Add kinit options and krb5.conf flags that allow users to
  *          obtain renewable tickets and specify ticket lifetimes
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file Renewal.java
  * @run main/othervm Renewal
  */
--- a/test/sun/security/krb5/auto/ReplayCacheExpunge.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/ReplayCacheExpunge.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,8 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @run main/othervm ReplayCacheExpunge 16
  * @run main/othervm/fail ReplayCacheExpunge 15
  * @summary when number of expired entries minus number of good entries
--- a/test/sun/security/krb5/auto/ReplayCachePrecise.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/ReplayCachePrecise.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,9 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @run main/othervm ReplayCachePrecise
  * @summary when there are 2 two AuthTime with the same time but different hash,
  * it's not a replay.
--- a/test/sun/security/krb5/auto/ReplayCacheTest.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/ReplayCacheTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7118809 8001326
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm ReplayCacheTest jvm
  * @run main/othervm ReplayCacheTest dfl
  * @summary rcache deadlock
--- a/test/sun/security/krb5/auto/ReplayCacheTestProc.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/ReplayCacheTestProc.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,16 +26,6 @@
  * @bug 7152176
  * @summary More krb5 tests
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.misc
- *          java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @compile -XDignore.symbol.file ReplayCacheTestProc.java
  * @run main/othervm/timeout=100 ReplayCacheTestProc
  */
--- a/test/sun/security/krb5/auto/S4U2proxy.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2proxy.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584 8044215
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2proxy.java
  * @run main/othervm S4U2proxy krb5
  * @run main/othervm S4U2proxy spnego
--- a/test/sun/security/krb5/auto/S4U2proxyGSS.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2proxyGSS.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2proxyGSS.java
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2proxyGSS krb5
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2proxyGSS spnego
--- a/test/sun/security/krb5/auto/S4U2self.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2self.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2self.java
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2self krb5 0
  * @run main/othervm/fail -Dsun.security.krb5.debug=false S4U2self krb5 1
--- a/test/sun/security/krb5/auto/S4U2selfAsServer.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2selfAsServer.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfAsServer.java
  * @run main/othervm S4U2selfAsServer krb5
  * @run main/othervm S4U2selfAsServer spnego
--- a/test/sun/security/krb5/auto/S4U2selfAsServerGSS.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2selfAsServerGSS.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfAsServerGSS.java
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2selfAsServerGSS krb5
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2selfAsServerGSS spnego
--- a/test/sun/security/krb5/auto/S4U2selfGSS.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/S4U2selfGSS.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfGSS.java
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2selfGSS krb5
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2selfGSS spnego
--- a/test/sun/security/krb5/auto/SPNEGO.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SPNEGO.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7040151
  * @summary SPNEGO GSS code does not parse tokens in accordance to RFC 2478
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file SPNEGO.java
  * @run main/othervm SPNEGO
  */
--- a/test/sun/security/krb5/auto/SSL.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SSL.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,15 +25,6 @@
  * @test
  * @bug 6894643 6913636 8005523 8025123
  * @summary Test JSSE Kerberos ciphersuite
-
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA unbound
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA unbound sni
--- a/test/sun/security/krb5/auto/SaslBasic.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SaslBasic.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7110803
  * @summary SASL service for multiple hostnames
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslBasic.java
  * @run main/othervm SaslBasic bound
  * @run main/othervm SaslBasic unbound
--- a/test/sun/security/krb5/auto/SaslGSS.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SaslGSS.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,15 +26,6 @@
  * @bug 8012082 8019267
  * @summary SASL: auth-conf negotiated, but unencrypted data is accepted,
   *         reset to unencrypt
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslGSS.java
  * @run main/othervm SaslGSS
  */
--- a/test/sun/security/krb5/auto/SaslUnbound.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SaslUnbound.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslUnbound.java
  * @run main/othervm SaslUnbound 0
  * @run main/othervm/fail SaslUnbound 1
--- a/test/sun/security/krb5/auto/SpnegoLifeTime.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SpnegoLifeTime.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8000653
  * @summary SPNEGO tests fail at context.getDelegCred().getRemainingInitLifetime(mechOid)
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file SpnegoLifeTime.java
  * @run main/othervm SpnegoLifeTime
  */
--- a/test/sun/security/krb5/auto/SpnegoReqFlags.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/SpnegoReqFlags.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6815182
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm SpnegoReqFlags
  * @summary GSSAPI/SPNEGO does not work with server using MIT Kerberos library
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/auto/TEST.properties	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,10 @@
+modules java.base/sun.misc \
+        java.base/sun.net.spi.nameservice \
+        java.base/sun.security.util \
+        java.security.jgss/sun.security.jgss \
+        java.security.jgss/sun.security.krb5 \
+        java.security.jgss/sun.security.krb5.internal \
+        java.security.jgss/sun.security.krb5.internal.ccache \
+        java.security.jgss/sun.security.krb5.internal.rcache \
+        java.security.jgss/sun.security.krb5.internal.crypto \
+        java.security.jgss/sun.security.krb5.internal.ktab
--- a/test/sun/security/krb5/auto/TcpTimeout.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/TcpTimeout.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6952519
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TcpTimeout.java
  * @run main/othervm TcpTimeout
  * @summary kdc_timeout is not being honoured when using TCP
--- a/test/sun/security/krb5/auto/Test5653.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/Test5653.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6895424
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm Test5653
  * @summary RFC 5653
  */
--- a/test/sun/security/krb5/auto/TwoOrThree.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/TwoOrThree.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8005447
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoOrThree.java
  * @run main/othervm TwoOrThree first first
  * @run main/othervm/fail TwoOrThree first second
--- a/test/sun/security/krb5/auto/TwoPrinces.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/TwoPrinces.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6894072
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoPrinces.java
  * @run main/othervm TwoPrinces
  * @summary always refresh keytab
--- a/test/sun/security/krb5/auto/TwoTab.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/TwoTab.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoTab.java
  * @run main/othervm TwoTab
  */
--- a/test/sun/security/krb5/auto/UdpTcp.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UdpTcp.java	Thu Jul 02 16:08:47 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 4966382 8039132
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm UdpTcp UDP
  * @run main/othervm UdpTcp TCP
  * @summary udp or tcp
--- a/test/sun/security/krb5/auto/UnboundSSL.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UnboundSSL.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
 import java.security.PrivilegedActionException;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.security.auth.login.LoginException;
 
 /*
@@ -74,8 +75,9 @@
                UnboundSSLUtils.KRB5_CONF_FILENAME);
 
         // start a local KDC instance
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/test/sun/security/krb5/auto/UnboundSSLMultipleKeys.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UnboundSSLMultipleKeys.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,6 +26,7 @@
 import java.security.PrivilegedActionException;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.security.auth.login.LoginException;
 
 /*
@@ -81,8 +82,9 @@
          * principal, but password for only one key is the same with the record
          * for service1 principal in KDC.
          */
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/test/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java	Thu Jul 02 16:08:47 2015 -0700
@@ -70,8 +70,9 @@
                 UnboundSSLUtils.KRB5_CONF_FILENAME);
 
         // start a local KDC instance
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/test/sun/security/krb5/auto/UnboundSSLUtils.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UnboundSSLUtils.java	Thu Jul 02 16:08:47 2015 -0700
@@ -50,8 +50,6 @@
  */
 class UnboundSSLUtils {
 
-    static enum KtabMode { APPEND, EXISTING };
-
     static final String KTAB_FILENAME = "krb5.keytab.data";
     static final String HOST = "localhost";
     static final String REALM = "TEST.REALM";
@@ -87,65 +85,6 @@
         });
     }
 
-    /*
-     * Start a KDC server:
-     *   - create a KDC instance
-     *   - create Kerberos principals
-     *   - save Kerberos configuration
-     *   - save keys to keytab file
-     *   - no pre-auth required
-     */
-    static void startKDC(String realm, Map<String, String> principals,
-            String ktab, KtabMode mode) {
-        try {
-            KDC kdc = KDC.create(realm, HOST, 0, true);
-            kdc.setOption(KDC.Option.PREAUTH_REQUIRED, Boolean.FALSE);
-            if (principals != null) {
-                for (Map.Entry<String, String> entry : principals.entrySet()) {
-                    String name = entry.getKey();
-                    String password = entry.getValue();
-                    if (password == null || password.isEmpty()) {
-                        System.out.println("KDC: add a principal '" + name +
-                                "' with a random password");
-                        kdc.addPrincipalRandKey(name);
-                    } else {
-                        System.out.println("KDC: add a principal '" + name +
-                                "' with '" + password + "' password");
-                        kdc.addPrincipal(name, password.toCharArray());
-                    }
-                }
-            }
-
-            KDC.saveConfig(KRB5_CONF_FILENAME, kdc);
-
-            if (ktab != null) {
-                File ktabFile = new File(ktab);
-                if (mode == KtabMode.APPEND) {
-                    if (ktabFile.exists()) {
-                        System.out.println("KDC: append keys to an exising " +
-                                "keytab file " + ktab);
-                        kdc.appendKtab(ktab);
-                    } else {
-                        System.out.println("KDC: create a new keytab file " +
-                                ktab);
-                        kdc.writeKtab(ktab);
-                    }
-                } else if (mode == KtabMode.EXISTING) {
-                    System.out.println("KDC: use an existing keytab file "
-                            + ktab);
-                } else {
-                    throw new RuntimeException("KDC: unsupported keytab mode: "
-                            + mode);
-                }
-            }
-
-            System.out.println("KDC: started on " + HOST + ":" + kdc.getPort()
-                    + " with '" + realm + "' realm");
-        } catch (Exception e) {
-            throw new RuntimeException("KDC: unexpected exception", e);
-        }
-    }
-
 }
 
 class SSLClient {
--- a/test/sun/security/krb5/auto/UnboundService.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UnboundService.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file UnboundService.java
  * @run main/othervm UnboundService null null
  * @run main/othervm UnboundService server/host.rabbit.hole null
--- a/test/sun/security/krb5/auto/Unreachable.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/Unreachable.java	Thu Jul 02 16:08:47 2015 -0700
@@ -25,7 +25,6 @@
  * @test
  * @bug 7162687
  * @summary enhance KDC server availability detection
- * @modules java.security.jgss/sun.security.krb5
  * @compile -XDignore.symbol.file Unreachable.java
  * @run main/othervm/timeout=10 Unreachable
  */
--- a/test/sun/security/krb5/auto/UseCacheAndStoreKey.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/UseCacheAndStoreKey.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 7201053
  * @summary Krb5LoginModule shows NPE when both useTicketCache and storeKey
  *          are set to true
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file UseCacheAndStoreKey.java
  * @run main/othervm UseCacheAndStoreKey
  */
--- a/test/sun/security/krb5/auto/W83.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/auto/W83.java	Thu Jul 02 16:08:47 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 6932525 6951366 6959292
  * @summary kerberos login failure on win2008 with AD set to win2000 compat mode
  * and cannot login if session key and preauth does not use the same etype
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm -D6932525 W83
  * @run main/othervm -D6959292 W83
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/auto/principalProperty/PrincipalSystemPropTest.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8075301
+ * @library /sun/security/krb5/auto
+ * @summary New test for sun.security.krb5.principal system property.
+ * The principal can set using the system property sun.security.krb5.principal.
+ * This property is checked during login. If this property is not set,
+ * then the principal name from the configuration is used.
+ * @run main/othervm/java.security.policy=principalSystemPropTest.policy
+ * PrincipalSystemPropTest
+ */
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.login.LoginContext;
+import com.sun.security.auth.callback.TextCallbackHandler;
+
+public class PrincipalSystemPropTest {
+
+    private static final boolean PASS = Boolean.TRUE;
+    private static final boolean FAIL = Boolean.FALSE;
+    private static final String VALID_PRINCIPAL_JAAS_ENTRY =
+            "ValidPrincipalSystemPropTest";
+    private static final String INVALID_PRINCIPAL_JAAS_ENTRY =
+            "InvalidPrincipalSystemPropTest";
+    private static final String NO_PRINCIPAL_JAAS_ENTRY =
+            "NoPrincipalSystemPropTest";
+    private static final String SAME_PRINCIPAL_JAAS_ENTRY =
+            "SelfPrincipalSystemPropTest";
+    private static final String HOST = "localhost";
+    private static final String KTAB_FILENAME = "krb5.keytab.data";
+    private static final String REALM = "TEST.REALM";
+    private static final String TEST_SRC = System.getProperty("test.src", ".");
+    private static final String USER = "USER";
+    private static final String AVAILABLE_USER = "AVAILABLE";
+    private static final String USER_PASSWORD = "password";
+    private static final String FS = System.getProperty("file.separator");
+    private static final String KRB5_CONF_FILENAME = "krb5.conf";
+    private static final String JAAS_CONF_FILENAME = "jaas.conf";
+    private static final String KRBTGT_PRINCIPAL = "krbtgt/" + REALM;
+    private static final String USER_PRINCIPAL = USER + "@" + REALM;
+    private static final String AVAILABLE_USER_PRINCIPAL =
+            AVAILABLE_USER + "@" + REALM;
+
+    public static void main(String[] args) throws Exception {
+
+        setupTest();
+
+        // Expected result, Jaas Config Entry, Login Principal Expected,
+        // Principal passed through System property
+        runTest(PASS, VALID_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(PASS, VALID_PRINCIPAL_JAAS_ENTRY,
+                AVAILABLE_USER_PRINCIPAL,  null);
+        runTest(PASS, INVALID_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(FAIL, INVALID_PRINCIPAL_JAAS_ENTRY, null,  null);
+        runTest(PASS, NO_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(FAIL, NO_PRINCIPAL_JAAS_ENTRY, null, null);
+        runTest(PASS, SAME_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+
+    }
+
+    private static void setupTest() {
+
+        System.setProperty("java.security.krb5.conf", KRB5_CONF_FILENAME);
+        System.setProperty("java.security.auth.login.config",
+                TEST_SRC + FS + JAAS_CONF_FILENAME);
+
+        Map<String, String> principals = new HashMap<>();
+        principals.put(USER_PRINCIPAL, USER_PASSWORD);
+        principals.put(AVAILABLE_USER_PRINCIPAL, USER_PASSWORD);
+        principals.put(KRBTGT_PRINCIPAL, null);
+        KDC.startKDC(HOST, KRB5_CONF_FILENAME, REALM, principals,
+                KTAB_FILENAME, KDC.KtabMode.APPEND);
+
+    }
+
+    private static void runTest(boolean expected, String jaasConfigEntry,
+            String expectedLoginUser, String loginUserBySysProp) {
+
+        if(loginUserBySysProp != null) {
+            System.setProperty("sun.security.krb5.principal",
+                    loginUserBySysProp);
+        } else {
+            System.clearProperty("sun.security.krb5.principal");
+        }
+
+        try {
+            LoginContext lc = new LoginContext(jaasConfigEntry,
+                    new TextCallbackHandler());
+            lc.login();
+            System.out.println(String.format(
+                    "Authentication completed with Subject '%s' ",
+                    lc.getSubject()));
+
+            if (!expected) {
+                throw new RuntimeException(
+                        "TEST FAILED - JAAS login success isn't expected");
+            }
+            if(expectedLoginUser != null && !lc.getSubject().getPrincipals()
+                    .stream().map(p -> p.getName()).filter(
+                            expectedLoginUser :: equals).findFirst()
+                            .isPresent()) {
+                throw new RuntimeException(String.format(
+                        "TEST FAILED - Login principal is not matched "
+                        + "to expected principal '%s'.", expectedLoginUser));
+            }
+            System.out.println(
+                    "TEST PASSED - JAAS login success is expected.");
+        } catch (LoginException ie) {
+            System.out.println(String.format(
+                    "Authentication failed with exception: %s",
+                    ie.getMessage()));
+            if (expected) {
+                System.out.println(
+                        "TEST FAILED - JAAS login failure isn't expected");
+                throw new RuntimeException(ie);
+            }
+            System.out.println(
+                    "TEST PASSED - JAAS login failure is expected.");
+        }
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/auto/principalProperty/jaas.conf	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,34 @@
+NoPrincipalSystemPropTest {
+	com.sun.security.auth.module.Krb5LoginModule required 
+	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+InvalidPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="UNAVAILABLE@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+ValidPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="AVAILABLE@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+SelfPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="USER@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/auto/principalProperty/principalSystemPropTest.policy	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,21 @@
+grant {
+  	permission javax.security.auth.AuthPermission
+    	"createLoginContext.ValidPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.InvalidPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.NoPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.SelfPrincipalSystemPropTest";
+  	permission javax.security.auth.AuthPermission "doAs";
+  	permission javax.security.auth.AuthPermission "modifyPrincipals";
+  	permission javax.security.auth.AuthPermission "getSubject";
+  	permission java.util.PropertyPermission "*", "read,write";
+  	permission java.io.FilePermission "*", "read,write,delete";
+  	permission java.lang.RuntimePermission "accessDeclaredMembers";
+  	permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
+  	permission java.lang.RuntimePermission "accessClassInPackage.*";
+  	permission java.net.SocketPermission "*:*", 
+  		"listen,resolve,accept,connect";
+}; 
+
--- a/test/sun/security/krb5/config/NamingManager.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/config/NamingManager.java	Thu Jul 02 16:08:47 2015 -0700
@@ -23,7 +23,6 @@
 
 package javax.naming.spi;
 
-import com.sun.jndi.dns.DnsContext;
 import java.util.Hashtable;
 import javax.naming.Context;
 import javax.naming.NamingException;
@@ -31,6 +30,7 @@
 import javax.naming.directory.Attributes;
 import javax.naming.directory.BasicAttribute;
 import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.InitialDirContext;
 
 /**
  * A fake javax.naming.spi.NamingManager. It allows reading a DNS
@@ -43,7 +43,7 @@
     public static Context getURLContext(
             String scheme, Hashtable<?,?> environment)
             throws NamingException {
-        return new DnsContext("", null, new Hashtable<String,String>()) {
+        return new InitialDirContext() {
             public Attributes getAttributes(String name, String[] attrIds)
                     throws NamingException {
                 return new BasicAttributes() {
--- a/test/sun/security/krb5/tools/KtabZero.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/krb5/tools/KtabZero.java	Thu Jul 02 16:08:47 2015 -0700
@@ -33,7 +33,9 @@
  * @test
  * @bug 8014196
  * @summary ktab creates a file with zero kt_vno
+ * @requires os.family == "windows"
  * @modules java.security.jgss/sun.security.krb5.internal.ktab
+ *          java.security.jgss/sun.security.krb5.internal.tools
  */
 public class KtabZero {
 
@@ -52,15 +54,8 @@
 
         // 2. Create with the tool
         Files.deleteIfExists(Paths.get(NAME));
-        try {
-            Class ktab = Class.forName("sun.security.krb5.internal.tools.Ktab");
-            ktab.getDeclaredMethod("main", String[].class).invoke(null,
-                    (Object)(("-k " + NAME + " -a me@HERE pass").split(" ")));
-        } catch (ClassNotFoundException cnfe) {
-            // Only Windows has ktab tool
-            System.out.println("No ktab tool here. Ignored.");
-            return;
-        }
+        sun.security.krb5.internal.tools.Ktab.main(
+            ("-k " + NAME + " -a me@HERE pass").split(" "));
         check(false);
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/util/Oid/OidEquals.java	Thu Jul 02 16:08:47 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8022444
+ * @summary Test ObjectIdentifier.equals(Object obj)
+ */
+
+import sun.security.util.ObjectIdentifier;
+
+public class OidEquals {
+    public static void main(String[] args) throws Exception {
+        ObjectIdentifier oid1 = new ObjectIdentifier("1.3.6.1.4.1.42.2.17");
+        ObjectIdentifier oid2 =
+                new ObjectIdentifier(new int[]{1, 3, 6, 1, 4, 1, 42, 2, 17});
+        ObjectIdentifier oid3 = new ObjectIdentifier("1.2.3.4");
+
+        assertEquals(oid1, oid1);
+        assertEquals(oid1, oid2);
+        assertNotEquals(oid1, oid3);
+        assertNotEquals(oid1, "1.3.6.1.4.1.42.2.17");
+
+        System.out.println("Tests passed.");
+    }
+
+    static void assertEquals(ObjectIdentifier oid, Object obj)
+            throws Exception {
+        if (!oid.equals(obj)) {
+            throw new Exception("The ObjectIdentifier " + oid.toString() +
+                    " should be equal to the Object " + obj.toString());
+        }
+    }
+
+    static void assertNotEquals(ObjectIdentifier oid, Object obj)
+            throws Exception {
+        if (oid.equals(obj)) {
+            throw new Exception("The ObjectIdentifier " + oid.toString() +
+                    " should not be equal to the Object " + obj.toString());
+        }
+    }
+}
--- a/test/sun/security/util/Oid/OidFormat.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/security/util/Oid/OidFormat.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -129,7 +129,7 @@
         os.putOID(oid);
         DerInputStream is = new DerInputStream(os.toByteArray());
         ObjectIdentifier oid2 = is.getOID();
-        if (!oid.equals((Object)oid2)) {
+        if (!oid.equals(oid2)) {
             throw new Exception("Test DER I/O fails: " + oid + " and " + oid2);
         }
     }
@@ -144,7 +144,7 @@
         os.putOID(oid);
         DerInputStream is = new DerInputStream(os.toByteArray());
         ObjectIdentifier oid2 = is.getOID();
-        if (!oid.equals((Object)oid2)) {
+        if (!oid.equals(oid2)) {
             throw new Exception("Test DER I/O fails: " + oid + " and " + oid2);
         }
     }
--- a/test/sun/tools/jmap/heapconfig/TmtoolTestScenario.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/tools/jmap/heapconfig/TmtoolTestScenario.java	Thu Jul 02 16:08:47 2015 -0700
@@ -38,7 +38,7 @@
 
 public class TmtoolTestScenario {
 
-    private final ArrayList<String> toolOutput = new ArrayList();
+    private final ArrayList<String> toolOutput = new ArrayList<String>();
     private LingeredApp theApp = null;
     private final String toolName;
     private final String[] toolArgs;
@@ -72,7 +72,7 @@
      */
     public Map<String, String>  parseFlagsFinal() {
         List<String> astr = theApp.getAppOutput();
-        Map<String, String> vmMap = new HashMap();
+        Map<String, String> vmMap = new HashMap<String, String>();
 
         for (String line : astr) {
             String[] lv = line.trim().split("\\s+");
@@ -94,7 +94,10 @@
         System.out.println("Starting LingeredApp");
         try {
             try {
-                theApp = LingeredApp.startApp(vmArgs);
+                List<String> vmArgsExtended = new ArrayList<String>();
+                vmArgsExtended.add("-XX:+UsePerfData");
+                vmArgsExtended.addAll(vmArgs);
+                theApp = LingeredApp.startApp(vmArgsExtended);
 
                 System.out.println("Starting " + toolName + " against " + theApp.getPid());
                 JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK(toolName);
@@ -120,7 +123,7 @@
 
                 return toolProcess.exitValue();
             } finally {
-                theApp.stopApp();
+                LingeredApp.stopApp(theApp);
             }
         } catch (IOException | InterruptedException ex) {
             throw new RuntimeException("Test ERROR " + ex, ex);
--- a/test/sun/tools/jps/JpsHelper.java	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/tools/jps/JpsHelper.java	Thu Jul 02 16:08:47 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -94,9 +94,10 @@
     }
 
     /**
-     * VM arguments to start test application with
+     * VM arguments to start test application with.
+     * -XX:+UsePerfData is required for running the tests on embedded platforms.
      */
-    public static final String[] VM_ARGS = {"-Xmx512m", "-XX:+PrintGCDetails"};
+    public static final String[] VM_ARGS = {"-XX:+UsePerfData", "-Xmx512m", "-XX:+PrintGCDetails"};
     /**
      * VM flag to start test application with
      */
--- a/test/sun/util/calendar/zi/tzdata/VERSION	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/util/calendar/zi/tzdata/VERSION	Thu Jul 02 16:08:47 2015 -0700
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2015d
+tzdata2015e
--- a/test/sun/util/calendar/zi/tzdata/africa	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/util/calendar/zi/tzdata/africa	Thu Jul 02 16:08:47 2015 -0700
@@ -361,9 +361,10 @@
 # time this summer, and carry out studies on the possibility of canceling the
 # practice altogether in future years."
 #
-# From Paul Eggert (2015-04-20):
-# For now, assume DST will be canceled.  Any resumption would likely
-# use different rules anyway.
+# From Paul Eggert (2015-04-24):
+# Yesterday the office of Egyptian President El-Sisi announced his
+# decision to abandon DST permanently.  See Ahram Online 2015-04-24.
+# http://english.ahram.org.eg/NewsContent/1/64/128509/Egypt/Politics-/Sisi-cancels-daylight-saving-time-in-Egypt.aspx
 
 Rule	Egypt	2008	only	-	Aug	lastThu	24:00	0	-
 Rule	Egypt	2009	only	-	Aug	20	24:00	0	-
@@ -810,20 +811,41 @@
 # will resume again at 02:00 on Saturday, August 2, 2014....
 # http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
 
-# From Paul Eggert (2014-06-05):
-# For now, guess that later spring and fall transitions will use 2014's rules,
+# From Milamber (2015-06-08):
+# (Google Translation) The hour will thus be delayed 60 minutes
+# Sunday, June 14 at 3:00, the ministry said in a statement, adding
+# that the time will be advanced again 60 minutes Sunday, July 19,
+# 2015 at 2:00.  The move comes under 2.12.126 Decree of 26 Jumada I
+# 1433 (18 April 2012) and the decision of the Head of Government of
+# 16 N. 3-29-15 Chaaban 1435 (4 June 2015).
+# Source (french):
+# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/
+#
+# From Milamber (2015-06-09):
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=863
+#
+# From Michael Deckers (2015-06-09):
+# [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go
+# from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch....
+# I think the patch is correct and the quoted text is wrong; the text in
+# <http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
+# with the patch.
+
+# From Paul Eggert (2015-06-08):
+# For now, guess that later spring and fall transitions will use 2015's rules,
 # and guess that Morocco will switch to standard time at 03:00 the last
-# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
-# Ramadan.  To implement this, transition dates for 2015 through 2037 were
+# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
+# Ramadan.  To implement this, transition dates for 2016 through 2037 were
 # determined by running the following program under GNU Emacs 24.3, with the
 # results integrated by hand into the table below.
-# (let ((islamic-year 1436))
+# (let ((islamic-year 1437))
+#   (require 'cal-islam)
 #   (while (< islamic-year 1460)
 #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
 #           (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
-#           (saturday 6))
-#       (while (/= saturday (mod (setq a (1- a)) 7)))
-#       (while (/= saturday (mod b 7))
+#           (sunday 0))
+#       (while (/= sunday (mod (setq a (1- a)) 7)))
+#       (while (/= sunday (mod b 7))
 #         (setq b (1+ b)))
 #       (setq a (calendar-gregorian-from-absolute a))
 #       (setq b (calendar-gregorian-from-absolute b))
@@ -867,32 +889,30 @@
 Rule	Morocco	2013	only	-	Jul	 7	 3:00	0	-
 Rule	Morocco	2013	only	-	Aug	10	 2:00	1:00	S
 Rule	Morocco	2013	max	-	Oct	lastSun	 3:00	0	-
-Rule	Morocco	2014	2022	-	Mar	lastSun	 2:00	1:00	S
+Rule	Morocco	2014	2021	-	Mar	lastSun	 2:00	1:00	S
 Rule	Morocco	2014	only	-	Jun	28	 3:00	0	-
 Rule	Morocco	2014	only	-	Aug	 2	 2:00	1:00	S
-Rule	Morocco	2015	only	-	Jun	13	 3:00	0	-
-Rule	Morocco	2015	only	-	Jul	18	 2:00	1:00	S
-Rule	Morocco	2016	only	-	Jun	 4	 3:00	0	-
-Rule	Morocco	2016	only	-	Jul	 9	 2:00	1:00	S
-Rule	Morocco	2017	only	-	May	20	 3:00	0	-
-Rule	Morocco	2017	only	-	Jul	 1	 2:00	1:00	S
-Rule	Morocco	2018	only	-	May	12	 3:00	0	-
-Rule	Morocco	2018	only	-	Jun	16	 2:00	1:00	S
-Rule	Morocco	2019	only	-	May	 4	 3:00	0	-
-Rule	Morocco	2019	only	-	Jun	 8	 2:00	1:00	S
-Rule	Morocco	2020	only	-	Apr	18	 3:00	0	-
-Rule	Morocco	2020	only	-	May	30	 2:00	1:00	S
-Rule	Morocco	2021	only	-	Apr	10	 3:00	0	-
-Rule	Morocco	2021	only	-	May	15	 2:00	1:00	S
-Rule	Morocco	2022	only	-	Apr	 2	 3:00	0	-
-Rule	Morocco	2022	only	-	May	 7	 2:00	1:00	S
-Rule	Morocco	2023	only	-	Apr	22	 2:00	1:00	S
-Rule	Morocco	2024	only	-	Apr	13	 2:00	1:00	S
-Rule	Morocco	2025	only	-	Apr	 5	 2:00	1:00	S
+Rule	Morocco	2015	only	-	Jun	14	 3:00	0	-
+Rule	Morocco	2015	only	-	Jul	19	 2:00	1:00	S
+Rule	Morocco	2016	only	-	Jun	 5	 3:00	0	-
+Rule	Morocco	2016	only	-	Jul	10	 2:00	1:00	S
+Rule	Morocco	2017	only	-	May	21	 3:00	0	-
+Rule	Morocco	2017	only	-	Jul	 2	 2:00	1:00	S
+Rule	Morocco	2018	only	-	May	13	 3:00	0	-
+Rule	Morocco	2018	only	-	Jun	17	 2:00	1:00	S
+Rule	Morocco	2019	only	-	May	 5	 3:00	0	-
+Rule	Morocco	2019	only	-	Jun	 9	 2:00	1:00	S
+Rule	Morocco	2020	only	-	Apr	19	 3:00	0	-
+Rule	Morocco	2020	only	-	May	24	 2:00	1:00	S
+Rule	Morocco	2021	only	-	Apr	11	 3:00	0	-
+Rule	Morocco	2021	only	-	May	16	 2:00	1:00	S
+Rule	Morocco	2022	only	-	May	 8	 2:00	1:00	S
+Rule	Morocco	2023	only	-	Apr	23	 2:00	1:00	S
+Rule	Morocco	2024	only	-	Apr	14	 2:00	1:00	S
+Rule	Morocco	2025	only	-	Apr	 6	 2:00	1:00	S
 Rule	Morocco	2026	max	-	Mar	lastSun	 2:00	1:00	S
-Rule	Morocco	2035	only	-	Oct	27	 3:00	0	-
-Rule	Morocco	2036	only	-	Oct	18	 3:00	0	-
-Rule	Morocco	2037	only	-	Oct	10	 3:00	0	-
+Rule	Morocco	2036	only	-	Oct	19	 3:00	0	-
+Rule	Morocco	2037	only	-	Oct	 4	 3:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
--- a/test/sun/util/calendar/zi/tzdata/iso3166.tab	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/util/calendar/zi/tzdata/iso3166.tab	Thu Jul 02 16:08:47 2015 -0700
@@ -26,11 +26,10 @@
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
-# From Paul Eggert (2014-07-18):
+# From Paul Eggert (2015-05-02):
 # This file contains a table of two-letter country codes.  Columns are
 # separated by a single tab.  Lines beginning with '#' are comments.
-# Although all text currently uses ASCII encoding, this is planned to
-# change to UTF-8 soon.  The columns of the table are as follows:
+# All text uses UTF-8 encoding.  The columns of the table are as follows:
 #
 # 1.  ISO 3166-1 alpha-2 country code, current as of
 #     ISO 3166-1 Newsletter VI-16 (2013-07-11).  See: Updates on ISO 3166
@@ -61,7 +60,7 @@
 AT	Austria
 AU	Australia
 AW	Aruba
-AX	Aaland Islands
+AX	Åland Islands
 AZ	Azerbaijan
 BA	Bosnia & Herzegovina
 BB	Barbados
@@ -90,7 +89,7 @@
 CF	Central African Rep.
 CG	Congo (Rep.)
 CH	Switzerland
-CI	Cote d'Ivoire
+CI	Côte d'Ivoire
 CK	Cook Islands
 CL	Chile
 CM	Cameroon
@@ -234,7 +233,7 @@
 PW	Palau
 PY	Paraguay
 QA	Qatar
-RE	Reunion
+RE	Réunion
 RO	Romania
 RS	Serbia
 RU	Russia
--- a/test/sun/util/calendar/zi/tzdata/northamerica	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/util/calendar/zi/tzdata/northamerica	Thu Jul 02 16:08:47 2015 -0700
@@ -2684,7 +2684,17 @@
 			-4:00	US	A%sT
 
 # Cayman Is
-# See America/Panama.
+
+# From Paul Eggert (2015-05-15):
+# The Cayman government has decided to introduce DST in 2016, the idea being
+# to keep in sync with New York.  The legislation hasn't passed but the change
+# seems quite likely.  See: Meade B. Cayman 27.
+# http://www.cayman27.com.ky/2015/05/15/clock-ticks-toward-daylight-saving-time-in-cayman
+
+Zone	America/Cayman	-5:25:32 -	LMT	1890     # Georgetown
+			-5:07:11 -	KMT	1912 Feb # Kingston Mean Time
+			-5:00	-	EST	2016
+			-5:00	US	E%sT
 
 # Costa Rica
 
@@ -3207,7 +3217,6 @@
 Zone	America/Panama	-5:18:08 -	LMT	1890
 			-5:19:36 -	CMT	1908 Apr 22 # Colón Mean Time
 			-5:00	-	EST
-Link America/Panama America/Cayman
 
 # Puerto Rico
 # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
--- a/test/sun/util/calendar/zi/tzdata/southamerica	Thu Jul 02 08:54:01 2015 -0700
+++ b/test/sun/util/calendar/zi/tzdata/southamerica	Thu Jul 02 16:08:47 2015 -0700
@@ -53,7 +53,7 @@
 #	I suggest the use of _Summer time_ instead of the more cumbersome
 #	_daylight-saving time_.  _Summer time_ seems to be in general use
 #	in Europe and South America.
-#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
+#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
 #	H L Mencken, _The American Language: Supplement I_ (1960), p 466
 #
 # Earlier editions of these tables also used the North American style