# HG changeset patch # User asaha # Date 1249623478 25200 # Node ID c4e7b1dbd52a7d649e7e4fa2dc32b81965995945 # Parent 4078186f55aa3a8bc9bc473d2783afededfec0d4# Parent 6e2fcd6b592bdb9ee74ba9f4b7d464ab54717910 Merge diff -r 4078186f55aa -r c4e7b1dbd52a .hgtags --- a/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64 7d3bf00f3cc4f8125de1842521e7567f37dc84b8 jdk7-b65 62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66 +eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a .hgtags-top-repo --- a/.hgtags-top-repo Wed Aug 05 14:16:34 2009 -0700 +++ b/.hgtags-top-repo Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ 269c1ec4435dfb7b452ae6e3bdde005d55c5c830 jdk7-b64 e01380cd1de4ce048b87d059d238e5ab5e341947 jdk7-b65 6bad5e3fe50337d95b1416d744780d65bc570da6 jdk7-b66 +c4523c6f82048f420bf0d57c4cd47976753b7d2c jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a corba/.hgtags --- a/corba/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/corba/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ 047dd27fddb607f8135296b3754131f6e13cb8c7 jdk7-b64 97fd9b42f5c2d342b90d18f0a2b57e4117e39415 jdk7-b65 a821e059a961bcb02830280d51f6dd030425c066 jdk7-b66 +a12ea7c7b497b4ba7830550095ef633bd6f43971 jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a corba/make/Makefile --- a/corba/make/Makefile Wed Aug 05 14:16:34 2009 -0700 +++ b/corba/make/Makefile Thu Aug 06 22:37:58 2009 -0700 @@ -110,7 +110,7 @@ ifdef TARGET_CLASS_VERSION TARGET_LEVEL = $(TARGET_CLASS_VERSION) else - TARGET_LEVEL = 6 + TARGET_LEVEL = 7 endif ifndef TARGET_JAVA diff -r 4078186f55aa -r c4e7b1dbd52a corba/make/common/shared/Defs-java.gmk --- a/corba/make/common/shared/Defs-java.gmk Wed Aug 05 14:16:34 2009 -0700 +++ b/corba/make/common/shared/Defs-java.gmk Thu Aug 06 22:37:58 2009 -0700 @@ -107,12 +107,12 @@ NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true JAVACFLAGS += $(NO_PROPRIETARY_API_WARNINGS) -# Add the source level (currently all source is 1.5, should this be 1.6?) -LANGUAGE_VERSION = -source 1.5 +# Add the source level +LANGUAGE_VERSION = -source 7 JAVACFLAGS += $(LANGUAGE_VERSION) -# Add the class version we want (currently this is 5, should it be 6 or even 7?) -TARGET_CLASS_VERSION = 5 +# Add the class version we want +TARGET_CLASS_VERSION = 7 CLASS_VERSION = -target $(TARGET_CLASS_VERSION) JAVACFLAGS += $(CLASS_VERSION) JAVACFLAGS += -encoding ascii diff -r 4078186f55aa -r c4e7b1dbd52a hotspot/.hgtags --- a/hotspot/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/hotspot/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ ba36394eb84b949b31212bdb32a518a8f92bab5b jdk7-b64 ba313800759b678979434d6da8ed3bf49eb8bea4 jdk7-b65 57c71ad0341b8b64ed20f81151eb7f06324f8894 jdk7-b66 +18f526145aea355a9320b724373386fc2170f183 jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a jaxp/.hgtags --- a/jaxp/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/jaxp/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ a10eec7a1edf536f39b5828d8623054dbc62c2b7 jdk7-b64 008c662e0ee9a91aebb75e46b97de979083d5c1c jdk7-b65 22f9d5d5b5fe0f47048f41e6c6e54fee5edad0ec jdk7-b66 +a033af8d824a408d3ac602205ecdefc128749e1e jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a jaxp/make/build.properties --- a/jaxp/make/build.properties Wed Aug 05 14:16:34 2009 -0700 +++ b/jaxp/make/build.properties Thu Aug 06 22:37:58 2009 -0700 @@ -30,8 +30,8 @@ # one of the standard user build.properties files (see build.xml) # options for the tasks used to compile the tools -javac.source = 5 -javac.target = 5 +javac.source = 7 +javac.target = 7 javac.debug = true javac.no.jdk.warnings = -XDignore.symbol.file=true # set the following to -version to verify the versions of javac being used diff -r 4078186f55aa -r c4e7b1dbd52a jaxws/.hgtags --- a/jaxws/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/jaxws/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ aaa25dfd3de68c6f1a1d3ef8c45fd99f76bca6dd jdk7-b64 aa22a1be5866a6608ba17a7a443945559409ae0f jdk7-b65 fa8712c099edd5c9a6b3ed9729353738004d388f jdk7-b66 +faa13cd4d6cdcfb155da5ed23b0da6e0ed0f9ea8 jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a jaxws/make/build.properties --- a/jaxws/make/build.properties Wed Aug 05 14:16:34 2009 -0700 +++ b/jaxws/make/build.properties Thu Aug 06 22:37:58 2009 -0700 @@ -30,8 +30,8 @@ # one of the standard user build.properties files (see build.xml) # options for the tasks used to compile the tools -javac.source = 5 -javac.target = 5 +javac.source = 7 +javac.target = 7 javac.debug = true javac.no.jdk.warnings = -XDignore.symbol.file=true # set the following to -version to verify the versions of javac being used diff -r 4078186f55aa -r c4e7b1dbd52a jdk/.hgtags --- a/jdk/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -42,3 +42,4 @@ 382a27aa78d3236fa123c60577797a887fe93e09 jdk7-b65 bd31b30a5b21f20e42965b1633f18a5c7946d398 jdk7-b66 a952aafd5181af953b0ef3010dbd2fcc28460e8a jdk7-b67 +b23d905cb5d3b382295240d28ab0bfb266b4503c jdk7-b68 diff -r 4078186f55aa -r c4e7b1dbd52a jdk/make/com/sun/crypto/provider/Makefile --- a/jdk/make/com/sun/crypto/provider/Makefile Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/make/com/sun/crypto/provider/Makefile Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ # -# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. # 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,54 +45,49 @@ # For OpenJDK, the jar files built here are installed directly into the # OpenJDK. # -# For JDK, the binaries use pre-built/pre-signed/pre-obfuscated binary -# files stored in the closed workspace that are not shipped in the -# OpenJDK workspaces. We still build the JDK files here to verify the -# files compile, and in preparation for possible signing and -# obfuscation. Developers working on JCE in JDK must sign the JCE files -# before testing: obfuscation is optional during development. The JCE -# signing key is kept separate from the JDK workspace to prevent its -# disclosure. The obfuscation tool has not been licensed for general -# usage. -# +# For JDK, the binaries use pre-built/pre-signed binary files stored in +# the closed workspace that are not shipped in the OpenJDK workspaces. +# We still build the JDK files here to verify the files compile, and in +# preparation for possible signing. Developers working on JCE in JDK +# must sign the JCE files before testing. The JCE signing key is kept +# separate from the JDK workspace to prevent its disclosure. +# # SPECIAL NOTE TO JCE/JDK developers: The source files must eventually -# be built, obfuscated, signed, and then the resulting jar files MUST BE -# CHECKED INTO THE CLOSED PART OF THE WORKSPACE*. This separate step -# *MUST NOT BE FORGOTTEN*, otherwise a bug fixed in the source code will -# not be reflected in the shipped binaries. The "release" target should be +# be built and signed, and the resulting jar files MUST BE CHECKED INTO +# THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT BE +# FORGOTTEN*, otherwise a bug fixed in the source code will not be +# reflected in the shipped binaries. The "release" target should be # used to generate the required files. # # There are a number of targets to help both JDK/OpenJDK developers. # # Main Targets (JDK/OPENJDK): # -# all/clobber/clean The usual. -# If OpenJDK, installs sunjce_provider.jar. -# If JDK, installs prebuilt -# sunjce_provider.jar. +# all/clobber/clean The usual. +# If OpenJDK, installs sunjce_provider.jar. +# If JDK, installs prebuilt +# sunjce_provider.jar. # -# jar Builds/installs sunjce_provider.jar -# If OpenJDK, does not sign. -# If JDK, tries to sign. +# jar Builds/installs sunjce_provider.jar +# If OpenJDK, does not sign. +# If JDK, tries to sign. # # Other lesser-used Targets (JDK/OPENJDK): # -# build-jar Builds sunjce_provider.jar -# (does not sign/install) +# build-jar Builds sunjce_provider.jar +# (does not sign/install) # -# install-jar Alias for "jar" above. +# install-jar Alias for "jar" above. # # Other targets (JDK only): # -# sign Alias for sign-jar -# sign-jar Builds/signs sunjce_provider.jar (no install) -# -# obfus Builds/obfuscates/signs sunjce_provider.jar +# sign Alias for sign-jar +# sign-jar Builds/signs sunjce_provider.jar (no install) # -# release Builds all targets in preparation -# for workspace integration. +# release Builds all targets in preparation +# for workspace integration. # -# install-prebuilt Installs the pre-built jar files +# install-prebuilt Installs the pre-built jar files # # This makefile was written to support parallel target execution. # @@ -103,7 +98,7 @@ # # The following is for when we need to do postprocessing -# (signing/obfuscation) against a read-only build. If the OUTPUTDIR +# (signing) against a read-only build. If the OUTPUTDIR # isn't writable, the build currently crashes out. # ifndef OPENJDK @@ -158,8 +153,8 @@ # # We use a variety of subdirectories in the $(TEMPDIR) depending on what # part of the build we're doing. Both OPENJDK/JDK builds are initially -# done in the unsigned area. When files are signed or obfuscated in JDK, -# they will be placed in the appropriate areas. +# done in the unsigned area. When files are signed in JDK, they will be +# placed in the appropriate areas. # UNSIGNED_DIR = $(TEMPDIR)/unsigned @@ -223,62 +218,15 @@ endif $(call sign-file, $(UNSIGNED_DIR)/sunjce_provider.jar) + # ===================================================== -# Obfuscate/sign/install the JDK build. Not needed for OpenJDK. +# Create the Release Engineering files. Signed builds, etc. # -OBFUS_DIR = $(JCE_BUILD_DIR)/obfus/sunjce - -CLOSED_DIR = $(BUILDDIR)/closed/com/sun/crypto/provider - -obfus: $(OBFUS_DIR)/sunjce_provider.jar - $(release-warning) - -ifndef ALT_JCE_BUILD_DIR -$(OBFUS_DIR)/sunjce_provider.jar: build-jar $(JCE_MANIFEST_FILE) \ - $(OBFUS_DIR)/sunjce.dox -else -$(OBFUS_DIR)/sunjce_provider.jar: $(JCE_MANIFEST_FILE) $(OBFUS_DIR)/sunjce.dox - @if [ ! -d $(CLASSDESTDIR) ] ; then \ - $(ECHO) "Couldn't find $(CLASSDESTDIR)"; \ - exit 1; \ - fi -endif - @$(ECHO) ">>>Obfuscating SunJCE Provider..." - $(presign) - $(preobfus) - $(prep-target) - $(CD) $(OBFUS_DIR); \ - $(OBFUSCATOR) -fv sunjce.dox - @$(CD) $(OBFUS_DIR); $(java-vm-cleanup) - $(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ \ - -C $(OBFUS_DIR)/build com \ - $(BOOT_JAR_JFLAGS) - $(sign-target) - @$(java-vm-cleanup) - -$(OBFUS_DIR)/sunjce.dox: $(CLOSED_DIR)/obfus/sunjce.dox - @$(ECHO) ">>>Creating sunjce.dox" - $(prep-target) - $(SED) "s:@@TEMPDIR@@:$(ABS_TEMPDIR):" $< > $@ - -# -# The current obfuscator has a limitation in that it currently only -# supports up to v49 class file format. Force v49 classfiles in our -# builds for now. -# -SOURCE_LANGUAGE_VERSION = 5 -TARGET_CLASS_VERSION = 5 - - -# ===================================================== -# Create the Release Engineering files. Obfuscated builds, etc. -# - -release: $(OBFUS_DIR)/sunjce_provider.jar +release: $(SIGNED_DIR)/sunjce_provider.jar $(RM) $(JCE_BUILD_DIR)/release/sunjce_provider.jar $(MKDIR) -p $(JCE_BUILD_DIR)/release - $(CP) $(OBFUS_DIR)/sunjce_provider.jar $(JCE_BUILD_DIR)/release + $(CP) $(SIGNED_DIR)/sunjce_provider.jar $(JCE_BUILD_DIR)/release $(release-warning) endif # OPENJDK @@ -320,5 +268,5 @@ .PHONY: build-jar jar install-jar ifndef OPENJDK -.PHONY: sign sign-jar obfus release install-prebuilt +.PHONY: sign sign-jar release install-prebuilt endif diff -r 4078186f55aa -r c4e7b1dbd52a jdk/make/javax/crypto/Defs-jce.gmk --- a/jdk/make/javax/crypto/Defs-jce.gmk Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/make/javax/crypto/Defs-jce.gmk Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ # -# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -61,7 +61,7 @@ SIGNING_ALIAS = jce_rsa # -# Defines for signing/obfuscating the various jar files. +# Defines for signing the various jar files. # define presign @@ -100,19 +100,4 @@ $(sign-target) endef -# -# Location for the Obfuscation product. JDK currently has -# the requirement that we obfuscate our JCE jars. -# -OBFUSCATOR = /security/tools/bin/obfus -OBFUS_DIR = $(TEMPDIR)/obfus - -define preobfus - @if [ ! -f $(OBFUSCATOR) ]; then \ - $(ECHO) "\n$(OBFUSCATOR): Obfuscator *NOT* available..." \ - $(README-MAKEFILE_WARNING); \ - exit 2; \ - fi -endef - endif # !OPENJDK diff -r 4078186f55aa -r c4e7b1dbd52a jdk/make/javax/crypto/Makefile --- a/jdk/make/javax/crypto/Makefile Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/make/javax/crypto/Makefile Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ # -# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. # 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,64 +44,65 @@ # For OpenJDK, the jar files built here are installed directly into the # OpenJDK. # -# For JDK, the binaries use pre-built/pre-signed/pre-obfuscated binary -# files stored in the closed workspace that are not shipped in the -# OpenJDK workspaces. We still build the JDK files here to verify the -# files compile, and in preparation for possible signing and -# obfuscation. Developers working on JCE in JDK must sign the JCE files -# before testing: obfuscation is optional during development. The JCE -# signing key is kept separate from the JDK workspace to prevent its -# disclosure. The obfuscation tool has not been licensed for general -# usage. +# For JDK, the binaries use pre-built/pre-signed binary files stored in +# the closed workspace that are not shipped in the OpenJDK workspaces. +# We still build the JDK files here to verify the files compile, and in +# preparation for possible signing. Developers working on JCE in JDK +# must sign the JCE files before testing. The JCE signing key is kept +# separate from the JDK workspace to prevent its disclosure. # # SPECIAL NOTE TO JCE/JDK developers: The source files must eventually -# be built, obfuscated, signed, and the resulting jar files *MUST BE -# CHECKED INTO THE CLOSED PART OF THE WORKSPACE*. This separate step -# *MUST NOT BE FORGOTTEN*, otherwise a bug fixed in the source code will -# not be reflected in the shipped binaries. The "release" target should -# be used to generate the required files. +# be built and signed, and the resulting jar files *MUST BE CHECKED INTO +# THE CLOSED PART OF THE WORKSPACE*. This separate step *MUST NOT BE +# FORGOTTEN*, otherwise a bug fixed in the source code will not be +# reflected in the shipped binaries. The "release" target should be +# used to generate the required files. # # There are a number of targets to help both JDK/OpenJDK developers. # # Main Targets (JDK/OPENJDK): # -# all/clobber/clean The usual. -# If OpenJDK, installs -# jce.jar/limited policy files. -# If JDK, installs prebuilt -# jce.jar/limited policy files. +# all/clobber/clean The usual. +# If OpenJDK: builds/installs the +# jce.jar/limited policy files. +# If JDK: builds but does not install. +# During full tops-down builds, +# prebuilt/presigned jce.jar & +# limited policy files are copied +# in by make/java/redist/Makefile. +# If you are working in this directory +# and want to install the prebuilts, +# use the "install-prebuilt" target. # -# jar Builds/installs jce.jar -# If OpenJDK, does not sign -# If JDK, tries to sign +# jar Builds/installs jce.jar +# If OpenJDK, does not sign +# If JDK, tries to sign # # Other lesser-used Targets (JDK/OPENJDK): # -# build-jar Builds jce.jar (does not sign/install) +# build-jar Builds jce.jar (does not sign/install) # -# build-policy Builds policy files (does not sign/install) +# build-policy Builds policy files (does not sign/install) # -# install-jar Alias for "jar" above +# install-jar Alias for "jar" above # -# install-limited Builds/installs limited policy files -# If OpenJDK, does not sign -# If JDK, tries to sign -# install-unlimited Builds/nstalls unlimited policy files -# If OpenJDK, does not sign -# If JDK, tries to sign +# install-limited Builds/installs limited policy files +# If OpenJDK, does not sign +# If JDK, tries to sign +# install-unlimited Builds/nstalls unlimited policy files +# If OpenJDK, does not sign +# If JDK, tries to sign # # Other targets (JDK only): # -# sign Alias for sign-jar and sign-policy -# sign-jar Builds/signs jce.jar file (no install) -# sign-policy Builds/signs policy files (no install) +# sign Alias for sign-jar and sign-policy +# sign-jar Builds/signs jce.jar file (no install) +# sign-policy Builds/signs policy files (no install) # -# obfus Builds/obfuscates/signs jce.jar +# release Builds all targets in preparation +# for workspace integration. # -# release Builds all targets in preparation -# for workspace integration. -# -# install-prebuilt Installs the pre-built jar files +# install-prebuilt Installs the pre-built jar files # # This makefile was written to support parallel target execution. # @@ -112,7 +113,7 @@ # # The following is for when we need to do postprocessing -# (signing/obfuscation) against a read-only build. If the OUTPUTDIR +# (signing) against a read-only build. If the OUTPUTDIR # isn't writable, the build currently crashes out. # ifndef OPENJDK @@ -169,8 +170,8 @@ # # We use a variety of subdirectories in the $(TEMPDIR) depending on what # part of the build we're doing. Both OPENJDK/JDK builds are initially -# done in the unsigned area. When files are signed or obfuscated in JDK, -# they will be placed in the appropriate areas. +# done in the unsigned area. When files are signed in JDK, they will be +# placed in the appropriate areas. # UNSIGNED_DIR = $(TEMPDIR)/unsigned @@ -178,7 +179,7 @@ # ===================================================== -# Build the unsigned jce.jar file. Signing/obfuscation comes later. +# Build the unsigned jce.jar file. Signing comes later. # JAR_DESTFILE = $(LIBDIR)/jce.jar @@ -363,69 +364,13 @@ # ===================================================== -# Obfuscate/sign/install the JDK build. Not needed for OpenJDK. +# Create the Release Engineering files. Signed builds, +# unlimited policy file distribution, etc. # -OBFUS_DIR = $(JCE_BUILD_DIR)/obfus/jce - CLOSED_DIR = $(BUILDDIR)/closed/javax/crypto -obfus: $(OBFUS_DIR)/jce.jar - $(release-warning) - -ifndef ALT_JCE_BUILD_DIR -$(OBFUS_DIR)/jce.jar: build-jar $(JCE_MANIFEST_FILE) $(OBFUS_DIR)/framework.dox -else -# -# We have to remove the build dependency, otherwise, we'll try to rebuild it -# which we can't do on a read-only filesystem. -# -$(OBFUS_DIR)/jce.jar: $(JCE_MANIFEST_FILE) $(OBFUS_DIR)/framework.dox - @if [ ! -d $(CLASSDESTDIR) ] ; then \ - $(ECHO) "Couldn't find $(CLASSDESTDIR)"; \ - exit 1; \ - fi -endif - @$(ECHO) ">>>Obfuscating JCE framework..." - $(presign) - $(preobfus) - $(prep-target) - $(CD) $(OBFUS_DIR); \ - $(OBFUSCATOR) -fv framework.dox - @$(CD) $(OBFUS_DIR); $(java-vm-cleanup) - @# - @# The sun.security.internal classes are currently not obfuscated - @# due to an obfus problem. Manually copy them to the build directory - @# so that they are included in the jce.jar file. - @# - $(CP) -r $(CLASSDESTDIR)/sun $(OBFUS_DIR)/build - $(BOOT_JAR_CMD) cmf $(JCE_MANIFEST_FILE) $@ \ - -C $(OBFUS_DIR)/build javax \ - -C $(OBFUS_DIR)/build sun \ - $(BOOT_JAR_JFLAGS) - $(sign-target) - @$(java-vm-cleanup) - -$(OBFUS_DIR)/framework.dox: $(CLOSED_DIR)/obfus/framework.dox - @$(ECHO) ">>>Creating framework.dox" - $(prep-target) - $(SED) "s:@@TEMPDIR@@:$(ABS_TEMPDIR):" $< > $@ - -# -# The current obfuscator has a limitation in that it currently only -# supports up to v49 class file format. Force v49 classfiles in our -# builds for now. -# -SOURCE_LANGUAGE_VERSION = 5 -TARGET_CLASS_VERSION = 5 - - -# ===================================================== -# Create the Release Engineering files. Obfuscated builds, -# unlimited policy file distribution, etc. -# - -release: $(OBFUS_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html \ +release: $(SIGNED_DIR)/jce.jar sign-policy $(CLOSED_DIR)/doc/COPYRIGHT.html \ $(CLOSED_DIR)/doc/README.txt $(RM) -r \ $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy \ @@ -434,7 +379,7 @@ $(JCE_BUILD_DIR)/release/local_policy.jar \ $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy.zip $(MKDIR) -p $(JCE_BUILD_DIR)/release/UnlimitedJCEPolicy - $(CP) $(OBFUS_DIR)/jce.jar $(JCE_BUILD_DIR)/release + $(CP) $(SIGNED_DIR)/jce.jar $(JCE_BUILD_DIR)/release $(CP) \ $(SIGNED_POLICY_BUILDDIR)/limited/US_export_policy.jar \ $(SIGNED_POLICY_BUILDDIR)/limited/local_policy.jar \ @@ -530,5 +475,5 @@ .PHONY: build-jar jar build-policy unlimited limited install-jar \ install-limited install-unlimited ifndef OPENJDK -.PHONY: sign sign-jar sign-policy obfus release install-prebuilt +.PHONY: sign sign-jar sign-policy release install-prebuilt endif diff -r 4078186f55aa -r c4e7b1dbd52a jdk/make/sun/security/mscapi/Makefile --- a/jdk/make/sun/security/mscapi/Makefile Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/make/sun/security/mscapi/Makefile Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ # -# Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -59,31 +59,31 @@ # # Main Targets (JDK/OPENJDK): # -# all/clobber/clean The usual, plus the native libraries. -# If OpenJDK, installs sunmscapi.jar. -# If JDK, installs prebuilt -# sunmscapi.jar. +# all/clobber/clean The usual, plus the native libraries. +# If OpenJDK, installs sunmscapi.jar. +# If JDK, installs prebuilt +# sunmscapi.jar. # -# jar Builds/installs sunmscapi.jar -# If OpenJDK, does not sign. -# If JDK, tries to sign. +# jar Builds/installs sunmscapi.jar +# If OpenJDK, does not sign. +# If JDK, tries to sign. # # Other lesser-used Targets (JDK/OPENJDK): # -# build-jar Builds sunmscapi.jar -# (does not sign/install) +# build-jar Builds sunmscapi.jar +# (does not sign/install) # -# install-jar Alias for "jar" above. +# install-jar Alias for "jar" above. # # Other targets (JDK only): # -# sign Alias for sign-jar -# sign-jar Builds/signs sunmscapi.jar (no install) +# sign Alias for sign-jar +# sign-jar Builds/signs sunmscapi.jar (no install) # -# release Builds all targets in preparation -# for workspace integration. +# release Builds all targets in preparation +# for workspace integration. # -# install-prebuilt Installs the pre-built jar files +# install-prebuilt Installs the pre-built jar files # # This makefile was written to support parallel target execution. # diff -r 4078186f55aa -r c4e7b1dbd52a jdk/make/sun/security/pkcs11/Makefile --- a/jdk/make/sun/security/pkcs11/Makefile Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/make/sun/security/pkcs11/Makefile Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ # -# Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. +# Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -59,31 +59,31 @@ # # Main Targets (JDK/OPENJDK): # -# all/clobber/clean The usual, plus the native libraries. -# If OpenJDK, installs sunpkcs11.jar. -# If JDK, installs prebuilt -# sunpkcs11.jar. +# all/clobber/clean The usual, plus the native libraries. +# If OpenJDK, installs sunpkcs11.jar. +# If JDK, installs prebuilt +# sunpkcs11.jar. # -# jar Builds/installs sunpkcs11.jar -# If OpenJDK, does not sign. -# If JDK, tries to sign. +# jar Builds/installs sunpkcs11.jar +# If OpenJDK, does not sign. +# If JDK, tries to sign. # # Other lesser-used Targets (JDK/OPENJDK): # -# build-jar Builds sunpkcs11.jar -# (does not sign/install) +# build-jar Builds sunpkcs11.jar +# (does not sign/install) # -# install-jar Alias for "jar" above. +# install-jar Alias for "jar" above. # # Other targets (JDK only): # -# sign Alias for sign-jar -# sign-jar Builds/signs sunpkcs11.jar (no install) +# sign Alias for sign-jar +# sign-jar Builds/signs sunpkcs11.jar (no install) # -# release Builds all targets in preparation -# for workspace integration. +# release Builds all targets in preparation +# for workspace integration. # -# install-prebuilt Installs the pre-built jar files +# install-prebuilt Installs the pre-built jar files # # This makefile was written to support parallel target execution. # diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/AESCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/AESCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/AESCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,12 +56,8 @@ /** * Creates an instance of AES cipher with default ECB mode and * PKCS5Padding. - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public AESCipher() { - SunJCE.ensureIntegrity(getClass()); core = new CipherCore(new AESCrypt(), AESConstants.AES_BLOCK_SIZE); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +48,9 @@ private int keySize = 16; // default keysize (in number of bytes) /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor. */ public AESKeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/AESWrapCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/AESWrapCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/AESWrapCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -65,12 +65,8 @@ /** * Creates an instance of AES KeyWrap cipher with default * mode, i.e. "ECB" and padding scheme, i.e. "NoPadding". - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public AESWrapCipher() { - SunJCE.ensureIntegrity(getClass()); cipher = new AESCrypt(); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/ARCFOURCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,7 +62,6 @@ // called by the JCE framework public ARCFOURCipher() { - SunJCE.ensureIntegrity(getClass()); S = new int[256]; } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/BlowfishCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/BlowfishCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/BlowfishCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,12 +60,8 @@ /** * Creates an instance of Blowfish cipher with default ECB mode and * PKCS5Padding. - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public BlowfishCipher() { - SunJCE.ensureIntegrity(getClass()); core = new CipherCore(new BlowfishCrypt(), BlowfishConstants.BLOWFISH_BLOCK_SIZE); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +46,9 @@ private int keysize = 16; // default keysize (in number of bytes) /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public BlowfishKeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,12 +56,8 @@ /** * Creates an instance of DES cipher with default ECB mode and * PKCS5Padding. - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public DESCipher() { - SunJCE.ensureIntegrity(getClass()); core = new CipherCore(new DESCrypt(), DESConstants.DES_BLOCK_SIZE); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESKeyFactory.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESKeyFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESKeyFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,17 +42,11 @@ public final class DESKeyFactory extends SecretKeyFactorySpi { /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DESKeyFactory() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } + /** * Generates a SecretKey object from the provided key * specification (key material). diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +46,9 @@ private SecureRandom random = null; /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DESKeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESedeCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESedeCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESedeCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -53,12 +53,8 @@ /** * Creates an instance of DESede cipher with default ECB mode and * PKCS5Padding. - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public DESedeCipher() { - SunJCE.ensureIntegrity(getClass()); core = new CipherCore(new DESedeCrypt(), DESConstants.DES_BLOCK_SIZE); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +42,9 @@ public final class DESedeKeyFactory extends SecretKeyFactorySpi { /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DESedeKeyFactory() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have been " + - "tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +47,9 @@ private int keysize = 168; /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DESedeKeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have been " + - "tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2004-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,12 +74,8 @@ /** * Creates an instance of CMS DESede KeyWrap cipher with default * mode, i.e. "CBC" and padding scheme, i.e. "NoPadding". - * - * @exception SecurityException if this constructor fails to verify - * its own integrity. */ public DESedeWrapCipher() { - SunJCE.ensureIntegrity(getClass()); cipher = new CipherBlockChaining(new DESedeCrypt()); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -58,16 +58,9 @@ private BigInteger y = BigInteger.ZERO; /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DHKeyAgreement() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have been " + - "tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/DHKeyFactory.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DHKeyFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DHKeyFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +49,9 @@ public final class DHKeyFactory extends KeyFactorySpi { /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public DHKeyFactory() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacCore.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacCore.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacCore.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,6 @@ public static final class HmacSHA256 extends MacSpi implements Cloneable { private final HmacCore core; public HmacSHA256() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(getClass()); core = new HmacCore("SHA-256", 64); } private HmacSHA256(HmacSHA256 base) throws CloneNotSupportedException { @@ -278,7 +277,6 @@ public static final class HmacSHA384 extends MacSpi implements Cloneable { private final HmacCore core; public HmacSHA384() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(getClass()); core = new HmacCore("SHA-384", 128); } private HmacSHA384(HmacSHA384 base) throws CloneNotSupportedException { @@ -315,7 +313,6 @@ public static final class HmacSHA512 extends MacSpi implements Cloneable { private final HmacCore core; public HmacSHA512() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(getClass()); core = new HmacCore("SHA-512", 128); } private HmacSHA512(HmacSHA512 base) throws CloneNotSupportedException { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacMD5.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacMD5.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacMD5.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +44,8 @@ /** * Standard constructor, creates a new HmacMD5 instance. - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity */ public HmacMD5() throws NoSuchAlgorithmException { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } hmac = new HmacCore(MessageDigest.getInstance("MD5"), MD5_BLOCK_LENGTH); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +46,9 @@ private int keysize = 64; // default keysize (in number of bytes) /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public HmacMD5KeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,13 +48,8 @@ /** * Standard constructor, creates a new HmacSHA1 instance. - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity */ public HmacPKCS12PBESHA1() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(this.getClass()); this.hmac = new HmacCore(MessageDigest.getInstance("SHA1"), SHA1_BLOCK_LENGTH); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +44,8 @@ /** * Standard constructor, creates a new HmacSHA1 instance. - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity */ public HmacSHA1() throws NoSuchAlgorithmException { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } this.hmac = new HmacCore(MessageDigest.getInstance("SHA1"), SHA1_BLOCK_LENGTH); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +46,9 @@ private int keysize = 64; // default keysize (in number of bytes) /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public HmacSHA1KeyGenerator() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/JarVerifier.java --- a/jdk/src/share/classes/com/sun/crypto/provider/JarVerifier.java Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. - * 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. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package com.sun.crypto.provider; - -// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI. -// All files should be kept in sync. - -import java.io.*; -import java.util.*; -import java.util.jar.*; -import java.net.URL; -import java.net.JarURLConnection; -import java.net.MalformedURLException; - -import java.security.*; -import java.security.cert.*; -import java.security.cert.Certificate; - -/** - * This class verifies JAR files (and any supporting JAR files), and - * determines whether they may be used in this implementation. - * - * The JCE in OpenJDK has an open cryptographic interface, meaning it - * does not restrict which providers can be used. Compliance with - * United States export controls and with local law governing the - * import/export of products incorporating the JCE in the OpenJDK is - * the responsibility of the licensee. - * - * @since 1.7 - */ -final class JarVerifier { - - private static final boolean debug = false; - - /** - * Verify the JAR file is signed by an entity which has a certificate - * issued by a trusted CA. - * - * Note: this is a temporary method and will change soon to use the - * exception chaining mechanism, which can provide more details - * as to why the verification failed. - * - * @param c the class to be verified. - * @return true if verification is successful. - */ - static boolean verify(final Class c) { - return true; - } -} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java --- a/jdk/src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -109,7 +109,6 @@ public static final class HmacSHA256KG extends KeyGeneratorSpi { private final KeyGeneratorCore core; public HmacSHA256KG() { - SunJCE.ensureIntegrity(getClass()); core = new KeyGeneratorCore("HmacSHA256", 256); } protected void engineInit(SecureRandom random) { @@ -131,7 +130,6 @@ public static final class HmacSHA384KG extends KeyGeneratorSpi { private final KeyGeneratorCore core; public HmacSHA384KG() { - SunJCE.ensureIntegrity(getClass()); core = new KeyGeneratorCore("HmacSHA384", 384); } protected void engineInit(SecureRandom random) { @@ -153,7 +151,6 @@ public static final class HmacSHA512KG extends KeyGeneratorSpi { private final KeyGeneratorCore core; public HmacSHA512KG() { - SunJCE.ensureIntegrity(getClass()); core = new KeyGeneratorCore("HmacSHA512", 512); } protected void engineInit(SecureRandom random) { @@ -175,7 +172,6 @@ public static final class RC2KeyGenerator extends KeyGeneratorSpi { private final KeyGeneratorCore core; public RC2KeyGenerator() { - SunJCE.ensureIntegrity(getClass()); core = new KeyGeneratorCore("RC2", 128); } protected void engineInit(SecureRandom random) { @@ -201,7 +197,6 @@ public static final class ARCFOURKeyGenerator extends KeyGeneratorSpi { private final KeyGeneratorCore core; public ARCFOURKeyGenerator() { - SunJCE.ensureIntegrity(getClass()); core = new KeyGeneratorCore("ARCFOUR", 128); } protected void engineInit(SecureRandom random) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java --- a/jdk/src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEKeyFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +49,9 @@ private static HashSet validTypes; /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Simple constructor */ private PBEKeyFactory(String keytype) { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } type = keytype; } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -55,16 +55,9 @@ * unavailable * @exception NoSuchPaddingException if the required padding mechanism * (PKCS5Padding) is unavailable - * - * @exception SecurityException if this constructor fails to verify - * its own integrity */ public PBEWithMD5AndDESCipher() throws NoSuchAlgorithmException, NoSuchPaddingException { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } core = new PBECipherCore("DES"); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,23 +61,14 @@ * Creates an instance of this cipher, and initializes its mode (CBC) and * padding (PKCS5). * - * Verify the SunJCE provider in the constructor. - * * @exception NoSuchAlgorithmException if the required cipher mode (CBC) is * unavailable * @exception NoSuchPaddingException if the required padding mechanism * (PKCS5Padding) is unavailable - * @exception SecurityException if fails to verify - * its own integrity */ public PBEWithMD5AndTripleDESCipher() throws NoSuchAlgorithmException, NoSuchPaddingException { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } - // set the encapsulated cipher to do triple DES core = new PBECipherCore("DESede"); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java --- a/jdk/src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/PBKDF2HmacSHA1Factory.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,16 +45,9 @@ public final class PBKDF2HmacSHA1Factory extends SecretKeyFactorySpi { /** - * Verify the SunJCE provider in the constructor. - * - * @exception SecurityException if fails to verify - * its own integrity + * Empty constructor */ public PBKDF2HmacSHA1Factory() { - if (!SunJCE.verifySelfIntegrity(this.getClass())) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java --- a/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -370,7 +370,6 @@ public static final class PBEWithSHA1AndDESede extends CipherSpi { private final PKCS12PBECipherCore core; public PBEWithSHA1AndDESede() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(this.getClass()); core = new PKCS12PBECipherCore("DESede", 24); } protected byte[] engineDoFinal(byte[] in, int inOff, int inLen) @@ -446,7 +445,6 @@ public static final class PBEWithSHA1AndRC2_40 extends CipherSpi { private final PKCS12PBECipherCore core; public PBEWithSHA1AndRC2_40() throws NoSuchAlgorithmException { - SunJCE.ensureIntegrity(this.getClass()); core = new PKCS12PBECipherCore("RC2", 5); } protected byte[] engineDoFinal(byte[] in, int inOff, int inLen) diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/RC2Cipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/RC2Cipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/RC2Cipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 +45,6 @@ private final RC2Crypt embeddedCipher; public RC2Cipher() { - SunJCE.ensureIntegrity(getClass()); embeddedCipher = new RC2Crypt(); core = new CipherCore(embeddedCipher, 8); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java --- a/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/RSACipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -111,7 +111,6 @@ private String oaepHashAlgorithm = "SHA-1"; public RSACipher() { - SunJCE.ensureIntegrity(getClass()); paddingType = PAD_PKCS1; } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/SslMacCore.java --- a/jdk/src/share/classes/com/sun/crypto/provider/SslMacCore.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/SslMacCore.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -226,9 +226,6 @@ static final byte[] md5Pad1 = genPad((byte)0x36, 48); static final byte[] md5Pad2 = genPad((byte)0x5c, 48); - static { - SunJCE.ensureIntegrity(SslMacMD5.class); - } } // nested static class for the SslMacMD5 implementation @@ -262,9 +259,6 @@ static final byte[] shaPad1 = genPad((byte)0x36, 40); static final byte[] shaPad2 = genPad((byte)0x5c, 40); - static { - SunJCE.ensureIntegrity(SslMacSHA1.class); - } } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/SunJCE.java --- a/jdk/src/share/classes/com/sun/crypto/provider/SunJCE.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/SunJCE.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,10 +93,6 @@ static final SecureRandom RANDOM = new SecureRandom(); - // After the SunJCE passed self-integrity checking, - // verifiedSelfIntegrity will be set to true. - private static boolean verifiedSelfIntegrity = false; - public SunJCE() { /* We are the "SunJCE" provider */ super("SunJCE", 1.7d, info); @@ -441,21 +437,4 @@ } }); } - - // set to true once self verification is complete - private static volatile boolean integrityVerified; - - static void ensureIntegrity(Class c) { - if (verifySelfIntegrity(c) == false) { - throw new SecurityException("The SunJCE provider may have " + - "been tampered."); - } - } - - static final boolean verifySelfIntegrity(Class c) { - if (verifiedSelfIntegrity) { - return true; - } - return (integrityVerified = JarVerifier.verify(c)); - } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * 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 @@ private int protocolVersion; public TlsKeyMaterialGenerator() { - SunJCE.ensureIntegrity(getClass()); } protected void engineInit(SecureRandom random) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/TlsMasterSecretGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 +51,6 @@ private int protocolVersion; public TlsMasterSecretGenerator() { - SunJCE.ensureIntegrity(getClass()); } protected void engineInit(SecureRandom random) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -109,7 +109,6 @@ private TlsPrfParameterSpec spec; public TlsPrfGenerator() { - SunJCE.ensureIntegrity(getClass()); } protected void engineInit(SecureRandom random) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java --- a/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,6 @@ private SecureRandom random; public TlsRsaPremasterSecretGenerator() { - SunJCE.ensureIntegrity(getClass()); } protected void engineInit(SecureRandom random) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/crypto/JarVerifier.java --- a/jdk/src/share/classes/javax/crypto/JarVerifier.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/crypto/JarVerifier.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2007-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,9 +28,7 @@ import java.io.*; import java.net.*; import java.security.*; -import java.util.*; import java.util.jar.*; -import javax.crypto.CryptoPolicyParser.ParsingException; /** * This class verifies JAR files (and any supporting JAR files), and @@ -135,17 +133,6 @@ } /** - * Verify that the provided JarEntry was indeed signed by the - * framework signing certificate. - * - * @param je the URL of the jar entry to be checked. - * @throws Exception if the jar entry was not signed by - * the proper certificate - */ - static void verifyFrameworkSigned(URL je) throws Exception { - } - - /** * Verify that the provided certs include the * framework signing certificate. * diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/crypto/JceSecurity.java --- a/jdk/src/share/classes/javax/crypto/JceSecurity.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/crypto/JceSecurity.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 +25,6 @@ package javax.crypto; -import java.lang.ref.*; import java.util.*; import java.util.jar.*; import java.io.*; @@ -256,11 +255,6 @@ ("Cannot locate policy or framework files!"); } - // Enforce the signer restraint, i.e. signer of JCE framework - // jar should also be the signer of the two jurisdiction policy - // jar files. - JarVerifier.verifyFrameworkSigned(jceCipherURL); - // Read jurisdiction policies. CryptoPermissions defaultExport = new CryptoPermissions(); CryptoPermissions exemptExport = new CryptoPermissions(); diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/JFileChooser.java --- a/jdk/src/share/classes/javax/swing/JFileChooser.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/JFileChooser.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -739,6 +739,11 @@ dialog.show(); firePropertyChange("JFileChooserDialogIsClosingProperty", dialog, null); + + // Remove all components from dialog. The MetalFileChooserUI.installUI() method (and other LAFs) + // registers AWT listener for dialogs and produces memory leaks. It happens when + // installUI invoked after the showDialog method. + dialog.getContentPane().removeAll(); dialog.dispose(); dialog = null; return returnValue; diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/JInternalFrame.java --- a/jdk/src/share/classes/javax/swing/JInternalFrame.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/JInternalFrame.java Thu Aug 06 22:37:58 2009 -0700 @@ -26,13 +26,10 @@ package javax.swing; import java.awt.*; -import java.awt.event.*; import java.beans.PropertyVetoException; import java.beans.PropertyChangeEvent; -import java.util.EventListener; -import javax.swing.border.Border; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; import javax.swing.plaf.*; @@ -40,7 +37,6 @@ import javax.accessibility.*; import java.io.ObjectOutputStream; -import java.io.ObjectInputStream; import java.io.IOException; import java.lang.StringBuilder; import java.beans.PropertyChangeListener; @@ -1459,19 +1455,22 @@ SwingUtilities2.compositeRequestFocus(getDesktopIcon()); } else { - // FocusPropertyChangeListener will eventually update - // lastFocusOwner. As focus requests are asynchronous - // lastFocusOwner may be accessed before it has been correctly - // updated. To avoid any problems, lastFocusOwner is immediately - // set, assuming the request will succeed. - lastFocusOwner = getMostRecentFocusOwner(); - if (lastFocusOwner == null) { - // Make sure focus is restored somewhere, so that - // we don't leave a focused component in another frame while - // this frame is selected. - lastFocusOwner = getContentPane(); + Component component = KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner(); + if ((component == null) || !SwingUtilities.isDescendingFrom(component, this)) { + // FocusPropertyChangeListener will eventually update + // lastFocusOwner. As focus requests are asynchronous + // lastFocusOwner may be accessed before it has been correctly + // updated. To avoid any problems, lastFocusOwner is immediately + // set, assuming the request will succeed. + setLastFocusOwner(getMostRecentFocusOwner()); + if (lastFocusOwner == null) { + // Make sure focus is restored somewhere, so that + // we don't leave a focused component in another frame while + // this frame is selected. + setLastFocusOwner(getContentPane()); + } + lastFocusOwner.requestFocus(); } - lastFocusOwner.requestFocus(); } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,9 +32,6 @@ import javax.swing.border.*; import javax.swing.plaf.*; import java.beans.*; -import java.util.EventListener; -import java.io.Serializable; - /** * Basic L&F for a minimized window on a desktop. @@ -47,7 +44,6 @@ protected JInternalFrame.JDesktopIcon desktopIcon; protected JInternalFrame frame; - private DesktopIconMover desktopIconMover; /** * The title pane component used in the desktop icon. @@ -128,21 +124,12 @@ mouseInputListener = createMouseInputListener(); desktopIcon.addMouseMotionListener(mouseInputListener); desktopIcon.addMouseListener(mouseInputListener); - getDesktopIconMover().installListeners(); } protected void uninstallListeners() { desktopIcon.removeMouseMotionListener(mouseInputListener); desktopIcon.removeMouseListener(mouseInputListener); mouseInputListener = null; - getDesktopIconMover().uninstallListeners(); - } - - private DesktopIconMover getDesktopIconMover() { - if (desktopIconMover == null) { - desktopIconMover = new DesktopIconMover(desktopIcon); - } - return desktopIconMover; } protected void installDefaults() { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1998-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -232,6 +232,10 @@ public void run0() { FileSystemView fileSystem = filechooser.getFileSystemView(); + if (isInterrupted()) { + return; + } + File[] list = fileSystem.getFiles(currentDirectory, filechooser.isFileHidingEnabled()); if (isInterrupted()) { @@ -268,8 +272,8 @@ // To avoid loads of synchronizations with Invoker and improve performance we // execute the whole block on the COM thread - DoChangeContents doChangeContents = ShellFolder.getInvoker().invoke(new Callable() { - public DoChangeContents call() throws Exception { + DoChangeContents doChangeContents = ShellFolder.invoke(new Callable() { + public DoChangeContents call() { int newSize = newFileCache.size(); int oldSize = fileCache.size(); diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java Thu Aug 06 22:37:58 2009 -0700 @@ -27,16 +27,10 @@ import java.awt.*; import java.awt.event.*; -import java.awt.peer.LightweightPeer; - import javax.swing.*; -import javax.swing.border.*; import javax.swing.plaf.*; import javax.swing.event.*; - import java.beans.*; -import java.io.Serializable; - import sun.swing.DefaultLookup; import sun.swing.UIAction; @@ -55,6 +49,7 @@ protected MouseInputAdapter borderListener; protected PropertyChangeListener propertyChangeListener; protected LayoutManager internalFrameLayout; + protected ComponentListener componentListener; protected MouseInputListener glassPaneDispatcher; private InternalFrameListener internalFrameListener; @@ -66,9 +61,9 @@ protected BasicInternalFrameTitlePane titlePane; // access needs this private static DesktopManager sharedDesktopManager; + private boolean componentListenerAdded = false; private Rectangle parentBounds; - private DesktopIconMover desktopIconMover; private boolean dragging = false; private boolean resizing = false; @@ -209,17 +204,14 @@ frame.getGlassPane().addMouseListener(glassPaneDispatcher); frame.getGlassPane().addMouseMotionListener(glassPaneDispatcher); } + componentListener = createComponentListener(); if (frame.getParent() != null) { parentBounds = frame.getParent().getBounds(); } - getDesktopIconMover().installListeners(); - } - - private DesktopIconMover getDesktopIconMover() { - if (desktopIconMover == null) { - desktopIconMover = new DesktopIconMover(frame); + if ((frame.getParent() != null) && !componentListenerAdded) { + frame.getParent().addComponentListener(componentListener); + componentListenerAdded = true; } - return desktopIconMover; } // Provide a FocusListener to listen for a WINDOW_LOST_FOCUS event, @@ -290,7 +282,11 @@ * @since 1.3 */ protected void uninstallListeners() { - getDesktopIconMover().uninstallListeners(); + if ((frame.getParent() != null) && componentListenerAdded) { + frame.getParent().removeComponentListener(componentListener); + componentListenerAdded = false; + } + componentListener = null; if (glassPaneDispatcher != null) { frame.getGlassPane().removeMouseListener(glassPaneDispatcher); frame.getGlassPane().removeMouseMotionListener(glassPaneDispatcher); @@ -1228,6 +1224,15 @@ } } + // Relocate the icon base on the new parent bounds. + if (icon != null) { + Rectangle iconBounds = icon.getBounds(); + int y = iconBounds.y + + (parentNewBounds.height - parentBounds.height); + icon.setBounds(iconBounds.x, y, + iconBounds.width, iconBounds.height); + } + // Update the new parent bounds for next resize. if (!parentBounds.equals(parentNewBounds)) { parentBounds = parentNewBounds; @@ -1399,6 +1404,9 @@ // Cancel a resize in progress if the internal frame // gets a setClosed(true) or dispose(). cancelResize(); + if ((frame.getParent() != null) && componentListenerAdded) { + frame.getParent().removeComponentListener(componentListener); + } closeFrame(f); } } else if (JInternalFrame.IS_MAXIMUM_PROPERTY == prop) { @@ -1431,6 +1439,10 @@ } else { parentBounds = null; } + if ((frame.getParent() != null) && !componentListenerAdded) { + f.getParent().addComponentListener(componentListener); + componentListenerAdded = true; + } } else if (JInternalFrame.TITLE_PROPERTY == prop || prop == "closable" || prop == "iconable" || prop == "maximizable") { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 1997-2005 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,17 +37,12 @@ import java.beans.PropertyChangeEvent; import java.awt.Component; -import java.awt.Container; -import java.awt.LayoutManager; import java.awt.Rectangle; import java.awt.Dimension; import java.awt.Point; import java.awt.Insets; import java.awt.Graphics; import java.awt.event.*; -import java.io.Serializable; -import java.awt.Toolkit; -import java.awt.ComponentOrientation; /** * A default L&F implementation of ScrollPaneUI. @@ -63,6 +58,7 @@ protected ChangeListener viewportChangeListener; protected PropertyChangeListener spPropertyChangeListener; private MouseWheelListener mouseScrollListener; + private int oldExtent = Integer.MIN_VALUE; /** * PropertyChangeListener installed on the vertical scrollbar. @@ -327,9 +323,13 @@ * leave it until someone claims. */ value = Math.max(0, Math.min(max - extent, max - extent - viewPosition.x)); + if (oldExtent > extent) { + value -= oldExtent - extent; + } } } } + oldExtent = extent; hsb.setValues(value, extent, 0, max); } @@ -1020,7 +1020,7 @@ if (viewport != null) { if (e.getSource() == viewport) { - viewportStateChanged(e); + syncScrollPaneWithViewport(); } else { JScrollBar hsb = scrollpane.getHorizontalScrollBar(); @@ -1077,11 +1077,6 @@ viewport.setViewPosition(p); } - private void viewportStateChanged(ChangeEvent e) { - syncScrollPaneWithViewport(); - } - - // // PropertyChangeListener: This is installed on both the JScrollPane // and the horizontal/vertical scrollbars. diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/DesktopIconMover.java Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,168 +0,0 @@ -/* - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. - * 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. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package javax.swing.plaf.basic; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; -import java.beans.*; - -/** - * DesktopIconMover is intended to move desktop icon - * when parent window is resized. - */ -class DesktopIconMover implements ComponentListener, PropertyChangeListener { - private Component parent; - private JInternalFrame frame; // if not null, DesktopIconMover(frame) - // constructor was used - private JInternalFrame.JDesktopIcon icon; - private Rectangle parentBounds; - private boolean componentListenerAdded = false; - - public DesktopIconMover(JInternalFrame frame) { - if (frame == null) { - throw new NullPointerException("Frame cannot be null"); - } - this.frame = frame; - this.icon = frame.getDesktopIcon(); - if (icon == null) { - throw new NullPointerException( - "frame.getDesktopIcon() cannot be null"); - } - this.parent = frame.getParent(); - if (this.parent != null) { - parentBounds = this.parent.getBounds(); - } - } - - public DesktopIconMover(JInternalFrame.JDesktopIcon icon) { - if (icon == null) { - throw new NullPointerException("Icon cannot be null"); - } - this.icon = icon; - this.parent = icon.getParent(); - if (this.parent != null) { - parentBounds = this.parent.getBounds(); - } - } - - public void installListeners() { - if (frame != null) { - frame.addPropertyChangeListener(this); - } else { - icon.addPropertyChangeListener(this); - } - addComponentListener(); - } - - public void uninstallListeners() { - if (frame != null) { - frame.removePropertyChangeListener(this); - } else { - icon.removePropertyChangeListener(this); - } - removeComponentListener(); - } - - public void propertyChange(PropertyChangeEvent evt) { - String propName = evt.getPropertyName(); - if ("ancestor".equals(propName)) { - Component newAncestor = (Component) evt.getNewValue(); - - // Remove component listener if parent is changing - Component probablyNewParent = getCurrentParent(); - if ((probablyNewParent != null) && - (!probablyNewParent.equals(parent))) { - removeComponentListener(); - parent = probablyNewParent; - } - - if (newAncestor == null) { - removeComponentListener(); - } else { - addComponentListener(); - } - - // Update parentBounds - if (parent != null) { - parentBounds = parent.getBounds(); - } else { - parentBounds = null; - } - } else if (JInternalFrame.IS_CLOSED_PROPERTY.equals(propName)) { - removeComponentListener(); - } - } - - private void addComponentListener() { - if (!componentListenerAdded && (parent != null)) { - parent.addComponentListener(this); - componentListenerAdded = true; - } - } - - private void removeComponentListener() { - if ((parent != null) && componentListenerAdded) { - parent.removeComponentListener(this); - componentListenerAdded = false; - } - } - - private Component getCurrentParent() { - if (frame != null) { - return frame.getParent(); - } else { - return icon.getParent(); - } - } - - public void componentResized(ComponentEvent e) { - if ((parent == null) || (parentBounds == null)) { - return; - } - - Rectangle parentNewBounds = parent.getBounds(); - if ((parentNewBounds == null) || parentNewBounds.equals(parentBounds)) { - return; - } - - // Move desktop icon only in up-down direction - int newIconY = icon.getLocation().y + - (parentNewBounds.height - parentBounds.height); - icon.setLocation(icon.getLocation().x, newIconY); - - parentBounds = parentNewBounds; - } - - public void componentMoved(ComponentEvent e) { - } - - public void componentShown(ComponentEvent e) { - } - - public void componentHidden(ComponentEvent e) { - } -} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java Thu Aug 06 22:37:58 2009 -0700 @@ -227,10 +227,10 @@ * * @param x an encoded x value (0...1, or 1...2, or 2...3) * @return the decoded x value + * @throws IllegalArgumentException + * if {@code x < 0} or {@code x > 3} */ protected final float decodeX(float x) { - if (ctx.canvasSize == null) return x; - if (x >= 0 && x <= 1) { return x * leftWidth; } else if (x > 1 && x < 2) { @@ -238,7 +238,7 @@ } else if (x >= 2 && x <= 3) { return ((x-2) * rightWidth) + leftWidth + centerWidth; } else { - throw new AssertionError("Invalid x"); + throw new IllegalArgumentException("Invalid x"); } } @@ -248,10 +248,10 @@ * * @param y an encoded y value (0...1, or 1...2, or 2...3) * @return the decoded y value + * @throws IllegalArgumentException + * if {@code y < 0} or {@code y > 3} */ protected final float decodeY(float y) { - if (ctx.canvasSize == null) return y; - if (y >= 0 && y <= 1) { return y * topHeight; } else if (y > 1 && y < 2) { @@ -259,7 +259,7 @@ } else if (y >= 2 && y <= 3) { return ((y-2) * bottomHeight) + topHeight + centerHeight; } else { - throw new AssertionError("Invalid y"); + throw new IllegalArgumentException("Invalid y"); } } @@ -271,10 +271,10 @@ * @param x an encoded x value of the bezier control point (0...1, or 1...2, or 2...3) * @param dx the offset distance to the anchor from the control point x * @return the decoded x location of the control point + * @throws IllegalArgumentException + * if {@code x < 0} or {@code x > 3} */ protected final float decodeAnchorX(float x, float dx) { - if (ctx.canvasSize == null) return x + dx; - if (x >= 0 && x <= 1) { return decodeX(x) + (dx * leftScale); } else if (x > 1 && x < 2) { @@ -282,7 +282,7 @@ } else if (x >= 2 && x <= 3) { return decodeX(x) + (dx * rightScale); } else { - throw new AssertionError("Invalid x"); + throw new IllegalArgumentException("Invalid x"); } } @@ -294,10 +294,10 @@ * @param y an encoded y value of the bezier control point (0...1, or 1...2, or 2...3) * @param dy the offset distance to the anchor from the control point y * @return the decoded y position of the control point + * @throws IllegalArgumentException + * if {@code y < 0} or {@code y > 3} */ protected final float decodeAnchorY(float y, float dy) { - if (ctx.canvasSize == null) return y + dy; - if (y >= 0 && y <= 1) { return decodeY(y) + (dy * topScale); } else if (y > 1 && y < 2) { @@ -305,7 +305,7 @@ } else if (y >= 2 && y <= 3) { return decodeY(y) + (dy * bottomScale); } else { - throw new AssertionError("Invalid y"); + throw new IllegalArgumentException("Invalid y"); } } @@ -363,6 +363,15 @@ * @param midpoints * @param colors * @return a valid LinearGradientPaint. This method never returns null. + * @throws NullPointerException + * if {@code midpoints} array is null, + * or {@code colors} array is null, + * @throws IllegalArgumentException + * if start and end points are the same points, + * or {@code midpoints.length != colors.length}, + * or {@code colors} is less than 2 in size, + * or a {@code midpoints} value is less than 0.0 or greater than 1.0, + * or the {@code midpoints} are not provided in strictly increasing order */ protected final LinearGradientPaint decodeGradient(float x1, float y1, float x2, float y2, float[] midpoints, Color[] colors) { if (x1 == x2 && y1 == y2) { @@ -384,6 +393,15 @@ * @param midpoints * @param colors * @return a valid RadialGradientPaint. This method never returns null. + * @throws NullPointerException + * if {@code midpoints} array is null, + * or {@code colors} array is null + * @throws IllegalArgumentException + * if {@code r} is non-positive, + * or {@code midpoints.length != colors.length}, + * or {@code colors} is less than 2 in size, + * or a {@code midpoints} value is less than 0.0 or greater than 1.0, + * or the {@code midpoints} are not provided in strictly increasing order */ protected final RadialGradientPaint decodeRadialGradient(float x, float y, float r, float[] midpoints, Color[] colors) { if (r == 0f) { @@ -537,10 +555,10 @@ this.maxVerticalScaleFactor = maxV; if (canvasSize != null) { - a = insets.left; - b = canvasSize.width - insets.right; - c = insets.top; - d = canvasSize.height - insets.bottom; + a = stretchingInsets.left; + b = canvasSize.width - stretchingInsets.right; + c = stretchingInsets.top; + d = canvasSize.height - stretchingInsets.bottom; this.canvasSize = canvasSize; this.inverted = inverted; if (inverted) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusIcon.java Thu Aug 06 22:37:58 2009 -0700 @@ -84,6 +84,8 @@ translatex = 1; } } + } else if (c instanceof JMenu) { + flip = ! c.getComponentOrientation().isLeftToRight(); } if (g instanceof Graphics2D){ Graphics2D gfx = (Graphics2D)g; diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/text/GlyphView.java --- a/jdk/src/share/classes/javax/swing/text/GlyphView.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/text/GlyphView.java Thu Aug 06 22:37:58 2009 -0700 @@ -719,8 +719,9 @@ checkPainter(); int p0 = getStartOffset(); int p1 = painter.getBoundedPosition(this, p0, pos, len); - return ((p1 > p0) && (getBreakSpot(p0, p1) != BreakIterator.DONE)) ? - View.ExcellentBreakWeight : View.BadBreakWeight; + return p1 == p0 ? View.BadBreakWeight : + getBreakSpot(p0, p1) != BreakIterator.DONE ? + View.ExcellentBreakWeight : View.GoodBreakWeight; } return super.getBreakWeight(axis, pos, len); } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/javax/swing/text/ParagraphView.java --- a/jdk/src/share/classes/javax/swing/text/ParagraphView.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/javax/swing/text/ParagraphView.java Thu Aug 06 22:37:58 2009 -0700 @@ -175,23 +175,6 @@ } /** - * Adjusts the given row if possible to fit within the - * layout span. By default this will try to find the - * highest break weight possible nearest the end of - * the row. If a forced break is encountered, the - * break will be positioned there. - *

- * This is meant for internal usage, and should not be used directly. - * - * @param r the row to adjust to the current layout - * span - * @param desiredSpan the current layout span >= 0 - * @param x the location r starts at - */ - protected void adjustRow(Row r, int desiredSpan, int x) { - } - - /** * Returns the next visual position for the cursor, in * either the east or west direction. * Overridden from CompositeView. diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/awt/shell/ShellFolder.java --- a/jdk/src/share/classes/sun/awt/shell/ShellFolder.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/awt/shell/ShellFolder.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -289,8 +289,8 @@ // To avoid loads of synchronizations with Invoker and improve performance we // synchronize the whole code of the sort method once - getInvoker().invoke(new Callable() { - public Void call() throws Exception { + invoke(new Callable() { + public Void call() { // Check that we can use the ShellFolder.sortChildren() method: // 1. All files have the same non-null parent // 2. All files is ShellFolders @@ -330,8 +330,8 @@ public void sortChildren(final List files) { // To avoid loads of synchronizations with Invoker and improve performance we // synchronize the whole code of the sort method once - getInvoker().invoke(new Callable() { - public Void call() throws Exception { + invoke(new Callable() { + public Void call() { Collections.sort(files, FILE_COMPARATOR); return null; @@ -502,17 +502,61 @@ } /** + * Invokes the {@code task} which doesn't throw checked exceptions + * from its {@code call} method. If invokation is interrupted then Thread.currentThread().isInterrupted() will + * be set and result will be {@code null} + */ + public static T invoke(Callable task) { + try { + return invoke(task, RuntimeException.class); + } catch (InterruptedException e) { + return null; + } + } + + /** + * Invokes the {@code task} which throws checked exceptions from its {@code call} method. + * If invokation is interrupted then Thread.currentThread().isInterrupted() will + * be set and InterruptedException will be thrown as well. + */ + public static T invoke(Callable task, Class exceptionClass) + throws InterruptedException, E { + try { + return getInvoker().invoke(task); + } catch (Exception e) { + if (e instanceof RuntimeException) { + // Rethrow unchecked exceptions + throw (RuntimeException) e; + } + + if (e instanceof InterruptedException) { + // Set isInterrupted flag for current thread + Thread.currentThread().interrupt(); + + // Rethrow InterruptedException + throw (InterruptedException) e; + } + + if (exceptionClass.isInstance(e)) { + throw exceptionClass.cast(e); + } + + throw new RuntimeException("Unexpected error", e); + } + } + + /** * Interface allowing to invoke tasks in different environments on different platforms. */ public static interface Invoker { /** - * Invokes a callable task. If the {@code task} throws a checked exception, - * it will be wrapped into a {@link RuntimeException} + * Invokes a callable task. * * @param task a task to invoke + * @throws Exception {@code InterruptedException} or an exception that was thrown from the {@code task} * @return the result of {@code task}'s invokation */ - T invoke(Callable task); + T invoke(Callable task) throws Exception; } /** diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java --- a/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -108,12 +108,8 @@ } private static class DirectInvoker implements ShellFolder.Invoker { - public T invoke(Callable task) { - try { - return task.call(); - } catch (Exception e) { - throw new RuntimeException(e); - } + public T invoke(Callable task) throws Exception { + return task.call(); } } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/dyn/FilterGeneric.java --- a/jdk/src/share/classes/sun/dyn/FilterGeneric.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/dyn/FilterGeneric.java Thu Aug 06 22:37:58 2009 -0700 @@ -16,7 +16,7 @@ * * 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 Sf, tifth Floor, Boston, MA 02110-1301 USA. + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, * CA 95054 USA or visit www.sun.com if you need additional information or diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/security/pkcs11/JarVerifier.java --- a/jdk/src/share/classes/sun/security/pkcs11/JarVerifier.java Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. - * 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. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - -package sun.security.pkcs11; - -// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI. -// All files should be kept in sync. - -import java.io.*; -import java.util.*; -import java.util.jar.*; -import java.net.URL; -import java.net.JarURLConnection; -import java.net.MalformedURLException; - -import java.security.*; -import java.security.cert.*; -import java.security.cert.Certificate; - -/** - * This class verifies JAR files (and any supporting JAR files), and - * determines whether they may be used in this implementation. - * - * The JCE in OpenJDK has an open cryptographic interface, meaning it - * does not restrict which providers can be used. Compliance with - * United States export controls and with local law governing the - * import/export of products incorporating the JCE in the OpenJDK is - * the responsibility of the licensee. - * - * @since 1.7 - */ -final class JarVerifier { - - private static final boolean debug = false; - - /** - * Verify the JAR file is signed by an entity which has a certificate - * issued by a trusted CA. - * - * Note: this is a temporary method and will change soon to use the - * exception chaining mechanism, which can provide more details - * as to why the verification failed. - * - * @param c the class to be verified. - * @return true if verification is successful. - */ - static boolean verify(final Class c) { - return true; - } -} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java --- a/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -390,24 +390,6 @@ return sb.toString(); } - // set to true once self verification is complete - private static volatile boolean integrityVerified; - - static void verifySelfIntegrity(Class c) { - if (integrityVerified) { - return; - } - doVerifySelfIntegrity(c); - } - - private static synchronized void doVerifySelfIntegrity(Class c) { - integrityVerified = JarVerifier.verify(c); - if (integrityVerified == false) { - throw new ProviderException - ("The SunPKCS11 provider may have been tampered with."); - } - } - public boolean equals(Object obj) { return this == obj; } @@ -923,7 +905,6 @@ if (type == MD) { return new P11Digest(token, algorithm, mechanism); } else if (type == CIP) { - verifySelfIntegrity(getClass()); if (algorithm.startsWith("RSA")) { return new P11RSACipher(token, algorithm, mechanism); } else { @@ -932,12 +913,10 @@ } else if (type == SIG) { return new P11Signature(token, algorithm, mechanism); } else if (type == MAC) { - verifySelfIntegrity(getClass()); return new P11Mac(token, algorithm, mechanism); } else if (type == KPG) { return new P11KeyPairGenerator(token, algorithm, mechanism); } else if (type == KA) { - verifySelfIntegrity(getClass()); if (algorithm.equals("ECDH")) { return new P11ECDHKeyAgreement(token, algorithm, mechanism); } else { @@ -946,11 +925,8 @@ } else if (type == KF) { return token.getKeyFactory(algorithm); } else if (type == SKF) { - verifySelfIntegrity(getClass()); return new P11SecretKeyFactory(token, algorithm); } else if (type == KG) { - verifySelfIntegrity(getClass()); - // reference equality if (algorithm == "SunTlsRsaPremasterSecret") { return new P11TlsRsaPremasterSecretGenerator( diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/swing/FilePane.java --- a/jdk/src/share/classes/sun/swing/FilePane.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/swing/FilePane.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,6 +1,5 @@ - /* - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -905,8 +904,8 @@ @Override public void sort() { - ShellFolder.getInvoker().invoke(new Callable() { - public Void call() throws Exception { + ShellFolder.invoke(new Callable() { + public Void call() { DetailsTableRowSorter.super.sort(); return null; } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/share/classes/sun/swing/MenuItemLayoutHelper.java --- a/jdk/src/share/classes/sun/swing/MenuItemLayoutHelper.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/share/classes/sun/swing/MenuItemLayoutHelper.java Thu Aug 06 22:37:58 2009 -0700 @@ -718,10 +718,10 @@ } private void alignRect(Rectangle rect, int alignment, int origWidth) { - if (alignment != SwingUtilities.LEFT) { + if (alignment == SwingConstants.RIGHT) { rect.x = rect.x + rect.width - origWidth; - rect.width = origWidth; } + rect.width = origWidth; } protected void layoutIconAndTextInLabelRect(LayoutResult lr) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java --- a/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Thu Aug 06 22:37:58 2009 -0700 @@ -27,6 +27,7 @@ import java.awt.*; import java.awt.peer.*; import sun.awt.X11GraphicsConfig; +import sun.awt.SunToolkit; class XRobotPeer implements RobotPeer { private X11GraphicsConfig xgc = null; @@ -38,7 +39,8 @@ XRobotPeer(GraphicsConfiguration gc) { this.xgc = (X11GraphicsConfig)gc; - setup(); + SunToolkit tk = (SunToolkit)Toolkit.getDefaultToolkit(); + setup(tk.getNumberOfButtons()); } public void dispose() { @@ -81,7 +83,7 @@ return pixelArray; } - private static native synchronized void setup(); + private static native synchronized void setup(int numberOfButtons); private static native synchronized void mouseMoveImpl(X11GraphicsConfig xgc, int x, int y); private static native synchronized void mousePressImpl(int buttons); diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/solaris/native/sun/awt/awt_Robot.c --- a/jdk/src/solaris/native/sun/awt/awt_Robot.c Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/solaris/native/sun/awt/awt_Robot.c Thu Aug 06 22:37:58 2009 -0700 @@ -51,9 +51,8 @@ extern struct X11GraphicsConfigIDs x11GraphicsConfigIDs; -extern int32_t getNumButtons(); - static jint * masks; +static jint num_buttons; static int32_t isXTestAvailable() { int32_t major_opcode, first_event, first_error; @@ -164,34 +163,34 @@ /*********************************************************************************************/ +// this should be called from XRobotPeer constructor JNIEXPORT void JNICALL -Java_sun_awt_X11_XRobotPeer_setup (JNIEnv * env, jclass cls) { +Java_sun_awt_X11_XRobotPeer_setup (JNIEnv * env, jclass cls, jint numberOfButtons) { int32_t xtestAvailable; -// this should be called from XRobotPeer constructor + DTRACE_PRINTLN("RobotPeer: setup()"); + + num_buttons = numberOfButtons; + jclass inputEventClazz = (*env)->FindClass(env, "java/awt/event/InputEvent"); jmethodID getButtonDownMasksID = (*env)->GetStaticMethodID(env, inputEventClazz, "getButtonDownMasks", "()[I"); jintArray obj = (jintArray)(*env)->CallStaticObjectMethod(env, inputEventClazz, getButtonDownMasksID); - jsize len = (*env)->GetArrayLength(env, obj); jint * tmp = (*env)->GetIntArrayElements(env, obj, JNI_FALSE); - masks = (jint *)malloc(sizeof(jint)*len); + masks = (jint *)malloc(sizeof(jint) * num_buttons); if (masks == (jint *) NULL) { JNU_ThrowOutOfMemoryError((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2), NULL); goto finally; } int i; - for (i = 0; i < len; i++) { + for (i = 0; i < num_buttons; i++) { masks[i] = tmp[i]; } (*env)->ReleaseIntArrayElements(env, obj, tmp, 0); (*env)->DeleteLocalRef(env, obj); - DTRACE_PRINTLN("RobotPeer: setup()"); - AWT_LOCK(); - xtestAvailable = isXTestAvailable(); DTRACE_PRINTLN1("RobotPeer: XTest available = %d", xtestAvailable); if (!xtestAvailable) { @@ -338,8 +337,6 @@ { AWT_LOCK(); - int32_t num_buttons = getNumButtons(); //from XToolkit.c - DTRACE_PRINTLN1("RobotPeer: mouseAction(%i)", buttonMask); DTRACE_PRINTLN1("RobotPeer: mouseAction, press = %d", isMousePress); diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java --- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 +29,6 @@ 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.*; @@ -185,8 +184,8 @@ boolean disposed; public void dispose() { if (disposed) return; - ShellFolder.getInvoker().invoke(new Callable() { - public Void call() throws Exception { + invoke(new Callable() { + public Void call() { if (relativePIDL != 0) { releasePIDL(relativePIDL); } @@ -224,7 +223,7 @@ */ private boolean isPersonal; - private static String composePathForCsidl(int csidl) throws IOException { + private static String composePathForCsidl(int csidl) throws IOException, InterruptedException { String path = getFileSystemPath(csidl); return path == null ? ("ShellFolder: 0x" + Integer.toHexString(csidl)) @@ -235,12 +234,13 @@ * Create a system special shell folder, such as the * desktop or Network Neighborhood. */ - Win32ShellFolder2(final int csidl) throws IOException { + Win32ShellFolder2(final int csidl) throws IOException, InterruptedException { // Desktop is parent of DRIVES and NETWORK, not necessarily // other special shell folders. super(null, composePathForCsidl(csidl)); - ShellFolder.getInvoker().invoke(new Callable() { - public Void call() throws Exception { + + invoke(new Callable() { + public Void call() throws InterruptedException { if (csidl == DESKTOP) { initDesktop(); } else { @@ -276,7 +276,7 @@ } return null; } - }); + }, InterruptedException.class); sun.java2d.Disposer.addRecord(this, disposer); } @@ -296,13 +296,13 @@ /** * Creates a shell folder with a parent and relative PIDL */ - Win32ShellFolder2(final Win32ShellFolder2 parent, final long relativePIDL) { + Win32ShellFolder2(final Win32ShellFolder2 parent, final long relativePIDL) throws InterruptedException { super(parent, - ShellFolder.getInvoker().invoke(new Callable() { - public String call() throws Exception { + invoke(new Callable() { + public String call() { return getFileSystemPath(parent.getIShellFolder(), relativePIDL); } - }) + }, RuntimeException.class) ); this.disposer.relativePIDL = relativePIDL; getAbsolutePath(); @@ -335,8 +335,8 @@ * drive (normally "C:\"). */ protected Object writeReplace() throws java.io.ObjectStreamException { - return ShellFolder.getInvoker().invoke(new Callable() { - public File call() throws Exception { + return invoke(new Callable() { + public File call() { if (isFileSystem()) { return new File(getPath()); } else { @@ -398,11 +398,11 @@ /** * Accessor for IShellFolder */ - public long getIShellFolder() { + private long getIShellFolder() { if (disposer.pIShellFolder == 0) { - disposer.pIShellFolder = - ShellFolder.getInvoker().invoke(new Callable() { - public Long call() throws Exception { + try { + disposer.pIShellFolder = invoke(new Callable() { + public Long call() { assert(isDirectory()); assert(parent != null); long parentIShellFolder = getParentIShellFolder(); @@ -421,7 +421,10 @@ } return pIShellFolder; } - }); + }, RuntimeException.class); + } catch (InterruptedException e) { + // Ignore error + } } return disposer.pIShellFolder; } @@ -505,18 +508,23 @@ } if (parent == rhs.parent || parent.equals(rhs.parent)) { - return pidlsEqual(getParentIShellFolder(), disposer.relativePIDL, rhs.disposer.relativePIDL); + try { + return pidlsEqual(getParentIShellFolder(), disposer.relativePIDL, rhs.disposer.relativePIDL); + } catch (InterruptedException e) { + return false; + } } return false; } - private static boolean pidlsEqual(final long pIShellFolder, final long pidl1, final long pidl2) { - return ShellFolder.getInvoker().invoke(new Callable() { - public Boolean call() throws Exception { - return (compareIDs(pIShellFolder, pidl1, pidl2) == 0); + private static boolean pidlsEqual(final long pIShellFolder, final long pidl1, final long pidl2) + throws InterruptedException { + return invoke(new Callable() { + public Boolean call() { + return compareIDs(pIShellFolder, pidl1, pidl2) == 0; } - }); + }, RuntimeException.class); } // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details @@ -539,14 +547,16 @@ * Return whether the given attribute flag is set for this object */ public boolean hasAttribute(final int attribute) { - return ShellFolder.getInvoker().invoke(new Callable() { - public Boolean call() throws Exception { + Boolean result = invoke(new Callable() { + public Boolean call() { // Caching at this point doesn't seem to be cost efficient return (getAttributes0(getParentIShellFolder(), getRelativePIDL(), attribute) & attribute) != 0; } }); + + return result != null && result; } /** @@ -561,32 +571,29 @@ private static native int getAttributes0(long pParentIShellFolder, long pIDL, int attrsMask); // Return the path to the underlying file system object + // Should be called from the COM thread private static String getFileSystemPath(final long parentIShellFolder, final long relativePIDL) { - return ShellFolder.getInvoker().invoke(new Callable() { - public String call() throws Exception { - int linkedFolder = ATTRIB_LINK | ATTRIB_FOLDER; - if (parentIShellFolder == Win32ShellFolderManager2.getNetwork().getIShellFolder() && - getAttributes0(parentIShellFolder, relativePIDL, linkedFolder) == linkedFolder) { + int linkedFolder = ATTRIB_LINK | ATTRIB_FOLDER; + if (parentIShellFolder == Win32ShellFolderManager2.getNetwork().getIShellFolder() && + getAttributes0(parentIShellFolder, relativePIDL, linkedFolder) == linkedFolder) { - String s = - getFileSystemPath(Win32ShellFolderManager2.getDesktop().getIShellFolder(), - getLinkLocation(parentIShellFolder, relativePIDL, false)); - if (s != null && s.startsWith("\\\\")) { - return s; - } - } - return getDisplayNameOf(parentIShellFolder, relativePIDL, SHGDN_FORPARSING); + String s = + getFileSystemPath(Win32ShellFolderManager2.getDesktop().getIShellFolder(), + getLinkLocation(parentIShellFolder, relativePIDL, false)); + if (s != null && s.startsWith("\\\\")) { + return s; } - }); + } + return getDisplayNameOf(parentIShellFolder, relativePIDL, SHGDN_FORPARSING); } // Needs to be accessible to Win32ShellFolderManager2 - static String getFileSystemPath(final int csidl) throws IOException { - return ShellFolder.getInvoker().invoke(new Callable() { - public String call() throws Exception { + static String getFileSystemPath(final int csidl) throws IOException, InterruptedException { + return invoke(new Callable() { + public String call() throws IOException { return getFileSystemPath0(csidl); } - }); + }, IOException.class); } // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details @@ -630,13 +637,14 @@ */ // Returns an IEnumIDList interface for an IShellFolder. The value // returned must be released using releaseEnumObjects(). - private long getEnumObjects(long pIShellFolder, final boolean includeHiddenFiles) { - final boolean isDesktop = (disposer.pIShellFolder == getDesktopIShellFolder()); - return ShellFolder.getInvoker().invoke(new Callable() { - public Long call() throws Exception { + private long getEnumObjects(final boolean includeHiddenFiles) throws InterruptedException { + return invoke(new Callable() { + public Long call() { + boolean isDesktop = disposer.pIShellFolder == getDesktopIShellFolder(); + return getEnumObjects(disposer.pIShellFolder, isDesktop, includeHiddenFiles); } - }); + }, RuntimeException.class); } // Returns an IEnumIDList interface for an IShellFolder. The value @@ -670,58 +678,62 @@ security.checkRead(getPath()); } - return ShellFolder.getInvoker().invoke(new Callable() { - public File[] call() throws Exception { - if (!isDirectory()) { - return null; - } - // Links to directories are not directories and cannot be parents. - // This does not apply to folders in My Network Places (NetHood) - // because they are both links and real directories! - if (isLink() && !hasAttribute(ATTRIB_FOLDER)) { - return new File[0]; - } + try { + return invoke(new Callable() { + public File[] call() throws InterruptedException { + if (!isDirectory()) { + return null; + } + // Links to directories are not directories and cannot be parents. + // This does not apply to folders in My Network Places (NetHood) + // because they are both links and real directories! + if (isLink() && !hasAttribute(ATTRIB_FOLDER)) { + return new File[0]; + } - Win32ShellFolder2 desktop = Win32ShellFolderManager2.getDesktop(); - Win32ShellFolder2 personal = Win32ShellFolderManager2.getPersonal(); + Win32ShellFolder2 desktop = Win32ShellFolderManager2.getDesktop(); + Win32ShellFolder2 personal = Win32ShellFolderManager2.getPersonal(); - // If we are a directory, we have a parent and (at least) a - // relative PIDL. We must first ensure we are bound to the - // parent so we have an IShellFolder to query. - long pIShellFolder = getIShellFolder(); - // Now we can enumerate the objects in this folder. - ArrayList list = new ArrayList(); - long pEnumObjects = getEnumObjects(pIShellFolder, includeHiddenFiles); - if (pEnumObjects != 0) { - long childPIDL; - int testedAttrs = ATTRIB_FILESYSTEM | ATTRIB_FILESYSANCESTOR; - do { - childPIDL = getNextChild(pEnumObjects); - boolean releasePIDL = true; - if (childPIDL != 0 && - (getAttributes0(pIShellFolder, childPIDL, testedAttrs) & testedAttrs) != 0) { - Win32ShellFolder2 childFolder; - if (Win32ShellFolder2.this.equals(desktop) - && personal != null - && pidlsEqual(pIShellFolder, childPIDL, personal.disposer.relativePIDL)) { - childFolder = personal; - } else { - childFolder = new Win32ShellFolder2(Win32ShellFolder2.this, childPIDL); - releasePIDL = false; + // If we are a directory, we have a parent and (at least) a + // relative PIDL. We must first ensure we are bound to the + // parent so we have an IShellFolder to query. + long pIShellFolder = getIShellFolder(); + // Now we can enumerate the objects in this folder. + ArrayList list = new ArrayList(); + long pEnumObjects = getEnumObjects(includeHiddenFiles); + if (pEnumObjects != 0) { + long childPIDL; + int testedAttrs = ATTRIB_FILESYSTEM | ATTRIB_FILESYSANCESTOR; + do { + childPIDL = getNextChild(pEnumObjects); + boolean releasePIDL = true; + if (childPIDL != 0 && + (getAttributes0(pIShellFolder, childPIDL, testedAttrs) & testedAttrs) != 0) { + Win32ShellFolder2 childFolder; + if (Win32ShellFolder2.this.equals(desktop) + && personal != null + && pidlsEqual(pIShellFolder, childPIDL, personal.disposer.relativePIDL)) { + childFolder = personal; + } else { + childFolder = new Win32ShellFolder2(Win32ShellFolder2.this, childPIDL); + releasePIDL = false; + } + list.add(childFolder); } - list.add(childFolder); - } - if (releasePIDL) { - releasePIDL(childPIDL); - } - } while (childPIDL != 0 && !Thread.currentThread().isInterrupted()); - releaseEnumObjects(pEnumObjects); + if (releasePIDL) { + releasePIDL(childPIDL); + } + } while (childPIDL != 0 && !Thread.currentThread().isInterrupted()); + releaseEnumObjects(pEnumObjects); + } + return Thread.currentThread().isInterrupted() + ? new File[0] + : list.toArray(new ShellFolder[list.size()]); } - return Thread.currentThread().isInterrupted() - ? new File[0] - : list.toArray(new ShellFolder[list.size()]); - } - }); + }, InterruptedException.class); + } catch (InterruptedException e) { + return new File[0]; + } } @@ -730,13 +742,13 @@ * * @return The child shellfolder, or null if not found. */ - Win32ShellFolder2 getChildByPath(final String filePath) { - return ShellFolder.getInvoker().invoke(new Callable() { - public Win32ShellFolder2 call() throws Exception { + Win32ShellFolder2 getChildByPath(final String filePath) throws InterruptedException { + return invoke(new Callable() { + public Win32ShellFolder2 call() throws InterruptedException { long pIShellFolder = getIShellFolder(); - long pEnumObjects = getEnumObjects(pIShellFolder, true); + long pEnumObjects = getEnumObjects(true); Win32ShellFolder2 child = null; - long childPIDL = 0; + long childPIDL; while ((childPIDL = getNextChild(pEnumObjects)) != 0) { if (getAttributes0(pIShellFolder, childPIDL, ATTRIB_FILESYSTEM) != 0) { @@ -753,7 +765,7 @@ releaseEnumObjects(pEnumObjects); return child; } - }); + }, InterruptedException.class); } private Boolean cachedIsLink; @@ -791,8 +803,8 @@ } private ShellFolder getLinkLocation(final boolean resolve) { - return ShellFolder.getInvoker().invoke(new Callable() { - public ShellFolder call() throws Exception { + return invoke(new Callable() { + public ShellFolder call() { if (!isLink()) { return null; } @@ -805,6 +817,8 @@ location = Win32ShellFolderManager2.createShellFolderFromRelativePIDL(getDesktop(), linkLocationPIDL); + } catch (InterruptedException e) { + // Return null } catch (InternalError e) { // Could be a link to a non-bindable object, such as a network connection // TODO: getIShellFolder() should throw FileNotFoundException instead @@ -816,19 +830,12 @@ } // Parse a display name into a PIDL relative to the current IShellFolder. - long parseDisplayName(final String name) throws FileNotFoundException { - try { - return ShellFolder.getInvoker().invoke(new Callable() { - public Long call() throws Exception { - return parseDisplayName0(getIShellFolder(), name); - } - }); - } catch (RuntimeException e) { - if (e.getCause() instanceof IOException) { - throw new FileNotFoundException("Could not find file " + name); + long parseDisplayName(final String name) throws IOException, InterruptedException { + return invoke(new Callable() { + public Long call() throws IOException { + return parseDisplayName0(getIShellFolder(), name); } - throw e; - } + }, IOException.class); } // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details @@ -846,8 +853,8 @@ public String getDisplayName() { if (displayName == null) { displayName = - ShellFolder.getInvoker().invoke(new Callable() { - public String call() throws Exception { + invoke(new Callable() { + public String call() { return getDisplayNameOf(getParentIShellFolder(), getRelativePIDL(), SHGDN_NORMAL); } @@ -867,8 +874,8 @@ if (folderType == null) { final long absolutePIDL = getAbsolutePIDL(); folderType = - ShellFolder.getInvoker().invoke(new Callable() { - public String call() throws Exception { + invoke(new Callable() { + public String call() { return getFolderType(absolutePIDL); } }); @@ -926,15 +933,12 @@ public static native int[] getFileChooserBitmapBits(); + // Should be called from the COM thread private long getIShellIcon() { if (pIShellIcon == -1L) { - pIShellIcon = - ShellFolder.getInvoker().invoke(new Callable() { - public Long call() throws Exception { - return getIShellIcon(getIShellFolder()); - } - }); + pIShellIcon = getIShellIcon(getIShellFolder()); } + return pIShellIcon; } @@ -988,8 +992,8 @@ Image icon = getLargeIcon ? largeIcon : smallIcon; if (icon == null) { icon = - ShellFolder.getInvoker().invoke(new Callable() { - public Image call() throws Exception { + invoke(new Callable() { + public Image call() { Image newIcon = null; if (isFileSystem()) { long parentIShellIcon = (parent != null) @@ -1113,8 +1117,8 @@ private static final int LVCFMT_CENTER = 2; public ShellFolderColumnInfo[] getFolderColumns() { - return ShellFolder.getInvoker().invoke(new Callable() { - public ShellFolderColumnInfo[] call() throws Exception { + return invoke(new Callable() { + public ShellFolderColumnInfo[] call() { ShellFolderColumnInfo[] columns = doGetColumnInfo(getIShellFolder()); if (columns != null) { @@ -1143,8 +1147,8 @@ } public Object getFolderColumnValue(final int column) { - return ShellFolder.getInvoker().invoke(new Callable() { - public Object call() throws Exception { + return invoke(new Callable() { + public Object call() { return doGetColumnValue(getParentIShellFolder(), getRelativePIDL(), column); } }); @@ -1163,8 +1167,8 @@ public void sortChildren(final List files) { // To avoid loads of synchronizations with Invoker and improve performance we // synchronize the whole code of the sort method once - getInvoker().invoke(new Callable() { - public Void call() throws Exception { + invoke(new Callable() { + public Void call() { Collections.sort(files, new ColumnComparator(getIShellFolder(), 0)); return null; @@ -1184,19 +1188,21 @@ // compares 2 objects within this folder by the specified column public int compare(final File o, final File o1) { - return ShellFolder.getInvoker().invoke(new Callable() { - public Integer call() throws Exception { + Integer result = invoke(new Callable() { + public Integer call() { if (o instanceof Win32ShellFolder2 - && o1 instanceof Win32ShellFolder2) { + && o1 instanceof Win32ShellFolder2) { // delegates comparison to native method return compareIDsByColumn(parentIShellFolder, - ((Win32ShellFolder2) o).getRelativePIDL(), - ((Win32ShellFolder2) o1).getRelativePIDL(), - columnIdx); + ((Win32ShellFolder2) o).getRelativePIDL(), + ((Win32ShellFolder2) o1).getRelativePIDL(), + columnIdx); } return 0; } }); + + return result == null ? 0 : result; } } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java --- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -58,10 +58,15 @@ } public ShellFolder createShellFolder(File file) throws FileNotFoundException { - return createShellFolder(getDesktop(), file); + try { + return createShellFolder(getDesktop(), file); + } catch (InterruptedException e) { + throw new FileNotFoundException("Execution was interrupted"); + } } - static Win32ShellFolder2 createShellFolder(Win32ShellFolder2 parent, File file) throws FileNotFoundException { + static Win32ShellFolder2 createShellFolder(Win32ShellFolder2 parent, File file) + throws FileNotFoundException, InterruptedException { long pIDL; try { pIDL = parent.parseDisplayName(file.getCanonicalPath()); @@ -77,7 +82,8 @@ return folder; } - static Win32ShellFolder2 createShellFolderFromRelativePIDL(Win32ShellFolder2 parent, long pIDL) { + static Win32ShellFolder2 createShellFolderFromRelativePIDL(Win32ShellFolder2 parent, long pIDL) + throws InterruptedException { // Walk down this relative pIDL, creating new nodes for each of the entries while (pIDL != 0) { long curPIDL = Win32ShellFolder2.copyFirstPIDLEntry(pIDL); @@ -108,7 +114,9 @@ try { desktop = new Win32ShellFolder2(DESKTOP); } catch (IOException e) { - desktop = null; + // Ignore error + } catch (InterruptedException e) { + // Ignore error } } return desktop; @@ -119,7 +127,9 @@ try { drives = new Win32ShellFolder2(DRIVES); } catch (IOException e) { - drives = null; + // Ignore error + } catch (InterruptedException e) { + // Ignore error } } return drives; @@ -132,8 +142,10 @@ if (path != null) { recent = createShellFolder(getDesktop(), new File(path)); } + } catch (InterruptedException e) { + // Ignore error } catch (IOException e) { - recent = null; + // Ignore error } } return recent; @@ -144,7 +156,9 @@ try { network = new Win32ShellFolder2(NETWORK); } catch (IOException e) { - network = null; + // Ignore error + } catch (InterruptedException e) { + // Ignore error } } return network; @@ -164,8 +178,10 @@ personal.setIsPersonal(); } } + } catch (InterruptedException e) { + // Ignore error } catch (IOException e) { - personal = null; + // Ignore error } } return personal; @@ -267,6 +283,9 @@ } } catch (IOException e) { // Skip this value + } catch (InterruptedException e) { + // Return empty result + return new File[0]; } } while (value != null); @@ -476,33 +495,39 @@ return comThread; } - public T invoke(Callable task) { - try { - if (Thread.currentThread() == comThread) { - // if it's already called from the COM - // thread, we don't need to delegate the task - return task.call(); - } else { - while (true) { - Future future = submit(task); + public T invoke(Callable task) throws Exception { + if (Thread.currentThread() == comThread) { + // if it's already called from the COM + // thread, we don't need to delegate the task + return task.call(); + } else { + Future future; + + try { + future = submit(task); + } catch (RejectedExecutionException e) { + throw new InterruptedException(e.getMessage()); + } - try { - return future.get(); - } catch (InterruptedException e) { - // Repeat the attempt - future.cancel(true); - } + try { + return future.get(); + } catch (InterruptedException e) { + future.cancel(true); + + throw e; + } catch (ExecutionException e) { + Throwable cause = e.getCause(); + + if (cause instanceof Exception) { + throw (Exception) cause; } + + if (cause instanceof Error) { + throw (Error) cause; + } + + throw new RuntimeException("Unexpected error", cause); } - } catch (Exception e) { - Throwable cause = (e instanceof ExecutionException) ? e.getCause() : e; - if (cause instanceof RuntimeException) { - throw (RuntimeException) cause; - } - if (cause instanceof Error) { - throw (Error) cause; - } - throw new RuntimeException(cause); } } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/classes/sun/security/mscapi/JarVerifier.java --- a/jdk/src/windows/classes/sun/security/mscapi/JarVerifier.java Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -/* - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. - * 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. Sun designates this - * particular file as subject to the "Classpath" exception as provided - * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. - */ - - -package sun.security.mscapi; - -// NOTE: this class is duplicated amongst SunJCE, SunPKCS11, and SunMSCAPI. -// All files should be kept in sync. - -import java.io.*; -import java.util.*; -import java.util.jar.*; -import java.net.URL; -import java.net.JarURLConnection; -import java.net.MalformedURLException; - -import java.security.*; -import java.security.cert.*; -import java.security.cert.Certificate; - -/** - * This class verifies JAR files (and any supporting JAR files), and - * determines whether they may be used in this implementation. - * - * The JCE in OpenJDK has an open cryptographic interface, meaning it - * does not restrict which providers can be used. Compliance with - * United States export controls and with local law governing the - * import/export of products incorporating the JCE in the OpenJDK is - * the responsibility of the licensee. - * - * @since 1.7 - */ -final class JarVerifier { - - private static final boolean debug = false; - - /** - * Verify the JAR file is signed by an entity which has a certificate - * issued by a trusted CA. - * - * Note: this is a temporary method and will change soon to use the - * exception chaining mechanism, which can provide more details - * as to why the verification failed. - * - * @param c the class to be verified. - * @return true if verification is successful. - */ - static boolean verify(final Class c) { - return true; - } -} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/classes/sun/security/mscapi/RSACipher.java --- a/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/windows/classes/sun/security/mscapi/RSACipher.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 +93,6 @@ private sun.security.mscapi.Key privateKey; public RSACipher() { - SunMSCAPI.verifySelfIntegrity(getClass()); paddingType = PAD_PKCS1; } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java --- a/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/windows/classes/sun/security/mscapi/SunMSCAPI.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -117,22 +117,4 @@ AccessController.doPrivileged(new PutAllAction(this, map)); } } - - // set to true once self verification is complete - private static volatile boolean integrityVerified; - - static void verifySelfIntegrity(Class c) { - if (integrityVerified) { - return; - } - doVerifySelfIntegrity(c); - } - - private static synchronized void doVerifySelfIntegrity(Class c) { - integrityVerified = JarVerifier.verify(c); - if (integrityVerified == false) { - throw new ProviderException - ("The SunMSCAPI provider may have been tampered with."); - } - } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/src/windows/native/sun/windows/awt_Component.cpp --- a/jdk/src/windows/native/sun/windows/awt_Component.cpp Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp Thu Aug 06 22:37:58 2009 -0700 @@ -3739,11 +3739,12 @@ MsgRouting AwtComponent::WmImeSetContext(BOOL fSet, LPARAM *lplParam) { - // This message causes native status window shown even it is disabled. So don't - // let DefWindowProc process this message if this IMC is disabled. + // If the Windows input context is disabled, do not let Windows + // display any UIs. HIMC hIMC = ImmGetContext(); if (hIMC == NULL) { - return mrConsume; + *lplParam = 0; + return mrDoDefault; } if (fSet) { diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/awt/EventQueue/6638195/bug6638195.java --- a/jdk/test/java/awt/EventQueue/6638195/bug6638195.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/awt/EventQueue/6638195/bug6638195.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,5 @@ /* - * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2008-2009 Sun Microsystems, Inc. All Rights Reserved. * 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,7 @@ /* @test * - * @bug 6638195 + * @bug 6638195 6844297 * @author Igor Kushnirskiy * @summary tests if EventQueueDelegate.Delegate is invoked. */ @@ -47,11 +47,22 @@ } private static void runTest(MyEventQueueDelegate delegate) throws Exception { + // We need an empty runnable here, so the next event is + // processed with a new EventQueueDelegate. See 6844297 + // for details EventQueue.invokeLater( new Runnable() { public void run() { } }); + // The following event is expected to be processed by + // the EventQueueDelegate instance + EventQueue.invokeLater( + new Runnable() { + public void run() { + } + }); + // Finally, proceed on the main thread final CountDownLatch latch = new CountDownLatch(1); EventQueue.invokeLater( new Runnable() { @@ -60,7 +71,7 @@ } }); latch.await(); - if (! delegate.allInvoked()) { + if (!delegate.allInvoked()) { throw new RuntimeException("failed"); } } @@ -125,6 +136,7 @@ return objectMap; } + static class MyEventQueueDelegate implements EventQueueDelegate.Delegate { private volatile boolean getNextEventInvoked = false; private volatile boolean beforeDispatchInvoked = false; diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/awt/Frame/FrameSize/TestFrameSize.java --- a/jdk/test/java/awt/Frame/FrameSize/TestFrameSize.java Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/awt/Frame/FrameSize/TestFrameSize.java Thu Aug 06 22:37:58 2009 -0700 @@ -1,5 +1,6 @@ /* * Copyright 2009 Red Hat, Inc. All Rights Reserved. + * Portions Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. * 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,35 +38,62 @@ * Test fails if size of window is wrong */ -import java.awt.Dimension; -import java.awt.Frame; +import java.awt.*; public class TestFrameSize { - static Dimension desiredDimensions = new Dimension(200, 200); - static int ERROR_MARGIN = 15; - static Frame mainWindow; + static Dimension desiredDimensions = new Dimension(200, 200); + static Frame mainWindow; + + private static Dimension getClientSize(Frame window) { + Dimension size = window.getSize(); + Insets insets = window.getInsets(); + + System.out.println("getClientSize() for " + window); + System.out.println(" size: " + size); + System.out.println(" insets: " + insets); - public static void drawGui() { - mainWindow = new Frame(""); - mainWindow.setPreferredSize(desiredDimensions); - mainWindow.pack(); + return new Dimension( + size.width - insets.left - insets.right, + size.height - insets.top - insets.bottom); + } - Dimension actualDimensions = mainWindow.getSize(); - System.out.println("Desired dimensions: " + desiredDimensions.toString()); - System.out.println("Actual dimensions: " + actualDimensions.toString()); - if (Math.abs(actualDimensions.height - desiredDimensions.height) > ERROR_MARGIN) { - throw new RuntimeException("Incorrect widow size"); - } + public static void drawGui() { + mainWindow = new Frame(""); + mainWindow.setPreferredSize(desiredDimensions); + mainWindow.pack(); + + Dimension actualDimensions = mainWindow.getSize(); + System.out.println("Desired dimensions: " + desiredDimensions.toString()); + System.out.println("Actual dimensions: " + actualDimensions.toString()); + if (!actualDimensions.equals(desiredDimensions)) { + throw new RuntimeException("Incorrect widow size"); } - public static void main(String[] args) { - try { - drawGui(); - } finally { - if (mainWindow != null) { - mainWindow.dispose(); - } - } + // pack() guarantees to preserve the size of the client area after + // showing the window. + Dimension clientSize1 = getClientSize(mainWindow); + System.out.println("Client size before showing: " + clientSize1); + + mainWindow.setVisible(true); + + ((sun.awt.SunToolkit)Toolkit.getDefaultToolkit()).realSync(); + + Dimension clientSize2 = getClientSize(mainWindow); + System.out.println("Client size after showing: " + clientSize2); + + if (!clientSize2.equals(clientSize1)) { + throw new RuntimeException("Incorrect client area size."); } + } + + public static void main(String[] args) { + try { + drawGui(); + } finally { + if (mainWindow != null) { + mainWindow.dispose(); + } + } + } } diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/Authenticator/B4933582.sh --- a/jdk/test/java/net/Authenticator/B4933582.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/Authenticator/B4933582.sh Thu Aug 06 22:37:58 2009 -0700 @@ -30,6 +30,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" @@ -39,7 +43,7 @@ exit 1; ;; esac -${TESTJAVA}${FS}bin${FS}javac -d . -classpath ${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest ${TESTSRC}${FS}B4933582.java +${TESTJAVA}${FS}bin${FS}javac -d . -classpath "${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest" ${TESTSRC}${FS}B4933582.java rm -f cache.ser auth.save -${TESTJAVA}${FS}bin${FS}java -classpath ${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest${PS}. B4933582 first -${TESTJAVA}${FS}bin${FS}java -classpath ${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest${PS}. B4933582 second +${TESTJAVA}${FS}bin${FS}java -classpath "${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest${PS}." B4933582 first +${TESTJAVA}${FS}bin${FS}java -classpath "${TESTSRC}${FS}..${FS}..${FS}..${FS}sun${FS}net${FS}www${FS}httptest${PS}." B4933582 second diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh --- a/jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Thu Aug 06 22:37:58 2009 -0700 @@ -35,6 +35,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/Socket/OldSocketImpl.sh --- a/jdk/test/java/net/Socket/OldSocketImpl.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/Socket/OldSocketImpl.sh Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/URL/B5086147.sh --- a/jdk/test/java/net/URL/B5086147.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/URL/B5086147.sh Thu Aug 06 22:37:58 2009 -0700 @@ -29,6 +29,10 @@ SunOS | Linux ) exit 0 ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/URL/runconstructor.sh --- a/jdk/test/java/net/URL/runconstructor.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/URL/runconstructor.sh Thu Aug 06 22:37:58 2009 -0700 @@ -31,6 +31,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/URLClassLoader/B5077773.sh --- a/jdk/test/java/net/URLClassLoader/B5077773.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/URLClassLoader/B5077773.sh Thu Aug 06 22:37:58 2009 -0700 @@ -42,6 +42,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/URLClassLoader/sealing/checksealed.sh --- a/jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Thu Aug 06 22:37:58 2009 -0700 @@ -35,6 +35,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" @@ -49,10 +53,10 @@ if [ x"$TESTJAVA" = x ]; then TESTJAVA=$1; fi if [ x"$TESTSRC" = x ]; then TESTSRC=.; fi -CLASSPATH=.${PS}${TESTSRC}${FS}a${PS}${TESTSRC}${FS}b.jar +CLASSPATH=".${PS}${TESTSRC}${FS}a${PS}${TESTSRC}${FS}b.jar" -${TESTJAVA}${FS}bin${FS}javac -classpath ${CLASSPATH} -d . ${TESTSRC}${FS}CheckSealed.java -${TESTJAVA}${FS}bin${FS}java -cp ${CLASSPATH} CheckSealed 1 +${TESTJAVA}${FS}bin${FS}javac -classpath "${CLASSPATH}" -d . ${TESTSRC}${FS}CheckSealed.java +${TESTJAVA}${FS}bin${FS}java -cp "${CLASSPATH}" CheckSealed 1 if [ $? != 0 ]; then exit 1; fi -${TESTJAVA}${FS}bin${FS}java -cp ${CLASSPATH} CheckSealed 2 +${TESTJAVA}${FS}bin${FS}java -cp "${CLASSPATH}" CheckSealed 2 if [ $? != 0 ]; then exit 1; fi diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/net/URLConnection/6212146/test.sh --- a/jdk/test/java/net/URLConnection/6212146/test.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/net/URLConnection/6212146/test.sh Thu Aug 06 22:37:58 2009 -0700 @@ -41,6 +41,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh --- a/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Thu Aug 06 22:37:58 2009 -0700 @@ -54,6 +54,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" @@ -81,7 +85,7 @@ # run the test ${TESTJAVA}${FILESEP}bin${FILESEP}java \ - -classpath ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar \ + -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar" \ ClassLoaderDeadlock exit $? diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh --- a/jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Thu Aug 06 22:37:58 2009 -0700 @@ -42,6 +42,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" @@ -54,5 +58,5 @@ JAVA="${TESTJAVA}${FILESEP}bin${FILESEP}java" -${JAVA} -cp ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar Deadlock +${JAVA} -cp "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}Deadlock.jar" Deadlock diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/security/Security/signedfirst/Dyn.sh --- a/jdk/test/java/security/Security/signedfirst/Dyn.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/security/Security/signedfirst/Dyn.sh Thu Aug 06 22:37:58 2009 -0700 @@ -54,6 +54,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" @@ -76,7 +80,7 @@ # run the test ${TESTJAVA}${FILESEP}bin${FILESEP}java \ - -classpath ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar \ + -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar" \ DynSignedProvFirst exit $? diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/java/security/Security/signedfirst/Static.sh --- a/jdk/test/java/security/Security/signedfirst/Static.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/java/security/Security/signedfirst/Static.sh Thu Aug 06 22:37:58 2009 -0700 @@ -54,6 +54,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" @@ -70,14 +74,14 @@ # compile the test program ${TESTJAVA}${FILESEP}bin${FILESEP}javac \ - -classpath ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar \ + -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar" \ -d ${TESTCLASSES}${FILESEP} \ ${TESTSRC}${FILESEP}StaticSignedProvFirst.java # run the test cd ${TESTSRC}${FILESEP} ${TESTJAVA}${FILESEP}bin${FILESEP}java \ - -classpath ${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar \ + -classpath "${TESTCLASSES}${PATHSEP}${TESTSRC}${FILESEP}exp.jar" \ -Djava.security.properties=file:${TESTSRC}${FILESEP}Static.props \ StaticSignedProvFirst diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh --- a/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Thu Aug 06 22:37:58 2009 -0700 @@ -56,6 +56,11 @@ PS=":" FS="/" ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + ;; Windows* ) NULL=NUL PS=";" @@ -69,7 +74,7 @@ ${TESTJAVA}${FS}bin${FS}javac \ -d . \ - -classpath ${TESTSRC}${FS}P1.jar${PS}${TESTSRC}${FS}P2.jar \ + -classpath "${TESTSRC}${FS}P1.jar${PS}${TESTSRC}${FS}P2.jar" \ ${TESTSRC}${FS}FailOverTest.java if [ $? -ne 0 ]; then @@ -77,7 +82,7 @@ fi ${TESTJAVA}${FS}bin${FS}java \ - -classpath ${TESTSRC}${FS}P1.jar${PS}${TESTSRC}${FS}P2.jar${PS}. \ + -classpath "${TESTSRC}${FS}P1.jar${PS}${TESTSRC}${FS}P2.jar${PS}." \ FailOverTest result=$? diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/security/auth/Subject/doAs/Test.sh --- a/jdk/test/javax/security/auth/Subject/doAs/Test.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/javax/security/auth/Subject/doAs/Test.sh Thu Aug 06 22:37:58 2009 -0700 @@ -43,6 +43,11 @@ FS="/" RM="/bin/rm -f" ;; + CYGWIN* ) + PS=";" + FS="/" + RM="rm" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/swing/JInternalFrame/Test6505027.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/swing/JInternalFrame/Test6505027.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,136 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6505027 + * @summary Tests focus problem inside internal frame + * @author Sergey Malenkov + */ + +import java.awt.AWTException; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Container; +import java.awt.KeyboardFocusManager; +import java.awt.Point; +import java.awt.Robot; +import java.awt.event.InputEvent; +import javax.swing.DefaultCellEditor; +import javax.swing.JComboBox; +import javax.swing.JDesktopPane; +import javax.swing.JFrame; +import javax.swing.JInternalFrame; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; +import javax.swing.WindowConstants; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableColumn; + +public class Test6505027 implements Runnable { + + private static final boolean INTERNAL = true; + private static final boolean TERMINATE = true; + + private static final int WIDTH = 450; + private static final int HEIGHT = 200; + private static final int OFFSET = 10; + private static final long PAUSE = 2048L; + + private static final String[] COLUMNS = { "Size", "Shape" }; // NON-NLS + private static final String[] ITEMS = { "a", "b", "c", "d" }; // NON-NLS + private static final String KEY = "terminateEditOnFocusLost"; // NON-NLS + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Test6505027()); + + Component component = null; + while (component == null) { + try { + Thread.sleep(PAUSE); + } + catch (InterruptedException exception) { + // ignore interrupted exception + } + component = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); + } + if (!component.getClass().equals(JComboBox.class)) { + throw new Error("unexpected focus owner: " + component); + } + SwingUtilities.getWindowAncestor(component).dispose(); + } + + private JTable table; + private Point point; + + public void run() { + if (this.table == null) { + JFrame main = new JFrame(); + main.setSize(WIDTH + OFFSET * 3, HEIGHT + OFFSET * 5); + main.setLocationRelativeTo(null); + main.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + main.setVisible(true); + + Container container = main; + if (INTERNAL) { + JInternalFrame frame = new JInternalFrame(); + frame.setBounds(OFFSET, OFFSET, WIDTH, HEIGHT); + frame.setVisible(true); + + JDesktopPane desktop = new JDesktopPane(); + desktop.add(frame, new Integer(1)); + + container.add(desktop); + container = frame; + } + this.table = new JTable(new DefaultTableModel(COLUMNS, 2)); + if (TERMINATE) { + this.table.putClientProperty(KEY, Boolean.TRUE); + } + TableColumn column = this.table.getColumn(COLUMNS[1]); + column.setCellEditor(new DefaultCellEditor(new JComboBox(ITEMS))); + + container.add(BorderLayout.NORTH, new JTextField()); + container.add(BorderLayout.CENTER, new JScrollPane(this.table)); + + SwingUtilities.invokeLater(this); + } + else if (this.point == null) { + this.point = this.table.getCellRect(1, 1, false).getLocation(); + SwingUtilities.convertPointToScreen(this.point, this.table); + SwingUtilities.invokeLater(this); + } + else { + try { + Robot robot = new Robot(); + robot.mouseMove(this.point.x + 1, this.point.y + 1); + robot.mousePress(InputEvent.BUTTON1_MASK); + } + catch (AWTException exception) { + throw new Error("unexpected exception", exception); + } + } + } +} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/swing/JInternalFrame/Test6802868.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/swing/JInternalFrame/Test6802868.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,108 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6802868 + * @summary JInternalFrame is not maximized when maximized parent frame + * @author Alexander Potochkin + */ + +import sun.awt.SunToolkit; + +import java.awt.Dimension; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Toolkit; +import java.beans.PropertyVetoException; +import javax.swing.JDesktopPane; +import javax.swing.JFrame; +import javax.swing.JInternalFrame; +import javax.swing.SwingUtilities; + +public class Test6802868 { + static JInternalFrame jif; + static JFrame frame; + static Dimension size; + static Point location; + + public static void main(String[] args) throws Exception { + Robot robot = new Robot(); + robot.setAutoDelay(20); + SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit(); + + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + frame = new JFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JDesktopPane jdp = new JDesktopPane(); + frame.getContentPane().add(jdp); + + jif = new JInternalFrame("Title", true, true, true, true); + jdp.add(jif); + jif.setVisible(true); + + frame.setSize(200, 200); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + + try { + jif.setMaximum(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + toolkit.realSync(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + size = jif.getSize(); + frame.setSize(300, 300); + } + }); + toolkit.realSync(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + if (jif.getSize().equals(size)) { + throw new RuntimeException("InternalFrame hasn't changed its size"); + } + try { + jif.setIcon(true); + } catch (PropertyVetoException e) { + e.printStackTrace(); + } + location = jif.getDesktopIcon().getLocation(); + frame.setSize(400, 400); + } + }); + toolkit.realSync(); + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + if (jif.getDesktopIcon().getLocation().equals(location)) { + throw new RuntimeException("JDesktopIcon hasn't moved"); + } + } + }); + } +} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/swing/JScrollPane/Test6526631.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/swing/JScrollPane/Test6526631.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,102 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6526631 + * @summary Resizes right-oriented scroll pane + * @author Sergey Malenkov + * @library .. + * @build SwingTest + * @run main Test6526631 + */ + +import java.awt.Dimension; +import javax.swing.JFrame; +import javax.swing.JScrollBar; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JViewport; + +import static java.awt.ComponentOrientation.RIGHT_TO_LEFT; + +public class Test6526631 { + + private static final int COLS = 90; + private static final int ROWS = 50; + private static final int OFFSET = 10; + + public static void main(String[] args) { + SwingTest.start(Test6526631.class); + } + + private final JScrollPane pane; + private final JFrame frame; + + public Test6526631(JFrame frame) { + this.pane = new JScrollPane(new JTextArea(ROWS, COLS)); + this.pane.setComponentOrientation(RIGHT_TO_LEFT); + this.frame = frame; + this.frame.add(this.pane); + } + + private void update(int offset) { + Dimension size = this.frame.getSize(); + size.width += offset; + this.frame.setSize(size); + } + + public void validateFirst() { + validateThird(); + update(OFFSET); + } + + public void validateSecond() { + validateThird(); + update(-OFFSET); + } + + public void validateThird() { + JViewport viewport = this.pane.getViewport(); + JScrollBar scroller = this.pane.getHorizontalScrollBar(); + if (!scroller.getComponentOrientation().equals(RIGHT_TO_LEFT)) { + throw new IllegalStateException("unexpected component orientation"); + } + int value = scroller.getValue(); + if (value != 0) { + throw new IllegalStateException("unexpected scroll value"); + } + int extent = viewport.getExtentSize().width; + if (extent != scroller.getVisibleAmount()) { + throw new IllegalStateException("unexpected visible amount"); + } + int size = viewport.getViewSize().width; + if (size != scroller.getMaximum()) { + throw new IllegalStateException("unexpected maximum"); + } + int pos = size - extent - value; + if (pos != viewport.getViewPosition().x) { + throw new IllegalStateException("unexpected position"); + } + } +} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/javax/swing/SwingTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/javax/swing/SwingTest.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,160 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +import java.io.PrintWriter; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.Comparator; +import java.util.Iterator; +import java.util.Set; +import java.util.TreeSet; +import javax.swing.JFrame; + +import static javax.swing.SwingUtilities.invokeLater; + +/** + * SwingTestHelper is a utility class for writing regression tests + * that require interacting with the UI. + * + * @author Sergey A. Malenkov + */ +final class SwingTest implements Runnable { + + private static final int WIDTH = 640; + private static final int HEIGHT = 480; + + public static void start(Class type) { + new SwingTest(type).start(); + } + + private final PrintWriter writer = new PrintWriter(System.out, true); + + private Class type; + private JFrame frame; + private Iterator methods; + private Object object; + private Method method; + private Throwable error; + + private SwingTest(Class type) { + this.type = type; + } + + public void run() { + synchronized (this.writer) { + if (this.error != null) { + this.frame.dispose(); + this.frame = null; + } + else if (this.object == null) { + invoke(); + Set methods = new TreeSet(new Comparator() { + public int compare(Method first, Method second) { + return first.getName().compareTo(second.getName()); + } + }); + for (Method method : this.type.getMethods()) { + if (method.getDeclaringClass().equals(this.type)) { + if (method.getReturnType().equals(void.class)) { + if (0 == method.getParameterTypes().length) { + methods.add(method); + } + } + } + } + this.methods = methods.iterator(); + } + else if (this.method != null) { + invoke(); + } + else if (this.methods.hasNext()) { + this.method = this.methods.next(); + } + else { + this.frame.dispose(); + this.frame = null; + this.type = null; + } + this.writer.notifyAll(); + } + } + + private void start() { + synchronized (this.writer) { + while (this.type != null) { + if ((this.method != null) && Modifier.isStatic(this.method.getModifiers())) { + invoke(); + } + else { + invokeLater(this); + try { + this.writer.wait(); + } + catch (InterruptedException exception) { + exception.printStackTrace(this.writer); + } + } + if ((this.frame == null) && (this.error != null)) { + throw new Error("unexpected error", this.error); + } + } + } + } + + private void invoke() { + try { + if (this.method != null) { + this.writer.println(this.method); + this.method.invoke(this.object); + this.method = null; + } + else { + this.writer.println(this.type); + this.frame = new JFrame(this.type.getSimpleName()); + this.frame.setSize(WIDTH, HEIGHT); + this.frame.setLocationRelativeTo(null); + this.object = this.type.getConstructor(JFrame.class).newInstance(this.frame); + this.frame.setVisible(true); + } + } + catch (NoSuchMethodException exception) { + this.error = exception; + } + catch (SecurityException exception) { + this.error = exception; + } + catch (IllegalAccessException exception) { + this.error = exception; + } + catch (IllegalArgumentException exception) { + this.error = exception; + } + catch (InstantiationException exception) { + this.error = exception; + } + catch (InvocationTargetException exception) { + this.error = exception.getTargetException(); + } + } +} diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/lib/security/java.policy/Ext_AllPolicy.sh --- a/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Thu Aug 06 22:37:58 2009 -0700 @@ -56,6 +56,12 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + TMP=/tmp + ;; Windows_95 | Windows_98 | Windows_NT ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/net/www/MarkResetTest.sh --- a/jdk/test/sun/net/www/MarkResetTest.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/net/www/MarkResetTest.sh Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh --- a/jdk/test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/net/www/http/ChunkedInputStream/ChunkedCharEncoding.sh Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/net/www/http/HttpClient/RetryPost.sh --- a/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/net/www/protocol/jar/B5105410.sh --- a/jdk/test/sun/net/www/protocol/jar/B5105410.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/net/www/protocol/jar/B5105410.sh Thu Aug 06 22:37:58 2009 -0700 @@ -39,6 +39,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/net/www/protocol/jar/jarbug/run.sh --- a/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Thu Aug 06 22:37:58 2009 -0700 @@ -28,23 +28,54 @@ # @summary various resource and classloading bugs related to jar files #set -x DEST=`pwd` + +OS=`uname -s` +case "$OS" in + SunOS ) + PS=":" + FS="/" + ;; + Linux ) + PS=":" + FS="/" + ;; + Windows* ) + PS=";" + FS="\\" + ;; + CYGWIN* ) + PS=";" + FS="/" + # + # javac does not like /cygdrive produced by `pwd`. + # + DEST=`cygpath -d ${DEST}` + ;; + * ) + echo "Unrecognized system!" + exit 1; + ;; +esac + # # build jar1 # -mkdir ${DEST}/jar1 -cd ${TESTSRC}/etc/jar1 -cp -r . ${DEST}/jar1 -${TESTJAVA}/bin/javac -d ${DEST}/jar1 ${TESTSRC}/src/jar1/LoadResourceBundle.java -${TESTJAVA}/bin/javac -d ${DEST}/jar1 ${TESTSRC}/src/jar1/GetResource.java -cd ${DEST}/jar1 -${TESTJAVA}/bin/jar cfM jar1.jar jar1 res1.txt +mkdir -p ${DEST}${FS}jar1 +cd ${TESTSRC}${FS}etc${FS}jar1 +cp -r . ${DEST}${FS}jar1 +${TESTJAVA}${FS}bin${FS}javac -d ${DEST}${FS}jar1 \ + ${TESTSRC}${FS}src${FS}jar1${FS}LoadResourceBundle.java +${TESTJAVA}${FS}bin${FS}javac -d ${DEST}${FS}jar1 \ + ${TESTSRC}${FS}src${FS}jar1${FS}GetResource.java +cd ${DEST}${FS}jar1 +${TESTJAVA}${FS}bin${FS}jar cfM jar1.jar jar1 res1.txt mv jar1.jar .. # # build the test sources and run them # -${TESTJAVA}/bin/javac -d ${DEST} ${TESTSRC}/src/test/*.java +${TESTJAVA}${FS}bin${FS}javac -d ${DEST} ${TESTSRC}${FS}src${FS}test${FS}*.java cd ${DEST} -${TESTJAVA}/bin/java RunAllTests +${TESTJAVA}${FS}bin${FS}java RunAllTests result=$? if [ "$result" -ne "0" ]; then exit 1 diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh --- a/jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Thu Aug 06 22:37:58 2009 -0700 @@ -68,6 +68,20 @@ CP="cp" CHMOD="chmod" ;; + CYGWIN* ) + FS="/" + PS=";" + CP="cp" + CHMOD="chmod" + # + # javac does not like /cygdrive produced by `pwd` + # + TESTSRC=`cygpath -d ${TESTSRC}` + ;; + * ) + echo "Unrecognized system!" + exit 1; + ;; esac # compile test diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/pkcs11/Provider/Login.sh --- a/jdk/test/sun/security/pkcs11/Provider/Login.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/pkcs11/Provider/Login.sh Thu Aug 06 22:37:58 2009 -0700 @@ -69,6 +69,20 @@ CP="cp" CHMOD="chmod" ;; + CYGWIN* ) + FS="/" + PS=";" + CP="cp" + CHMOD="chmod" + # + # javac does not like /cygdrive produced by `pwd` + # + TESTSRC=`cygpath -d ${TESTSRC}` + ;; + * ) + echo "Unrecognized system!" + exit 1; + ;; esac # first make cert/key DBs writable diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh --- a/jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Thu Aug 06 22:37:58 2009 -0700 @@ -55,6 +55,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh --- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Thu Aug 06 22:37:58 2009 -0700 @@ -43,10 +43,17 @@ OS=`uname -s` case "$OS" in SunOS | Linux ) + FILESEP="/" PATHSEP=":" ;; + CYGWIN* ) + FILESEP="/" + PATHSEP=";" + ;; + Windows* ) + FILESEP="\\" PATHSEP=";" ;; esac @@ -56,11 +63,13 @@ # # Compile the tests, package into their respective jars # -${TESTJAVA}/bin/javac -d . \ - ${TESTSRC}/NotifyHandshakeTest.java \ - ${TESTSRC}/NotifyHandshakeTestHeyYou.java -${TESTJAVA}/bin/jar -cvf com.jar com/NotifyHandshakeTest*.class -${TESTJAVA}/bin/jar -cvf edu.jar edu/NotifyHandshakeTestHeyYou.class +${TESTJAVA}${FILESEP}bin${FILESEP}javac -d . \ + ${TESTSRC}${FILESEP}NotifyHandshakeTest.java \ + ${TESTSRC}${FILESEP}NotifyHandshakeTestHeyYou.java +${TESTJAVA}${FILESEP}bin${FILESEP}jar -cvf com.jar \ + com${FILESEP}NotifyHandshakeTest*.class +${TESTJAVA}${FILESEP}bin${FILESEP}jar -cvf edu.jar \ + edu${FILESEP}NotifyHandshakeTestHeyYou.class # # Don't want the original class files to be used, because @@ -73,11 +82,11 @@ # This is the only thing we really care about as far as # test status goes. # -${TESTJAVA}/bin/java \ +${TESTJAVA}${FILESEP}bin${FILESEP}java \ -Dtest.src=${TESTSRC} \ -classpath "com.jar${PATHSEP}edu.jar" \ -Djava.security.manager \ - -Djava.security.policy=${TESTSRC}/NotifyHandshakeTest.policy \ + -Djava.security.policy=${TESTSRC}${FILESEP}NotifyHandshakeTest.policy \ com.NotifyHandshakeTest retval=$? diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh --- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Thu Aug 06 22:37:58 2009 -0700 @@ -36,6 +36,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" @@ -46,6 +50,7 @@ ;; esac -${TESTJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}OriginServer.java ${TESTSRC}${FS}ProxyTunnelServer.java ${TESTSRC}${FS}PostThruProxy.java +${TESTJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}OriginServer.java \ + ${TESTSRC}${FS}ProxyTunnelServer.java ${TESTSRC}${FS}PostThruProxy.java ${TESTJAVA}${FS}bin${FS}java PostThruProxy ${HOSTNAME} ${TESTSRC} exit diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh --- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Thu Aug 06 22:37:58 2009 -0700 @@ -36,6 +36,10 @@ PS=":" FS="/" ;; + CYGWIN* ) + PS=";" + FS="/" + ;; Windows* ) PS=";" FS="\\" @@ -46,6 +50,8 @@ ;; esac -${TESTJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}OriginServer.java ${TESTSRC}${FS}ProxyTunnelServer.java ${TESTSRC}${FS}PostThruProxyWithAuth.java +${TESTJAVA}${FS}bin${FS}javac -d . ${TESTSRC}${FS}OriginServer.java \ + ${TESTSRC}${FS}ProxyTunnelServer.java \ + ${TESTSRC}${FS}PostThruProxyWithAuth.java ${TESTJAVA}${FS}bin${FS}java PostThruProxyWithAuth ${HOSTNAME} ${TESTSRC} exit diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/jarsigner/AlgOptions.sh --- a/jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Thu Aug 06 22:37:58 2009 -0700 @@ -53,6 +53,13 @@ CP="${FS}bin${FS}cp -f" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + CP="cp -f" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/jarsigner/PercentSign.sh --- a/jdk/test/sun/security/tools/jarsigner/PercentSign.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/jarsigner/PercentSign.sh Thu Aug 06 22:37:58 2009 -0700 @@ -53,6 +53,13 @@ CP="${FS}bin${FS}cp -f" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + CP="cp -f" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/jarsigner/oldsig.sh --- a/jdk/test/sun/security/tools/jarsigner/oldsig.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/jarsigner/oldsig.sh Thu Aug 06 22:37:58 2009 -0700 @@ -49,6 +49,13 @@ CP="${FS}bin${FS}cp -f" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + CP="cp -f" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/AltProviderPath.sh --- a/jdk/test/sun/security/tools/keytool/AltProviderPath.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/AltProviderPath.sh Thu Aug 06 22:37:58 2009 -0700 @@ -52,6 +52,12 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" @@ -66,14 +72,21 @@ # the test code #genkey -${TESTJAVA}${FS}bin${FS}keytool -genkey -v -alias dummyTestCA -keyalg "RSA" -keysize 1024 -sigalg "ShA1WithRSA" -dname "cn=Dummy Test CA, ou=JSN, o=JavaSoft, c=US" -validity 3650 -keypass storepass -keystore keystoreCA.dks -storepass storepass -storetype "dks" -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} +${TESTJAVA}${FS}bin${FS}keytool -genkey -v -alias dummyTestCA \ + -keyalg "RSA" -keysize 1024 -sigalg "ShA1WithRSA" \ + -dname "cn=Dummy Test CA, ou=JSN, o=JavaSoft, c=US" -validity 3650 \ + -keypass storepass -keystore keystoreCA.dks -storepass storepass \ + -storetype "dks" -provider "org.test.dummy.DummyProvider" \ + -providerPath ${TESTCLASSES} if [ $? -ne 0 ]; then exit 1 fi #Change keystore password -${TESTJAVA}${FS}bin${FS}keytool -storepasswd -new storepass2 -keystore keystoreCA.dks -storetype "dks" -storepass storepass -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} +${TESTJAVA}${FS}bin${FS}keytool -storepasswd -new storepass2 \ + -keystore keystoreCA.dks -storetype "dks" -storepass storepass \ + -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} if [ $? -ne 0 ]; then exit 1 @@ -81,21 +94,29 @@ #Change keystore key password -${TESTJAVA}${FS}bin${FS}keytool -keypasswd -alias "dummyTestCA" -keypass storepass -new keypass -keystore keystoreCA.dks -storetype "dks" -storepass storepass2 -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} +${TESTJAVA}${FS}bin${FS}keytool -keypasswd -alias "dummyTestCA" \ + -keypass storepass -new keypass -keystore keystoreCA.dks \ + -storetype "dks" -storepass storepass2 \ + -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} if [ $? -ne 0 ]; then exit 1 fi #Export certificate -${TESTJAVA}${FS}bin${FS}keytool -v -export -rfc -alias "dummyTestCA" -file "dummyTestCA.der" -keystore keystoreCA.dks -storetype "dks" -storepass storepass2 -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} +${TESTJAVA}${FS}bin${FS}keytool -v -export -rfc -alias "dummyTestCA" \ + -file "dummyTestCA.der" -keystore keystoreCA.dks -storetype "dks" \ + -storepass storepass2 -provider "org.test.dummy.DummyProvider" \ + -providerPath ${TESTCLASSES} if [ $? -ne 0 ]; then exit 1 fi #list keystore -${TESTJAVA}${FS}bin${FS}keytool -v -list -keystore keystoreCA.dks -storetype "dks" -storepass storepass2 -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} +${TESTJAVA}${FS}bin${FS}keytool -v -list -keystore keystoreCA.dks \ + -storetype "dks" -storepass storepass2 \ + -provider "org.test.dummy.DummyProvider" -providerPath ${TESTCLASSES} if [ $? -ne 0 ]; then exit 1 diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh --- a/jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Thu Aug 06 22:37:58 2009 -0700 @@ -55,6 +55,10 @@ PATHSEP=":" FILESEP="/" ;; + CYGWIN* ) + PATHSEP=";" + FILESEP="/" + ;; Windows* ) PATHSEP=";" FILESEP="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/NoExtNPE.sh --- a/jdk/test/sun/security/tools/keytool/NoExtNPE.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/NoExtNPE.sh Thu Aug 06 22:37:58 2009 -0700 @@ -48,6 +48,9 @@ Linux ) FILESEP="/" ;; + CYGWIN* ) + FILESEP="/" + ;; Windows* ) FILESEP="\\" ;; diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/SecretKeyKS.sh --- a/jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Thu Aug 06 22:37:58 2009 -0700 @@ -51,6 +51,12 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/StandardAlgName.sh --- a/jdk/test/sun/security/tools/keytool/StandardAlgName.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/StandardAlgName.sh Thu Aug 06 22:37:58 2009 -0700 @@ -52,6 +52,12 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + TMP=/tmp + ;; Windows_* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/i18n.sh --- a/jdk/test/sun/security/tools/keytool/i18n.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/i18n.sh Thu Aug 06 22:37:58 2009 -0700 @@ -52,6 +52,12 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + PS=";" + FS="/" + TMP=/tmp + ;; Windows* ) NULL=NUL PS=";" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/printssl.sh --- a/jdk/test/sun/security/tools/keytool/printssl.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/printssl.sh Thu Aug 06 22:37:58 2009 -0700 @@ -40,6 +40,9 @@ SunOS | Linux ) FS="/" ;; + CYGWIN* ) + FS="/" + ;; Windows_* ) FS="\\" ;; diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/resource.sh --- a/jdk/test/sun/security/tools/keytool/resource.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/resource.sh Thu Aug 06 22:37:58 2009 -0700 @@ -48,6 +48,11 @@ FS="/" TMP=/tmp ;; + CYGWIN* ) + NULL=/dev/null + FS="/" + TMP=/tmp + ;; Windows_* ) NULL=NUL FS="\\" diff -r 4078186f55aa -r c4e7b1dbd52a jdk/test/sun/security/tools/keytool/standard.sh --- a/jdk/test/sun/security/tools/keytool/standard.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/jdk/test/sun/security/tools/keytool/standard.sh Thu Aug 06 22:37:58 2009 -0700 @@ -44,11 +44,15 @@ # set platform-dependent variables OS=`uname -s` case "$OS" in + SunOS | Linux | CYGWIN* ) + FS="/" + ;; Windows_* ) FS="\\" ;; * ) - FS="/" + echo "Unrecognized system!" + exit 1; ;; esac diff -r 4078186f55aa -r c4e7b1dbd52a langtools/.hgtags --- a/langtools/.hgtags Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/.hgtags Thu Aug 06 22:37:58 2009 -0700 @@ -41,3 +41,4 @@ d8f23a81d46f47a4186f1044dd9e44841bbeab84 jdk7-b64 7e0056ded28c802609d2bd79bfcda551d72a3fec jdk7-b65 634f519d6f9a602b16bba1c7cd4a17242a8f6889 jdk7-b66 +14b1a8ede95493fc53c37ff2626f1f98ce94d108 jdk7-b67 diff -r 4078186f55aa -r c4e7b1dbd52a langtools/make/build.properties --- a/langtools/make/build.properties Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/make/build.properties Thu Aug 06 22:37:58 2009 -0700 @@ -60,15 +60,15 @@ bootstrap.full.version = ${bootstrap.release}-${build.number} # options for the tasks used to compile the tools -javac.source = 5 -javac.target = 5 +javac.source = 7 +javac.target = 7 javac.debug = true javac.debuglevel = source,lines javac.no.jdk.warnings = -XDignore.symbol.file=true # set the following to -version to verify the versions of javac being used javac.version.opt = # in time, there should be no exceptions to -Xlint:all -javac.lint.opts = -Xlint:all -Werror +javac.lint.opts = -Xlint:all,-deprecation -Werror # options for the task for javac javadoc.jls3.url=http://java.sun.com/docs/books/jls/ diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java --- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessor.java Thu Aug 06 22:37:58 2009 -0700 @@ -50,11 +50,17 @@ * annotations of those types. It may freely examine any other program * elements in the course of its processing. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.Processor}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationProcessor { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java --- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorEnvironment.java Thu Aug 06 22:37:58 2009 -0700 @@ -48,11 +48,17 @@ * provides a simple way to select just the items of interest * when a method returns a collection of declarations. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.ProcessingEnvironment}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationProcessorEnvironment { /** @@ -87,7 +93,6 @@ Filer getFiler(); - /** * Returns the declarations of the types specified when the * annotation processing tool was invoked. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java --- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,11 +42,17 @@ * must provide a public no-argument constructor to be used by tools to * instantiate the factory. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.Processor}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationProcessorFactory { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java --- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessorListener.java Thu Aug 06 22:37:58 2009 -0700 @@ -28,8 +28,15 @@ /** * Superinterface for all annotation processor event listeners. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. This interface has no + * direct analog in the standardized API because the different round + * model renders it unnecessary. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationProcessorListener extends java.util.EventListener {} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java --- a/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/AnnotationProcessors.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,10 +31,16 @@ /** * Utilities to create specialized annotation processors. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. There is no direct analog + * of the functionality of this class in the standardized API. + * * @since 1.5 * @author Joseph D. Darcy * @author Scott Seligman */ +@Deprecated +@SuppressWarnings("deprecation") public class AnnotationProcessors { static class NoOpAP implements AnnotationProcessor { NoOpAP() {} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/Filer.java --- a/langtools/src/share/classes/com/sun/mirror/apt/Filer.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/Filer.java Thu Aug 06 22:37:58 2009 -0700 @@ -51,11 +51,17 @@ * be deleted. Any subsequent attempt to create the same file during * a run will fail. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.Filer}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface Filer { /** @@ -140,7 +146,13 @@ /** * Locations (subtrees within the file system) where new files are created. + * + * @deprecated All components of this API have been superseded by + * the standardized annotation processing API. The replacement + * for the functionality of this enum is {@link + * javax.tools.StandardLocation}. */ + @Deprecated enum Location { /** The location of new source files. */ SOURCE_TREE, diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/Messager.java --- a/langtools/src/share/classes/com/sun/mirror/apt/Messager.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/Messager.java Thu Aug 06 22:37:58 2009 -0700 @@ -25,20 +25,24 @@ package com.sun.mirror.apt; - import com.sun.mirror.util.SourcePosition; - /** * A Messager provides the way for * an annotation processor to report error messages, warnings, and * other notices. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.Messager}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface Messager { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java --- a/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteEvent.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,10 +32,17 @@ * cannot meaningfully be serialized because all of the annotation * processing tool's internal state would potentially be needed. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. This class has no direct + * analog in the standardized API because the different round model + * renders it unnecessary. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") public abstract class RoundCompleteEvent extends java.util.EventObject { private RoundState rs; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java --- a/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/RoundCompleteListener.java Thu Aug 06 22:37:58 2009 -0700 @@ -28,10 +28,17 @@ /** * Listener for the completion of a round of annotation processing. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. This interface has no + * direct analog in the standardized API because the different round + * model renders it unnecessary. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") public interface RoundCompleteListener extends AnnotationProcessorListener { /** * Invoked after all processors for a round have run to completion. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/RoundState.java --- a/langtools/src/share/classes/com/sun/mirror/apt/RoundState.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/apt/RoundState.java Thu Aug 06 22:37:58 2009 -0700 @@ -28,10 +28,17 @@ /** * Represents the status of a completed round of annotation processing. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.annotation.processing.RoundEnvironment}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") public interface RoundState { /** * Returns true if this was the last round of annotation diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/mirror/apt/package-info.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,38 @@ +/* + * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * 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. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Classes used to communicate information between {@linkplain + * com.sun.mirror.apt.AnnotationProcessor annotation processors} and + * an annotation processing tool. + * + *

The {@code apt} tool and its associated API have been superseded + * by the standardized annotation processing API. The replacement for + * the functionality in this package is {@link + * javax.annotation.processing}. + * + * @since 1.5 + */ +package com.sun.mirror.apt; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/apt/package.html --- a/langtools/src/share/classes/com/sun/mirror/apt/package.html Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - - - - - - - -Classes used to communicate information between -{@linkplain com.sun.mirror.apt.AnnotationProcessor annotation processors} -and an annotation processing tool. - -

Note that the apt tool and its associated APIs may be -changed or superseded in future j2se releases. - -@since 1.5 - - diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationMirror.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,11 +38,17 @@ * ("=="). There is no guarantee that any particular * annotation will always be represented by the same object. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.AnnotationMirror}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationMirror { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents the declaration of an annotation type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.TypeElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationTypeDeclaration extends InterfaceDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationTypeElementDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -29,11 +29,17 @@ /** * Represents an element of an annotation type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.ExecutableElement}. + * * @author Joe Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationTypeElementDeclaration extends MethodDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/AnnotationValue.java Thu Aug 06 22:37:58 2009 -0700 @@ -30,11 +30,17 @@ /** * Represents a value of an annotation type element. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.AnnotationValue}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationValue { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/ClassDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -46,13 +46,19 @@ * provides a simple way to select just the items of interest * when a method returns a collection of declarations. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.TypeElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * * @see ClassType * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ClassDeclaration extends TypeDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/ConstructorDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -29,10 +29,16 @@ /** * Represents a constructor of a class or interface. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.ExecutableElement}. + * * @author Joe Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ConstructorDeclaration extends ExecutableDeclaration { } diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/Declaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/Declaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/Declaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -44,6 +44,11 @@ * method. There is no guarantee that any particular declaration will * always be represented by the same object. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.Element}. + * * @author Joseph D. Darcy * @author Scott Seligman * @@ -51,7 +56,8 @@ * @see TypeMirror * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface Declaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/EnumConstantDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -29,11 +29,17 @@ /** * Represents an enum constant declaration. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.VariableElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface EnumConstantDeclaration extends FieldDeclaration { /** * {@inheritDoc} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/EnumDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents the declaration of an enum type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.TypeElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface EnumDeclaration extends ClassDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/ExecutableDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -34,11 +34,17 @@ /** * Represents a method or constructor of a class or interface. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.ExecutableElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ExecutableDeclaration extends MemberDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/FieldDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents a field of a type declaration. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.VariableElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface FieldDeclaration extends MemberDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/InterfaceDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,12 +40,18 @@ * represents an interface type. * See {@link TypeDeclaration} for more on this distinction. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.TypeElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * * @see InterfaceType * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface InterfaceDeclaration extends TypeDeclaration { } diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/MemberDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,11 +31,17 @@ * type. This includes fields, constructors, methods, and (since they * may be nested) declared types themselves. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.Element}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface MemberDeclaration extends Declaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/MethodDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,11 +36,17 @@ * {@linkplain AnnotationTypeElementDeclaration annotation type element} * is a kind of method. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.ExecutableElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface MethodDeclaration extends ExecutableDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/Modifier.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/Modifier.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/Modifier.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,11 +35,16 @@ * then it is customary, though not required, that they appear in the same * order as the constants listed in the detail section below. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this enum is {@link javax.lang.model.element.Modifier}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public enum Modifier { // See JLS2 sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/PackageDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,11 +37,17 @@ * provides a simple way to select just the items of interest * when a method returns a collection of declarations. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.PackageElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface PackageDeclaration extends Declaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/ParameterDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents a formal parameter of a method or constructor. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.VariableElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ParameterDeclaration extends Declaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/TypeDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -54,13 +54,19 @@ * provides a simple way to select just the items of interest * when a method returns a collection of declarations. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.element.TypeElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * * @see DeclaredType * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface TypeDeclaration extends MemberDeclaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java --- a/langtools/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/TypeParameterDeclaration.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,11 +36,17 @@ * or constructor declaration. * A type parameter declares a {@link TypeVariable}. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.TypeParameterElement}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface TypeParameterDeclaration extends Declaration { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/mirror/declaration/package-info.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,40 @@ +/* + * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * 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. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Interfaces used to model program element declarations. A + * declaration is represented by the appropriate subinterface of + * {@link com.sun.mirror.declaration.Declaration}, and an annotation + * is represented as an {@link + * com.sun.mirror.declaration.AnnotationMirror}. + * + *

The {@code apt} tool and its associated API have been superseded + * by the standardized annotation processing API. The replacement for + * the functionality in this package is {@link + * javax.lang.model.element}. + * + * @since 1.5 + */ +package com.sun.mirror.declaration; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/declaration/package.html --- a/langtools/src/share/classes/com/sun/mirror/declaration/package.html Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ - - - - - - - - -Interfaces used to model program element declarations. -A declaration is represented by the appropriate subinterface of -{@link com.sun.mirror.declaration.Declaration}, -and an annotation is represented as an -{@link com.sun.mirror.declaration.AnnotationMirror}. - -

Note that the apt tool and its associated APIs may be -changed or superseded in future j2se releases. - -@since 1.5 - - diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/AnnotationType.java --- a/langtools/src/share/classes/com/sun/mirror/type/AnnotationType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/AnnotationType.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents an annotation type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.DeclaredType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface AnnotationType extends InterfaceType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/ArrayType.java --- a/langtools/src/share/classes/com/sun/mirror/type/ArrayType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/ArrayType.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,11 +31,17 @@ * A multidimensional array type is represented as an array type * whose component type is also an array type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.ArrayType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ArrayType extends ReferenceType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/ClassType.java --- a/langtools/src/share/classes/com/sun/mirror/type/ClassType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/ClassType.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,11 +38,17 @@ * of a class, a ClassType represents a class type. * See {@link TypeDeclaration} for more on this distinction. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.DeclaredType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ClassType extends DeclaredType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/DeclaredType.java --- a/langtools/src/share/classes/com/sun/mirror/type/DeclaredType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/DeclaredType.java Thu Aug 06 22:37:58 2009 -0700 @@ -48,11 +48,17 @@ * Other method invocations on such an unknown type will not, in general, * return meaningful results. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.DeclaredType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface DeclaredType extends ReferenceType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/EnumType.java --- a/langtools/src/share/classes/com/sun/mirror/type/EnumType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/EnumType.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Represents an enum type. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.DeclaredType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface EnumType extends ClassType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/InterfaceType.java --- a/langtools/src/share/classes/com/sun/mirror/type/InterfaceType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/InterfaceType.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,11 +39,17 @@ * represents an interface type. * See {@link TypeDeclaration} for more on this distinction. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.DeclaredType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface InterfaceType extends DeclaredType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/MirroredTypeException.java --- a/langtools/src/share/classes/com/sun/mirror/type/MirroredTypeException.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/MirroredTypeException.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,9 +35,16 @@ * Thrown when an application attempts to access the {@link Class} object * corresponding to a {@link TypeMirror}. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this exception is {@link + * javax.lang.model.type.MirroredTypeException}. + * * @see MirroredTypesException * @see Declaration#getAnnotation(Class) */ +@Deprecated +@SuppressWarnings("deprecation") public class MirroredTypeException extends RuntimeException { private static final long serialVersionUID = 1; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/MirroredTypesException.java --- a/langtools/src/share/classes/com/sun/mirror/type/MirroredTypesException.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/MirroredTypesException.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,9 +38,16 @@ * Thrown when an application attempts to access a sequence of {@link Class} * objects each corresponding to a {@link TypeMirror}. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this exception is {@link + * javax.lang.model.type.MirroredTypesException}. + * * @see MirroredTypeException * @see Declaration#getAnnotation(Class) */ +@Deprecated +@SuppressWarnings("deprecation") public class MirroredTypesException extends RuntimeException { private static final long serialVersionUID = 1; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/PrimitiveType.java --- a/langtools/src/share/classes/com/sun/mirror/type/PrimitiveType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/PrimitiveType.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,11 +31,17 @@ * boolean, byte, short, int, * long, char, float, and double. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.PrimitiveType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface PrimitiveType extends TypeMirror { /** @@ -47,7 +53,13 @@ /** * An enumeration of the different kinds of primitive types. + * + * @deprecated All components of this API have been superseded by + * the standardized annotation processing API. The replacement + * for the functionality of this enum is {@link + * javax.lang.model.type.TypeKind}. */ + @Deprecated enum Kind { /** The primitive type boolean */ BOOLEAN, /** The primitive type byte */ BYTE, diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/ReferenceType.java --- a/langtools/src/share/classes/com/sun/mirror/type/ReferenceType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/ReferenceType.java Thu Aug 06 22:37:58 2009 -0700 @@ -30,10 +30,16 @@ * Represents a reference type. * These include class and interface types, array types, and type variables. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.ReferenceType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface ReferenceType extends TypeMirror { } diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/TypeMirror.java --- a/langtools/src/share/classes/com/sun/mirror/type/TypeMirror.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/TypeMirror.java Thu Aug 06 22:37:58 2009 -0700 @@ -43,6 +43,11 @@ * There is no guarantee that any particular type will * always be represented by the same object. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.TypeMirror}. + * * @author Joseph D. Darcy * @author Scott Seligman * @@ -50,7 +55,8 @@ * @see Types * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface TypeMirror { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/TypeVariable.java --- a/langtools/src/share/classes/com/sun/mirror/type/TypeVariable.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/TypeVariable.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,11 +35,17 @@ * {@linkplain TypeParameterDeclaration type parameter} of a * type, method, or constructor. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.TypeVariable}. + * * @author Joe Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface TypeVariable extends ReferenceType { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/VoidType.java --- a/langtools/src/share/classes/com/sun/mirror/type/VoidType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/VoidType.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,9 +35,15 @@ * @author Joseph D. Darcy * @author Scott Seligman * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is included in {@link + * javax.lang.model.type.NoType}. + * * @see MethodDeclaration#getReturnType() * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface VoidType extends TypeMirror { } diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/WildcardType.java --- a/langtools/src/share/classes/com/sun/mirror/type/WildcardType.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/type/WildcardType.java Thu Aug 06 22:37:58 2009 -0700 @@ -41,11 +41,17 @@ * extends clause, its lower bound explicitly set by a * super clause, or neither (but not both). * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.type.WildcardType}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface WildcardType extends TypeMirror { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/mirror/type/package-info.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,37 @@ +/* + * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * 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. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Interfaces used to model types. A type is represented by the + * appropriate subinterface of {@link com.sun.mirror.type.TypeMirror}. + * + *

The {@code apt} tool and its associated API have been + * superseded by the standardized annotation processing API. The + * replacement for the functionality in this package is {@link + * javax.lang.model.type}. + * + * @since 1.5 + */ +package com.sun.mirror.type; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/type/package.html --- a/langtools/src/share/classes/com/sun/mirror/type/package.html Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - - - - - - - -Interfaces used to model types. -A type is represented by the appropriate subinterface of -{@link com.sun.mirror.type.TypeMirror}. - -

Note that the apt tool and its associated APIs may be -changed or superseded in future j2se releases. - -@since 1.5 - - diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/DeclarationFilter.java --- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationFilter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/DeclarationFilter.java Thu Aug 06 22:37:58 2009 -0700 @@ -69,11 +69,17 @@ * }; * result = nameFilter.filter(decls); * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this class is {@link + * javax.lang.model.util.ElementFilter}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public class DeclarationFilter { // Predefined filters for convenience. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/DeclarationScanner.java --- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationScanner.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/DeclarationScanner.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,11 +39,17 @@ * are scanned; the postprocessing visitor is called after the * contained declarations are scanned. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this class is {@link + * javax.lang.model.util.ElementScanner6}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") class DeclarationScanner implements DeclarationVisitor { protected DeclarationVisitor pre; protected DeclarationVisitor post; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java --- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitor.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,11 +37,17 @@ * visitXxx method applicable to that declaration is * invoked. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.ElementVisitor}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface DeclarationVisitor { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java --- a/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/DeclarationVisitors.java Thu Aug 06 22:37:58 2009 -0700 @@ -28,10 +28,17 @@ /** * Utilities to create specialized DeclarationVisitor instances. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. There is no direct + * replacement for the functionality of this class in the standardized + * API due to that API's different visitor structure. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") public class DeclarationVisitors { private DeclarationVisitors(){} // do not instantiate. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/Declarations.java --- a/langtools/src/share/classes/com/sun/mirror/util/Declarations.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/Declarations.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,17 @@ /** * Utility methods for operating on declarations. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.util.Elements}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface Declarations { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java --- a/langtools/src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/SimpleDeclarationVisitor.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,11 +37,17 @@ * methods that correspond to the kinds of declarations on which it * will operate. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this class is {@link + * javax.lang.model.util.SimpleElementVisitor6}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public class SimpleDeclarationVisitor implements DeclarationVisitor { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java --- a/langtools/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/SimpleTypeVisitor.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,11 +37,17 @@ * methods that correspond to the kinds of types on which it will * operate. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this class is {@link + * javax.lang.model.util.SimpleTypeVisitor6}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public class SimpleTypeVisitor implements TypeVisitor { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java --- a/langtools/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/SourceOrderDeclScanner.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,10 +42,17 @@ * are scanned; the postprocessing visitor is called after the * contained declarations are scanned. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this class is {@link + * javax.lang.model.util.SimpleElementVisitor6}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ +@Deprecated +@SuppressWarnings("deprecation") class SourceOrderDeclScanner extends DeclarationScanner { static class SourceOrderComparator implements java.util.Comparator { SourceOrderComparator(){} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/SourcePosition.java --- a/langtools/src/share/classes/com/sun/mirror/util/SourcePosition.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/SourcePosition.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,11 +32,20 @@ /** * Represents a position in a source file. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. There is no direct + * replacement for the functionality of this interface since the + * standardized {@link javax.annotation.processing.Messager Messager} + * API implicitly takes a source position argument via any element, + * annotation mirror, or annotation value passed along with the + * message. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface SourcePosition { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/TypeVisitor.java --- a/langtools/src/share/classes/com/sun/mirror/util/TypeVisitor.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/TypeVisitor.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,11 +38,17 @@ * the most specific visitXxx method applicable to * that type is invoked. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.element.TypeVisitor}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface TypeVisitor { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/Types.java --- a/langtools/src/share/classes/com/sun/mirror/util/Types.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/mirror/util/Types.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,11 +35,17 @@ /** * Utility methods for operating on types. * + * @deprecated All components of this API have been superseded by the + * standardized annotation processing API. The replacement for the + * functionality of this interface is {@link + * javax.lang.model.util.Types}. + * * @author Joseph D. Darcy * @author Scott Seligman * @since 1.5 */ - +@Deprecated +@SuppressWarnings("deprecation") public interface Types { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/src/share/classes/com/sun/mirror/util/package-info.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,37 @@ +/* + * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved. + * 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. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * Utilities to assist in the processing of {@linkplain + * com.sun.mirror.declaration declarations} and {@linkplain + * com.sun.mirror.type types}. + * + *

The {@code apt} tool and its associated API have been superseded + * by the standardized annotation processing API. The replacement for + * the functionality in this package is {@link javax.lang.model.util}. + * + * @since 1.5 + */ +package com.sun.mirror.util; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/mirror/util/package.html --- a/langtools/src/share/classes/com/sun/mirror/util/package.html Wed Aug 05 14:16:34 2009 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - - - - - - - -Utilities to assist in the processing of {@linkplain -com.sun.mirror.declaration declarations} and {@linkplain -com.sun.mirror.type types}. - -

Note that the apt tool and its associated APIs may be -changed or superseded in future j2se releases. - -@since 1.5 - - diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java --- a/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/comp/Apt.java Thu Aug 06 22:37:58 2009 -0700 @@ -65,6 +65,7 @@ * risk. This code and its internal interfaces are subject to change * or deletion without notice. */ +@SuppressWarnings("deprecation") public class Apt extends ListBuffer> { java.util.Set genSourceFileNames = new java.util.LinkedHashSet(); public java.util.Set getSourceFileNames() { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java --- a/langtools/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/comp/BootstrapAPF.java Thu Aug 06 22:37:58 2009 -0700 @@ -29,6 +29,7 @@ import com.sun.mirror.apt.*; import com.sun.mirror.declaration.AnnotationTypeDeclaration; +@SuppressWarnings("deprecation") public class BootstrapAPF implements AnnotationProcessorFactory { static final Collection supportedOptions = diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/comp/PrintAP.java --- a/langtools/src/share/classes/com/sun/tools/apt/comp/PrintAP.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/comp/PrintAP.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,6 +36,7 @@ /** * Class used to implement "-print" option. */ +@SuppressWarnings("deprecation") public class PrintAP implements AnnotationProcessor { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java --- a/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/main/JavaCompiler.java Thu Aug 06 22:37:58 2009 -0700 @@ -50,6 +50,7 @@ * risk. This code and its internal interfaces are subject to change * or deletion without notice. */ +@SuppressWarnings("deprecation") public class JavaCompiler extends com.sun.tools.javac.main.JavaCompiler { /** The context key for the compiler. */ protected static final Context.Key compilerKey = diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/main/Main.java --- a/langtools/src/share/classes/com/sun/tools/apt/main/Main.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/main/Main.java Thu Aug 06 22:37:58 2009 -0700 @@ -64,6 +64,7 @@ * risk. This code and its internal interfaces are subject to change * or deletion without notice. */ +@SuppressWarnings("deprecation") public class Main { /** For testing: enter any options you want to be set implicitly @@ -780,7 +781,6 @@ // prefixed to command line arguments. processArgs(forcedOpts); - /* * A run of apt only gets passed the most recently generated * files; the initial run of apt gets passed the files from @@ -792,6 +792,11 @@ // assign args the result of parse to capture results of // '@file' expansion origFilenames = processArgs((args=CommandLine.parse(args))); + + if (options.get("suppress-tool-api-removal-message") == null) { + Bark.printLines(out, getLocalizedString("misc.Deprecation")); + } + if (origFilenames == null) { return EXIT_CMDERR; } else if (origFilenames.size() == 0) { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/AptEnv.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,7 +39,7 @@ /** * The environment for a run of apt. */ - +@SuppressWarnings("deprecation") public class AptEnv { public Names names; // javac's name table diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/AnnotationProcessorEnvironmentImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -47,6 +47,7 @@ /* * Annotation Processor Environment implementation. */ +@SuppressWarnings("deprecation") public class AnnotationProcessorEnvironmentImpl implements AnnotationProcessorEnvironment { Collection spectypedecls; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/FilerImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -45,7 +45,7 @@ /** * Implementation of Filer. */ - +@SuppressWarnings("deprecation") public class FilerImpl implements Filer { /* * The Filer class must maintain a number of constraints. First, diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/MessagerImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,7 +38,7 @@ /** * Implementation of Messager. */ - +@SuppressWarnings("deprecation") public class MessagerImpl implements Messager { private final Bark bark; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundCompleteEventImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -29,6 +29,7 @@ import com.sun.mirror.apt.RoundCompleteEvent; import com.sun.mirror.apt.RoundState; +@SuppressWarnings("deprecation") public class RoundCompleteEventImpl extends RoundCompleteEvent { private static final long serialVersionUID = 7067621446720784300L; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/apt/RoundStateImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -28,6 +28,7 @@ import com.sun.mirror.apt.RoundState; import java.util.Map; +@SuppressWarnings("deprecation") public class RoundStateImpl implements RoundState { private final boolean finalRound; private final boolean errorRaised; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationMirrorImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,7 +42,7 @@ /** * Implementation of AnnotationMirror */ - +@SuppressWarnings("deprecation") public class AnnotationMirrorImpl implements AnnotationMirror { protected final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationProxyMaker.java Thu Aug 06 22:37:58 2009 -0700 @@ -49,7 +49,7 @@ *

The "dynamic proxy return form" of an attribute element value is * the form used by sun.reflect.annotation.AnnotationInvocationHandler. */ - +@SuppressWarnings("deprecation") class AnnotationProxyMaker { private final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,7 +37,7 @@ /** * Implementation of AnnotationTypeDeclaration */ - +@SuppressWarnings("deprecation") public class AnnotationTypeDeclarationImpl extends InterfaceDeclarationImpl implements AnnotationTypeDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationTypeElementDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,7 +35,7 @@ /** * Implementation of AnnotationTypeElementDeclaration */ - +@SuppressWarnings("deprecation") public class AnnotationTypeElementDeclarationImpl extends MethodDeclarationImpl implements AnnotationTypeElementDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/AnnotationValueImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of AnnotationValue */ - +@SuppressWarnings("deprecation") public class AnnotationValueImpl implements AnnotationValue { protected final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ClassDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,7 +42,7 @@ /** * Implementation of ClassDeclaration */ - +@SuppressWarnings("deprecation") public class ClassDeclarationImpl extends TypeDeclarationImpl implements ClassDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/Constants.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,6 +39,7 @@ /** * Utility class for operating on constant expressions. */ +@SuppressWarnings("deprecation") class Constants { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ConstructorDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,7 +39,7 @@ /** * Implementation of ConstructorDeclaration */ - +@SuppressWarnings("deprecation") public class ConstructorDeclarationImpl extends ExecutableDeclarationImpl implements ConstructorDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -52,7 +52,7 @@ /** * Implementation of Declaration */ - +@SuppressWarnings("deprecation") public abstract class DeclarationImpl implements Declaration { protected final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/DeclarationMaker.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Utilities for constructing and caching declarations. */ - +@SuppressWarnings("deprecation") public class DeclarationMaker { private AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumConstantDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,7 +35,7 @@ /** * Implementation of EnumConstantDeclaration */ - +@SuppressWarnings("deprecation") public class EnumConstantDeclarationImpl extends FieldDeclarationImpl implements EnumConstantDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/EnumDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,7 +37,7 @@ /** * Implementation of EnumDeclaration */ - +@SuppressWarnings("deprecation") public class EnumDeclarationImpl extends ClassDeclarationImpl implements EnumDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ExecutableDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,7 +39,7 @@ /** * Implementation of ExecutableDeclaration */ - +@SuppressWarnings("deprecation") public abstract class ExecutableDeclarationImpl extends MemberDeclarationImpl implements ExecutableDeclaration { public MethodSymbol sym; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/FieldDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of FieldDeclaration */ - +@SuppressWarnings("deprecation") class FieldDeclarationImpl extends MemberDeclarationImpl implements FieldDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/InterfaceDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,7 +35,7 @@ /** * Implementation of InterfaceDeclaration */ - +@SuppressWarnings("deprecation") public class InterfaceDeclarationImpl extends TypeDeclarationImpl implements InterfaceDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MemberDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of MemberDeclaration */ - +@SuppressWarnings("deprecation") public abstract class MemberDeclarationImpl extends DeclarationImpl implements MemberDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/MethodDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of MethodDeclaration */ - +@SuppressWarnings("deprecation") public class MethodDeclarationImpl extends ExecutableDeclarationImpl implements MethodDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/PackageDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,7 +39,7 @@ /** * Implementation of PackageDeclaration. */ - +@SuppressWarnings("deprecation") public class PackageDeclarationImpl extends DeclarationImpl implements PackageDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/ParameterDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,7 +39,7 @@ /** * Implementation of ParameterDeclaration */ - +@SuppressWarnings("deprecation") public class ParameterDeclarationImpl extends DeclarationImpl implements ParameterDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of TypeDeclaration */ - +@SuppressWarnings("deprecation") public class TypeDeclarationImpl extends MemberDeclarationImpl implements TypeDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/declaration/TypeParameterDeclarationImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of TypeParameterDeclaration */ - +@SuppressWarnings("deprecation") public class TypeParameterDeclarationImpl extends DeclarationImpl implements TypeParameterDeclaration { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/AnnotationTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of AnnotationType */ - +@SuppressWarnings("deprecation") public class AnnotationTypeImpl extends InterfaceTypeImpl implements AnnotationType { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ArrayTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,7 +35,7 @@ /** * Implementation of ArrayType */ - +@SuppressWarnings("deprecation") public class ArrayTypeImpl extends TypeMirrorImpl implements ArrayType { protected Type.ArrayType type; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/ClassTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of ClassType */ - +@SuppressWarnings("deprecation") public class ClassTypeImpl extends DeclaredTypeImpl implements ClassType { ClassTypeImpl(AptEnv env, Type.ClassType type) { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/DeclaredTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,7 +38,7 @@ /** * Implementation of DeclaredType */ - +@SuppressWarnings("deprecation") abstract class DeclaredTypeImpl extends TypeMirrorImpl implements DeclaredType { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/EnumTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of EnumType */ - +@SuppressWarnings("deprecation") public class EnumTypeImpl extends ClassTypeImpl implements EnumType { EnumTypeImpl(AptEnv env, Type.ClassType type) { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/InterfaceTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of InterfaceType */ - +@SuppressWarnings("deprecation") public class InterfaceTypeImpl extends DeclaredTypeImpl implements InterfaceType { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/PrimitiveTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -38,7 +38,7 @@ /** * Implementation of PrimitiveType. */ - +@SuppressWarnings("deprecation") class PrimitiveTypeImpl extends TypeMirrorImpl implements PrimitiveType { private final Kind kind; // the kind of primitive diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMaker.java Thu Aug 06 22:37:58 2009 -0700 @@ -41,7 +41,7 @@ /** * Utilities for constructing type objects. */ - +@SuppressWarnings("deprecation") public class TypeMaker { private final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeMirrorImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,7 +35,7 @@ /** * Implementation of TypeMirror */ - +@SuppressWarnings("deprecation") public abstract class TypeMirrorImpl implements TypeMirror { protected final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/TypeVariableImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,7 +40,7 @@ /** * Implementation of TypeVariable */ - +@SuppressWarnings("deprecation") public class TypeVariableImpl extends TypeMirrorImpl implements TypeVariable { protected Type.TypeVar type; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/VoidTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -34,7 +34,7 @@ /** * Implementation of VoidType. */ - +@SuppressWarnings("deprecation") class VoidTypeImpl extends TypeMirrorImpl implements VoidType { VoidTypeImpl(AptEnv env) { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/type/WildcardTypeImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -41,7 +41,7 @@ /** * Implementation of WildcardType */ - +@SuppressWarnings("deprecation") public class WildcardTypeImpl extends TypeMirrorImpl implements WildcardType { protected Type.WildcardType type; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,7 +42,7 @@ /** * Implementation of Declarations utility methods for annotation processors */ - +@SuppressWarnings("deprecation") public class DeclarationsImpl implements Declarations { private final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/util/SourcePositionImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,7 +36,7 @@ /** * Implementation of SourcePosition */ - +@SuppressWarnings("deprecation") public class SourcePositionImpl implements SourcePosition { private JavaFileObject sourcefile; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java --- a/langtools/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/mirror/util/TypesImpl.java Thu Aug 06 22:37:58 2009 -0700 @@ -44,7 +44,7 @@ /** * Implementation of Types utility methods for annotation processors */ - +@SuppressWarnings("deprecation") public class TypesImpl implements Types { private final AptEnv env; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/apt/resources/apt.properties --- a/langtools/src/share/classes/com/sun/tools/apt/resources/apt.properties Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/apt/resources/apt.properties Thu Aug 06 22:37:58 2009 -0700 @@ -111,6 +111,14 @@ ## miscellaneous strings ## +apt.misc.Deprecation=\ + \nwarning:\u0020The apt tool and its associated API are planned to be\n\ + removed in the next major JDK release. These features have been\n\ + superseded by javac and the standardized annotation processing API,\n\ + javax.annotation.processing and javax.lang.model. Users are\n\ + recommended to migrate to the annotation processing features of\n\ + javac; see the javac man page for more information.\n + apt.misc.Problem=\ Problem encountered during annotation processing; \nsee stacktrace below for more information. diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java --- a/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Thu Aug 06 22:37:58 2009 -0700 @@ -357,6 +357,7 @@ sb.append(type_index); break; case CLASS_LITERAL: + case CLASS_LITERAL_GENERIC_OR_ARRAY: sb.append(", offset = "); sb.append(offset); break; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/DiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,11 @@ /** * Provides simple functionalities for javac diagnostic formatting. * @param type of diagnostic handled by this formatter + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public interface DiagnosticFormatter> { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/Formattable.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,6 +31,11 @@ * This interface must be implemented by any javac class that has non-trivial * formatting needs (e.g. where toString() does not apply because of localization). * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. + * * @author Maurizio Cimadamore */ public interface Formattable { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/api/Messages.java --- a/langtools/src/share/classes/com/sun/tools/javac/api/Messages.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/api/Messages.java Thu Aug 06 22:37:58 2009 -0700 @@ -32,6 +32,11 @@ * This interface defines the minimum requirements in order to provide support * for localized formatted strings. * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. + * * @author Maurizio Cimadamore */ public interface Messages { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/BoundKind.java Thu Aug 06 22:37:58 2009 -0700 @@ -25,7 +25,13 @@ package com.sun.tools.javac.code; - +/** + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. + */ public enum BoundKind { EXTENDS("? extends "), SUPER("? super "), diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/code/Printer.java --- a/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/code/Printer.java Thu Aug 06 22:37:58 2009 -0700 @@ -40,6 +40,11 @@ /** * A combined type/symbol visitor for generating non-trivial localized string * representation of types and symbols. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public abstract class Printer implements Type.Visitor, Symbol.Visitor { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java --- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Thu Aug 06 22:37:58 2009 -0700 @@ -251,7 +251,8 @@ return true; else { Symbol s2 = ((MethodSymbol)sym).implementation(site.tsym, types, true); - return (s2 == null || s2 == sym); + return (s2 == null || s2 == sym || + !types.isSubSignature(types.memberType(site, s2), types.memberType(site, sym))); } } //where diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/BaseFileObject.java Thu Aug 06 22:37:58 2009 -0700 @@ -36,6 +36,12 @@ import static javax.tools.JavaFileObject.Kind.*; +/** + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. +*/ public abstract class BaseFileObject implements JavaFileObject { protected BaseFileObject(JavacFileManager fileManager) { this.fileManager = fileManager; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java Thu Aug 06 22:37:58 2009 -0700 @@ -34,7 +34,12 @@ import java.util.concurrent.ConcurrentHashMap; /** - * Caching implementation of FSInfo + * Caching implementation of FSInfo. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class CacheFSInfo extends FSInfo { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/FSInfo.java Thu Aug 06 22:37:58 2009 -0700 @@ -16,6 +16,11 @@ /** * Get meta-info about files. Default direct (non-caching) implementation. * @see CacheFSInfo + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class FSInfo { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/JavacFileManager.java Thu Aug 06 22:37:58 2009 -0700 @@ -82,6 +82,11 @@ /** * This class provides access to the source, class and other files * used by the compiler and related tools. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class JavacFileManager implements StandardJavaFileManager { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java Thu Aug 06 22:37:58 2009 -0700 @@ -42,6 +42,11 @@ /** * A subclass of JavaFileObject representing regular files. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ class RegularFileObject extends BaseFileObject { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/RelativePath.java Thu Aug 06 22:37:58 2009 -0700 @@ -34,6 +34,11 @@ * Used to represent a platform-neutral path within a platform-specific * container, such as a directory or zip file. * Internally, the file separator is always '/'. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public abstract class RelativePath implements Comparable { /** diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/SymbolArchive.java Thu Aug 06 22:37:58 2009 -0700 @@ -35,6 +35,12 @@ import com.sun.tools.javac.file.RelativePath.RelativeFile; import com.sun.tools.javac.util.List; +/** + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. +*/ public class SymbolArchive extends ZipArchive { final File origFile; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipArchive.java Thu Aug 06 22:37:58 2009 -0700 @@ -48,6 +48,12 @@ import com.sun.tools.javac.file.RelativePath.RelativeFile; import com.sun.tools.javac.util.List; +/** + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. + */ public class ZipArchive implements Archive { public ZipArchive(JavacFileManager fm, ZipFile zdir) throws IOException { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java Thu Aug 06 22:37:58 2009 -0700 @@ -67,6 +67,11 @@ * If nonBatchMode option is specified (-XDnonBatchMode) the compiler will use timestamp * checking to reindex the zip files if it is needed. In batch mode the timestamps are not checked * and the compiler uses the cached indexes. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class ZipFileIndex { private static final String MIN_CHAR = String.valueOf(Character.MIN_VALUE); diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java --- a/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/file/ZipFileIndexArchive.java Thu Aug 06 22:37:58 2009 -0700 @@ -44,6 +44,12 @@ import com.sun.tools.javac.file.RelativePath.RelativeFile; import com.sun.tools.javac.util.List; +/** + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. + */ public class ZipFileIndexArchive implements Archive { private final ZipFileIndex zfIndex; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java --- a/langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/parser/ParserFactory.java Thu Aug 06 22:37:58 2009 -0700 @@ -34,6 +34,11 @@ /** * A factory for creating parsers. + * + *

This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class ParserFactory { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -57,6 +57,10 @@ *

  • Provides the formatting logic for rendering the arguments of a JCDiagnostic object. *
      * + *

      This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public abstract class AbstractDiagnosticFormatter implements DiagnosticFormatter { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -57,6 +57,11 @@ *

    • %m: the text or the diagnostic, including any appropriate arguments *
    • %_: space delimiter, useful for formatting purposes *
    + * + *

    This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class BasicDiagnosticFormatter extends AbstractDiagnosticFormatter { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/ForwardingDiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -37,6 +37,11 @@ /** * A delegated diagnostic formatter delegates all formatting * actions to an underlying formatter (aka the delegated formatter). + * + *

    This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class ForwardingDiagnosticFormatter, F extends DiagnosticFormatter> implements DiagnosticFormatter { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/RawDiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -39,6 +39,11 @@ * The raw formatter will format a diagnostic according to one of two format patterns, depending on whether * or not the source name and position are set. This formatter provides a standardized, localize-independent * implementation of a diagnostic formatter; as such, this formatter is best suited for testing purposes. + * + *

    This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public final class RawDiagnosticFormatter extends AbstractDiagnosticFormatter { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java Thu Aug 06 22:37:58 2009 -0700 @@ -58,6 +58,11 @@ * formatted and (iii) type-variable disambiguation - when the diagnostic refers * to two different type-variables with the same name, their representation is * disambiguated by appending an index to the type variable name. + * + *

    This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class RichDiagnosticFormatter extends ForwardingDiagnosticFormatter { @@ -569,7 +574,8 @@ @Override public Void visitMethodSymbol(MethodSymbol s, Void ignored) { visit(s.owner, null); - typePreprocessor.visit(s.type); + if (s.type != null) + typePreprocessor.visit(s.type); return null; } }; diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javac/util/Warner.java --- a/langtools/src/share/classes/com/sun/tools/javac/util/Warner.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javac/util/Warner.java Thu Aug 06 22:37:58 2009 -0700 @@ -31,10 +31,10 @@ * An interface to support optional warnings, needed for support of * unchecked conversions and unchecked casts. * - *

    Nothing described in this source file is part of any supported - * API. If you write code that depends on this, you do so at your own - * risk. This code and its internal interfaces are subject to change - * or deletion without notice. + *

    This is NOT part of any API supported by Sun Microsystems. + * If you write code that depends on this, you do so at your own risk. + * This code and its internal interfaces are subject to change or + * deletion without notice. */ public class Warner { public static final Warner noWarnings = new Warner(); diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java --- a/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/JavapFileManager.java Thu Aug 06 22:37:58 2009 -0700 @@ -44,6 +44,7 @@ class JavapFileManager extends JavacFileManager { private JavapFileManager(Context context, Charset charset) { super(context, true, charset); + setIgnoreSymbolFile(true); } static JavapFileManager create(final DiagnosticListener dl, PrintWriter log, Options options) { diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javap/JavapTask.java --- a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java Thu Aug 06 22:37:58 2009 -0700 @@ -235,12 +235,6 @@ } }, - new Option(false, "-XDignore.symbol.file") { - void process(JavapTask task, String opt, String arg) { - task.options.ignoreSymbolFile = true; - } - }, - new Option(false, "-XDdetails") { void process(JavapTask task, String opt, String arg) { task.options.details = EnumSet.allOf(InstructionDetailWriter.Kind.class); @@ -477,9 +471,6 @@ throw new BadArgs("err.incompatible.options", sb); } - if (options.ignoreSymbolFile && fileManager instanceof JavapFileManager) - ((JavapFileManager) fileManager).setIgnoreSymbolFile(true); - if ((classes == null || classes.size() == 0) && !(noArgs || options.help || options.version || options.fullVersion)) { throw new BadArgs("err.no.classes.specified"); diff -r 4078186f55aa -r c4e7b1dbd52a langtools/src/share/classes/com/sun/tools/javap/Options.java --- a/langtools/src/share/classes/com/sun/tools/javap/Options.java Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/src/share/classes/com/sun/tools/javap/Options.java Thu Aug 06 22:37:58 2009 -0700 @@ -88,5 +88,4 @@ public boolean compat; // bug-for-bug compatibility mode with old javap public boolean jsr277; - public boolean ignoreSymbolFile; // file manager should ignore ct.sym } diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/apt/Basics/apt.sh --- a/langtools/test/tools/apt/Basics/apt.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/test/tools/apt/Basics/apt.sh Thu Aug 06 22:37:58 2009 -0700 @@ -43,7 +43,7 @@ esac # Construct path to apt executable -APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS}" +APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -XDsuppress-tool-api-removal-message " printf "%s\n" "-classpath ${TESTCLASSES}" > options printf "%s\n" "-factorypath ./nullap.jar" >> options @@ -58,6 +58,7 @@ printf "%s\n" "-XListAnnotationTypes" >> options1 printf "%s\n" "-XclassesAsDecls" >> options1 + # Construct path to javac executable JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} -source 1.5 -sourcepath ${TESTSRC} -classpath ${TESTJAVA}/lib/tools.jar -d . " JAR="${TESTJAVA}/bin/jar " diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/apt/Compile/compile.sh --- a/langtools/test/tools/apt/Compile/compile.sh Wed Aug 05 14:16:34 2009 -0700 +++ b/langtools/test/tools/apt/Compile/compile.sh Thu Aug 06 22:37:58 2009 -0700 @@ -67,7 +67,7 @@ esac -APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} " +APT="${TESTJAVA}/bin/apt ${TESTTOOLVMOPTS} -XDsuppress-tool-api-removal-message " JAVA="${TESTJAVA}/bin/java ${TESTVMOPTS} " JAVAC="${TESTJAVA}/bin/javac ${TESTTOOLVMOPTS} " diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/javac/Diagnostics/6860795/T6860795.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/Diagnostics/6860795/T6860795.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,34 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * @test + * @bug 6860795 + * @summary NullPointerException when compiling a negative java source + * @author mcimadamore + * @compile/fail/ref=T6860795.out -XDrawDiagnostics T6860795.java + */ + +class Test { + void foo(float x, int x) {} +} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/javac/Diagnostics/6860795/T6860795.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/Diagnostics/6860795/T6860795.out Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,2 @@ +T6860795.java:33:27: compiler.err.already.defined: x, foo +1 error diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/javac/generics/rawOverride/T6846972.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javac/generics/rawOverride/T6846972.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,49 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6846972 + * @summary cannot access member of raw type when erasure change overriding into overloading + * @author mcimadamore + * @compile T6846972.java + */ + +import java.util.EnumMap; + +public class T6846972 { + + enum Suit { + CLUBS, DIAMONDS; + } + + static Object [] array = { + Suit.CLUBS, "value1", + Suit.DIAMONDS, "value2" + }; + + static void test() { + EnumMap map = new EnumMap(Suit.class); + map.put(array[0], array[1]); + } +} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/javap/T6863746.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javap/T6863746.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,52 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +import java.io.*; + +/* + * @test + * @bug 6863746 + * @summary javap should not scan ct.sym by default + */ + +public class T6863746 { + public static void main(String... args) throws Exception{ + new T6863746().run(); + } + + public void run() throws Exception { + String[] args = { "-c", "java.lang.Object" }; + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + int rc = com.sun.tools.javap.Main.run(args, pw); + pw.close(); + String out = sw.toString(); + System.out.println(out); + String[] lines = out.split("\n"); + // If ct.sym is being read, the output does not include + // Code attributes, so check for Code attributes as a + // way of detecting that ct.sym is not being used. + if (lines.length < 50 || out.indexOf("Code:") == -1) + throw new Exception("unexpected output from javap"); + } +} diff -r 4078186f55aa -r c4e7b1dbd52a langtools/test/tools/javap/typeAnnotations/ArrayClassLiterals.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/langtools/test/tools/javap/typeAnnotations/ArrayClassLiterals.java Thu Aug 06 22:37:58 2009 -0700 @@ -0,0 +1,183 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +import java.io.*; +import com.sun.tools.classfile.*; + +/* + * @test ArrayClassLiterals + * @bug 6863814 + * @summary test that class literals array doesn't crash javap + */ + +public class ArrayClassLiterals { + public static void main(String[] args) throws Exception { + new ArrayClassLiterals().run(); + } + + public void run() throws Exception { + File javaFile = writeTestFile(); + File classFile = compileTestFile(javaFile); + + ClassFile cf = ClassFile.read(classFile); + test(cf); + for (Field f : cf.fields) { + test(cf, f); + } + for (Method m: cf.methods) { + test(cf, m); + } + + countAnnotations(); + + if (errors > 0) + throw new Exception(errors + " errors found"); + System.out.println("PASSED"); + } + + void test(ClassFile cf) { + test(cf, Attribute.RuntimeVisibleTypeAnnotations, true); + test(cf, Attribute.RuntimeInvisibleTypeAnnotations, false); + } + + void test(ClassFile cf, Method m) { + test(cf, m, Attribute.RuntimeVisibleTypeAnnotations, true); + test(cf, m, Attribute.RuntimeInvisibleTypeAnnotations, false); + } + + void test(ClassFile cf, Field m) { + test(cf, m, Attribute.RuntimeVisibleTypeAnnotations, true); + test(cf, m, Attribute.RuntimeInvisibleTypeAnnotations, false); + } + + // test the result of Attributes.getIndex according to expectations + // encoded in the method's name + void test(ClassFile cf, String name, boolean visible) { + int index = cf.attributes.getIndex(cf.constant_pool, name); + if (index != -1) { + Attribute attr = cf.attributes.get(index); + assert attr instanceof RuntimeTypeAnnotations_attribute; + RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr; + all += tAttr.annotations.length; + if (visible) + visibles += tAttr.annotations.length; + else + invisibles += tAttr.annotations.length; + + for (ExtendedAnnotation anno : tAttr.annotations) + anno.position.toString(); + } + } + + // test the result of Attributes.getIndex according to expectations + // encoded in the method's name + void test(ClassFile cf, Method m, String name, boolean visible) { + int index = m.attributes.getIndex(cf.constant_pool, name); + if (index != -1) { + Attribute attr = m.attributes.get(index); + assert attr instanceof RuntimeTypeAnnotations_attribute; + RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr; + all += tAttr.annotations.length; + if (visible) + visibles += tAttr.annotations.length; + else + invisibles += tAttr.annotations.length; + + for (ExtendedAnnotation anno : tAttr.annotations) + anno.position.toString(); + } + } + + // test the result of Attributes.getIndex according to expectations + // encoded in the method's name + void test(ClassFile cf, Field m, String name, boolean visible) { + int index = m.attributes.getIndex(cf.constant_pool, name); + if (index != -1) { + Attribute attr = m.attributes.get(index); + assert attr instanceof RuntimeTypeAnnotations_attribute; + RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr; + all += tAttr.annotations.length; + if (visible) + visibles += tAttr.annotations.length; + else + invisibles += tAttr.annotations.length; + + for (ExtendedAnnotation anno : tAttr.annotations) + anno.position.toString(); + } + } + + File writeTestFile() throws IOException { + File f = new File("Testa.java"); + PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(f))); + out.println("import java.util.*;"); + out.println("class Testa { "); + out.println(" @interface A { }"); + + out.println(" void test() {"); + out.println(" Object a = @A String.class;"); + out.println(" Object b = @A String @A [] @A [].class;"); + out.println(" }"); + out.println("}"); + + out.close(); + return f; + } + + File compileTestFile(File f) { + int rc = com.sun.tools.javac.Main.compile(new String[] { "-source", "1.7", "-g", f.getPath() }); + if (rc != 0) + throw new Error("compilation failed. rc=" + rc); + String path = f.getPath(); + return new File(path.substring(0, path.length() - 5) + ".class"); + } + + void countAnnotations() { + int expected_visibles = 0, expected_invisibles = 4; + int expected_all = expected_visibles + expected_invisibles; + + if (expected_all != all) { + errors++; + System.err.println("expected " + expected_all + + " annotations but found " + all); + } + + if (expected_visibles != visibles) { + errors++; + System.err.println("expected " + expected_visibles + + " visibles annotations but found " + visibles); + } + + if (expected_invisibles != invisibles) { + errors++; + System.err.println("expected " + expected_invisibles + + " invisibles annotations but found " + invisibles); + } + + } + + int errors; + int all; + int visibles; + int invisibles; +} diff -r 4078186f55aa -r c4e7b1dbd52a make/README.pre-components --- a/make/README.pre-components Wed Aug 05 14:16:34 2009 -0700 +++ b/make/README.pre-components Thu Aug 06 22:37:58 2009 -0700 @@ -18,7 +18,7 @@ ALT_LANGTOOLS_DIST The dist area from a langtools build to use, if provided ALT_OUTPUTDIR Parent dir of build and dist directories, if provided VARIANT If DBG, debug build, if OPT, optimized build - TARGET_CLASS_VERSION The classfile version number (currently 5) + TARGET_CLASS_VERSION The classfile version number (currently 7) ANT_HOME Home of ant to use, if provided QUIET If defined, be quiet VERBOSE If defined, be verbose