# HG changeset patch # User lana # Date 1403284530 25200 # Node ID 8c82c02495e776d01a1cc61068543456eac04120 # Parent d9b1cf00d4a8d84ecf50e2e9e672c42529fa76e8# Parent 36497704fcc9c742cfef8e179575b4a5d62f1c15 Merge diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/THIRD_PARTY_README --- a/jdk/THIRD_PARTY_README Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/THIRD_PARTY_README Fri Jun 20 10:15:30 2014 -0700 @@ -1471,7 +1471,7 @@ version 2.0. The NSS libraries are supplied in executable form, built from unmodified -NSS source code labeled with the "NSS_3.13.1_RTM" release tag. +NSS source code labeled with the "NSS_3_16_RTM" HG tag. The NSS source code is available in the OpenJDK source code repository at: jdk/test/sun/security/pkcs11/nss/src diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/CompileDemos.gmk --- a/jdk/make/CompileDemos.gmk Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/CompileDemos.gmk Fri Jun 20 10:15:30 2014 -0700 @@ -1,6 +1,5 @@ - # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -320,7 +319,6 @@ endif $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \ - -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ $(BUILD_LIBHPROF_AIX_EXTRA_CFLAGS), C, \ -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread, $(BUILD_LIBHPROF_AIX_EXTRA_SRC))) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/CreateJars.gmk --- a/jdk/make/CreateJars.gmk Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/CreateJars.gmk Fri Jun 20 10:15:30 2014 -0700 @@ -676,15 +676,6 @@ ########################################################################################## -# -# This is an empty jar (only contains manifest) and fits poorly into framework... -# create simple rule instead -# -$(IMAGES_OUTPUTDIR)/lib/management-agent.jar: $(JDK_TOPDIR)/src/share/classes/sun/management/manifest - $(JAR) cfm $@ $< - -########################################################################################## - # This file is imported from hotspot in Import.gmk. Copying it into images/lib so that # all jars can be found in one place when creating images in Images.gmk. It needs to be # done here so that clean targets can be simple and accurate. diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/lib/CoreLibraries.gmk --- a/jdk/make/lib/CoreLibraries.gmk Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/lib/CoreLibraries.gmk Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -526,30 +526,3 @@ BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a endif - -########################################################################################## - -$(eval $(call SetupNativeCompilation,BUILD_LIBNPT, \ - LIBRARY := npt, \ - OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ - SRC := $(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \ - LANG := C, \ - OPTIMIZATION := LOW, \ - CFLAGS := $(CFLAGS_JDKLIB) \ - -I$(JDK_TOPDIR)/src/share/npt \ - -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \ - MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnpt/mapfile-vers, \ - LDFLAGS := $(LDFLAGS_JDKLIB) \ - $(call SET_SHARED_LIBRARY_ORIGIN), \ - LDFLAGS_macosx := -liconv, \ - LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \ - LDFLAGS_SUFFIX_solaris := -lc, \ - VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ - RC_FLAGS := $(RC_FLAGS) \ - -D "JDK_FNAME=npt.dll" \ - -D "JDK_INTERNAL_NAME=npt" \ - -D "JDK_FTYPE=0x2L", \ - OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnpt, \ - DEBUG_SYMBOLS := true)) - -BUILD_LIBRARIES += $(BUILD_LIBNPT) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/lib/ServiceabilityLibraries.gmk --- a/jdk/make/lib/ServiceabilityLibraries.gmk Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/lib/ServiceabilityLibraries.gmk Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -147,8 +147,6 @@ CFLAGS := $(CFLAGS_JDKLIB) $(CFLAGS_WARNINGS_ARE_ERRORS) -DJDWP_LOGGING \ -I$(JDK_TOPDIR)/src/share/transport/export \ -I$(JDK_TOPDIR)/src/share/back/export \ - -I$(JDK_TOPDIR)/src/share/npt \ - -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ -I$(JDK_TOPDIR)/src/share/back \ -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \ -I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers, \ @@ -158,6 +156,7 @@ LDFLAGS_SUFFIX_linux := $(LIBDL), \ LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \ LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \ + LDFLAGS_SUFFIX_macosx := -liconv, \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ -D "JDK_FNAME=jdwp.dll" \ @@ -340,8 +339,6 @@ BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \ - -I$(JDK_TOPDIR)/src/share/npt \ - -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ -I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo ifeq ($(OPENJDK_TARGET_OS), aix) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/mapfiles/libnpt/mapfile-vers --- a/jdk/make/mapfiles/libnpt/mapfile-vers Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -# -# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# This code is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License version 2 only, as -# published by the Free Software Foundation. Oracle designates this -# particular file as subject to the "Classpath" exception as provided -# by Oracle in the LICENSE file that accompanied this code. -# -# This code is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# version 2 for more details (a copy is included in the LICENSE file that -# accompanied this code). -# -# You should have received a copy of the GNU General Public License version -# 2 along with this work; if not, write to the Free Software Foundation, -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -# or visit www.oracle.com if you need additional information or have any -# questions. -# - -# Define public interface. - -SUNWprivate_1.1 { - global: - nptInitialize; - nptTerminate; - local: - *; -}; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/profile-includes.txt --- a/jdk/make/profile-includes.txt Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/profile-includes.txt Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -127,12 +127,9 @@ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)jsdt.diz \ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)management$(SHARED_LIBRARY_SUFFIX) \ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)management.diz \ - $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX) \ - $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)npt.diz \ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)prefs$(SHARED_LIBRARY_SUFFIX) \ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) \ jvm.hprof.txt \ - management-agent.jar \ management/jmxremote.access \ management/jmxremote.password.template \ management/management.properties \ @@ -140,8 +137,7 @@ PROFILE_3_JRE_OTHER_FILES := -PROFILE_3_JRE_JAR_FILES := \ - management-agent.jar +PROFILE_3_JRE_JAR_FILES := FULL_JRE_BIN_FILES := \ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java --- a/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java Fri Jun 20 10:15:30 2014 -0700 @@ -53,7 +53,6 @@ com/sun/net/ javax/ com/sun/security/ -# management-agent.jar ! rt.jar org/w3c/ com/sun/image/ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/debugInit.c --- a/jdk/src/share/back/debugInit.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/debugInit.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -202,8 +202,6 @@ jint jvmtiCompileTimeMajorVersion; jint jvmtiCompileTimeMinorVersion; jint jvmtiCompileTimeMicroVersion; - char *boot_path = NULL; - char npt_lib[MAXPATHLEN]; /* See if it's already loaded */ if ( gdata!=NULL && gdata->isLoaded==JNI_TRUE ) { @@ -268,24 +266,6 @@ forceExit(1); /* Kill entire process, no core dump wanted */ } - JVMTI_FUNC_PTR(gdata->jvmti, GetSystemProperty) - (gdata->jvmti, (const char *)"sun.boot.library.path", - &boot_path); - - dbgsysBuildLibName(npt_lib, sizeof(npt_lib), boot_path, NPT_LIBNAME); - /* Npt and Utf function init */ - NPT_INITIALIZE(npt_lib, &(gdata->npt), NPT_VERSION, NULL); - jvmtiDeallocate(boot_path); - if (gdata->npt == NULL) { - ERROR_MESSAGE(("JDWP: unable to initialize NPT library")); - return JNI_ERR; - } - gdata->npt->utf = (gdata->npt->utfInitialize)(NULL); - if (gdata->npt->utf == NULL) { - ERROR_MESSAGE(("JDWP: UTF function initialization failed")); - return JNI_ERR; - } - /* Parse input options */ if (!parseOptions(options)) { /* No message necessary, should have been printed out already */ @@ -1307,22 +1287,26 @@ if ( error != JVMTI_ERROR_NONE ) { exit_code = 1; if ( docoredump ) { + LOG_MISC(("Dumping core as requested by command line")); finish_logging(exit_code); abort(); } } + if ( msg==NULL ) { msg = ""; } LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error, msg)); - gdata->vmDead = JNI_TRUE; + if (gdata != NULL) { + gdata->vmDead = JNI_TRUE; - /* Let's try and cleanup the JVMTI, if we even have one */ - if ( gdata->jvmti != NULL ) { - /* Dispose of jvmti (gdata->jvmti becomes NULL) */ - disposeEnvironment(gdata->jvmti); + /* Let's try and cleanup the JVMTI, if we even have one */ + if ( gdata->jvmti != NULL ) { + /* Dispose of jvmti (gdata->jvmti becomes NULL) */ + disposeEnvironment(gdata->jvmti); + } } /* Finish up logging. We reach here if JDWP is doing the exiting. */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/error_messages.c --- a/jdk/src/share/back/error_messages.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/error_messages.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -47,6 +47,7 @@ #include #include "util.h" +#include "utf_util.h" #include "proc_md.h" /* Maximim length of a message */ @@ -70,13 +71,8 @@ len = (int)strlen((char*)utf8buf); /* Convert to platform encoding (ignore errors, dangerous area) */ - if (gdata->npt != NULL) { - (void)(gdata->npt->utf8ToPlatform)(gdata->npt->utf, - utf8buf, len, pbuf, MAX_MESSAGE_LEN); - } else { - /* May be called before NPT is initialized so don't fault */ - strncpy(pbuf, (char*)utf8buf, len); - } + (void)utf8ToPlatform(utf8buf, len, pbuf, MAX_MESSAGE_LEN); + (void)fprintf(fp, "%s%s%s", prefix, pbuf, suffix); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/inStream.c --- a/jdk/src/share/back/inStream.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/inStream.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ */ #include "util.h" +#include "utf_util.h" #include "stream.h" #include "inStream.h" #include "transport.h" @@ -379,15 +380,12 @@ string[length] = '\0'; /* This is Standard UTF-8, convert to Modified UTF-8 if necessary */ - new_length = (gdata->npt->utf8sToUtf8mLength) - (gdata->npt->utf, (jbyte*)string, length); + new_length = utf8sToUtf8mLength((jbyte*)string, length); if ( new_length != length ) { char *new_string; new_string = jvmtiAllocate(new_length+1); - (gdata->npt->utf8sToUtf8m) - (gdata->npt->utf, (jbyte*)string, length, - (jbyte*)new_string, new_length); + utf8sToUtf8m((jbyte*)string, length, (jbyte*)new_string, new_length); jvmtiDeallocate(string); return new_string; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/outStream.c --- a/jdk/src/share/back/outStream.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/outStream.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ */ #include "util.h" +#include "utf_util.h" #include "stream.h" #include "outStream.h" #include "inStream.h" @@ -307,8 +308,7 @@ } else { jint new_length; - new_length = (gdata->npt->utf8mToUtf8sLength) - (gdata->npt->utf, (jbyte*)string, length); + new_length = utf8mToUtf8sLength((jbyte*)string, length); if ( new_length == length ) { (void)outStream_writeInt(stream, length); error = writeBytes(stream, (jbyte *)string, length); @@ -316,9 +316,7 @@ char *new_string; new_string = jvmtiAllocate(new_length+1); - (gdata->npt->utf8mToUtf8s) - (gdata->npt->utf, (jbyte*)string, length, - (jbyte*)new_string, new_length); + utf8mToUtf8s((jbyte*)string, length, (jbyte*)new_string, new_length); (void)outStream_writeInt(stream, new_length); error = writeBytes(stream, (jbyte *)new_string, new_length); jvmtiDeallocate(new_string); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/transport.c --- a/jdk/src/share/back/transport.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/transport.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,6 +24,7 @@ */ #include "util.h" +#include "utf_util.h" #include "transport.h" #include "debugLoop.h" #include "sys.h" @@ -65,8 +66,7 @@ len = (int)strlen(msg); maxlen = len+len/2+2; /* Should allow for plenty of room */ utf8msg = (jbyte*)jvmtiAllocate(maxlen+1); - (void)(gdata->npt->utf8FromPlatform)(gdata->npt->utf, - msg, len, utf8msg, maxlen); + (void)utf8FromPlatform(msg, len, utf8msg, maxlen); utf8msg[maxlen] = 0; } if (rv == JDWPTRANSPORT_ERROR_NONE) { @@ -110,8 +110,7 @@ int len; len = (int)strlen(libdir); - (void)(gdata->npt->utf8ToPlatform)(gdata->npt->utf, - (jbyte*)libdir, len, buf, (int)sizeof(buf)); + (void)utf8ToPlatform((jbyte*)libdir, len, buf, (int)sizeof(buf)); plibdir = buf; } @@ -392,8 +391,7 @@ /* Convert commandLine from UTF-8 to platform encoding */ len = (int)strlen(commandLine); buf = jvmtiAllocate(len*3+3); - (void)(gdata->npt->utf8ToPlatform)(gdata->npt->utf, - (jbyte*)commandLine, len, buf, len*3+3); + (void)utf8ToPlatform((jbyte*)commandLine, len, buf, len*3+3); /* Exec commandLine */ rc = dbgsysExec(buf); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/utf_util.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/back/utf_util.c Fri Jun 20 10:15:30 2014 -0700 @@ -0,0 +1,540 @@ +/* + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#include +#include + +#include "jni.h" + +#include "utf_util.h" + + +/* Error and assert macros */ +#define UTF_ERROR(m) utfError(__FILE__, __LINE__, m) +#define UTF_ASSERT(x) ( (x)==0 ? UTF_ERROR("ASSERT ERROR " #x) : (void)0 ) + +// Platform independed part + +static void utfError(char *file, int line, char *message) { + (void)fprintf(stderr, "UTF ERROR [\"%s\":%d]: %s\n", file, line, message); + abort(); +} + +/* Determine length of this Standard UTF-8 in Modified UTF-8. + * Validation is done of the basic UTF encoding rules, returns + * length (no change) when errors are detected in the UTF encoding. + * + * Note: Accepts Modified UTF-8 also, no verification on the + * correctness of Standard UTF-8 is done. e,g, 0xC080 input is ok. + */ +int JNICALL utf8sToUtf8mLength(jbyte *string, int length) { + int newLength; + int i; + + newLength = 0; + for ( i = 0 ; i < length ; i++ ) { + unsigned byte; + + byte = (unsigned char)string[i]; + if ( (byte & 0x80) == 0 ) { /* 1byte encoding */ + newLength++; + if ( byte == 0 ) { + newLength++; /* We gain one byte in length on NULL bytes */ + } + } else if ( (byte & 0xE0) == 0xC0 ) { /* 2byte encoding */ + /* Check encoding of following bytes */ + if ( (i+1) >= length || (string[i+1] & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + i++; /* Skip next byte */ + newLength += 2; + } else if ( (byte & 0xF0) == 0xE0 ) { /* 3byte encoding */ + /* Check encoding of following bytes */ + if ( (i+2) >= length || (string[i+1] & 0xC0) != 0x80 + || (string[i+2] & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + i += 2; /* Skip next two bytes */ + newLength += 3; + } else if ( (byte & 0xF8) == 0xF0 ) { /* 4byte encoding */ + /* Check encoding of following bytes */ + if ( (i+3) >= length || (string[i+1] & 0xC0) != 0x80 + || (string[i+2] & 0xC0) != 0x80 + || (string[i+3] & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + i += 3; /* Skip next 3 bytes */ + newLength += 6; /* 4byte encoding turns into 2 3byte ones */ + } else { + break; /* Error condition */ + } + } + if ( i != length ) { + /* Error in finding new length, return old length so no conversion */ + /* FIXUP: ERROR_MESSAGE? */ + return length; + } + return newLength; +} + +/* Convert Standard UTF-8 to Modified UTF-8. + * Assumes the UTF-8 encoding was validated by utf8mLength() above. + * + * Note: Accepts Modified UTF-8 also, no verification on the + * correctness of Standard UTF-8 is done. e,g, 0xC080 input is ok. + */ +void JNICALL utf8sToUtf8m(jbyte *string, int length, jbyte *newString, int newLength) { + int i; + int j; + + j = 0; + for ( i = 0 ; i < length ; i++ ) { + unsigned byte1; + + byte1 = (unsigned char)string[i]; + + /* NULL bytes and bytes starting with 11110xxx are special */ + if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ + if ( byte1 == 0 ) { + /* Bits out: 11000000 10000000 */ + newString[j++] = (jbyte)0xC0; + newString[j++] = (jbyte)0x80; + } else { + /* Single byte */ + newString[j++] = byte1; + } + } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ + newString[j++] = byte1; + newString[j++] = string[++i]; + } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ + newString[j++] = byte1; + newString[j++] = string[++i]; + newString[j++] = string[++i]; + } else if ( (byte1 & 0xF8) == 0xF0 ) { /* 4byte encoding */ + /* Beginning of 4byte encoding, turn into 2 3byte encodings */ + unsigned byte2, byte3, byte4, u21; + + /* Bits in: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ + byte2 = (unsigned char)string[++i]; + byte3 = (unsigned char)string[++i]; + byte4 = (unsigned char)string[++i]; + /* Reconstruct full 21bit value */ + u21 = (byte1 & 0x07) << 18; + u21 += (byte2 & 0x3F) << 12; + u21 += (byte3 & 0x3F) << 6; + u21 += (byte4 & 0x3F); + /* Bits out: 11101101 1010xxxx 10xxxxxx */ + newString[j++] = (jbyte)0xED; + newString[j++] = (jbyte)(0xA0 + (((u21 >> 16) - 1) & 0x0F)); + newString[j++] = (jbyte)(0x80 + ((u21 >> 10) & 0x3F)); + /* Bits out: 11101101 1011xxxx 10xxxxxx */ + newString[j++] = (jbyte)0xED; + newString[j++] = (jbyte)(0xB0 + ((u21 >> 6) & 0x0F)); + newString[j++] = byte4; + } + } + UTF_ASSERT(i==length); + UTF_ASSERT(j==newLength); + newString[j] = (jbyte)0; +} + +/* Given a Modified UTF-8 string, calculate the Standard UTF-8 length. + * Basic validation of the UTF encoding rules is done, and length is + * returned (no change) when errors are detected. + * + * Note: No validation is made that this is indeed Modified UTF-8 coming in. + * + */ +int JNICALL utf8mToUtf8sLength(jbyte *string, int length) { + int newLength; + int i; + + newLength = 0; + for ( i = 0 ; i < length ; i++ ) { + unsigned byte1, byte2, byte3, byte4, byte5, byte6; + + byte1 = (unsigned char)string[i]; + if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ + newLength++; + } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ + /* Check encoding of following bytes */ + if ( (i+1) >= length || (string[i+1] & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + byte2 = (unsigned char)string[++i]; + if ( byte1 != 0xC0 || byte2 != 0x80 ) { + newLength += 2; /* Normal 2byte encoding, not 0xC080 */ + } else { + newLength++; /* We will turn 0xC080 into 0 */ + } + } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ + /* Check encoding of following bytes */ + if ( (i+2) >= length || (string[i+1] & 0xC0) != 0x80 + || (string[i+2] & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + byte2 = (unsigned char)string[++i]; + byte3 = (unsigned char)string[++i]; + newLength += 3; + /* Possible process a second 3byte encoding */ + if ( (i+3) < length && byte1 == 0xED && (byte2 & 0xF0) == 0xA0 ) { + /* See if this is a pair of 3byte encodings */ + byte4 = (unsigned char)string[i+1]; + byte5 = (unsigned char)string[i+2]; + byte6 = (unsigned char)string[i+3]; + if ( byte4 == 0xED && (byte5 & 0xF0) == 0xB0 ) { + /* Check encoding of 3rd byte */ + if ( (byte6 & 0xC0) != 0x80 ) { + break; /* Error condition */ + } + newLength++; /* New string will have 4byte encoding */ + i += 3; /* Skip next 3 bytes */ + } + } + } else { + break; /* Error condition */ + } + } + if ( i != length ) { + /* Error in UTF encoding */ + /* FIXUP: ERROR_MESSAGE()? */ + return length; + } + return newLength; +} + +/* Convert a Modified UTF-8 string into a Standard UTF-8 string + * It is assumed that this string has been validated in terms of the + * basic UTF encoding rules by utf8Length() above. + * + * Note: No validation is made that this is indeed Modified UTF-8 coming in. + * + */ +void JNICALL utf8mToUtf8s(jbyte *string, int length, jbyte *newString, int newLength) { + int i; + int j; + + j = 0; + for ( i = 0 ; i < length ; i++ ) { + unsigned byte1, byte2, byte3, byte4, byte5, byte6; + + byte1 = (unsigned char)string[i]; + if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ + /* Single byte */ + newString[j++] = byte1; + } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ + byte2 = (unsigned char)string[++i]; + if ( byte1 != 0xC0 || byte2 != 0x80 ) { + newString[j++] = byte1; + newString[j++] = byte2; + } else { + newString[j++] = 0; + } + } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ + byte2 = (unsigned char)string[++i]; + byte3 = (unsigned char)string[++i]; + if ( i+3 < length && byte1 == 0xED && (byte2 & 0xF0) == 0xA0 ) { + /* See if this is a pair of 3byte encodings */ + byte4 = (unsigned char)string[i+1]; + byte5 = (unsigned char)string[i+2]; + byte6 = (unsigned char)string[i+3]; + if ( byte4 == 0xED && (byte5 & 0xF0) == 0xB0 ) { + unsigned u21; + + /* Bits in: 11101101 1010xxxx 10xxxxxx */ + /* Bits in: 11101101 1011xxxx 10xxxxxx */ + i += 3; + + /* Reconstruct 21 bit code */ + u21 = ((byte2 & 0x0F) + 1) << 16; + u21 += (byte3 & 0x3F) << 10; + u21 += (byte5 & 0x0F) << 6; + u21 += (byte6 & 0x3F); + + /* Bits out: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ + + /* Convert to 4byte encoding */ + newString[j++] = 0xF0 + ((u21 >> 18) & 0x07); + newString[j++] = 0x80 + ((u21 >> 12) & 0x3F); + newString[j++] = 0x80 + ((u21 >> 6) & 0x3F); + newString[j++] = 0x80 + (u21 & 0x3F); + continue; + } + } + /* Normal 3byte encoding */ + newString[j++] = byte1; + newString[j++] = byte2; + newString[j++] = byte3; + } + } + UTF_ASSERT(i==length); + UTF_ASSERT(j==newLength); + newString[j] = 0; +} + +#ifdef _WIN32 +// Microsoft Windows specific part + +#include + +static UINT getCodepage() { + LANGID langID; + LCID localeID; + TCHAR strCodePage[7]; // ANSI code page id + + static UINT intCodePage = -1; + + if (intCodePage == -1) { + // Firts call, get codepage from the os + langID = LANGIDFROMLCID(GetUserDefaultLCID()); + localeID = MAKELCID(langID, SORT_DEFAULT); + if (GetLocaleInfo(localeID, LOCALE_IDEFAULTANSICODEPAGE, + strCodePage, sizeof(strCodePage)/sizeof(TCHAR)) > 0 ) { + intCodePage = atoi(strCodePage); + } + else { + intCodePage = GetACP(); + } + } + + return intCodePage; +} + +/* + * Get wide string (assumes len>0) + */ +static WCHAR* getWideString(UINT codePage, char* str, int len, int *pwlen) { + int wlen; + WCHAR* wstr; + + /* Convert the string to WIDE string */ + wlen = MultiByteToWideChar(codePage, 0, str, len, NULL, 0); + *pwlen = wlen; + if (wlen <= 0) { + UTF_ERROR(("Can't get WIDE string length")); + return NULL; + } + wstr = (WCHAR*)malloc(wlen * sizeof(WCHAR)); + if (wstr == NULL) { + UTF_ERROR(("Can't malloc() any space")); + return NULL; + } + if (MultiByteToWideChar(codePage, 0, str, len, wstr, wlen) == 0) { + UTF_ERROR(("Can't get WIDE string")); + return NULL; + } + return wstr; +} + +/* + * Convert UTF-8 to a platform string + */ +int JNICALL utf8ToPlatform(jbyte *utf8, int len, char* output, int outputMaxLen) { + int wlen; + int plen; + WCHAR* wstr; + UINT codepage; + + UTF_ASSERT(utf8); + UTF_ASSERT(output); + UTF_ASSERT(outputMaxLen > len); + + /* Zero length is ok, but we don't need to do much */ + if ( len == 0 ) { + output[0] = 0; + return 0; + } + + /* Get WIDE string version (assumes len>0) */ + wstr = getWideString(CP_UTF8, (char*)utf8, len, &wlen); + if ( wstr == NULL ) { + // Can't allocate WIDE string + goto just_copy_bytes; + } + + /* Convert WIDE string to MultiByte string */ + codepage = getCodepage(); + plen = WideCharToMultiByte(codepage, 0, wstr, wlen, + output, outputMaxLen, NULL, NULL); + free(wstr); + if (plen <= 0) { + // Can't convert WIDE string to multi-byte + goto just_copy_bytes; + } + output[plen] = '\0'; + return plen; + +just_copy_bytes: + (void)memcpy(output, utf8, len); + output[len] = 0; + return len; +} + +/* + * Convert Platform Encoding to UTF-8. + */ +int JNICALL utf8FromPlatform(char *str, int len, jbyte *output, int outputMaxLen) { + int wlen; + int plen; + WCHAR* wstr; + UINT codepage; + + UTF_ASSERT(str); + UTF_ASSERT(output); + UTF_ASSERT(outputMaxLen > len); + + /* Zero length is ok, but we don't need to do much */ + if ( len == 0 ) { + output[0] = 0; + return 0; + } + + /* Get WIDE string version (assumes len>0) */ + codepage = getCodepage(); + wstr = getWideString(codepage, str, len, &wlen); + if ( wstr == NULL ) { + goto just_copy_bytes; + } + + /* Convert WIDE string to UTF-8 string */ + plen = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, + (char*)output, outputMaxLen, NULL, NULL); + free(wstr); + if (plen <= 0) { + UTF_ERROR(("Can't convert WIDE string to multi-byte")); + goto just_copy_bytes; + } + output[plen] = '\0'; + return plen; + +just_copy_bytes: + (void)memcpy(output, str, len); + output[len] = 0; + return len; +} + + +#else +// *NIX specific part + +#include +#include +#include +#include + +typedef enum {TO_UTF8, FROM_UTF8} conv_direction; + +/* + * Do iconv() conversion. + * Returns length or -1 if output overflows. + */ +static int iconvConvert(conv_direction drn, char *bytes, size_t len, char *output, size_t outputMaxLen) { + + static char *codeset = 0; + iconv_t func; + size_t bytes_converted; + size_t inLeft, outLeft; + char *inbuf, *outbuf; + + UTF_ASSERT(bytes); + UTF_ASSERT(output); + UTF_ASSERT(outputMaxLen > len); + + /* Zero length is ok, but we don't need to do much */ + if ( len == 0 ) { + output[0] = 0; + return 0; + } + + if (codeset == NULL && codeset != (char *) -1) { + // locale is not initialized, do it now + if (setlocale(LC_ALL, "") != NULL) { + // nl_langinfo returns ANSI_X3.4-1968 by default + codeset = (char*)nl_langinfo(CODESET); + } + + if (codeset == NULL) { + // Not able to intialize process locale from platform one. + codeset = (char *) -1; + } + } + + if (codeset == (char *) -1) { + // There was an error during initialization, so just bail out + goto just_copy_bytes; + } + + func = (drn == TO_UTF8) ? iconv_open(codeset, "UTF-8") : iconv_open("UTF-8", codeset); + if (func == (iconv_t) -1) { + // Requested charset combination is not supported, conversion couldn't be done. + // make sure we will not try it again + codeset = (char *) -1; + goto just_copy_bytes; + } + + // perform conversion + inbuf = bytes; + outbuf = output; + inLeft = len; + outLeft = outputMaxLen; + + bytes_converted = iconv(func, (void*)&inbuf, &inLeft, &outbuf, &outLeft); + if (bytes_converted == (size_t) -1 || bytes_converted == 0 || inLeft != 0) { + // Input string is invalid, not able to convert entire string + // or some other iconv error happens. + iconv_close(func); + goto just_copy_bytes; + } + + iconv_close(func); + // Overwrite bytes_converted with value of actually stored bytes + bytes_converted = outputMaxLen-outLeft; + output[bytes_converted] = 0; + return bytes_converted; + + +just_copy_bytes: + (void)memcpy(output, bytes, len); + output[len] = 0; + return len; + } + +/* + * Convert UTF-8 to Platform Encoding. + * Returns length or -1 if output overflows. + */ +int JNICALL utf8ToPlatform(jbyte *utf8, int len, char *output, int outputMaxLen) { + return iconvConvert(FROM_UTF8, (char*)utf8, len, output, outputMaxLen); +} + +/* + * Convert Platform Encoding to UTF-8. + * Returns length or -1 if output overflows. + */ +int JNICALL utf8FromPlatform(char *str, int len, jbyte *output, int outputMaxLen) { + return iconvConvert(TO_UTF8, str, len, (char*) output, outputMaxLen); +} + +#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/utf_util.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/share/back/utf_util.h Fri Jun 20 10:15:30 2014 -0700 @@ -0,0 +1,40 @@ +/* + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +#ifndef _utf_util_h_ +#define _utf_util_h_ + +#include "jni.h" + + +int JNICALL utf8sToUtf8mLength(jbyte *string, int length); +void JNICALL utf8sToUtf8m(jbyte *string, int length, jbyte *newString, int newLength); +int JNICALL utf8mToUtf8sLength(jbyte *string, int length); +void JNICALL utf8mToUtf8s(jbyte *string, int length, jbyte *newString, int newLength); + +int JNICALL utf8ToPlatform(jbyte *utf8, int len, char* output, int outputMaxLen); +int JNICALL utf8FromPlatform(char *str, int len, jbyte *output, int outputMaxLen); + +#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/back/util.h --- a/jdk/src/share/back/util.h Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/back/util.h Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. * 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,9 +53,6 @@ #include "error_messages.h" #include "debugInit.h" -/* Get access to Native Platform Toolkit functions */ -#include "npt.h" - /* Definition of a CommonRef tracked by the backend for the frontend */ typedef struct RefNode { jlong seqNum; /* ID of reference, also key for hash table */ @@ -123,9 +120,6 @@ unsigned log_flags; - /* The Native Platform Toolkit access */ - NptEnv *npt; - /* Common References static data */ jrawMonitorID refLock; jlong nextSeqNum; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java --- a/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java Fri Jun 20 10:15:30 2014 -0700 @@ -509,7 +509,7 @@ byte[] signature = new byte[6]; stream.readFully(signature); - StringBuffer version = new StringBuffer(3); + StringBuilder version = new StringBuilder(3); version.append((char)signature[3]); version.append((char)signature[4]); version.append((char)signature[5]); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java --- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java Fri Jun 20 10:15:30 2014 -0700 @@ -900,7 +900,7 @@ if (times == 1) { return s; } - StringBuffer sb = new StringBuffer((s.length() + 1)*times - 1); + StringBuilder sb = new StringBuilder((s.length() + 1)*times - 1); sb.append(s); for (int i = 1; i < times; i++) { sb.append(" "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKFileChooserUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -169,23 +169,23 @@ result.add(typedInName); } - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); len = result.size(); // construct the resulting string for (int i=0; i 0) { - buf.append(" "); + sb.append(" "); } if (len > 1) { - buf.append("\""); + sb.append("\""); } - buf.append(result.get(i)); + sb.append(result.get(i)); if (len > 1) { - buf.append("\""); + sb.append("\""); } } - return buf.toString(); + return sb.toString(); } public void setFileName(String fileName) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java --- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java Fri Jun 20 10:15:30 2014 -0700 @@ -533,13 +533,13 @@ // Pending: verify character encoding spec for gconf Reader reader = new InputStreamReader(url.openStream(), "ISO-8859-1"); char[] buf = new char[1024]; - StringBuffer strBuf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); int n; while ((n = reader.read(buf)) >= 0) { - strBuf.append(buf, 0, n); + sb.append(buf, 0, n); } reader.close(); - String str = strBuf.toString(); + String str = sb.toString(); if (str != null) { String strLowerCase = str.toLowerCase(); int i = strLowerCase.indexOf(" 0) { - buf.append(" "); + sb.append(" "); } if (files.length > 1) { - buf.append("\""); + sb.append("\""); } - buf.append(fileNameString(files[i])); + sb.append(fileNameString(files[i])); if (files.length > 1) { - buf.append("\""); + sb.append("\""); } } - return buf.toString(); + return sb.toString(); } public MotifFileChooserUI(JFileChooser filechooser) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java --- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -690,7 +690,7 @@ } private String fileNameString(File[] files) { - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); for (int i = 0; files != null && i < files.length; i++) { if (i > 0) { buf.append(" "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java --- a/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java Fri Jun 20 10:15:30 2014 -0700 @@ -628,7 +628,7 @@ } if (metaCoding.length > 0 && (verbose > 2 || verbose > 1 && metaCoding.length > 1)) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < metaCoding.length; i++) { if (i == 1) sb.append(" /"); sb.append(" ").append(metaCoding[i] & 0xFF); @@ -756,7 +756,7 @@ " size="+outputSize()+ irr+" coding="+bandCoding); if (metaCoding != noMetaCoding) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < metaCoding.length; i++) { if (i == 1) sb.append(" /"); sb.append(" ").append(metaCoding[i] & 0xFF); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java --- a/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java Fri Jun 20 10:15:30 2014 -0700 @@ -1026,7 +1026,7 @@ } static String stringValueOf(MethodHandleEntry bsmRef, Entry[] argRefs) { - StringBuffer sb = new StringBuffer(bsmRef.stringValue()); + StringBuilder sb = new StringBuilder(bsmRef.stringValue()); // Arguments are formatted as "" instead of "[foo,bar,baz]". // This ensures there will be no confusion if "[,]" appear inside of names. char nextSep = '<'; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/NetMaskImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -63,12 +63,12 @@ if (SNMP_LOGGER.isLoggable(Level.FINEST)) { SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), "extractSubNet", "BINARY ARRAY :"); - StringBuffer buff = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for(int i =0; i < addrLength; i++) { - buff.append((b[i] &0xFF) +":"); + sb.append((b[i] & 0xFF) + ":"); } SNMP_LOGGER.logp(Level.FINEST, NetMaskImpl.class.getName(), - "extractSubNet", buff.toString()); + "extractSubNet", sb.toString()); } // 8 is a byte size. Common to any InetAddress (V4 or V6). diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/ParseException.java Fri Jun 20 10:15:30 2014 -0700 @@ -170,7 +170,7 @@ * string literal. */ protected String add_escapes(String str) { - StringBuffer retval = new StringBuffer(); + StringBuilder retval = new StringBuilder(); char ch; for (int i = 0; i < str.length(); i++) { switch (str.charAt(i)) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java Fri Jun 20 10:15:30 2014 -0700 @@ -186,8 +186,8 @@ public static String getDefaultAclFileName() { final String fileSeparator = System.getProperty("file.separator"); - final StringBuffer defaultAclName = - new StringBuffer(System.getProperty("java.home")). + final StringBuilder defaultAclName = + new StringBuilder(System.getProperty("java.home")). append(fileSeparator).append("lib").append(fileSeparator). append("snmp.acl"); return defaultAclName.toString(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java Fri Jun 20 10:15:30 2014 -0700 @@ -65,7 +65,7 @@ * equivalents in the given string */ protected static final String addEscapes(String str) { - StringBuffer retval = new StringBuffer(); + StringBuilder retval = new StringBuilder(); char ch; for (int i = 0; i < str.length(); i++) { switch (str.charAt(i)) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/SnmpMessage.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpMessage.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpMessage.java Fri Jun 20 10:15:30 2014 -0700 @@ -347,7 +347,7 @@ * @return The string containing the dump. */ public String printMessage() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (community == null) { sb.append("Community: null") ; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/SnmpMsg.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpMsg.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpMsg.java Fri Jun 20 10:15:30 2014 -0700 @@ -181,22 +181,22 @@ * @return The string containing the dump. */ public static String dumpHexBuffer(byte [] b, int offset, int len) { - StringBuffer buf = new StringBuffer(len << 1) ; + StringBuilder sb = new StringBuilder(len << 1) ; int k = 1 ; int flen = offset + len ; for (int i = offset; i < flen ; i++) { int j = b[i] & 0xFF ; - buf.append(Character.forDigit((j >>> 4) , 16)) ; - buf.append(Character.forDigit((j & 0x0F), 16)) ; + sb.append(Character.forDigit((j >>> 4), 16)) ; + sb.append(Character.forDigit((j & 0x0F), 16)) ; k++ ; if (k%16 == 0) { - buf.append('\n') ; + sb.append('\n') ; k = 1 ; } else - buf.append(' ') ; + sb.append(' ') ; } - return buf.toString() ; + return sb.toString() ; } /** @@ -205,7 +205,7 @@ * @return The string containing the dump. */ public String printMessage() { - StringBuffer sb = new StringBuffer() ; + StringBuilder sb = new StringBuilder() ; sb.append("Version: ") ; sb.append(version) ; sb.append("\n") ; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/SnmpOpaque.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpOpaque.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpOpaque.java Fri Jun 20 10:15:30 2014 -0700 @@ -73,7 +73,7 @@ * @return The String representation of the value. */ public String toString() { - StringBuffer result = new StringBuffer() ; + StringBuilder result = new StringBuilder() ; for (int i = 0 ; i < value.length ; i++) { byte b = value[i] ; int n = (b >= 0) ? b : b + 256 ; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java --- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpV3Message.java Fri Jun 20 10:15:30 2014 -0700 @@ -478,7 +478,7 @@ * @return The string containing the dump. */ public String printMessage() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("msgId : " + msgId + "\n"); sb.append("msgMaxSize : " + msgMaxSize + "\n"); sb.append("msgFlags : " + msgFlags + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java --- a/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java Fri Jun 20 10:15:30 2014 -0700 @@ -96,7 +96,7 @@ * Used by CNCtx.getNameInNamespace(), CNCompoundName.toString(). */ static String cosNameToInsString(NameComponent[] cname) { - StringBuffer str = new StringBuffer(); + StringBuilder str = new StringBuilder(); for ( int i = 0; i < cname.length; i++) { if ( i > 0) { str.append(compSeparator); @@ -254,7 +254,7 @@ } private static String stringifyComponent(NameComponent comp) { - StringBuffer one = new StringBuffer(escape(comp.id)); + StringBuilder one = new StringBuilder(escape(comp.id)); if (comp.kind != null && !comp.kind.equals("")) { one.append(kindSeparator + escape(comp.kind)); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java --- a/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java Fri Jun 20 10:15:30 2014 -0700 @@ -198,14 +198,14 @@ } } - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < servers.length; i++) { if (i > 0) { - buf.append(' '); + sb.append(' '); } - buf.append("dns://").append(servers[i]).append(path); + sb.append("dns://").append(servers[i]).append(path); } - return buf.toString(); + return sb.toString(); } /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/dns/DnsName.java --- a/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java Fri Jun 20 10:15:30 2014 -0700 @@ -415,7 +415,7 @@ */ private void parse(String name) throws InvalidNameException { - StringBuffer label = new StringBuffer(); // label being parsed + StringBuilder label = new StringBuilder(); // label being parsed for (int i = 0; i < name.length(); i++) { char c = name.charAt(i); @@ -564,15 +564,15 @@ * into account. See compareLabels(). */ private static String keyForLabel(String label) { - StringBuffer buf = new StringBuffer(label.length()); + StringBuilder sb = new StringBuilder(label.length()); for (int i = 0; i < label.length(); i++) { char c = label.charAt(i); if (c >= 'A' && c <= 'Z') { c += 'a' - 'A'; // to lower case } - buf.append(c); + sb.append(c); } - return buf.toString(); + return sb.toString(); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java --- a/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java Fri Jun 20 10:15:30 2014 -0700 @@ -596,21 +596,21 @@ // If bestBase != -1, compress zeros in [bestBase, bestBase+bestLen) boolean compress = (bestBase != -1); - StringBuffer buf = new StringBuffer(40); + StringBuilder sb = new StringBuilder(40); if (bestBase == 0) { - buf.append(':'); + sb.append(':'); } for (int i = 0; i < 8; i++) { if (!compress || (i < bestBase) || (i >= bestBase + bestLen)) { - buf.append(Integer.toHexString(addr6[i])); + sb.append(Integer.toHexString(addr6[i])); if (i < 7) { - buf.append(':'); + sb.append(':'); } } else if (compress && (i == bestBase)) { // first compressed zero - buf.append(':'); + sb.append(':'); } } - return buf.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/ldap/ClientId.java --- a/jdk/src/share/classes/com/sun/jndi/ldap/ClientId.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/ldap/ClientId.java Fri Jun 20 10:15:30 2014 -0700 @@ -210,7 +210,7 @@ if (ctls == null) { return ""; } - StringBuffer str = new StringBuffer(); + StringBuilder str = new StringBuilder(); for (int i = 0; i < ctls.length; i++) { str.append(ctls[i].getID()); str.append(' '); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/ldap/DigestClientId.java --- a/jdk/src/share/classes/com/sun/jndi/ldap/DigestClientId.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/ldap/DigestClientId.java Fri Jun 20 10:15:30 2014 -0700 @@ -103,14 +103,14 @@ public String toString() { if (propvals != null) { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < propvals.length; i++) { - buf.append(':'); + sb.append(':'); if (propvals[i] != null) { - buf.append(propvals[i]); + sb.append(propvals[i]); } } - return super.toString() + buf.toString(); + return super.toString() + sb.toString(); } else { return super.toString(); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java --- a/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java Fri Jun 20 10:15:30 2014 -0700 @@ -767,7 +767,7 @@ final private String classDef2ObjectDesc(Attributes attrs) throws NamingException { - StringBuffer objectDesc = new StringBuffer("( "); + StringBuilder objectDesc = new StringBuilder("( "); Attribute attr = null; int count = 0; @@ -879,7 +879,7 @@ final private String attrDef2AttrDesc(Attributes attrs) throws NamingException { - StringBuffer attrDesc = new StringBuffer("( "); // opening parens + StringBuilder attrDesc = new StringBuilder("( "); // opening parens Attribute attr = null; int count = 0; @@ -1012,7 +1012,7 @@ final private String syntaxDef2SyntaxDesc(Attributes attrs) throws NamingException { - StringBuffer syntaxDesc = new StringBuffer("( "); // opening parens + StringBuilder syntaxDesc = new StringBuilder("( "); // opening parens Attribute attr = null; int count = 0; @@ -1068,7 +1068,7 @@ final private String matchRuleDef2MatchRuleDesc(Attributes attrs) throws NamingException { - StringBuffer matchRuleDesc = new StringBuffer("( "); // opening parens + StringBuilder matchRuleDesc = new StringBuilder("( "); // opening parens Attribute attr = null; int count = 0; @@ -1196,7 +1196,7 @@ // write QDList - StringBuffer qdList = new StringBuffer(attr.getID()); + StringBuilder qdList = new StringBuilder(attr.getID()); qdList.append(WHSP); qdList.append(OID_LIST_BEGIN); @@ -1233,7 +1233,7 @@ // write OID List - StringBuffer oidList = new StringBuffer(oidsAttr.getID()); + StringBuilder oidList = new StringBuilder(oidsAttr.getID()); oidList.append(WHSP); oidList.append(OID_LIST_BEGIN); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/ldap/ServiceLocator.java --- a/jdk/src/share/classes/com/sun/jndi/ldap/ServiceLocator.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/ldap/ServiceLocator.java Fri Jun 20 10:15:30 2014 -0700 @@ -68,7 +68,7 @@ if (dn == null) { return null; } - StringBuffer domain = new StringBuffer(); + StringBuilder domain = new StringBuilder(); LdapName ldapName = new LdapName(dn); // process RDNs left-to-right diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java --- a/jdk/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Fri Jun 20 10:15:30 2014 -0700 @@ -88,7 +88,7 @@ } } if (selected == -1) { - StringBuffer allChoices = new StringBuffer(); + StringBuilder allChoices = new StringBuilder(); for (int j = 0; j < choices.length; j++) { allChoices.append(choices[j] + ","); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java --- a/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java Fri Jun 20 10:15:30 2014 -0700 @@ -520,30 +520,30 @@ str = (String)obj; } int len = str.length(); - StringBuffer buf = new StringBuffer(len); + StringBuilder sb = new StringBuilder(len); char ch; for (int i = 0; i < len; i++) { switch (ch=str.charAt(i)) { case '*': - buf.append("\\2a"); + sb.append("\\2a"); break; case '(': - buf.append("\\28"); + sb.append("\\28"); break; case ')': - buf.append("\\29"); + sb.append("\\29"); break; case '\\': - buf.append("\\5c"); + sb.append("\\5c"); break; case 0: - buf.append("\\00"); + sb.append("\\00"); break; default: - buf.append(ch); + sb.append(ch); } } - return buf.toString(); + return sb.toString(); } @@ -585,7 +585,7 @@ int param; int where = 0, start = 0; - StringBuffer answer = new StringBuffer(expr.length()); + StringBuilder answer = new StringBuilder(expr.length()); while ((where = findUnescaped('{', expr, start)) >= 0) { int pstart = where + 1; // skip '{' diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/media/sound/SoftPerformer.java --- a/jdk/src/share/classes/com/sun/media/sound/SoftPerformer.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/media/sound/SoftPerformer.java Fri Jun 20 10:15:30 2014 -0700 @@ -326,7 +326,7 @@ private static KeySortComparator keySortComparator = new KeySortComparator(); private String extractKeys(ModelConnectionBlock conn) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (conn.getSources() != null) { sb.append("["); ModelSource[] srcs = conn.getSources(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java --- a/jdk/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/media/sound/WaveExtensibleFileReader.java Fri Jun 20 10:15:30 2014 -0700 @@ -162,7 +162,7 @@ 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); private String decodeChannelMask(long channelmask) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); long m = 1; for (int i = 0; i < allchannelnames.length; i++) { if ((channelmask & m) != 0L) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java --- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/utils/Base64.java Fri Jun 20 10:15:30 2014 -0700 @@ -257,7 +257,7 @@ public static final byte[] decode(Element element) throws Base64DecodingException { Node sibling = element.getFirstChild(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); while (sibling != null) { if (sibling.getNodeType() == Node.TEXT_NODE) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/security/sasl/CramMD5Base.java --- a/jdk/src/share/classes/com/sun/security/sasl/CramMD5Base.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/security/sasl/CramMD5Base.java Fri Jun 20 10:15:30 2014 -0700 @@ -195,7 +195,7 @@ digest = md5.digest(); // Get character representation of digest - StringBuffer digestString = new StringBuffer(); + StringBuilder digestString = new StringBuilder(); for (i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/security/sasl/CramMD5Server.java --- a/jdk/src/share/classes/com/sun/security/sasl/CramMD5Server.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/security/sasl/CramMD5Server.java Fri Jun 20 10:15:30 2014 -0700 @@ -117,15 +117,15 @@ long rand = random.nextLong(); long timestamp = System.currentTimeMillis(); - StringBuffer buf = new StringBuffer(); - buf.append('<'); - buf.append(rand); - buf.append('.'); - buf.append(timestamp); - buf.append('@'); - buf.append(fqdn); - buf.append('>'); - String challengeStr = buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append('<'); + sb.append(rand); + sb.append('.'); + sb.append(timestamp); + sb.append('@'); + sb.append(fqdn); + sb.append('>'); + String challengeStr = sb.toString(); logger.log(Level.FINE, "CRAMSRV01:Generated challenge: {0}", challengeStr); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java --- a/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Fri Jun 20 10:15:30 2014 -0700 @@ -387,7 +387,7 @@ protected byte[] binaryToHex(byte[] digest) throws UnsupportedEncodingException { - StringBuffer digestString = new StringBuffer(); + StringBuilder digestString = new StringBuilder(); for (int i = 0; i < digest.length; i ++) { if ((digest[i] & 0x000000ff) < 0x10) { @@ -598,7 +598,7 @@ protected static String nonceCountToHex(int count) { String str = Integer.toHexString(count); - StringBuffer pad = new StringBuffer(); + StringBuilder pad = new StringBuilder(); if (str.length() < 8) { for (int i = 0; i < 8-str.length(); i ++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java --- a/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java Fri Jun 20 10:15:30 2014 -0700 @@ -203,19 +203,19 @@ String supportedCiphers = null; if ((allQop&PRIVACY_PROTECTION) != 0) { myCiphers = getPlatformCiphers(); - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); // myCipher[i] is a byte that indicates whether CIPHER_TOKENS[i] // is supported for (int i = 0; i < CIPHER_TOKENS.length; i++) { if (myCiphers[i] != 0) { - if (buf.length() > 0) { - buf.append(','); + if (sb.length() > 0) { + sb.append(','); } - buf.append(CIPHER_TOKENS[i]); + sb.append(CIPHER_TOKENS[i]); } } - supportedCiphers = buf.toString(); + supportedCiphers = sb.toString(); } try { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java --- a/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -80,13 +80,13 @@ "SASLIMPL02:Preferred qop mask: {0}", new Byte(allQop)); if (qop.length > 0) { - StringBuffer qopbuf = new StringBuffer(); + StringBuilder str = new StringBuilder(); for (int i = 0; i < qop.length; i++) { - qopbuf.append(Byte.toString(qop[i])); - qopbuf.append(' '); + str.append(Byte.toString(qop[i])); + str.append(' '); } logger.logp(Level.FINE, myClassName, "constructor", - "SASLIMPL03:Preferred qops : {0}", qopbuf.toString()); + "SASLIMPL03:Preferred qops : {0}", str.toString()); } } @@ -95,13 +95,13 @@ logger.logp(Level.FINE, myClassName, "constructor", "SASLIMPL04:Preferred strength property: {0}", prop); if (logger.isLoggable(Level.FINE) && strength.length > 0) { - StringBuffer strbuf = new StringBuffer(); + StringBuilder str = new StringBuilder(); for (int i = 0; i < strength.length; i++) { - strbuf.append(Byte.toString(strength[i])); - strbuf.append(' '); + str.append(Byte.toString(strength[i])); + str.append(' '); } logger.logp(Level.FINE, myClassName, "constructor", - "SASLIMPL05:Cipher strengths: {0}", strbuf.toString()); + "SASLIMPL05:Cipher strengths: {0}", str.toString()); } // Max receive buffer size diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java Fri Jun 20 10:15:30 2014 -0700 @@ -102,8 +102,8 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer("exception catch "); - buffer.append(refSpec.toString()); - return buffer.toString(); + StringBuilder sb = new StringBuilder("exception catch "); + sb.append(refSpec.toString()); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,13 +118,13 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer("breakpoint "); - buffer.append(refSpec.toString()); - buffer.append(':'); - buffer.append(lineNumber); - buffer.append(" ("); - buffer.append(getStatusString()); - buffer.append(')'); - return buffer.toString(); + StringBuilder sb = new StringBuilder("breakpoint "); + sb.append(refSpec.toString()); + sb.append(':'); + sb.append(lineNumber); + sb.append(" ("); + sb.append(getStatusString()); + sb.append(')'); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java Fri Jun 20 10:15:30 2014 -0700 @@ -126,26 +126,26 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer("breakpoint "); - buffer.append(refSpec.toString()); - buffer.append('.'); - buffer.append(methodId); + StringBuilder sb = new StringBuilder("breakpoint "); + sb.append(refSpec.toString()); + sb.append('.'); + sb.append(methodId); if (methodArgs != null) { boolean first = true; - buffer.append('('); + sb.append('('); for (String name : methodArgs) { if (!first) { - buffer.append(','); + sb.append(','); } - buffer.append(name); + sb.append(name); first = false; } - buffer.append(")"); + sb.append(")"); } - buffer.append(" ("); - buffer.append(getStatusString()); - buffer.append(')'); - return buffer.toString(); + sb.append(" ("); + sb.append(getStatusString()); + sb.append(')'); + return sb.toString(); } private boolean isValidMethodName(String s) { @@ -225,8 +225,8 @@ * stripping whitespace after the name ends. */ int i = 0; - StringBuffer typePart = new StringBuffer(); - StringBuffer arrayPart = new StringBuffer(); + StringBuilder typePart = new StringBuilder(); + StringBuilder arrayPart = new StringBuilder(); name = name.trim(); int nameLength = name.length(); /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Fri Jun 20 10:15:30 2014 -0700 @@ -185,7 +185,7 @@ } final public String Name() throws ParseException { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); jj_consume_token(IDENTIFIER); sb.append(token); label_2: diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java Fri Jun 20 10:15:30 2014 -0700 @@ -114,7 +114,7 @@ int[][] expectedTokenSequences, String[] tokenImage) { String eol = System.getProperty("line.separator", "\n"); - StringBuffer expected = new StringBuffer(); + StringBuilder expected = new StringBuilder(); int maxSize = 0; for (int i = 0; i < expectedTokenSequences.length; i++) { if (maxSize < expectedTokenSequences[i].length) { @@ -164,7 +164,7 @@ * string literal. */ static String add_escapes(String str) { - StringBuffer retval = new StringBuffer(); + StringBuilder retval = new StringBuilder(); char ch; for (int i = 0; i < str.length(); i++) { switch (str.charAt(i)) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Fri Jun 20 10:15:30 2014 -0700 @@ -73,7 +73,7 @@ * equivalents in the given string */ protected static final String addEscapes(String str) { - StringBuffer retval = new StringBuffer(); + StringBuilder retval = new StringBuilder(); char ch; for (int i = 0; i < str.length(); i++) { switch (str.charAt(i)) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java Fri Jun 20 10:15:30 2014 -0700 @@ -267,7 +267,7 @@ buf[j] = ' '; } buf[79] = '\0'; - StringBuffer sbOut = new StringBuffer(); + StringBuilder sbOut = new StringBuilder(); sbOut.append(buf); // Right-justify the thread number at start of output string @@ -381,16 +381,16 @@ } } else { clname = t.nextToken(); - StringBuffer sbuf = new StringBuffer(); + StringBuilder str = new StringBuilder(); // Allow VM arguments to be specified here? while (t.hasMoreTokens()) { String tok = t.nextToken(); - sbuf.append(tok); + str.append(tok); if (t.hasMoreTokens()) { - sbuf.append(' '); + str.append(' '); } } - String args = sbuf.toString(); + String args = str.toString(); try { String vmArgs = context.getVmArguments(); runtime.run(suspended, vmArgs, clname, args); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java Fri Jun 20 10:15:30 2014 -0700 @@ -333,7 +333,7 @@ private String processClasspathDefaults(String javaArgs) { if (javaArgs.indexOf("-classpath ") == -1) { - StringBuffer munged = new StringBuffer(javaArgs); + StringBuilder munged = new StringBuilder(javaArgs); SearchPath classpath = classManager.getClassPath(); if (classpath.isEmpty()) { String envcp = System.getProperty("env.class.path"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java Fri Jun 20 10:15:30 2014 -0700 @@ -236,7 +236,7 @@ private String expandTabs(String s) { int col = 0; int len = s.length(); - StringBuffer sb = new StringBuffer(132); + StringBuilder sb = new StringBuilder(132); for (int i = 0; i < len; i++) { char c = s.charAt(i); sb.append(c); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java Fri Jun 20 10:15:30 2014 -0700 @@ -154,27 +154,27 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer(refSpec.toString()); + StringBuilder sb = new StringBuilder(refSpec.toString()); if (isMethodBreakpoint()) { - buffer.append('.'); - buffer.append(methodId); + sb.append('.'); + sb.append(methodId); if (methodArgs != null) { boolean first = true; - buffer.append('('); + sb.append('('); for (String arg : methodArgs) { if (!first) { - buffer.append(','); + sb.append(','); } - buffer.append(arg); + sb.append(arg); first = false; } - buffer.append(")"); + sb.append(")"); } } else { - buffer.append(':'); - buffer.append(lineNumber); + sb.append(':'); + sb.append(lineNumber); } - return MessageOutput.format("breakpoint", buffer.toString()); + return MessageOutput.format("breakpoint", sb.toString()); } private Location location(ReferenceType refType) throws @@ -275,8 +275,8 @@ * stripping whitespace after the name ends */ int i = 0; - StringBuffer typePart = new StringBuffer(); - StringBuffer arrayPart = new StringBuffer(); + StringBuilder typePart = new StringBuilder(); + StringBuilder arrayPart = new StringBuilder(); name = name.trim(); int nameLength = name.length(); /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/tty/Commands.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/Commands.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/Commands.java Fri Jun 20 10:15:30 2014 -0700 @@ -164,30 +164,30 @@ } String typedName(Method method) { - StringBuffer buf = new StringBuffer(); - buf.append(method.name()); - buf.append("("); + StringBuilder sb = new StringBuilder(); + sb.append(method.name()); + sb.append("("); List args = method.argumentTypeNames(); int lastParam = args.size() - 1; // output param types except for the last for (int ii = 0; ii < lastParam; ii++) { - buf.append(args.get(ii)); - buf.append(", "); + sb.append(args.get(ii)); + sb.append(", "); } if (lastParam >= 0) { // output the last param String lastStr = args.get(lastParam); if (method.isVarArgs()) { // lastParam is an array. Replace the [] with ... - buf.append(lastStr.substring(0, lastStr.length() - 2)); - buf.append("..."); + sb.append(lastStr.substring(0, lastStr.length() - 2)); + sb.append("..."); } else { - buf.append(lastStr); + sb.append(lastStr); } } - buf.append(")"); - return buf.toString(); + sb.append(")"); + return sb.toString(); } void commandConnectors(VirtualMachineManager vmm) { @@ -226,7 +226,7 @@ } void commandClasses() { - StringBuffer classList = new StringBuffer(); + StringBuilder classList = new StringBuilder(); for (ReferenceType refType : Env.vm().allClasses()) { classList.append(refType.name()); classList.append("\n"); @@ -309,7 +309,7 @@ String idClass = t.nextToken(); ReferenceType cls = Env.getReferenceTypeFromToken(idClass); if (cls != null) { - StringBuffer methodsList = new StringBuffer(); + StringBuilder methodsList = new StringBuilder(); for (Method method : cls.allMethods()) { methodsList.append(method.declaringType().name()); methodsList.append(" "); @@ -333,7 +333,7 @@ if (cls != null) { List fields = cls.allFields(); List visible = cls.visibleFields(); - StringBuffer fieldsList = new StringBuffer(); + StringBuilder fieldsList = new StringBuilder(); for (Field field : fields) { String s; if (!visible.contains(field)) { @@ -391,11 +391,11 @@ * very long thread names, at the possible cost of lines * being wrapped by the display device. */ - StringBuffer idBuffer = new StringBuffer(Env.description(thr)); + StringBuilder idBuffer = new StringBuilder(Env.description(thr)); for (int i = idBuffer.length(); i < maxIdLength; i++) { idBuffer.append(" "); } - StringBuffer nameBuffer = new StringBuffer(thr.name()); + StringBuilder nameBuffer = new StringBuilder(thr.name()); for (int i = nameBuffer.length(); i < maxNameLength; i++) { nameBuffer.append(" "); } @@ -1606,16 +1606,16 @@ private void dump(ObjectReference obj, ReferenceType refType, ReferenceType refTypeBase) { for (Field field : refType.fields()) { - StringBuffer o = new StringBuffer(); - o.append(" "); + StringBuilder sb = new StringBuilder(); + sb.append(" "); if (!refType.equals(refTypeBase)) { - o.append(refType.name()); - o.append("."); + sb.append(refType.name()); + sb.append("."); } - o.append(field.name()); - o.append(MessageOutput.format("colon space")); - o.append(obj.getValue(field)); - MessageOutput.printDirectln(o.toString()); // Special case: use printDirectln() + sb.append(field.name()); + sb.append(MessageOutput.format("colon space")); + sb.append(obj.getValue(field)); + MessageOutput.printDirectln(sb.toString()); // Special case: use printDirectln() } if (refType instanceof ClassType) { ClassType sup = ((ClassType)refType).superclass(); @@ -1954,7 +1954,7 @@ } } - StringBuffer line = new StringBuffer(80); + StringBuilder line = new StringBuilder(80); line.append("0000: "); for (int i = 0; i < bytecodes.length; i++) { if ((i > 0) && (i % 16 == 0)) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/tty/Env.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/Env.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/Env.java Fri Jun 20 10:15:30 2014 -0700 @@ -114,12 +114,12 @@ } static String excludesString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (String pattern : excludes()) { - buffer.append(pattern); - buffer.append(","); + sb.append(pattern); + sb.append(","); } - return buffer.toString(); + return sb.toString(); } static void addExcludes(StepRequest request) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/debug/tty/TTY.java --- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTY.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTY.java Fri Jun 20 10:15:30 2014 -0700 @@ -827,17 +827,17 @@ private static String addArgument(String string, String argument) { if (hasWhitespace(argument) || argument.indexOf(',') != -1) { // Quotes were stripped out for this argument, add 'em back. - StringBuffer buffer = new StringBuffer(string); - buffer.append('"'); + StringBuilder sb = new StringBuilder(string); + sb.append('"'); for (int i = 0; i < argument.length(); i++) { char c = argument.charAt(i); if (c == '"') { - buffer.append('\\'); + sb.append('\\'); } - buffer.append(c); + sb.append(c); } - buffer.append("\" "); - return buffer.toString(); + sb.append("\" "); + return sb.toString(); } else { return string + argument + ' '; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/example/trace/Trace.java --- a/jdk/src/share/classes/com/sun/tools/example/trace/Trace.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/trace/Trace.java Fri Jun 20 10:15:30 2014 -0700 @@ -121,7 +121,7 @@ usage(); System.exit(1); } - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(args[inx]); for (++inx; inx < args.length; ++inx) { sb.append(' '); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/hat/internal/util/Misc.java --- a/jdk/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/hat/internal/util/Misc.java Fri Jun 20 10:15:30 2014 -0700 @@ -83,30 +83,30 @@ public static String encodeHtml(String str) { final int len = str.length(); - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { char ch = str.charAt(i); if (ch == '<') { - buf.append("<"); + sb.append("<"); } else if (ch == '>') { - buf.append(">"); + sb.append(">"); } else if (ch == '"') { - buf.append("""); + sb.append("""); } else if (ch == '\'') { - buf.append("'"); + sb.append("'"); } else if (ch == '&') { - buf.append("&"); + sb.append("&"); } else if (ch < ' ') { - buf.append("&#" + Integer.toString(ch) + ";"); + sb.append("&#" + Integer.toString(ch) + ";"); } else { int c = (ch & 0xFFFF); if (c > 127) { - buf.append("&#" + Integer.toString(c) + ";"); + sb.append("&#" + Integer.toString(c) + ";"); } else { - buf.append(ch); + sb.append(ch); } } } - return buf.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/FieldImpl.java --- a/jdk/src/share/classes/com/sun/tools/jdi/FieldImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/FieldImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -95,12 +95,12 @@ } public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buf.append(declaringType().name()); - buf.append('.'); - buf.append(name()); + sb.append(declaringType().name()); + sb.append('.'); + sb.append(name()); - return buf.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/JNITypeParser.java --- a/jdk/src/share/classes/com/sun/tools/jdi/JNITypeParser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/JNITypeParser.java Fri Jun 20 10:15:30 2014 -0700 @@ -44,11 +44,11 @@ } static String typeNameToSignature(String signature) { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); int firstIndex = signature.indexOf('['); int index = firstIndex; while (index != -1) { - buffer.append('['); + sb.append('['); index = signature.indexOf('[', index + 1); } @@ -57,28 +57,28 @@ } if (signature.equals("boolean")) { - buffer.append('Z'); + sb.append('Z'); } else if (signature.equals("byte")) { - buffer.append('B'); + sb.append('B'); } else if (signature.equals("char")) { - buffer.append('C'); + sb.append('C'); } else if (signature.equals("short")) { - buffer.append('S'); + sb.append('S'); } else if (signature.equals("int")) { - buffer.append('I'); + sb.append('I'); } else if (signature.equals("long")) { - buffer.append('J'); + sb.append('J'); } else if (signature.equals("float")) { - buffer.append('F'); + sb.append('F'); } else if (signature.equals("double")) { - buffer.append('D'); + sb.append('D'); } else { - buffer.append('L'); - buffer.append(signature.replace('.', '/')); - buffer.append(';'); + sb.append('L'); + sb.append(signature.replace('.', '/')); + sb.append(';'); } - return buffer.toString(); + return sb.toString(); } String typeName() { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java --- a/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/MethodImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -387,7 +387,7 @@ } public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(declaringType().name()); sb.append("."); sb.append(name()); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java --- a/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -751,7 +751,7 @@ String baseSourceDir() { if (baseSourceDir == null) { String typeName = name(); - StringBuffer sb = new StringBuffer(typeName.length() + 10); + StringBuilder sb = new StringBuilder(typeName.length() + 10); int index = 0; int nextIndex; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/SDE.java --- a/jdk/src/share/classes/com/sun/tools/jdi/SDE.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/SDE.java Fri Jun 20 10:15:30 2014 -0700 @@ -56,16 +56,16 @@ if (sourcePath == null) { sourcePath = refType.baseSourceDir() + sourceName; } else { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < sourcePath.length(); ++i) { char ch = sourcePath.charAt(i); if (ch == '/') { - buf.append(File.separatorChar); + sb.append(File.separatorChar); } else { - buf.append(ch); + sb.append(ch); } } - sourcePath = buf.toString(); + sourcePath = sb.toString(); } isConverted = true; } @@ -327,7 +327,7 @@ } String readLine() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); char ch; ignoreWhite(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java --- a/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/TargetVM.java Fri Jun 20 10:15:30 2014 -0700 @@ -78,7 +78,7 @@ ", errorCode=" + packet.errorCode + ", flags=" + packet.flags); } - StringBuffer line = new StringBuffer(80); + StringBuilder line = new StringBuilder(80); line.append("0000: "); for (int i = 0; i < packet.data.length; i++) { if ((i > 0) && (i % 16 == 0)) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java --- a/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -742,7 +742,7 @@ } void printReceiveTrace(int depth, String string) { - StringBuffer sb = new StringBuffer("Receiving:"); + StringBuilder sb = new StringBuilder("Receiving:"); for (int i = depth; i > 0; --i) { sb.append(" "); } @@ -872,7 +872,7 @@ ReferenceTypeImpl referenceType(long id, int tag, String signature) { if ((vm.traceFlags & VirtualMachine.TRACE_REFTYPES) != 0) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("Looking up "); if (tag == JDWP.TypeTag.CLASS) { sb.append("Class"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/beans/Introspector.java --- a/jdk/src/share/classes/java/beans/Introspector.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/beans/Introspector.java Fri Jun 20 10:15:30 2014 -0700 @@ -1282,7 +1282,7 @@ * Creates a key for a method in a method cache. */ private static String makeQualifiedMethodName(String name, String[] params) { - StringBuffer sb = new StringBuffer(name); + StringBuilder sb = new StringBuilder(name); sb.append('='); for (int i = 0; i < params.length; i++) { sb.append(':'); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/beans/Statement.java --- a/jdk/src/share/classes/java/beans/Statement.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/beans/Statement.java Fri Jun 20 10:15:30 2014 -0700 @@ -340,7 +340,7 @@ if (arguments == null) { arguments = emptyArray; } - StringBuffer result = new StringBuffer(instanceName(target) + "." + methodName + "("); + StringBuilder result = new StringBuilder(instanceName(target) + "." + methodName + "("); int n = arguments.length; for(int i = 0; i < n; i++) { result.append(instanceName(arguments[i])); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/io/RandomAccessFile.java --- a/jdk/src/share/classes/java/io/RandomAccessFile.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/io/RandomAccessFile.java Fri Jun 20 10:15:30 2014 -0700 @@ -890,7 +890,7 @@ */ public final String readLine() throws IOException { - StringBuffer input = new StringBuffer(); + StringBuilder input = new StringBuilder(); int c = -1; boolean eol = false; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java --- a/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java Fri Jun 20 10:15:30 2014 -0700 @@ -40,6 +40,7 @@ import static java.lang.invoke.MethodHandleNatives.Constants.*; import static java.lang.invoke.LambdaForm.BasicType.*; import sun.invoke.util.VerifyType; +import sun.reflect.misc.ReflectUtil; /** * Code generation backend for LambdaForm. @@ -594,6 +595,8 @@ return false; // inner class of some sort if (cls.getClassLoader() != MethodHandle.class.getClassLoader()) return false; // not on BCP + if (ReflectUtil.isVMAnonymousClass(cls)) // FIXME: switch to supported API once it is added + return false; MethodType mtype = member.getMethodOrFieldType(); if (!isStaticallyNameable(mtype.returnType())) return false; @@ -612,6 +615,8 @@ cls = cls.getComponentType(); if (cls.isPrimitive()) return true; // int[].class, for example + if (ReflectUtil.isVMAnonymousClass(cls)) // FIXME: switch to supported API once it is added + return false; // could use VerifyAccess.isClassAccessible but the following is a safe approximation if (cls.getClassLoader() != Object.class.getClassLoader()) return false; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/IDN.java --- a/jdk/src/share/classes/java/net/IDN.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/IDN.java Fri Jun 20 10:15:30 2014 -0700 @@ -111,7 +111,7 @@ public static String toASCII(String input, int flag) { int p = 0, q = 0; - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); if (isRootLabel(input)) { return "."; @@ -172,7 +172,7 @@ */ public static String toUnicode(String input, int flag) { int p = 0, q = 0; - StringBuffer out = new StringBuffer(); + StringBuilder out = new StringBuilder(); if (isRootLabel(input)) { return "."; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/SocketPermission.java --- a/jdk/src/share/classes/java/net/SocketPermission.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/SocketPermission.java Fri Jun 20 10:15:30 2014 -0700 @@ -733,7 +733,7 @@ InetAddress auth; try { - StringBuffer sb = new StringBuffer(39); + StringBuilder sb = new StringBuilder(39); for (int i = 15; i >= 0; i--) { sb.append(Integer.toHexString(((addr[i]) & 0x0f))); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/URI.java --- a/jdk/src/share/classes/java/net/URI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/URI.java Fri Jun 20 10:15:30 2014 -0700 @@ -1957,7 +1957,7 @@ private void defineString() { if (string != null) return; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (scheme != null) { sb.append(scheme); sb.append(':'); @@ -2015,7 +2015,7 @@ if (i >= 0) path = base.substring(0, i + 1); } else { - StringBuffer sb = new StringBuffer(base.length() + cn); + StringBuilder sb = new StringBuilder(base.length() + cn); // 5.2 (6a) if (i >= 0) sb.append(base.substring(0, i + 1)); @@ -2778,7 +2778,7 @@ if (s.indexOf('%') < 0) return s; - StringBuffer sb = new StringBuffer(n); + StringBuilder sb = new StringBuilder(n); ByteBuffer bb = ByteBuffer.allocate(n); CharBuffer cb = CharBuffer.allocate(n); CharsetDecoder dec = ThreadLocalCoders.decoderFor("UTF-8") diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/URISyntaxException.java --- a/jdk/src/share/classes/java/net/URISyntaxException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/URISyntaxException.java Fri Jun 20 10:15:30 2014 -0700 @@ -121,7 +121,7 @@ * @return A string describing the parse error */ public String getMessage() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(getReason()); if (index > -1) { sb.append(" at index "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/URLDecoder.java --- a/jdk/src/share/classes/java/net/URLDecoder.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/URLDecoder.java Fri Jun 20 10:15:30 2014 -0700 @@ -134,7 +134,7 @@ boolean needToChange = false; int numChars = s.length(); - StringBuffer sb = new StringBuffer(numChars > 500 ? numChars / 2 : numChars); + StringBuilder sb = new StringBuilder(numChars > 500 ? numChars / 2 : numChars); int i = 0; if (enc.length() == 0) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/URLEncoder.java --- a/jdk/src/share/classes/java/net/URLEncoder.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/URLEncoder.java Fri Jun 20 10:15:30 2014 -0700 @@ -201,7 +201,7 @@ throws UnsupportedEncodingException { boolean needToChange = false; - StringBuffer out = new StringBuffer(s.length()); + StringBuilder out = new StringBuilder(s.length()); Charset charset; CharArrayWriter charArrayWriter = new CharArrayWriter(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/net/URLStreamHandler.java --- a/jdk/src/share/classes/java/net/URLStreamHandler.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/net/URLStreamHandler.java Fri Jun 20 10:15:30 2014 -0700 @@ -486,7 +486,7 @@ if (u.getRef() != null) len += 1 + u.getRef().length(); - StringBuffer result = new StringBuffer(len); + StringBuilder result = new StringBuilder(len); result.append(u.getProtocol()); result.append(":"); if (u.getAuthority() != null && u.getAuthority().length() > 0) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/nio/file/InvalidPathException.java --- a/jdk/src/share/classes/java/nio/file/InvalidPathException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/nio/file/InvalidPathException.java Fri Jun 20 10:15:30 2014 -0700 @@ -117,7 +117,7 @@ * @return a string describing the error */ public String getMessage() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(getReason()); if (index > -1) { sb.append(" at index "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/rmi/dgc/VMID.java --- a/jdk/src/share/classes/java/rmi/dgc/VMID.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/rmi/dgc/VMID.java Fri Jun 20 10:15:30 2014 -0700 @@ -120,15 +120,15 @@ * Return string representation of this VMID. */ public String toString() { - StringBuffer result = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (addr != null) for (int i = 0; i < addr.length; ++ i) { int x = addr[i] & 0xFF; - result.append((x < 0x10 ? "0" : "") + - Integer.toString(x, 16)); + sb.append((x < 0x10 ? "0" : "") + + Integer.toString(x, 16)); } - result.append(':'); - result.append(uid.toString()); - return result.toString(); + sb.append(':'); + sb.append(uid.toString()); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/CodeSigner.java --- a/jdk/src/share/classes/java/security/CodeSigner.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/CodeSigner.java Fri Jun 20 10:15:30 2014 -0700 @@ -154,7 +154,7 @@ * if present. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("("); sb.append("Signer: " + signerCertPath.getCertificates().get(0)); if (timestamp != null) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/Timestamp.java --- a/jdk/src/share/classes/java/security/Timestamp.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/Timestamp.java Fri Jun 20 10:15:30 2014 -0700 @@ -141,7 +141,7 @@ * its signer's certificate. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("("); sb.append("timestamp: " + timestamp); List certs = signerCertPath.getCertificates(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/CertPath.java --- a/jdk/src/share/classes/java/security/cert/CertPath.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/CertPath.java Fri Jun 20 10:15:30 2014 -0700 @@ -220,7 +220,7 @@ * @return a string representation of this certification path */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); Iterator stringIterator = getCertificates().iterator(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java --- a/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/CollectionCertStoreParameters.java Fri Jun 20 10:15:30 2014 -0700 @@ -132,7 +132,7 @@ * @return a formatted string describing the parameters */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("CollectionCertStoreParameters: [\n"); sb.append(" collection: " + coll + "\n"); sb.append("]"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java --- a/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/LDAPCertStoreParameters.java Fri Jun 20 10:15:30 2014 -0700 @@ -138,7 +138,7 @@ * @return a formatted string describing the parameters */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("LDAPCertStoreParameters: [\n"); sb.append(" serverName: " + serverName + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/PKIXBuilderParameters.java --- a/jdk/src/share/classes/java/security/cert/PKIXBuilderParameters.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/PKIXBuilderParameters.java Fri Jun 20 10:15:30 2014 -0700 @@ -189,7 +189,7 @@ * @return a formatted string describing the parameters */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("[\n"); sb.append(super.toString()); sb.append(" Maximum Path Length: " + maxPathLength + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java --- a/jdk/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/PKIXCertPathBuilderResult.java Fri Jun 20 10:15:30 2014 -0700 @@ -107,7 +107,7 @@ * {@code PKIXCertPathBuilderResult} */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathBuilderResult: [\n"); sb.append(" Certification Path: " + certPath + "\n"); sb.append(" Trust Anchor: " + getTrustAnchor().toString() + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java --- a/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/PKIXCertPathValidatorResult.java Fri Jun 20 10:15:30 2014 -0700 @@ -148,7 +148,7 @@ * {@code PKIXCertPathValidatorResult} */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("PKIXCertPathValidatorResult: [\n"); sb.append(" Trust Anchor: " + trustAnchor.toString() + "\n"); sb.append(" Policy Tree: " + String.valueOf(policyTree) + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/PKIXParameters.java --- a/jdk/src/share/classes/java/security/cert/PKIXParameters.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/PKIXParameters.java Fri Jun 20 10:15:30 2014 -0700 @@ -693,7 +693,7 @@ * @return a formatted string describing the parameters. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("[\n"); /* start with trusted anchor info */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/PolicyQualifierInfo.java --- a/jdk/src/share/classes/java/security/cert/PolicyQualifierInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/PolicyQualifierInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -161,7 +161,7 @@ if (pqiString != null) return pqiString; HexDumpEncoder enc = new HexDumpEncoder(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("PolicyQualifierInfo: [\n"); sb.append(" qualifierID: " + mId + "\n"); sb.append(" qualifier: " + diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/TrustAnchor.java --- a/jdk/src/share/classes/java/security/cert/TrustAnchor.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/TrustAnchor.java Fri Jun 20 10:15:30 2014 -0700 @@ -317,7 +317,7 @@ * @return a formatted string describing the {@code TrustAnchor} */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("[\n"); if (pubKey != null) { sb.append(" Trusted CA Public Key: " + pubKey.toString() + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/X509CRLSelector.java --- a/jdk/src/share/classes/java/security/cert/X509CRLSelector.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/X509CRLSelector.java Fri Jun 20 10:15:30 2014 -0700 @@ -566,7 +566,7 @@ * {@code X509CRLSelector}. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("X509CRLSelector: [\n"); if (issuerNames != null) { sb.append(" IssuerNames:\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/security/cert/X509CertSelector.java --- a/jdk/src/share/classes/java/security/cert/X509CertSelector.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/security/cert/X509CertSelector.java Fri Jun 20 10:15:30 2014 -0700 @@ -1811,7 +1811,7 @@ * {@code CertSelector} */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("X509CertSelector: [\n"); if (x509Cert != null) { sb.append(" Certificate: " + x509Cert.toString() + "\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/text/AttributedString.java --- a/jdk/src/share/classes/java/text/AttributedString.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/text/AttributedString.java Fri Jun 20 10:15:30 2014 -0700 @@ -243,11 +243,11 @@ throw new IllegalArgumentException("Invalid substring range"); // Copy the given string - StringBuffer textBuffer = new StringBuffer(); + StringBuilder textBuilder = new StringBuilder(); text.setIndex(beginIndex); for (char c = text.current(); text.getIndex() < endIndex; c = text.next()) - textBuffer.append(c); - this.text = textBuffer.toString(); + textBuilder.append(c); + this.text = textBuilder.toString(); if (beginIndex == endIndex) return; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/text/ChoiceFormat.java --- a/jdk/src/share/classes/java/text/ChoiceFormat.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/text/ChoiceFormat.java Fri Jun 20 10:15:30 2014 -0700 @@ -259,7 +259,7 @@ * @return the pattern string */ public String toPattern() { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); for (int i = 0; i < choiceLimits.length; ++i) { if (i != 0) { result.append('|'); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/time/Instant.java --- a/jdk/src/share/classes/java/time/Instant.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/time/Instant.java Fri Jun 20 10:15:30 2014 -0700 @@ -375,7 +375,7 @@ return Instant.ofEpochSecond(instantSecs, nanoOfSecond); } catch (DateTimeException ex) { throw new DateTimeException("Unable to obtain Instant from TemporalAccessor: " + - temporal + " of type " + temporal.getClass().getName()); + temporal + " of type " + temporal.getClass().getName(), ex); } } @@ -1058,7 +1058,8 @@ } // inline TemporalAccessor.super.query(query) as an optimization if (query == TemporalQueries.chronology() || query == TemporalQueries.zoneId() || - query == TemporalQueries.zone() || query == TemporalQueries.offset()) { + query == TemporalQueries.zone() || query == TemporalQueries.offset() || + query == TemporalQueries.localDate() || query == TemporalQueries.localTime()) { return null; } return query.queryFrom(this); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/time/OffsetDateTime.java --- a/jdk/src/share/classes/java/time/OffsetDateTime.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/time/OffsetDateTime.java Fri Jun 20 10:15:30 2014 -0700 @@ -357,10 +357,11 @@ } try { ZoneOffset offset = ZoneOffset.from(temporal); - try { - LocalDateTime ldt = LocalDateTime.from(temporal); - return OffsetDateTime.of(ldt, offset); - } catch (DateTimeException ignore) { + LocalDate date = temporal.query(TemporalQueries.localDate()); + LocalTime time = temporal.query(TemporalQueries.localTime()); + if (date != null && time != null) { + return OffsetDateTime.of(date, time, offset); + } else { Instant instant = Instant.from(temporal); return OffsetDateTime.ofInstant(instant, offset); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/time/ZonedDateTime.java --- a/jdk/src/share/classes/java/time/ZonedDateTime.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/time/ZonedDateTime.java Fri Jun 20 10:15:30 2014 -0700 @@ -81,6 +81,7 @@ import java.time.temporal.TemporalAdjuster; import java.time.temporal.TemporalAmount; import java.time.temporal.TemporalField; +import java.time.temporal.TemporalQueries; import java.time.temporal.TemporalQuery; import java.time.temporal.TemporalUnit; import java.time.temporal.UnsupportedTemporalTypeException; @@ -551,14 +552,14 @@ } try { ZoneId zone = ZoneId.from(temporal); - try { + if (temporal.isSupported(INSTANT_SECONDS)) { long epochSecond = temporal.getLong(INSTANT_SECONDS); int nanoOfSecond = temporal.get(NANO_OF_SECOND); return create(epochSecond, nanoOfSecond, zone); - - } catch (DateTimeException ex1) { - LocalDateTime ldt = LocalDateTime.from(temporal); - return of(ldt, zone); + } else { + LocalDate date = LocalDate.from(temporal); + LocalTime time = LocalTime.from(temporal); + return of(date, time, zone); } } catch (DateTimeException ex) { throw new DateTimeException("Unable to obtain ZonedDateTime from TemporalAccessor: " + @@ -2039,8 +2040,12 @@ * @throws DateTimeException if unable to query (defined by the query) * @throws ArithmeticException if numeric overflow occurs (defined by the query) */ + @SuppressWarnings("unchecked") @Override // override for Javadoc public R query(TemporalQuery query) { + if (query == TemporalQueries.localDate()) { + return (R) toLocalDate(); + } return ChronoZonedDateTime.super.query(query); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java --- a/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/time/format/DateTimeFormatterBuilder.java Fri Jun 20 10:15:30 2014 -0700 @@ -3283,7 +3283,7 @@ } catch (RuntimeException ex) { return ~position; } - int successPos = text.length(); + int successPos = pos; successPos = context.setParsedField(INSTANT_SECONDS, instantSecs, position, successPos); return context.setParsedField(NANO_OF_SECOND, nano, position, successPos); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/time/format/Parsed.java --- a/jdk/src/share/classes/java/time/format/Parsed.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/time/format/Parsed.java Fri Jun 20 10:15:30 2014 -0700 @@ -66,6 +66,7 @@ import static java.time.temporal.ChronoField.CLOCK_HOUR_OF_DAY; import static java.time.temporal.ChronoField.HOUR_OF_AMPM; import static java.time.temporal.ChronoField.HOUR_OF_DAY; +import static java.time.temporal.ChronoField.INSTANT_SECONDS; import static java.time.temporal.ChronoField.MICRO_OF_DAY; import static java.time.temporal.ChronoField.MICRO_OF_SECOND; import static java.time.temporal.ChronoField.MILLI_OF_DAY; @@ -74,14 +75,17 @@ import static java.time.temporal.ChronoField.MINUTE_OF_HOUR; import static java.time.temporal.ChronoField.NANO_OF_DAY; import static java.time.temporal.ChronoField.NANO_OF_SECOND; +import static java.time.temporal.ChronoField.OFFSET_SECONDS; import static java.time.temporal.ChronoField.SECOND_OF_DAY; import static java.time.temporal.ChronoField.SECOND_OF_MINUTE; import java.time.DateTimeException; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalTime; import java.time.Period; import java.time.ZoneId; +import java.time.ZoneOffset; import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.time.chrono.ChronoZonedDateTime; @@ -241,12 +245,15 @@ resolveTimeLenient(); crossCheck(); resolvePeriod(); + resolveFractional(); + resolveInstant(); return this; } //----------------------------------------------------------------------- private void resolveFields() { // resolve ChronoField + resolveInstantFields(); resolveDateFields(); resolveTimeFields(); @@ -300,6 +307,7 @@ } // if something changed then have to redo ChronoField resolve if (changedCount > 0) { + resolveInstantFields(); resolveDateFields(); resolveTimeFields(); } @@ -316,6 +324,29 @@ } //----------------------------------------------------------------------- + private void resolveInstantFields() { + // resolve parsed instant seconds to date and time if zone available + if (fieldValues.containsKey(INSTANT_SECONDS)) { + if (zone != null) { + resolveInstantFields0(zone); + } else { + Long offsetSecs = fieldValues.get(OFFSET_SECONDS); + if (offsetSecs != null) { + ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSecs.intValue()); + resolveInstantFields0(offset); + } + } + } + } + + private void resolveInstantFields0(ZoneId selectedZone) { + Instant instant = Instant.ofEpochSecond(fieldValues.remove(INSTANT_SECONDS)); + ChronoZonedDateTime zdt = chrono.zonedDateTime(instant, selectedZone); + updateCheckConflict(zdt.toLocalDate()); + updateCheckConflict(INSTANT_SECONDS, SECOND_OF_DAY, (long) zdt.toLocalTime().toSecondOfDay()); + } + + //----------------------------------------------------------------------- private void resolveDateFields() { updateCheckConflict(chrono.resolveDate(fieldValues, resolverStyle)); } @@ -533,6 +564,42 @@ } } + private void resolveFractional() { + // ensure fractional seconds available as ChronoField requires + // resolveTimeLenient() will have merged MICRO_OF_SECOND/MILLI_OF_SECOND to NANO_OF_SECOND + if (time == null && + (fieldValues.containsKey(INSTANT_SECONDS) || + fieldValues.containsKey(SECOND_OF_DAY) || + fieldValues.containsKey(SECOND_OF_MINUTE))) { + if (fieldValues.containsKey(NANO_OF_SECOND)) { + long nos = fieldValues.get(NANO_OF_SECOND); + fieldValues.put(MICRO_OF_SECOND, nos / 1000); + fieldValues.put(MILLI_OF_SECOND, nos / 1000000); + } else { + fieldValues.put(NANO_OF_SECOND, 0L); + fieldValues.put(MICRO_OF_SECOND, 0L); + fieldValues.put(MILLI_OF_SECOND, 0L); + } + } + } + + private void resolveInstant() { + // add instant seconds if we have date, time and zone + if (date != null && time != null) { + if (zone != null) { + long instant = date.atTime(time).atZone(zone).getLong(ChronoField.INSTANT_SECONDS); + fieldValues.put(INSTANT_SECONDS, instant); + } else { + Long offsetSecs = fieldValues.get(OFFSET_SECONDS); + if (offsetSecs != null) { + ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSecs.intValue()); + long instant = date.atTime(time).atZone(offset).getLong(ChronoField.INSTANT_SECONDS); + fieldValues.put(INSTANT_SECONDS, instant); + } + } + } + } + private void updateCheckConflict(LocalTime timeToSet, Period periodToSet) { if (time != null) { if (time.equals(timeToSet) == false) { @@ -568,18 +635,20 @@ for (Iterator> it = fieldValues.entrySet().iterator(); it.hasNext(); ) { Entry entry = it.next(); TemporalField field = entry.getKey(); - long val1; - try { - val1 = target.getLong(field); - } catch (RuntimeException ex) { - continue; + if (target.isSupported(field)) { + long val1; + try { + val1 = target.getLong(field); + } catch (RuntimeException ex) { + continue; + } + long val2 = entry.getValue(); + if (val1 != val2) { + throw new DateTimeException("Conflict found: Field " + field + " " + val1 + + " differs from " + field + " " + val2 + " derived from " + target); + } + it.remove(); } - long val2 = entry.getValue(); - if (val1 != val2) { - throw new DateTimeException("Conflict found: Field " + field + " " + val1 + - " differs from " + field + " " + val2 + " derived from " + target); - } - it.remove(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/util/Properties.java --- a/jdk/src/share/classes/java/util/Properties.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/util/Properties.java Fri Jun 20 10:15:30 2014 -0700 @@ -602,7 +602,7 @@ if (bufLen < 0) { bufLen = Integer.MAX_VALUE; } - StringBuffer outBuffer = new StringBuffer(bufLen); + StringBuilder outBuffer = new StringBuilder(bufLen); for(int x=0; xA ConcurrentHashMap can be used as scalable frequency map (a + *

A ConcurrentHashMap can be used as a scalable frequency map (a * form of histogram or multiset) by using {@link * java.util.concurrent.atomic.LongAdder} values and initializing via * {@link #computeIfAbsent computeIfAbsent}. For example, to add a count * to a {@code ConcurrentHashMap freqs}, you can use - * {@code freqs.computeIfAbsent(k -> new LongAdder()).increment();} + * {@code freqs.computeIfAbsent(key, k -> new LongAdder()).increment();} * *

This class and its views and iterators implement all of the * optional methods of the {@link Map} and {@link Iterator} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/util/concurrent/atomic/LongAdder.java --- a/jdk/src/share/classes/java/util/concurrent/atomic/LongAdder.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/util/concurrent/atomic/LongAdder.java Fri Jun 20 10:15:30 2014 -0700 @@ -57,7 +57,7 @@ * frequency map (a form of histogram or multiset). For example, to * add a count to a {@code ConcurrentHashMap freqs}, * initializing if not already present, you can use {@code - * freqs.computeIfAbsent(k -> new LongAdder()).increment();} + * freqs.computeIfAbsent(key, k -> new LongAdder()).increment();} * *

This class extends {@link Number}, but does not define * methods such as {@code equals}, {@code hashCode} and {@code diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/util/prefs/Base64.java --- a/jdk/src/share/classes/java/util/prefs/Base64.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/util/prefs/Base64.java Fri Jun 20 10:15:30 2014 -0700 @@ -57,7 +57,7 @@ int numFullGroups = aLen/3; int numBytesInPartialGroup = aLen - 3*numFullGroups; int resultLen = 4*((aLen + 2)/3); - StringBuffer result = new StringBuffer(resultLen); + StringBuilder result = new StringBuilder(resultLen); char[] intToAlpha = (alternate ? intToAltBase64 : intToBase64); // Translate all full groups from byte array elements to Base64 diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/java/util/regex/PatternSyntaxException.java --- a/jdk/src/share/classes/java/util/regex/PatternSyntaxException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/java/util/regex/PatternSyntaxException.java Fri Jun 20 10:15:30 2014 -0700 @@ -105,7 +105,7 @@ * @return The full detail message */ public String getMessage() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(desc); if (index >= 0) { sb.append(" near index "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java --- a/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -289,7 +289,7 @@ } public String readLine() throws IOException { - StringBuffer input = new StringBuffer(); + StringBuilder input = new StringBuilder(); int c = -1; boolean eol = false; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/naming/BinaryRefAddr.java --- a/jdk/src/share/classes/javax/naming/BinaryRefAddr.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/naming/BinaryRefAddr.java Fri Jun 20 10:15:30 2014 -0700 @@ -165,7 +165,7 @@ * @return The non-null string representation of this address. */ public String toString(){ - StringBuffer str = new StringBuffer("Address Type: " + addrType + "\n"); + StringBuilder str = new StringBuilder("Address Type: " + addrType + "\n"); str.append("AddressContents: "); for (int i = 0; i"i-j" otherwise. */ public String toString() { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); int n = members.length; for (int i = 0; i < n; i++) { if (i > 0) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java --- a/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java Fri Jun 20 10:15:30 2014 -0700 @@ -257,7 +257,7 @@ * (unchecked exception) Thrown if {@code units < 1}. */ public String toString(int units, String unitsName) { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); result.append(getX (units)); result.append('x'); result.append(getY (units)); @@ -312,7 +312,7 @@ * The values are reported in the internal units of micrometers. */ public String toString() { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); result.append(x); result.append('x'); result.append(y); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java --- a/jdk/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/security/auth/kerberos/KerberosTicket.java Fri Jun 20 10:15:30 2014 -0700 @@ -636,11 +636,11 @@ public String toString() { if (destroyed) throw new IllegalStateException("This ticket is no longer valid"); - StringBuffer caddrBuf = new StringBuffer(); + StringBuilder caddrString = new StringBuilder(); if (clientAddresses != null) { for (int i = 0; i < clientAddresses.length; i++) { - caddrBuf.append("clientAddresses[" + i + "] = " + - clientAddresses[i].toString()); + caddrString.append("clientAddresses[" + i + "] = " + + clientAddresses[i].toString()); } } return ("Ticket (hex) = " + "\n" + @@ -660,7 +660,7 @@ "End Time = " + endTime.toString() + "\n" + "Renew Till = " + String.valueOf(renewTill) + "\n" + "Client Addresses " + - (clientAddresses == null ? " Null " : caddrBuf.toString() + + (clientAddresses == null ? " Null " : caddrString.toString() + "\n")); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sound/sampled/CompoundControl.java --- a/jdk/src/share/classes/javax/sound/sampled/CompoundControl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sound/sampled/CompoundControl.java Fri Jun 20 10:15:30 2014 -0700 @@ -94,18 +94,18 @@ */ public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < controls.length; i++) { if (i != 0) { - buf.append(", "); + sb.append(", "); if ((i + 1) == controls.length) { - buf.append("and "); + sb.append("and "); } } - buf.append(controls[i].getType()); + sb.append(controls[i].getType()); } - return new String(getType() + " Control containing " + buf + " Controls."); + return new String(getType() + " Control containing " + sb + " Controls."); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sound/sampled/DataLine.java --- a/jdk/src/share/classes/javax/sound/sampled/DataLine.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sound/sampled/DataLine.java Fri Jun 20 10:15:30 2014 -0700 @@ -471,23 +471,23 @@ */ public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if ( (formats.length == 1) && (formats[0] != null) ) { - buf.append(" supporting format " + formats[0]); + sb.append(" supporting format " + formats[0]); } else if (getFormats().length > 1) { - buf.append(" supporting " + getFormats().length + " audio formats"); + sb.append(" supporting " + getFormats().length + " audio formats"); } if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (maxBufferSize != AudioSystem.NOT_SPECIFIED) ) { - buf.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); + sb.append(", and buffers of " + minBufferSize + " to " + maxBufferSize + " bytes"); } else if ( (minBufferSize != AudioSystem.NOT_SPECIFIED) && (minBufferSize > 0) ) { - buf.append(", and buffers of at least " + minBufferSize + " bytes"); + sb.append(", and buffers of at least " + minBufferSize + " bytes"); } else if (maxBufferSize != AudioSystem.NOT_SPECIFIED) { - buf.append(", and buffers of up to " + minBufferSize + " bytes"); + sb.append(", and buffers of up to " + minBufferSize + " bytes"); } - return new String(super.toString() + buf); + return new String(super.toString() + sb); } } // class Info diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/CommonDataSource.java --- a/jdk/src/share/classes/javax/sql/CommonDataSource.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/CommonDataSource.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,6 +34,7 @@ * Interface that defines the methods which are common between DataSource, * XADataSource and ConnectionPoolDataSource. * + * @since 1.6 */ public interface CommonDataSource { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/BaseRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -291,6 +291,8 @@ * extending class overrides and reimplements any BaseRowSet method and encounters * connectivity or underlying data source issues, that method may in addition throw an * SQLException object for that reason. +* +* @since 1.5 */ public abstract class BaseRowSet implements Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/CachedRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/CachedRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/CachedRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -626,6 +626,7 @@ * * * @author Jonathan Bruce + * @since 1.5 */ public interface CachedRowSet extends RowSet, Joinable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/FilteredRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/FilteredRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/FilteredRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -122,6 +122,7 @@ * synchronized with the data source. * * @author Jonathan Bruce + * @since 1.5 */ public interface FilteredRowSet extends WebRowSet { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/JdbcRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/JdbcRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/JdbcRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,6 +118,7 @@ * requirements of connected and disconnected RowSet objects. * * @author Jonathan Bruce + * @since 1.5 */ public interface JdbcRowSet extends RowSet, Joinable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -217,6 +217,7 @@ * This method creates a copy that can be persisted to the data source. * * + * @since 1.5 */ public interface JoinRowSet extends WebRowSet { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/Joinable.java --- a/jdk/src/share/classes/javax/sql/rowset/Joinable.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/Joinable.java Fri Jun 20 10:15:30 2014 -0700 @@ -129,6 +129,7 @@ * * @see JoinRowSet * @author Jonathan Bruce + * @since 1.5 */ public interface Joinable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/Predicate.java --- a/jdk/src/share/classes/javax/sql/rowset/Predicate.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/Predicate.java Fri Jun 20 10:15:30 2014 -0700 @@ -97,6 +97,7 @@ * applications that use both column identification conventions. * * @author Jonathan Bruce, Amit Handa + * @since 1.5 * */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java --- a/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -48,6 +48,8 @@ * Therefore, any RowSetMetaDataImpl method that retrieves information * is defined as having unspecified behavior when it is called * before the RowSet object contains data. + * + * @since 1.5 */ public class RowSetMetaDataImpl implements RowSetMetaData, Serializable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/RowSetWarning.java --- a/jdk/src/share/classes/javax/sql/rowset/RowSetWarning.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/RowSetWarning.java Fri Jun 20 10:15:30 2014 -0700 @@ -50,6 +50,8 @@ * The inherited methods getMessage, getSQLState, * and getErrorCode retrieve information contained in a * RowSetWarning object. + * + * @since 1.5 */ public class RowSetWarning extends SQLException { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/WebRowSet.java --- a/jdk/src/share/classes/javax/sql/rowset/WebRowSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/WebRowSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -408,6 +408,7 @@ * @see javax.sql.rowset.CachedRowSet * @see javax.sql.rowset.FilteredRowSet * @see javax.sql.rowset.JoinRowSet + * @since 1.5 */ public interface WebRowSet extends CachedRowSet { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -52,6 +52,8 @@ * to write data from the SQLData object to * the SQLOutputImpl output stream as the * representation of an SQL user-defined type. + * + * @since 1.5 */ public class SQLOutputImpl implements SQLOutput { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialArray.java Fri Jun 20 10:15:30 2014 -0700 @@ -56,6 +56,7 @@ * SerialArray is to be used by more than one thread then access to the * SerialArray should be controlled by appropriate synchronization. * + * @since 1.5 */ public class SerialArray implements Array, Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialBlob.java Fri Jun 20 10:15:30 2014 -0700 @@ -58,6 +58,7 @@ * should be controlled by appropriate synchronization. * * @author Jonathan Bruce + * @since 1.5 */ public class SerialBlob implements Blob, Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java Fri Jun 20 10:15:30 2014 -0700 @@ -49,7 +49,9 @@ *

A SerialClob is not safe for use by multiple concurrent threads. If a * SerialClob is to be used by more than one thread then access to the SerialClob * should be controlled by appropriate synchronization. + * * @author Jonathan Bruce + * @since 1.5 */ public class SerialClob implements Clob, Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialDatalink.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialDatalink.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialDatalink.java Fri Jun 20 10:15:30 2014 -0700 @@ -48,6 +48,8 @@ * A SerialDatalink is not safe for use by multiple concurrent threads. If a * SerialDatalink is to be used by more than one thread then access to the * SerialDatalink should be controlled by appropriate synchronization. + * + * @since 1.5 */ public class SerialDatalink implements Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialException.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialException.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,6 +32,7 @@ * SQL types such as BLOB, CLOB, STRUCT or ARRAY in * addition to SQL types such as DATALINK and JAVAOBJECT * + * @since 1.5 */ public class SerialException extends java.sql.SQLException { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialJavaObject.java Fri Jun 20 10:15:30 2014 -0700 @@ -54,6 +54,7 @@ * SerialJavaObject should be controlled by appropriate synchronization. * * @author Jonathan Bruce + * @since 1.5 */ public class SerialJavaObject implements Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialRef.java Fri Jun 20 10:15:30 2014 -0700 @@ -43,6 +43,7 @@ * SerialRef is to be used by more than one thread then access to the SerialRef * should be controlled by appropriate synchronization. * + * @since 1.5 */ public class SerialRef implements Ref, Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java --- a/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/serial/SerialStruct.java Fri Jun 20 10:15:30 2014 -0700 @@ -57,6 +57,7 @@ * SerialStruct is to be used by more than one thread then access to the * SerialStruct should be controlled by appropriate synchronization. * + * @since 1.5 */ public class SerialStruct implements Struct, Serializable, Cloneable { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java Fri Jun 20 10:15:30 2014 -0700 @@ -200,6 +200,7 @@ * @author Jonathan Bruce * @see javax.sql.rowset.spi.SyncProvider * @see javax.sql.rowset.spi.SyncFactoryException + * @since 1.5 */ public class SyncFactory { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactoryException.java Fri Jun 20 10:15:30 2014 -0700 @@ -35,6 +35,7 @@ * @author Jonathan Bruce * @see javax.sql.rowset.spi.SyncFactory * @see javax.sql.rowset.spi.SyncFactoryException + * @since 1.5 */ public class SyncFactoryException extends java.sql.SQLException { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java Fri Jun 20 10:15:30 2014 -0700 @@ -209,6 +209,7 @@ * @author Jonathan Bruce * @see javax.sql.rowset.spi.SyncFactory * @see javax.sql.rowset.spi.SyncFactoryException + * @since 1.5 */ public abstract class SyncProvider { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/SyncProviderException.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncProviderException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncProviderException.java Fri Jun 20 10:15:30 2014 -0700 @@ -61,6 +61,7 @@ * @see javax.sql.rowset.spi.SyncFactory * @see javax.sql.rowset.spi.SyncResolver * @see javax.sql.rowset.spi.SyncFactoryException + * @since 1.5 */ public class SyncProviderException extends java.sql.SQLException { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/SyncResolver.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncResolver.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncResolver.java Fri Jun 20 10:15:30 2014 -0700 @@ -231,7 +231,9 @@ * } * } * } + * * @author Jonathan Bruce + * @since 1.5 */ public interface SyncResolver extends RowSet { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java Fri Jun 20 10:15:30 2014 -0700 @@ -44,6 +44,8 @@ * the CachedRowSet constant COMMIT_ON_ACCEPT_CHANGES * to false and use the commit and rollback * methods defined in this interface to manage transaction boundaries. + * + * @since 1.5 */ public interface TransactionalWriter extends RowSetWriter { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java Fri Jun 20 10:15:30 2014 -0700 @@ -46,6 +46,8 @@ * rowset's xmlReader field. When the WebRowSet * object's readXml method is invoked, it in turn invokes * its XML reader's readXML method. + * + * @since 1.5 */ public interface XmlReader extends RowSetReader { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java --- a/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java Fri Jun 20 10:15:30 2014 -0700 @@ -44,6 +44,8 @@ * Writing a WebRowSet object includes printing the * rowset's data, metadata, and properties, all with the * appropriate XML tags. + * + * @since 1.5 */ public interface XmlWriter extends RowSetWriter { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/AbstractButton.java --- a/jdk/src/share/classes/javax/swing/AbstractButton.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/AbstractButton.java Fri Jun 20 10:15:30 2014 -0700 @@ -947,6 +947,7 @@ *

* This is a JavaBeans bound property. * + * @param iconTextGap the space between icon and text if these properties are set. * @since 1.4 * @see #getIconTextGap * @beaninfo @@ -1337,6 +1338,7 @@ * that of the Action. * * @param a the button's action + * @return the {@code PropertyChangeListener} * @since 1.3 * @see Action * @see #setAction @@ -2070,12 +2072,20 @@ } } - + /** + * Returns {@code ActionListener} that is added to model. + * + * @return the {@code ActionListener} + */ protected ActionListener createActionListener() { return getHandler(); } - + /** + * Returns {@code ItemListener} that is added to model. + * + * @return the {@code ItemListener} + */ protected ItemListener createItemListener() { return getHandler(); } @@ -2148,7 +2158,7 @@ return listenerList.getListeners(ItemListener.class); } - /** + /** * Returns an array (length 1) containing the label or * null if the button is not selected. * @@ -2164,6 +2174,12 @@ return selectedObjects; } + /** + * Initialization of the {@code AbstractButton}. + * + * @param text the text of the button + * @param icon the Icon image to display on the button + */ protected void init(String text, Icon icon) { if(text != null) { setText(text); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java --- a/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/AbstractSpinnerModel.java Fri Jun 20 10:15:30 2014 -0700 @@ -131,6 +131,7 @@ * myAbstractSpinnerModel.getListeners(ChangeListener.class); * * + * @param the type of requested listeners * @param listenerType the type of listeners to return, e.g. ChangeListener.class * @return all of the objects receiving listenerType notifications * from this model diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/Action.java --- a/jdk/src/share/classes/javax/swing/Action.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/Action.java Fri Jun 20 10:15:30 2014 -0700 @@ -337,6 +337,9 @@ /** * Gets one of this object's properties * using the associated key. + * + * @param key a {@code String} containing the key + * @return the {@code Object} value * @see #putValue */ public Object getValue(String key); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ActionMap.java --- a/jdk/src/share/classes/javax/swing/ActionMap.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ActionMap.java Fri Jun 20 10:15:30 2014 -0700 @@ -94,6 +94,9 @@ * for key. *

In most instances, key will be * action.getValue(NAME). + * + * @param key a key + * @param action a binding for {@code key} */ public void put(Object key, Action action) { if (key == null) { @@ -113,6 +116,9 @@ /** * Returns the binding for key, messaging the * parent ActionMap if the binding is not locally defined. + * + * @param key a key + * @return the binding for {@code key} */ public Action get(Object key) { Action value = (arrayTable == null) ? null : @@ -130,6 +136,8 @@ /** * Removes the binding for key from this ActionMap. + * + * @param key a key */ public void remove(Object key) { if (arrayTable != null) { @@ -148,6 +156,8 @@ /** * Returns the Action names that are bound in this ActionMap. + * + * @return an array of the keys */ public Object[] keys() { if (arrayTable == null) { @@ -172,6 +182,8 @@ * Returns an array of the keys defined in this ActionMap and * its parent. This method differs from keys() in that * this method includes the keys defined in the parent. + * + * @return an array of the keys */ public Object[] allKeys() { int count = size(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ButtonGroup.java --- a/jdk/src/share/classes/javax/swing/ButtonGroup.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ButtonGroup.java Fri Jun 20 10:15:30 2014 -0700 @@ -167,9 +167,11 @@ } /** - * Returns whether a ButtonModel is selected. - * @return true if the button is selected, - * otherwise returns false + * Returns whether a {@code ButtonModel} is selected. + * + * @param m an isntance of {@code ButtonModel} + * @return {@code true} if the button is selected, + * otherwise returns {@code false} */ public boolean isSelected(ButtonModel m) { return (m == selection); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ComboBoxEditor.java --- a/jdk/src/share/classes/javax/swing/ComboBoxEditor.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ComboBoxEditor.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,23 +34,44 @@ */ public interface ComboBoxEditor { - /** Return the component that should be added to the tree hierarchy for - * this editor - */ + /** + * Returns the component that should be added to the tree hierarchy for + * this editor + * + * @return the component + */ public Component getEditorComponent(); - /** Set the item that should be edited. Cancel any editing if necessary **/ + /** + * Set the item that should be edited. Cancel any editing if necessary + * + * @param anObject an item + */ public void setItem(Object anObject); - /** Return the edited item **/ + /** + * Returns the edited item + * + * @return the edited item + */ public Object getItem(); - /** Ask the editor to start editing and to select everything **/ + /** + * Ask the editor to start editing and to select everything + */ public void selectAll(); - /** Add an ActionListener. An action event is generated when the edited item changes **/ + /** + * Add an ActionListener. An action event is generated when the edited item changes + * + * @param l an {@code ActionListener} + */ public void addActionListener(ActionListener l); - /** Remove an ActionListener **/ + /** + * Remove an ActionListener + * + * @param l an {@code ActionListener} + */ public void removeActionListener(ActionListener l); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ComponentInputMap.java --- a/jdk/src/share/classes/javax/swing/ComponentInputMap.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ComponentInputMap.java Fri Jun 20 10:15:30 2014 -0700 @@ -78,7 +78,9 @@ } /** - * Returns the component the InputMap was created for. + * Returns the component the {@code InputMap} was created for. + * + * @return the component the {@code InputMap} was created for. */ public JComponent getComponent() { return component; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/DefaultButtonModel.java --- a/jdk/src/share/classes/javax/swing/DefaultButtonModel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/DefaultButtonModel.java Fri Jun 20 10:15:30 2014 -0700 @@ -477,6 +477,7 @@ * If no such listeners exist, * this method returns an empty array. * + * @param the type of requested listeners * @param listenerType the type of listeners requested; * this parameter should specify an interface * that descends from java.util.EventListener diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/FocusManager.java --- a/jdk/src/share/classes/javax/swing/FocusManager.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/FocusManager.java Fri Jun 20 10:15:30 2014 -0700 @@ -140,6 +140,7 @@ * Returns whether the application has invoked * disableSwingFocusManager(). * + * @return {@code true} if focus manager is enabled. * @see #disableSwingFocusManager * @deprecated As of 1.4, replaced by * KeyboardFocusManager.getDefaultFocusTraversalPolicy() diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/GroupLayout.java --- a/jdk/src/share/classes/javax/swing/GroupLayout.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/GroupLayout.java Fri Jun 20 10:15:30 2014 -0700 @@ -670,6 +670,7 @@ * @param resizable whether the group is resizable * @param anchorBaselineToTop whether the baseline is anchored to * the top or bottom of the group + * @return the {@code ParallelGroup} * @see #createBaselineGroup * @see ParallelGroup */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JColorChooser.java --- a/jdk/src/share/classes/javax/swing/JColorChooser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JColorChooser.java Fri Jun 20 10:15:30 2014 -0700 @@ -542,7 +542,7 @@ * @return a string representation of this JColorChooser */ protected String paramString() { - StringBuffer chooserPanelsString = new StringBuffer(""); + StringBuilder chooserPanelsString = new StringBuilder(""); for (int i=0; iAction. * * @param a the combobox's action + * @return the {@code PropertyChangeListener} * @since 1.3 * @see Action * @see #setAction @@ -1357,6 +1367,8 @@ * * @param keyChar a char, typically this is a keyboard key * typed by the user + * @return {@code true} if there is an item corresponding to that character. + * Otherwise, returns {@code false}. */ public boolean selectWithKeyChar(char keyChar) { int index; @@ -1443,6 +1455,7 @@ * selection. Typically, the first selection with a matching first * character becomes the selected item. * + * @param aManager a key selection manager * @beaninfo * expert: true * description: The objects that changes the selection when a key is pressed. diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JOptionPane.java --- a/jdk/src/share/classes/javax/swing/JOptionPane.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JOptionPane.java Fri Jun 20 10:15:30 2014 -0700 @@ -435,6 +435,7 @@ * @exception HeadlessException if * GraphicsEnvironment.isHeadless returns * true + * @return user's input * @see java.awt.GraphicsEnvironment#isHeadless */ public static String showInputDialog(Object message) @@ -451,6 +452,7 @@ * @param message the Object to display * @param initialSelectionValue the value used to initialize the input * field + * @return user's input * @since 1.4 */ public static String showInputDialog(Object message, Object initialSelectionValue) { @@ -469,6 +471,7 @@ * @exception HeadlessException if * GraphicsEnvironment.isHeadless returns * true + * @return user's input * @see java.awt.GraphicsEnvironment#isHeadless */ public static String showInputDialog(Component parentComponent, @@ -489,6 +492,7 @@ * @param message the Object to display * @param initialSelectionValue the value used to initialize the input * field + * @return user's input * @since 1.4 */ public static String showInputDialog(Component parentComponent, Object message, @@ -515,6 +519,7 @@ * WARNING_MESSAGE, * QUESTION_MESSAGE, * or PLAIN_MESSAGE + * @return user's input * @exception HeadlessException if * GraphicsEnvironment.isHeadless returns * true @@ -1348,6 +1353,7 @@ * @param parentComponent the parent Component * for the dialog * @param message the Object to display + * @return user's input */ public static String showInternalInputDialog(Component parentComponent, Object message) { @@ -1368,6 +1374,7 @@ * @param messageType the type of message that is to be displayed: * ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, * QUESTION_MESSAGE, or PLAIN_MESSAGE + * @return user's input */ public static String showInternalInputDialog(Component parentComponent, Object message, String title, int messageType) { @@ -2246,6 +2253,8 @@ *

* This is a bound property. * + * @param newValue if true, an input component whose parent is {@code parentComponent} + * is provided to allow the user to input a value. * @see #setSelectionValues * @see #setInputValue * @beaninfo diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JProgressBar.java --- a/jdk/src/share/classes/javax/swing/JProgressBar.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JProgressBar.java Fri Jun 20 10:15:30 2014 -0700 @@ -665,6 +665,7 @@ * to the {@code ChangeListener}s that have been added directly to the * progress bar. * + * @return the instance of a custom {@code ChangeListener} implementation. * @see #changeListener * @see #fireStateChanged * @see javax.swing.event.ChangeListener diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JRadioButton.java --- a/jdk/src/share/classes/javax/swing/JRadioButton.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JRadioButton.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,6 +118,7 @@ * Creates a radiobutton where properties are taken from the * Action supplied. * + * @param a an {@code Action} * @since 1.3 */ public JRadioButton(Action a) { @@ -175,6 +176,8 @@ * * @param text the string displayed on the radio button * @param icon the image that the button should display + * @param selected if {@code true}, the button is initially selected + * otherwise, the button is initially unselected */ public JRadioButton (String text, Icon icon, boolean selected) { super(text, icon, selected); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JRadioButtonMenuItem.java --- a/jdk/src/share/classes/javax/swing/JRadioButtonMenuItem.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JRadioButtonMenuItem.java Fri Jun 20 10:15:30 2014 -0700 @@ -173,6 +173,8 @@ * * @param text the string displayed on the radio button * @param icon the image that the button should display + * @param selected if {@code true}, the button is initially selected, + * otherwise, the button is initially unselected */ public JRadioButtonMenuItem(String text, Icon icon, boolean selected) { super(text, icon); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JScrollBar.java --- a/jdk/src/share/classes/javax/swing/JScrollBar.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JScrollBar.java Fri Jun 20 10:15:30 2014 -0700 @@ -149,6 +149,12 @@ * @see #setVisibleAmount * @see #setMinimum * @see #setMaximum + * + * @param orientation an orientation of the {@code JScrollBar} + * @param value an int giving the current value + * @param extent an int giving the amount by which the value can "jump" + * @param min an int giving the minimum value + * @param max an int giving the maximum value */ public JScrollBar(int orientation, int value, int extent, int min, int max) { @@ -172,6 +178,8 @@ * value = 0 * extent = 10 * + * + * @param orientation an orientation of the {@code JScrollBar} */ public JScrollBar(int orientation) { this(orientation, 0, 10, 0, 100); @@ -213,6 +221,7 @@ * Returns the delegate that implements the look and feel for * this component. * + * @return the scroll bar's current UI. * @see JComponent#setUI */ public ScrollBarUI getUI() { @@ -258,6 +267,7 @@ * Set the scrollbar's orientation to either VERTICAL or * HORIZONTAL. * + * @param orientation an orientation of the {@code JScrollBar} * @exception IllegalArgumentException if orientation is not one of VERTICAL, HORIZONTAL * @see #getOrientation * @beaninfo @@ -293,6 +303,8 @@ * Returns data model that handles the scrollbar's four * fundamental properties: minimum, maximum, value, extent. * + * @return the data model + * * @see #setModel */ public BoundedRangeModel getModel() { @@ -304,6 +316,7 @@ * Sets the model that handles the scrollbar's four * fundamental properties: minimum, maximum, value, extent. * + * @param newModel a new model * @see #getModel * @beaninfo * bound: true @@ -583,6 +596,8 @@ * scrollbar model will not generate ChangeEvents while * valueIsAdjusting is true. * + * @param b {@code true} if the upcoming changes to the value property are part of a series + * * @see #getValueIsAdjusting * @see BoundedRangeModel#setValueIsAdjusting * @beaninfo @@ -610,6 +625,10 @@ * minimum ≤ value ≤ value+extent ≤ maximum * * + * @param newValue an int giving the current value + * @param newExtent an int giving the amount by which the value can "jump" + * @param newMin an int giving the minimum value + * @param newMax an int giving the maximum value * * @see BoundedRangeModel#setRangeProperties * @see #setValue @@ -681,6 +700,10 @@ /** * Notify listeners that the scrollbar's model has changed. * + * @param id an integer indicating the type of event. + * @param type an integer indicating the adjustment type. + * @param value the current value of the adjustment + * * @see #addAdjustmentListener * @see EventListenerList */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JToggleButton.java --- a/jdk/src/share/classes/javax/swing/JToggleButton.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JToggleButton.java Fri Jun 20 10:15:30 2014 -0700 @@ -140,6 +140,7 @@ * Creates a toggle button where properties are taken from the * Action supplied. * + * @param a an instance of an {@code Action} * @since 1.3 */ public JToggleButton(Action a) { @@ -390,6 +391,9 @@ protected class AccessibleJToggleButton extends AccessibleAbstractButton implements ItemListener { + /** + * Constructs {@code AccessibleJToggleButton} + */ public AccessibleJToggleButton() { super(); JToggleButton.this.addItemListener(this); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JToolBar.java --- a/jdk/src/share/classes/javax/swing/JToolBar.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JToolBar.java Fri Jun 20 10:15:30 2014 -0700 @@ -161,6 +161,8 @@ /** * Returns the tool bar's current UI. + * + * @return the tool bar's current UI. * @see #setUI */ public ToolBarUI getUI() { @@ -555,7 +557,8 @@ * or null if the default * property change listener for the control is desired. * - * @return null + * @param b a {@code JButton} + * @return {@code null} */ protected PropertyChangeListener createActionChangeListener(JButton b) { return null; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/JTree.java --- a/jdk/src/share/classes/javax/swing/JTree.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/JTree.java Fri Jun 20 10:15:30 2014 -0700 @@ -986,6 +986,7 @@ * or equal to 0 the height for each row is determined by the * renderer. * + * @return the height of each row */ public int getRowHeight() { @@ -1115,6 +1116,7 @@ *

* This is a bound property. * + * @param clickCount the number of mouse clicks to get a node expanded or closed * @since 1.3 * @beaninfo * bound: true @@ -1508,6 +1510,7 @@ * is provided as an entry point for subclassers to add filtered * editing without having to resort to creating a new editor. * + * @param path a {@code TreePath} identifying a node * @return true if every parent node and the node itself is editable * @see #isEditable */ @@ -1984,6 +1987,8 @@ /** * Returns true if the node identified by the path has ever been * expanded. + * + * @param path a {@code TreePath} identifying a node * @return true if the path has ever been expanded */ public boolean hasBeenExpanded(TreePath path) { @@ -2079,6 +2084,7 @@ * which means it is either the root or all of its parents are expanded. * Otherwise, this method returns false. * + * @param path {@code TreePath} identifying a node * @return true if the node is viewable, otherwise false */ public boolean isVisible(TreePath path) { @@ -2472,6 +2478,7 @@ * set the selection model to null, which forces an empty * selection model to be used. * + * @return the model for selections * @see #setSelectionModel */ public TreeSelectionModel getSelectionModel() { @@ -2817,6 +2824,7 @@ * * @param path the TreePath indicating the node that was * expanded + * @throws ExpandVetoException if the expansion is prevented from occurring * @see EventListenerList */ public void fireTreeWillExpand(TreePath path) throws ExpandVetoException { @@ -2843,6 +2851,7 @@ * * @param path the TreePath indicating the node that was * expanded + * @throws ExpandVetoException if the collapse is prevented from occurring * @see EventListenerList */ public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException { @@ -3541,6 +3550,11 @@ * path are marked EXPANDED, but path itself * is marked collapsed.

* This will fail if a TreeWillExpandListener vetos it. + * + * @param path a {@code TreePath} identifying a node + * @param state if {@code true}, all parents of @{code path} and path are marked as expanded. + * Otherwise, all parents of {@code path} are marked EXPANDED, + * but {@code path} itself is marked collapsed. */ protected void setExpandedState(TreePath path, boolean state) { if(path != null) { @@ -3636,9 +3650,12 @@ } /** - * Returns an Enumeration of TreePaths + * Returns an {@code Enumeration} of {@code TreePaths} * that have been expanded that - * are descendants of parent. + * are descendants of {@code parent}. + * + * @param parent a path + * @return the {@code Enumeration} of {@code TreePaths} */ protected Enumeration getDescendantToggledPaths(TreePath parent) @@ -3701,6 +3718,8 @@ *

* For more information on what expanded state means, see the * JTree description above. + * + * @return the instance of {@code TreeModelHandler} */ protected TreeModelListener createTreeModelListener() { return new TreeModelHandler(); @@ -3711,6 +3730,9 @@ * path. If includePath is true and * path is selected, it will be removed from the selection. * + * @param path a path + * @param includePath is {@code true} and {@code path} is selected, + * it will be removed from the selection. * @return true if a descendant was selected * @since 1.3 */ @@ -3891,6 +3913,9 @@ * elements are added is children, otherwise if children * is a hashtable all the key/value pairs are added in the order * Enumeration returns them. + * + * @param parent the parent node + * @param children the children */ public static void createChildren(DefaultMutableTreeNode parent, Object children) { @@ -4113,6 +4138,9 @@ TreePath leadSelectionPath; Accessible leadSelectionAccessible; + /** + * Constructs {@code AccessibleJTree} + */ public AccessibleJTree() { // Add a tree model listener for JTree TreeModel model = JTree.this.getModel(); @@ -4551,7 +4579,11 @@ private boolean isLeaf = false; /** - * Constructs an AccessibleJTreeNode + * Constructs an AccessibleJTreeNode + * + * @param t an instance of {@code JTree} + * @param p an instance of {@code TreePath} + * @param ap an instance of {@code Accessible} * @since 1.4 */ public AccessibleJTreeNode(JTree t, TreePath p, Accessible ap) { @@ -5183,6 +5215,11 @@ } } + /** + * Returns the relative location of the node + * + * @return the relative location of the node + */ protected Point getLocationInJTree() { Rectangle r = tree.getPathBounds(path); if (r != null) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ListSelectionModel.java --- a/jdk/src/share/classes/javax/swing/ListSelectionModel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ListSelectionModel.java Fri Jun 20 10:15:30 2014 -0700 @@ -134,18 +134,25 @@ /** * Returns the first selected index or -1 if the selection is empty. + * + * @return the first selected index or -1 if the selection is empty. */ int getMinSelectionIndex(); /** * Returns the last selected index or -1 if the selection is empty. + * + * @return the last selected index or -1 if the selection is empty. */ int getMaxSelectionIndex(); /** * Returns true if the specified index is selected. + * + * @param index an index + * @return {@code true} if the specified index is selected */ boolean isSelectedIndex(int index); @@ -158,6 +165,7 @@ * indices specially, e.g. Windows95 displays the lead index with a * dotted yellow outline. * + * @return the anchor selection index * @see #getLeadSelectionIndex * @see #setSelectionInterval * @see #addSelectionInterval @@ -168,6 +176,7 @@ /** * Set the anchor selection index. * + * @param index the anchor selection index * @see #getAnchorSelectionIndex */ void setAnchorSelectionIndex(int index); @@ -177,6 +186,7 @@ * Return the second index argument from the most recent call to * setSelectionInterval(), addSelectionInterval() or removeSelectionInterval(). * + * @return the lead selection index. * @see #getAnchorSelectionIndex * @see #setSelectionInterval * @see #addSelectionInterval @@ -186,6 +196,7 @@ /** * Set the lead selection index. * + * @param index the lead selection index * @see #getLeadSelectionIndex */ void setLeadSelectionIndex(int index); @@ -200,20 +211,30 @@ /** * Returns true if no indices are selected. + * + * @return {@code true} if no indices are selected. */ boolean isSelectionEmpty(); /** - * Insert length indices beginning before/after index. This is typically + * Insert {@code length} indices beginning before/after {@code index}. This is typically * called to sync the selection model with a corresponding change * in the data model. + * + * @param index the beginning of the interval + * @param length the length of the interval + * @param before if {@code true}, interval inserts before the {@code index}, + * otherwise, interval inserts after the {@code index} */ void insertIndexInterval(int index, int length, boolean before); /** - * Remove the indices in the interval index0,index1 (inclusive) from + * Remove the indices in the interval {@code index0,index1} (inclusive) from * the selection model. This is typically called to sync the selection * model width a corresponding change in the data model. + * + * @param index0 the beginning of the interval + * @param index1 the end of the interval */ void removeIndexInterval(int index0, int index1); @@ -272,6 +293,7 @@ * In this mode, there's no restriction on what can be selected. * * + * @param selectionMode the selection mode * @see #getSelectionMode * @throws IllegalArgumentException if the selection mode isn't * one of those allowed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/MultiUIDefaults.java --- a/jdk/src/share/classes/javax/swing/MultiUIDefaults.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/MultiUIDefaults.java Fri Jun 20 10:15:30 2014 -0700 @@ -190,18 +190,18 @@ @Override public synchronized String toString() { - StringBuffer buf = new StringBuffer(); - buf.append("{"); + StringBuilder sb = new StringBuilder(); + sb.append("{"); Enumeration keys = keys(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); - buf.append(key + "=" + get(key) + ", "); + sb.append(key + "=" + get(key) + ", "); } - int length = buf.length(); + int length = sb.length(); if (length > 1) { - buf.delete(length-2, length); + sb.delete(length-2, length); } - buf.append("}"); - return buf.toString(); + sb.append("}"); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/RepaintManager.java --- a/jdk/src/share/classes/javax/swing/RepaintManager.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/RepaintManager.java Fri Jun 20 10:15:30 2014 -0700 @@ -331,6 +331,7 @@ * for the event dispatching thread that will validate the components * first isValidateRoot() ancestor. * + * @param invalidComponent a component * @see JComponent#isValidateRoot * @see #removeInvalidComponent */ @@ -374,6 +375,7 @@ /** * Remove a component from the list of invalid components. * + * @param component a component * @see #addInvalidComponent */ public synchronized void removeInvalidComponent(JComponent component) { @@ -610,9 +612,13 @@ return false; } - /** Return the current dirty region for a component. - * Return an empty rectangle if the component is not - * dirty. + /** + * Return the current dirty region for a component. + * Return an empty rectangle if the component is not + * dirty. + * + * @param aComponent a component + * @return the region */ public Rectangle getDirtyRegion(JComponent aComponent) { RepaintManager delegate = getDelegate(aComponent); @@ -632,6 +638,8 @@ /** * Mark a component completely dirty. aComponent will be * completely painted during the next paintDirtyRegions() call. + * + * @param aComponent a component */ public void markCompletelyDirty(JComponent aComponent) { RepaintManager delegate = getDelegate(aComponent); @@ -645,6 +653,8 @@ /** * Mark a component completely clean. aComponent will not * get painted during the next paintDirtyRegions() call. + * + * @param aComponent a component */ public void markCompletelyClean(JComponent aComponent) { RepaintManager delegate = getDelegate(aComponent); @@ -662,6 +672,10 @@ * painted during the next paintDirtyRegions(). If computing dirty regions is * expensive for your component, use this method and avoid computing dirty region * if it return true. + * + * @param aComponent a component + * @return {@code true} if aComponent will be completely + * painted during the next paintDirtyRegions(). */ public boolean isCompletelyDirty(JComponent aComponent) { RepaintManager delegate = getDelegate(aComponent); @@ -975,20 +989,26 @@ * @return a String representation of this object */ public synchronized String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if(dirtyComponents != null) sb.append("" + dirtyComponents); return sb.toString(); } - /** + /** * Return the offscreen buffer that should be used as a double buffer with * the component c. * By default there is a double buffer per RepaintManager. * The buffer might be smaller than (proposedWidth,proposedHeight) * This happens when the maximum double buffer size as been set for the receiving * repaint manager. + * + * @param c the component + * @param proposedWidth the width of the buffer + * @param proposedHeight the height of the buffer + * + * @return the image */ public Image getOffscreenBuffer(Component c,int proposedWidth,int proposedHeight) { RepaintManager delegate = getDelegate(c); @@ -998,18 +1018,23 @@ return _getOffscreenBuffer(c, proposedWidth, proposedHeight); } - /** - * Return a volatile offscreen buffer that should be used as a - * double buffer with the specified component c. - * The image returned will be an instance of VolatileImage, or null - * if a VolatileImage object could not be instantiated. - * This buffer might be smaller than (proposedWidth,proposedHeight). - * This happens when the maximum double buffer size has been set for this - * repaint manager. - * - * @see java.awt.image.VolatileImage - * @since 1.4 - */ + /** + * Return a volatile offscreen buffer that should be used as a + * double buffer with the specified component c. + * The image returned will be an instance of VolatileImage, or null + * if a VolatileImage object could not be instantiated. + * This buffer might be smaller than (proposedWidth,proposedHeight). + * This happens when the maximum double buffer size has been set for this + * repaint manager. + * + * @param c the component + * @param proposedWidth the width of the buffer + * @param proposedHeight the height of the buffer + * + * @return the volatile image + * @see java.awt.image.VolatileImage + * @since 1.4 + */ public Image getVolatileOffscreenBuffer(Component c, int proposedWidth,int proposedHeight) { RepaintManager delegate = getDelegate(c); @@ -1104,7 +1129,11 @@ } - /** Set the maximum double buffer size. **/ + /** + * Set the maximum double buffer size. + * + * @param d the dimension + */ public void setDoubleBufferMaximumSize(Dimension d) { doubleBufferMaxSize = d; if (doubleBufferMaxSize == null) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/RootPaneContainer.java --- a/jdk/src/share/classes/javax/swing/RootPaneContainer.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/RootPaneContainer.java Fri Jun 20 10:15:30 2014 -0700 @@ -132,6 +132,7 @@ * Generally implemented with

      *    getRootPane().setLayeredPane(layeredPane);
* + * @param layeredPane the layered pane * @exception java.awt.IllegalComponentStateException (a runtime * exception) if the layered pane parameter is null * @see #getLayeredPane @@ -162,6 +163,7 @@ * Generally implemented with * getRootPane().setGlassPane(glassPane); * + * @param glassPane the glass pane * @see #getGlassPane * @see JRootPane#setGlassPane */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/ScrollPaneLayout.java --- a/jdk/src/share/classes/javax/swing/ScrollPaneLayout.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/ScrollPaneLayout.java Fri Jun 20 10:15:30 2014 -0700 @@ -168,6 +168,8 @@ * }; * scrollpane.setLayout(mySPLayout): * + * + * @param sp an instance of the {@code JScrollPane} */ public void syncWithScrollPane(JScrollPane sp) { viewport = sp.getViewport(); @@ -1106,6 +1108,7 @@ * Returns the bounds of the border around the specified scroll pane's * viewport. * + * @param scrollpane an instance of the {@code JScrollPane} * @return the size and position of the viewport border * @deprecated As of JDK version Swing1.1 * replaced by JScrollPane.getViewportBorderBounds(). diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/SwingUtilities.java --- a/jdk/src/share/classes/javax/swing/SwingUtilities.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/SwingUtilities.java Fri Jun 20 10:15:30 2014 -0700 @@ -103,15 +103,23 @@ } /** - * Return true if a contains b + * Return {@code true} if @{code a} contains {@code b} + * + * @param a the first rectangle + * @param b the second rectangle + * + * @return {@code true} if @{code a} contains {@code b} */ - public static final boolean isRectangleContainingRectangle(Rectangle a,Rectangle b) { + public static boolean isRectangleContainingRectangle(Rectangle a,Rectangle b) { return b.x >= a.x && (b.x + b.width) <= (a.x + a.width) && b.y >= a.y && (b.y + b.height) <= (a.y + a.height); } /** - * Return the rectangle (0,0,bounds.width,bounds.height) for the component aComponent + * Return the rectangle (0,0,bounds.width,bounds.height) for the component {@code aComponent} + * + * @param aComponent a component + * @return the local bounds for the component {@code aComponent} */ public static Rectangle getLocalBounds(Component aComponent) { Rectangle b = new Rectangle(aComponent.getBounds()); @@ -165,6 +173,12 @@ * root component coordinate system. * If both source and destination are {@code null}, return aPoint * without any conversion. + * + * @param source the source component + * @param aPoint the point + * @param destination the destination component + * + * @return the converted coordinate */ public static Point convertPoint(Component source,Point aPoint,Component destination) { Point p; @@ -196,6 +210,13 @@ * root component coordinate system. * If both source and destination are {@code null}, return (x,y) * without any conversion. + * + * @param source the source component + * @param x the x-coordinate of the point + * @param y the y-coordinate of the point + * @param destination the destination component + * + * @return the converted coordinate */ public static Point convertPoint(Component source,int x, int y,Component destination) { Point point = new Point(x,y); @@ -211,6 +232,12 @@ * root component coordinate system. * If both source and destination are {@code null}, return aRectangle * without any conversion. + * + * @param source the source component + * @param aRectangle a rectangle + * @param destination the destination component + * + * @return the converted rectangle */ public static Rectangle convertRectangle(Component source,Rectangle aRectangle,Component destination) { Point point = new Point(aRectangle.x,aRectangle.y); @@ -222,6 +249,12 @@ * Convenience method for searching above comp in the * component hierarchy and returns the first object of class c it * finds. Can return {@code null}, if a class c cannot be found. + * + * @param c the class of a component + * @param comp the component + * + * @return the ancestor of the {@code comp}, + * or {@code null} if {@code c} cannot be found. */ public static Container getAncestorOfClass(Class c, Component comp) { @@ -238,6 +271,12 @@ * Convenience method for searching above comp in the * component hierarchy and returns the first object of name it * finds. Can return {@code null}, if name cannot be found. + * + * @param name the name of a component + * @param comp the component + * + * @return the ancestor of the {@code comp}, + * or {@code null} if {@code name} cannot be found. */ public static Container getAncestorNamed(String name, Component comp) { if(comp == null || name == null) @@ -260,6 +299,8 @@ * @param parent the root component to begin the search * @param x the x target location * @param y the y target location + * + * @return the deepest component */ public static Component getDeepestComponentAt(Component parent, int x, int y) { if (!parent.contains(x, y)) { @@ -297,6 +338,12 @@ * to destination if destination is non-{@code null} * use the translateMouseEvent() method to translate a mouse event from * one component to another without changing the source. + * + * @param source the source component + * @param sourceEvent the source mouse event + * @param destination the destination component + * + * @return the new mouse event */ public static MouseEvent convertMouseEvent(Component source, MouseEvent sourceEvent, @@ -456,7 +503,11 @@ } /** - * Return true if a component a descends from a component b + * Return {@code true} if a component {@code a} descends from a component {@code b} + * + * @param a the first component + * @param b the second component + * @return {@code true} if a component {@code a} descends from a component {@code b} */ public static boolean isDescendingFrom(Component a,Component b) { if(a == b) @@ -531,6 +582,12 @@ * Convenience returning an array of rect representing the regions within * rectA that do not overlap with rectB. If the * two Rects do not overlap, returns an empty array + * + * @param rectA the first rectangle + * @param rectB the second rectangle + * + * @return an array of rectangles representing the regions within {@code rectA} + * that do not overlap with {@code rectB}. */ public static Rectangle[] computeDifference(Rectangle rectA,Rectangle rectB) { if (rectB == null || !rectA.intersects(rectB) || isRectangleContainingRectangle(rectB,rectA)) { @@ -841,6 +898,21 @@ * relative to the viewR rectangle. * The JComponents orientation (LEADING/TRAILING) will also be taken * into account and translated into LEFT/RIGHT values accordingly. + * + * @param c the component + * @param fm the instance of {@code FontMetrics} + * @param text the text + * @param icon the icon + * @param verticalAlignment the vertical alignment + * @param horizontalAlignment the horizontal alignment + * @param verticalTextPosition the vertical text position + * @param horizontalTextPosition the horizontal text position + * @param viewR the available rectangle + * @param iconR the rectangle for the icon + * @param textR the rectangle for the text + * @param textIconGap the gap between text and icon + * + * @return the possibly clipped version of the compound labels string */ public static String layoutCompoundLabel(JComponent c, FontMetrics fm, @@ -910,6 +982,20 @@ * values in horizontalTextPosition (they will default to RIGHT) and in * horizontalAlignment (they will default to CENTER). * Use the other version of layoutCompoundLabel() instead. + * + * @param fm the instance of {@code FontMetrics} + * @param text the text + * @param icon the icon + * @param verticalAlignment the vertical alignment + * @param horizontalAlignment the horizontal alignment + * @param verticalTextPosition the vertical text position + * @param horizontalTextPosition the horizontal text position + * @param viewR the available rectangle + * @param iconR the rectangle for the icon + * @param textR the rectangle for the text + * @param textIconGap the gap between text and icon + * + * @return the possibly clipped version of the compound labels string */ public static String layoutCompoundLabel( FontMetrics fm, @@ -1219,6 +1305,8 @@ * A simple minded look and feel change: ask each node in the tree * to updateUI() -- that is, to initialize its UI property * with the current look and feel. + * + * @param c the component */ public static void updateComponentTreeUI(Component c) { updateComponentTreeUI0(c); @@ -1284,6 +1372,7 @@ *

* Unlike the rest of Swing, this method can be invoked from any thread. * + * @param doRun the instance of {@code Runnable} * @see #invokeAndWait */ public static void invokeLater(Runnable doRun) { @@ -1334,6 +1423,7 @@ * As of 1.3 this method is just a cover for * java.awt.EventQueue.invokeAndWait(). * + * @param doRun the instance of {@code Runnable} * @exception InterruptedException if we're interrupted while waiting for * the event dispatching thread to finish executing * doRun.run() @@ -1374,6 +1464,7 @@ * Component.AccessibleAWTComponent.getAccessibleIndexInParent() instead * of using this method. * + * @param c the component * @return -1 of this object does not have an accessible parent. * Otherwise, the index of the child in its accessible parent. */ @@ -1386,6 +1477,8 @@ * local coordinate Point, if one exists. * Otherwise returns null. * + * @param c the component + * @param p the local coordinate * @return the Accessible at the specified location, * if it exists; otherwise null */ @@ -1431,6 +1524,7 @@ * Component.AccessibleAWTComponent.getAccessibleIndexInParent() instead * of using this method. * + * @param c the component * @return an instance of AccessibleStateSet containing the current state * set of the object * @see AccessibleState @@ -1448,6 +1542,7 @@ * Component.AccessibleAWTComponent.getAccessibleIndexInParent() instead * of using this method. * + * @param c the component * @return the number of accessible children in the object. */ public static int getAccessibleChildrenCount(Component c) { @@ -1461,6 +1556,7 @@ * Component.AccessibleAWTComponent.getAccessibleIndexInParent() instead * of using this method. * + * @param c the component * @param i zero-based index of child * @return the nth Accessible child of the object */ @@ -1502,6 +1598,8 @@ /** * If c is a JRootPane descendant return its JRootPane ancestor. * If c is a RootPaneContainer then return its JRootPane. + * + * @param c the component * @return the JRootPane for Component c or {@code null}. */ public static JRootPane getRootPane(Component c) { @@ -1519,6 +1617,8 @@ /** * Returns the root component for the current component tree. + * + * @param c the component * @return the first ancestor of c that's a Window or the last Applet ancestor */ public static Component getRoot(Component c) { @@ -1616,6 +1716,14 @@ * This will return true if action is non-{@code null} and * actionPerformed is invoked on it. * + * @param action an action + * @param ks a key stroke + * @param event a key event + * @param sender a sender + * @param modifiers action modifiers + * @return {@code true} if {@code action} is non-{@code null} and + * actionPerformed is invoked on it. + * * @since 1.3 */ public static boolean notifyAction(Action action, KeyStroke ks, @@ -1672,6 +1780,9 @@ * to uiInputMap. If uiInputMap is {@code null}, * this removes any previously installed UI InputMap. * + * @param component a component + * @param type a type + * @param uiInputMap an {@code InputMap} * @since 1.3 */ public static void replaceUIInputMap(JComponent component, int type, @@ -1694,6 +1805,8 @@ * to uiActionMap. If uiActionMap is {@code null}, * this removes any previously installed UI ActionMap. * + * @param component a component + * @param uiActionMap an {@code ActionMap} * @since 1.3 */ public static void replaceUIActionMap(JComponent component, @@ -1714,9 +1827,14 @@ /** * Returns the InputMap provided by the UI for condition * condition in component component. - *

This will return {@code null} if the UI has not installed a InputMap + *

This will return {@code null} if the UI has not installed an InputMap * of the specified type. * + * @param component a component + * @param condition a condition + * @return the {@code ActionMap} provided by the UI for {@code condition} + * in the component, or {@code null} if the UI has not installed + * an InputMap of the specified type. * @since 1.3 */ public static InputMap getUIInputMap(JComponent component, int condition) { @@ -1736,6 +1854,9 @@ * in component component. *

This will return {@code null} if the UI has not installed an ActionMap. * + * @param component a component + * @return the {@code ActionMap} provided by the UI in the component, + * or {@code null} if the UI has not installed an ActionMap. * @since 1.3 */ public static ActionMap getUIActionMap(JComponent component) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/event/TreeModelEvent.java --- a/jdk/src/share/classes/javax/swing/event/TreeModelEvent.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/event/TreeModelEvent.java Fri Jun 20 10:15:30 2014 -0700 @@ -292,24 +292,24 @@ * @return a String representation of this object */ public String toString() { - StringBuffer retBuffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - retBuffer.append(getClass().getName() + " " + - Integer.toString(hashCode())); + sb.append(getClass().getName() + " " + + Integer.toString(hashCode())); if(path != null) - retBuffer.append(" path " + path); + sb.append(" path " + path); if(childIndices != null) { - retBuffer.append(" indices [ "); + sb.append(" indices [ "); for(int counter = 0; counter < childIndices.length; counter++) - retBuffer.append(Integer.toString(childIndices[counter])+ " "); - retBuffer.append("]"); + sb.append(Integer.toString(childIndices[counter])+ " "); + sb.append("]"); } if(children != null) { - retBuffer.append(" children [ "); + sb.append(" children [ "); for(int counter = 0; counter < children.length; counter++) - retBuffer.append(children[counter] + " "); - retBuffer.append("]"); + sb.append(children[counter] + " "); + sb.append("]"); } - return retBuffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -1322,8 +1322,8 @@ return null; } - StringBuffer plainBuf = new StringBuffer(); - StringBuffer htmlBuf = new StringBuffer(); + StringBuilder plainBuf = new StringBuilder(); + StringBuilder htmlBuf = new StringBuilder(); htmlBuf.append("\n\n

    \n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicListUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -2855,23 +2855,23 @@ return null; } - StringBuffer plainBuf = new StringBuffer(); - StringBuffer htmlBuf = new StringBuffer(); + StringBuilder plainStr = new StringBuilder(); + StringBuilder htmlStr = new StringBuilder(); - htmlBuf.append("\n\n
      \n"); + htmlStr.append("\n\n
        \n"); for (int i = 0; i < values.length; i++) { Object obj = values[i]; String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\n"); - htmlBuf.append("
      • " + val + "\n"); + plainStr.append(val + "\n"); + htmlStr.append("
      • " + val + "\n"); } // remove the last newline - plainBuf.deleteCharAt(plainBuf.length() - 1); - htmlBuf.append("
      \n\n"); + plainStr.deleteCharAt(plainStr.length() - 1); + htmlStr.append("
    \n\n"); - return new BasicTransferable(plainBuf.toString(), htmlBuf.toString()); + return new BasicTransferable(plainStr.toString(), htmlStr.toString()); } return null; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -2182,29 +2182,29 @@ return null; } - StringBuffer plainBuf = new StringBuffer(); - StringBuffer htmlBuf = new StringBuffer(); + StringBuilder plainStr = new StringBuilder(); + StringBuilder htmlStr = new StringBuilder(); - htmlBuf.append("\n\n\n"); + htmlStr.append("\n\n
    \n"); for (int row = 0; row < rows.length; row++) { - htmlBuf.append("\n"); + htmlStr.append("\n"); for (int col = 0; col < cols.length; col++) { Object obj = table.getValueAt(rows[row], cols[col]); String val = ((obj == null) ? "" : obj.toString()); - plainBuf.append(val + "\t"); - htmlBuf.append(" \n"); + plainStr.append(val + "\t"); + htmlStr.append(" \n"); } // we want a newline at the end of each line and not a tab - plainBuf.deleteCharAt(plainBuf.length() - 1).append("\n"); - htmlBuf.append("\n"); + plainStr.deleteCharAt(plainStr.length() - 1).append("\n"); + htmlStr.append("\n"); } // remove the last newline - plainBuf.deleteCharAt(plainBuf.length() - 1); - htmlBuf.append("
    " + val + "" + val + "
    \n\n"); + plainStr.deleteCharAt(plainStr.length() - 1); + htmlStr.append("\n\n"); - return new BasicTransferable(plainBuf.toString(), htmlBuf.toString()); + return new BasicTransferable(plainStr.toString(), htmlStr.toString()); } return null; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java --- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -3213,10 +3213,10 @@ return null; } - StringBuffer plainBuf = new StringBuffer(); - StringBuffer htmlBuf = new StringBuffer(); - - htmlBuf.append("\n\n
      \n"); + StringBuilder plainStr = new StringBuilder(); + StringBuilder htmlStr = new StringBuilder(); + + htmlStr.append("\n\n
        \n"); TreeModel model = tree.getModel(); TreePath lastPath = null; @@ -3227,17 +3227,17 @@ boolean leaf = model.isLeaf(node); String label = getDisplayString(path, true, leaf); - plainBuf.append(label + "\n"); - htmlBuf.append("
      • " + label + "\n"); + plainStr.append(label + "\n"); + htmlStr.append("
      • " + label + "\n"); } // remove the last newline - plainBuf.deleteCharAt(plainBuf.length() - 1); - htmlBuf.append("
      \n\n"); + plainStr.deleteCharAt(plainStr.length() - 1); + htmlStr.append("
    \n\n"); tree = null; - return new BasicTransferable(plainBuf.toString(), htmlBuf.toString()); + return new BasicTransferable(plainStr.toString(), htmlStr.toString()); } return null; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java --- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java Fri Jun 20 10:15:30 2014 -0700 @@ -618,20 +618,20 @@ } private String fileNameString(File[] files) { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; files != null && i < files.length; i++) { if (i > 0) { - buf.append(" "); + sb.append(" "); } if (files.length > 1) { - buf.append("\""); + sb.append("\""); } - buf.append(fileNameString(files[i])); + sb.append(fileNameString(files[i])); if (files.length > 1) { - buf.append("\""); + sb.append("\""); } } - return buf.toString(); + return sb.toString(); } /* The following methods are used by the PropertyChange Listener */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/nimbus/State.java --- a/jdk/src/share/classes/javax/swing/plaf/nimbus/State.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/State.java Fri Jun 20 10:15:30 2014 -0700 @@ -179,35 +179,35 @@ } private static String toString(int state) { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if ((state & SynthConstants.DEFAULT) == SynthConstants.DEFAULT) { - buffer.append("Default"); + sb.append("Default"); } if ((state & SynthConstants.DISABLED) == SynthConstants.DISABLED) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("Disabled"); + if (sb.length() > 0) sb.append("+"); + sb.append("Disabled"); } if ((state & SynthConstants.ENABLED) == SynthConstants.ENABLED) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("Enabled"); + if (sb.length() > 0) sb.append("+"); + sb.append("Enabled"); } if ((state & SynthConstants.FOCUSED) == SynthConstants.FOCUSED) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("Focused"); + if (sb.length() > 0) sb.append("+"); + sb.append("Focused"); } if ((state & SynthConstants.MOUSE_OVER) == SynthConstants.MOUSE_OVER) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("MouseOver"); + if (sb.length() > 0) sb.append("+"); + sb.append("MouseOver"); } if ((state & SynthConstants.PRESSED) == SynthConstants.PRESSED) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("Pressed"); + if (sb.length() > 0) sb.append("+"); + sb.append("Pressed"); } if ((state & SynthConstants.SELECTED) == SynthConstants.SELECTED) { - if (buffer.length() > 0) buffer.append("+"); - buffer.append("Selected"); + if (sb.length() > 0) sb.append("+"); + sb.append("Selected"); } - return buffer.toString(); + return sb.toString(); } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java --- a/jdk/src/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/plaf/synth/ParsedSynthStyle.java Fri Jun 20 10:15:30 2014 -0700 @@ -156,7 +156,7 @@ } public String toString() { - StringBuffer text = new StringBuffer(super.toString()); + StringBuilder text = new StringBuilder(super.toString()); if (_painters != null) { text.append(",painters=["); for (int i = 0; i < +_painters.length; i++) { @@ -208,7 +208,7 @@ } public String toString() { - StringBuffer text = new StringBuffer(super.toString()); + StringBuilder text = new StringBuilder(super.toString()); text.append(",painters=["); if (_painterInfo != null) { for (int i = 0; i < +_painterInfo.length; i++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java --- a/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Fri Jun 20 10:15:30 2014 -0700 @@ -1153,23 +1153,23 @@ */ public String toString() { int selCount = getSelectionCount(); - StringBuffer retBuffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); int[] rows; if(rowMapper != null) rows = rowMapper.getRowsForPaths(selection); else rows = null; - retBuffer.append(getClass().getName() + " " + hashCode() + " [ "); + sb.append(getClass().getName() + " " + hashCode() + " [ "); for(int counter = 0; counter < selCount; counter++) { if(rows != null) - retBuffer.append(selection[counter].toString() + "@" + - Integer.toString(rows[counter])+ " "); + sb.append(selection[counter].toString() + "@" + + Integer.toString(rows[counter])+ " "); else - retBuffer.append(selection[counter].toString() + " "); + sb.append(selection[counter].toString() + " "); } - retBuffer.append("]"); - return retBuffer.toString(); + sb.append("]"); + return sb.toString(); } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/javax/swing/tree/TreePath.java --- a/jdk/src/share/classes/javax/swing/tree/TreePath.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/javax/swing/tree/TreePath.java Fri Jun 20 10:15:30 2014 -0700 @@ -349,7 +349,7 @@ * @return a String representation of this object */ public String toString() { - StringBuffer tempSpot = new StringBuffer("["); + StringBuilder tempSpot = new StringBuilder("["); for(int counter = 0, maxCounter = getPathCount();counter < maxCounter; counter++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: ApacheNodeSetData.java 1203890 2011-11-18 22:47:56Z mullan $ @@ -47,7 +47,7 @@ this.xi = xi; } - public Iterator iterator() { + public Iterator iterator() { // If nodefilters are set, must execute them first to create node-set if (xi.getNodeFilters() != null && !xi.getNodeFilters().isEmpty()) { return Collections.unmodifiableSet diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,7 +118,7 @@ } ExcC14NParameterSpec params = (ExcC14NParameterSpec)spec; - StringBuffer prefixListAttr = new StringBuffer(""); + StringBuilder prefixListAttr = new StringBuilder(""); @SuppressWarnings("unchecked") List prefixList = params.getPrefixList(); for (int i = 0, size = prefixList.size(); i < size; i++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMKeyInfo.java 1333869 2012-05-04 10:42:44Z coheigea $ @@ -138,7 +138,7 @@ return id; } - public List getContent() { + public List getContent() { return keyInfoTypes; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMKeyInfoFactory.java 1333869 2012-05-04 10:42:44Z coheigea $ @@ -48,11 +48,12 @@ public DOMKeyInfoFactory() { } + @SuppressWarnings("rawtypes") public KeyInfo newKeyInfo(List content) { return newKeyInfo(content, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public KeyInfo newKeyInfo(List content, String id) { return new DOMKeyInfo(content, id); } @@ -78,12 +79,12 @@ return newPGPData(keyId, null, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public PGPData newPGPData(byte[] keyId, byte[] keyPacket, List other) { return new DOMPGPData(keyId, keyPacket, other); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public PGPData newPGPData(byte[] keyPacket, List other) { return new DOMPGPData(keyPacket, other); } @@ -92,7 +93,7 @@ return newRetrievalMethod(uri, null, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public RetrievalMethod newRetrievalMethod(String uri, String type, List transforms) { if (uri == null) { @@ -101,7 +102,7 @@ return new DOMRetrievalMethod(uri, type, transforms); } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public X509Data newX509Data(List content) { return new DOMX509Data(content); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMKeyValue.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -364,15 +364,16 @@ } void getMethods() throws ClassNotFoundException, NoSuchMethodException { - Class c = Class.forName("sun.security.ec.ECParameters"); - Class[] params = new Class[] { ECPoint.class, EllipticCurve.class }; + Class c = Class.forName("sun.security.ec.ECParameters"); + Class[] params = new Class[] { ECPoint.class, + EllipticCurve.class }; encodePoint = c.getMethod("encodePoint", params); - params = new Class[] { ECParameterSpec.class }; + params = new Class[] { ECParameterSpec.class }; getCurveName = c.getMethod("getCurveName", params); - params = new Class[] { byte[].class, EllipticCurve.class }; + params = new Class[] { byte[].class, EllipticCurve.class }; decodePoint = c.getMethod("decodePoint", params); c = Class.forName("sun.security.ec.NamedCurve"); - params = new Class[] { String.class }; + params = new Class[] { String.class }; getECParameterSpec = c.getMethod("getECParameterSpec", params); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMManifest.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -127,7 +127,12 @@ return id; } - public List getReferences() { + @SuppressWarnings("unchecked") + static List getManifestReferences(Manifest mf) { + return mf.getReferences(); + } + + public List getReferences() { return references; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMPGPData.java 1203846 2011-11-18 21:18:17Z mullan $ @@ -184,7 +184,7 @@ return (keyPacket == null ? null : keyPacket.clone()); } - public List getExternalElements() { + public List getExternalElements() { return externalElements; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * =========================================================================== @@ -293,7 +293,7 @@ return type; } - public List getTransforms() { + public List getTransforms() { return Collections.unmodifiableList(allTransforms); } @@ -643,7 +643,7 @@ try { final Set s = xsi.getNodeSet(); return new NodeSetData() { - public Iterator iterator() { return s.iterator(); } + public Iterator iterator() { return s.iterator(); } }; } catch (Exception e) { // log a warning diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * =========================================================================== @@ -177,7 +177,7 @@ return type; } - public List getTransforms() { + public List getTransforms() { return transforms; } @@ -245,7 +245,7 @@ // guard against RetrievalMethod loops if ((data instanceof NodeSetData) && Utils.secureValidation(context)) { NodeSetData nsd = (NodeSetData)data; - Iterator i = nsd.iterator(); + Iterator i = nsd.iterator(); if (i.hasNext()) { Node root = (Node)i.next(); if ("RetrievalMethod".equals(root.getLocalName())) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMSignatureProperties.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -125,7 +125,7 @@ } } - public List getProperties() { + public List getProperties() { return properties; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMSignatureProperty.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -123,7 +123,7 @@ } } - public List getContent() { + public List getContent() { return content; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMSignedInfo.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -206,7 +206,7 @@ return id; } - public List getReferences() { + public List getReferences() { return references; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id$ @@ -54,7 +54,7 @@ this.excludeComments = excludeComments; } - public Iterator iterator() { + public Iterator iterator() { return new DelayedNodeIterator(root, excludeComments); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMURIDereferencer.java 1231033 2012-01-13 12:12:12Z coheigea $ @@ -111,7 +111,8 @@ try { ResourceResolver apacheResolver = ResourceResolver.getInstance(uriAttr, baseURI, secVal); - XMLSignatureInput in = apacheResolver.resolve(uriAttr, baseURI); + XMLSignatureInput in = apacheResolver.resolve(uriAttr, + baseURI, secVal); if (in.isOctetStream()) { return new ApacheOctetStreamData(in); } else { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMX509Data.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -135,7 +135,7 @@ this.content = Collections.unmodifiableList(content); } - public List getContent() { + public List getContent() { return content; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * $Id: DOMXMLObject.java 1333415 2012-05-03 12:03:51Z coheigea $ @@ -139,7 +139,7 @@ this.objectElem = objElem; } - public List getContent() { + public List getContent() { return content; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java Fri Jun 20 10:15:30 2014 -0700 @@ -21,7 +21,7 @@ * under the License. */ /* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. */ /* * =========================================================================== @@ -188,7 +188,7 @@ return si; } - public List getObjects() { + public List getObjects() { return objects; } @@ -471,7 +471,8 @@ digestReference((DOMReference)xs, signContext); } else if (xs instanceof Manifest) { Manifest man = (Manifest)xs; - List manRefs = man.getReferences(); + List manRefs = + DOMManifest.getManifestReferences(man); for (int i = 0, size = manRefs.size(); i < size; i++) { digestReference((DOMReference)manRefs.get(i), signContext); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java --- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java Fri Jun 20 10:15:30 2014 -0700 @@ -58,7 +58,7 @@ return new DOMXMLSignature(si, ki, null, null, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId) { return new DOMXMLSignature(si, ki, objects, id, signatureValueId); @@ -68,13 +68,13 @@ return newReference(uri, dm, null, null, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id) { return new DOMReference(uri, type, dm, transforms, id, getProvider()); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Reference newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id) { @@ -91,7 +91,7 @@ (uri, type, dm, appliedTransforms, result, transforms, id, getProvider()); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue) { if (digestValue == null) { @@ -101,41 +101,41 @@ (uri, type, dm, null, null, transforms, id, digestValue, getProvider()); } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references) { return newSignedInfo(cm, sm, references, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id) { return new DOMSignedInfo(cm, sm, references, id); } // Object factory methods - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public XMLObject newXMLObject(List content, String id, String mimeType, String encoding) { return new DOMXMLObject(content, id, mimeType, encoding); } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public Manifest newManifest(List references) { return newManifest(references, null); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public Manifest newManifest(List references, String id) { return new DOMManifest(references, id); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public SignatureProperties newSignatureProperties(List props, String id) { return new DOMSignatureProperties(props, id); } - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes" }) public SignatureProperty newSignatureProperty (List info, String target, String id) { return new DOMSignatureProperty(info, target, id); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/applet/AppletViewer.java --- a/jdk/src/share/classes/sun/applet/AppletViewer.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/applet/AppletViewer.java Fri Jun 20 10:15:30 2014 -0700 @@ -1000,15 +1000,15 @@ * Scan identifier */ public static String scanIdentifier(Reader in) throws IOException { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); while (true) { if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) || ((c >= '0') && (c <= '9')) || (c == '_')) { - buf.append((char)c); + sb.append((char) c); c = in.read(); } else { - return buf.toString(); + return sb.toString(); } } } @@ -1031,19 +1031,19 @@ quote = c; c = in.read(); } - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); while ((c > 0) && (((quote < 0) && (c != ' ') && (c != '\t') && (c != '\n') && (c != '\r') && (c != '>')) || ((quote >= 0) && (c != quote)))) { - buf.append((char)c); + sb.append((char) c); c = in.read(); } if (c == quote) { c = in.read(); } skipSpace(in); - val = buf.toString(); + val = sb.toString(); } //statusMsgStream.println("PUT " + att + " = '" + val + "'"); if (! val.equals("")) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/font/Decoration.java --- a/jdk/src/share/classes/sun/font/Decoration.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/font/Decoration.java Fri Jun 20 10:15:30 2014 -0700 @@ -428,17 +428,17 @@ public String toString() { - StringBuffer buf = new StringBuffer(); - buf.append(super.toString()); - buf.append("["); - if (fgPaint != null) buf.append("fgPaint: " + fgPaint); - if (bgPaint != null) buf.append(" bgPaint: " + bgPaint); - if (swapColors) buf.append(" swapColors: true"); - if (strikethrough) buf.append(" strikethrough: true"); - if (stdUnderline != null) buf.append(" stdUnderline: " + stdUnderline); - if (imUnderline != null) buf.append(" imUnderline: " + imUnderline); - buf.append("]"); - return buf.toString(); + StringBuilder sb = new StringBuilder(); + sb.append(super.toString()); + sb.append("["); + if (fgPaint != null) sb.append("fgPaint: " + fgPaint); + if (bgPaint != null) sb.append(" bgPaint: " + bgPaint); + if (swapColors) sb.append(" swapColors: true"); + if (strikethrough) sb.append(" strikethrough: true"); + if (stdUnderline != null) sb.append(" stdUnderline: " + stdUnderline); + if (imUnderline != null) sb.append(" imUnderline: " + imUnderline); + sb.append("]"); + return sb.toString(); } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/font/ExtendedTextSourceLabel.java --- a/jdk/src/share/classes/sun/font/ExtendedTextSourceLabel.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/font/ExtendedTextSourceLabel.java Fri Jun 20 10:15:30 2014 -0700 @@ -896,31 +896,31 @@ if (true) { return source.toString(TextSource.WITHOUT_CONTEXT); } - StringBuffer buf = new StringBuffer(); - buf.append(super.toString()); - buf.append("[source:"); - buf.append(source.toString(TextSource.WITHOUT_CONTEXT)); - buf.append(", lb:"); - buf.append(lb); - buf.append(", ab:"); - buf.append(ab); - buf.append(", vb:"); - buf.append(vb); - buf.append(", gv:"); - buf.append(gv); - buf.append(", ci: "); + StringBuilder sb = new StringBuilder(); + sb.append(super.toString()); + sb.append("[source:"); + sb.append(source.toString(TextSource.WITHOUT_CONTEXT)); + sb.append(", lb:"); + sb.append(lb); + sb.append(", ab:"); + sb.append(ab); + sb.append(", vb:"); + sb.append(vb); + sb.append(", gv:"); + sb.append(gv); + sb.append(", ci: "); if (charinfo == null) { - buf.append("null"); + sb.append("null"); } else { - buf.append(charinfo[0]); + sb.append(charinfo[0]); for (int i = 1; i < charinfo.length;) { - buf.append(i % numvals == 0 ? "; " : ", "); - buf.append(charinfo[i]); + sb.append(i % numvals == 0 ? "; " : ", "); + sb.append(charinfo[i]); } } - buf.append("]"); + sb.append("]"); - return buf.toString(); + return sb.toString(); } //public static ExtendedTextLabel create(TextSource source) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/font/StandardTextSource.java --- a/jdk/src/share/classes/sun/font/StandardTextSource.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/font/StandardTextSource.java Fri Jun 20 10:15:30 2014 -0700 @@ -210,16 +210,16 @@ } public String toString(boolean withContext) { - StringBuffer buf = new StringBuffer(super.toString()); - buf.append("[start:"); - buf.append(start); - buf.append(", len:" ); - buf.append(len); - buf.append(", cstart:"); - buf.append(cstart); - buf.append(", clen:" ); - buf.append(clen); - buf.append(", chars:\""); + StringBuilder sb = new StringBuilder(super.toString()); + sb.append("[start:"); + sb.append(start); + sb.append(", len:" ); + sb.append(len); + sb.append(", cstart:"); + sb.append(cstart); + sb.append(", clen:" ); + sb.append(clen); + sb.append(", chars:\""); int chStart, chLimit; if (withContext == WITH_CONTEXT) { chStart = cstart; @@ -231,23 +231,23 @@ } for (int i = chStart; i < chLimit; ++i) { if (i > chStart) { - buf.append(" "); + sb.append(" "); } - buf.append(Integer.toHexString(chars[i])); + sb.append(Integer.toHexString(chars[i])); } - buf.append("\""); - buf.append(", level:"); - buf.append(level); - buf.append(", flags:"); - buf.append(flags); - buf.append(", font:"); - buf.append(font); - buf.append(", frc:"); - buf.append(frc); - buf.append(", cm:"); - buf.append(cm); - buf.append("]"); + sb.append("\""); + sb.append(", level:"); + sb.append(level); + sb.append(", flags:"); + sb.append(flags); + sb.append(", font:"); + sb.append(font); + sb.append(", frc:"); + sb.append(frc); + sb.append(", cm:"); + sb.append(cm); + sb.append("]"); - return buf.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/font/Type1Font.java --- a/jdk/src/share/classes/sun/font/Type1Font.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/font/Type1Font.java Fri Jun 20 10:15:30 2014 -0700 @@ -529,7 +529,7 @@ } private String expandName(String s, boolean tryExpandAbbreviations) { - StringBuffer res = new StringBuffer(s.length() + 10); + StringBuilder res = new StringBuilder(s.length() + 10); int start=0, end; while(start < s.length()) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/java2d/opengl/OGLContext.java --- a/jdk/src/share/classes/sun/java2d/opengl/OGLContext.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/java2d/opengl/OGLContext.java Fri Jun 20 10:15:30 2014 -0700 @@ -201,29 +201,29 @@ @Override public String toString() { - StringBuffer buf = new StringBuffer(super.toString()); + StringBuilder sb = new StringBuilder(super.toString()); if ((caps & CAPS_EXT_FBOBJECT) != 0) { - buf.append("CAPS_EXT_FBOBJECT|"); + sb.append("CAPS_EXT_FBOBJECT|"); } if ((caps & CAPS_STORED_ALPHA) != 0) { - buf.append("CAPS_STORED_ALPHA|"); + sb.append("CAPS_STORED_ALPHA|"); } if ((caps & CAPS_DOUBLEBUFFERED) != 0) { - buf.append("CAPS_DOUBLEBUFFERED|"); + sb.append("CAPS_DOUBLEBUFFERED|"); } if ((caps & CAPS_EXT_LCD_SHADER) != 0) { - buf.append("CAPS_EXT_LCD_SHADER|"); + sb.append("CAPS_EXT_LCD_SHADER|"); } if ((caps & CAPS_EXT_BIOP_SHADER) != 0) { - buf.append("CAPS_BIOP_SHADER|"); + sb.append("CAPS_BIOP_SHADER|"); } if ((caps & CAPS_EXT_GRAD_SHADER) != 0) { - buf.append("CAPS_EXT_GRAD_SHADER|"); + sb.append("CAPS_EXT_GRAD_SHADER|"); } if ((caps & CAPS_EXT_TEXRECT) != 0) { - buf.append("CAPS_EXT_TEXRECT|"); + sb.append("CAPS_EXT_TEXRECT|"); } - return buf.toString(); + return sb.toString(); } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/java2d/pipe/Region.java --- a/jdk/src/share/classes/sun/java2d/pipe/Region.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/java2d/pipe/Region.java Fri Jun 20 10:15:30 2014 -0700 @@ -1277,7 +1277,7 @@ } public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("Region[["); sb.append(lox); sb.append(", "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/java2d/pipe/hw/ContextCapabilities.java --- a/jdk/src/share/classes/sun/java2d/pipe/hw/ContextCapabilities.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/java2d/pipe/hw/ContextCapabilities.java Fri Jun 20 10:15:30 2014 -0700 @@ -93,37 +93,37 @@ @Override public String toString() { - StringBuffer buf = - new StringBuffer("ContextCapabilities: adapter=" + + StringBuilder sb = + new StringBuilder("ContextCapabilities: adapter=" + adapterId+", caps="); if (caps == CAPS_EMPTY) { - buf.append("CAPS_EMPTY"); + sb.append("CAPS_EMPTY"); } else { if ((caps & CAPS_RT_PLAIN_ALPHA) != 0) { - buf.append("CAPS_RT_PLAIN_ALPHA|"); + sb.append("CAPS_RT_PLAIN_ALPHA|"); } if ((caps & CAPS_RT_TEXTURE_ALPHA) != 0) { - buf.append("CAPS_RT_TEXTURE_ALPHA|"); + sb.append("CAPS_RT_TEXTURE_ALPHA|"); } if ((caps & CAPS_RT_TEXTURE_OPAQUE) != 0) { - buf.append("CAPS_RT_TEXTURE_OPAQUE|"); + sb.append("CAPS_RT_TEXTURE_OPAQUE|"); } if ((caps & CAPS_MULTITEXTURE) != 0) { - buf.append("CAPS_MULTITEXTURE|"); + sb.append("CAPS_MULTITEXTURE|"); } if ((caps & CAPS_TEXNONPOW2) != 0) { - buf.append("CAPS_TEXNONPOW2|"); + sb.append("CAPS_TEXNONPOW2|"); } if ((caps & CAPS_TEXNONSQUARE) != 0) { - buf.append("CAPS_TEXNONSQUARE|"); + sb.append("CAPS_TEXNONSQUARE|"); } if ((caps & CAPS_PS20) != 0) { - buf.append("CAPS_PS20|"); + sb.append("CAPS_PS20|"); } if ((caps & CAPS_PS30) != 0) { - buf.append("CAPS_PS30|"); + sb.append("CAPS_PS30|"); } } - return buf.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java --- a/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/jvmstat/monitor/HostIdentifier.java Fri Jun 20 10:15:30 2014 -0700 @@ -358,7 +358,7 @@ URI nuri = null; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(scheme).append("://"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/jvmstat/monitor/MonitoredHost.java --- a/jdk/src/share/classes/sun/jvmstat/monitor/MonitoredHost.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/jvmstat/monitor/MonitoredHost.java Fri Jun 20 10:15:30 2014 -0700 @@ -257,7 +257,7 @@ throws MonitorException { String hostname = hostId.getHost(); String scheme = hostId.getScheme(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); assert hostname != null; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/jvmstat/monitor/VmIdentifier.java --- a/jdk/src/share/classes/sun/jvmstat/monitor/VmIdentifier.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/jvmstat/monitor/VmIdentifier.java Fri Jun 20 10:15:30 2014 -0700 @@ -255,7 +255,7 @@ * a MonitorException in a future version. */ public HostIdentifier getHostIdentifier() throws URISyntaxException { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (getScheme() != null) { sb.append(getScheme()).append(":"); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/management/Agent.java --- a/jdk/src/share/classes/sun/management/Agent.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/management/Agent.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,7 +34,6 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.InetAddress; -import java.net.Socket; import java.net.UnknownHostException; import java.text.MessageFormat; import java.util.MissingResourceException; @@ -88,7 +87,7 @@ // return empty property set private static Properties parseString(String args) { Properties argProps = new Properties(); - if (args != null) { + if (args != null && !args.trim().equals("")) { for (String option : args.split(",")) { String s[] = option.split("=", 2); String name = s[0].trim(); @@ -160,53 +159,59 @@ throw new RuntimeException(getText(INVALID_STATE, "Agent already started")); } - Properties argProps = parseString(args); - Properties configProps = new Properties(); + try { + Properties argProps = parseString(args); + Properties configProps = new Properties(); - // Load the management properties from the config file - // if config file is not specified readConfiguration implicitly - // reads /lib/management/management.properties + // Load the management properties from the config file + // if config file is not specified readConfiguration implicitly + // reads /lib/management/management.properties + + String fname = System.getProperty(CONFIG_FILE); + readConfiguration(fname, configProps); - String fname = System.getProperty(CONFIG_FILE); - readConfiguration(fname, configProps); + // management properties can be overridden by system properties + // which take precedence + Properties sysProps = System.getProperties(); + synchronized (sysProps) { + configProps.putAll(sysProps); + } - // management properties can be overridden by system properties - // which take precedence - Properties sysProps = System.getProperties(); - synchronized (sysProps) { - configProps.putAll(sysProps); - } + // if user specifies config file into command line for either + // jcmd utilities or attach command it overrides properties set in + // command line at the time of VM start + String fnameUser = argProps.getProperty(CONFIG_FILE); + if (fnameUser != null) { + readConfiguration(fnameUser, configProps); + } - // if user specifies config file into command line for either - // jcmd utilities or attach command it overrides properties set in - // command line at the time of VM start - String fnameUser = argProps.getProperty(CONFIG_FILE); - if (fnameUser != null) { - readConfiguration(fnameUser, configProps); - } + // arguments specified in command line of jcmd utilities + // override both system properties and one set by config file + // specified in jcmd command line + configProps.putAll(argProps); - // arguments specified in command line of jcmd utilities - // override both system properties and one set by config file - // specified in jcmd command line - configProps.putAll(argProps); + // jcmd doesn't allow to change ThreadContentionMonitoring, but user + // can specify this property inside config file, so enable optional + // monitoring functionality if this property is set + final String enableThreadContentionMonitoring = + configProps.getProperty(ENABLE_THREAD_CONTENTION_MONITORING); - // jcmd doesn't allow to change ThreadContentionMonitoring, but user - // can specify this property inside config file, so enable optional - // monitoring functionality if this property is set - final String enableThreadContentionMonitoring = - configProps.getProperty(ENABLE_THREAD_CONTENTION_MONITORING); + if (enableThreadContentionMonitoring != null) { + ManagementFactory.getThreadMXBean(). + setThreadContentionMonitoringEnabled(true); + } - if (enableThreadContentionMonitoring != null) { - ManagementFactory.getThreadMXBean(). - setThreadContentionMonitoringEnabled(true); - } + String jmxremotePort = configProps.getProperty(JMXREMOTE_PORT); + if (jmxremotePort != null) { + jmxServer = ConnectorBootstrap. + startRemoteConnectorServer(jmxremotePort, configProps); - String jmxremotePort = configProps.getProperty(JMXREMOTE_PORT); - if (jmxremotePort != null) { - jmxServer = ConnectorBootstrap. - startRemoteConnectorServer(jmxremotePort, configProps); - - startDiscoveryService(configProps); + startDiscoveryService(configProps); + } else { + throw new AgentConfigurationError(INVALID_JMXREMOTE_PORT, "No port specified"); + } + } catch (AgentConfigurationError err) { + error(err.getError(), err.getParams()); } } @@ -401,7 +406,7 @@ if (home == null) { throw new Error("Can't find java.home ??"); } - StringBuffer defaultFileName = new StringBuffer(home); + StringBuilder defaultFileName = new StringBuilder(home); defaultFileName.append(File.separator).append("lib"); defaultFileName.append(File.separator).append("management"); defaultFileName.append(File.separator).append("management.properties"); @@ -495,7 +500,7 @@ if (params == null || params.length == 0) { error(key); } else { - StringBuffer message = new StringBuffer(params[0]); + StringBuilder message = new StringBuilder(params[0]); for (int i = 1; i < params.length; i++) { message.append(" " + params[i]); } @@ -507,7 +512,7 @@ String keyText = getText(key); System.err.print(getText("agent.err.error") + ": " + keyText); System.err.println(": " + message); - throw new RuntimeException(keyText); + throw new RuntimeException(keyText + ": " + message); } public static void error(Exception e) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/management/manifest --- a/jdk/src/share/classes/sun/management/manifest Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -Premain-Class: sun.management.Agent -Agent-Class: sun.management.Agent - diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/management/resources/agent.properties --- a/jdk/src/share/classes/sun/management/resources/agent.properties Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/management/resources/agent.properties Fri Jun 20 10:15:30 2014 -0700 @@ -43,7 +43,7 @@ agent.err.premain.notfound = premain(String) does not exist in agent class agent.err.agentclass.access.denied = Access to premain(String) is denied agent.err.invalid.agentclass = Invalid com.sun.management.agent.class property value -agent.err.invalid.state = Invalid agent state +agent.err.invalid.state = Invalid agent state: {0} agent.err.invalid.jmxremote.port = Invalid com.sun.management.jmxremote.port number agent.err.invalid.jmxremote.rmi.port = Invalid com.sun.management.jmxremote.rmi.port number diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java --- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JvmThreadInstanceEntryImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -311,19 +311,19 @@ StackTraceElement[] stackTrace = info.getStackTrace(); //We append the stack trace in a buffer // XXX Revisit: should check isDebugOn() - StringBuffer b = new StringBuffer(); + StringBuilder sb = new StringBuilder(); final int stackSize = stackTrace.length; log.debug("getJvmThreadInstStackTrace", "Stack size : " + stackSize); for(int i = 0; i < stackSize; i++) { log.debug("getJvmThreadInstStackTrace", "Append " + stackTrace[i].toString()); - b.append(stackTrace[i].toString()); + sb.append(stackTrace[i].toString()); //Append \n at the end of each line except the last one if(i < stackSize) - b.append("\n"); + sb.append("\n"); } //The stack trace is truncated if its size exceeds 255. - return validPathElementTC(b.toString()); + return validPathElementTC(sb.toString()); } static final MibLogger log = new MibLogger(JvmThreadInstanceEntryImpl.class); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/misc/MessageUtils.java --- a/jdk/src/share/classes/sun/misc/MessageUtils.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/misc/MessageUtils.java Fri Jun 20 10:15:30 2014 -0700 @@ -55,7 +55,7 @@ } public static String subst(String patt, String args[]) { - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); int len = patt.length(); for (int i = 0; i >= 0 && i < len; i++) { char ch = patt.charAt(i); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/misc/Timeable.java --- a/jdk/src/share/classes/sun/misc/Timeable.java Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* - * Copyright (c) 1995, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.misc; - -/** - * This interface is used by the Timer class. A class that uses - * Timer objects must implement this interface. - * - * @see Timer - * @author Patrick Chan - */ -public interface Timeable { - /** - * This method is executed every time a timer owned by this - * object ticks. An object can own more than one timer but - * all timers call this method when they tick; - * you can use the supplied timer parameter to determine - * which timer has ticked. - * @param timer a handle to the timer that has just ticked. - */ - public void tick(Timer timer); -} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/misc/Timer.java --- a/jdk/src/share/classes/sun/misc/Timer.java Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,647 +0,0 @@ -/* - * Copyright (c) 1995, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package sun.misc; - -/** - A Timer object is used by algorithms that require timed events. - For example, in an animation loop, a timer would help in - determining when to change frames. - - A timer has an interval which determines when it "ticks"; - that is, a timer delays for the specified interval and then - it calls the owner's tick() method. - - Here's an example of creating a timer with a 5 sec interval: - -
    -    class Main implements Timeable {
    -        public void tick(Timer timer) {
    -            System.out.println("tick");
    -        }
    -        public static void main(String args[]) {
    -            (new Timer(this, 5000)).cont();
    -        }
    -    }
    -    
    - - A timer can be stopped, continued, or reset at any time. - A timer's state is not stopped while it's calling the - owner's tick() method. - - A timer can be regular or irregular. If in regular mode, - a timer ticks at the specified interval, regardless of - how long the owner's tick() method takes. While the timer - is running, no ticks are ever discarded. That means that if - the owner's tick() method takes longer than the interval, - the ticks that would have occurred are delivered immediately. - - In irregular mode, a timer starts delaying for exactly - the specified interval only after the tick() method returns. - - Synchronization issues: do not hold the timer's monitor - while calling any of the Timer operations below otherwise - the Timer class will deadlock. - - @author Patrick Chan -*/ - -/* - Synchronization issues: there are two data structures that - require locking. A Timer object and the Timer queue - (described in the TimerThread class). To avoid deadlock, - the timer queue monitor is always acquired before the timer - object's monitor. However, the timer queue monitor is acquired - only if the timer operation will make use of the timer - queue, e.g. stop(). - - The class monitor on the class TimerThread severs as the monitor - to the timer queue. - - Possible feature: perhaps a timer should have an associated - thread priority. The thread that makes the callback temporarily - takes on that priority before calling the owner's tick() method. -*/ - -public class Timer { - /** - * This is the owner of the timer. Its tick method is - * called when the timer ticks. - */ - public Timeable owner; - - /* - * This is the interval of time in ms. - */ - long interval; - - /* - * This variable is used for two different purposes. - * This is done in order to save space. - * If 'stopped' is true, this variable holds the time - * that the timer was stopped; otherwise, this variable - * is used by the TimerThread to determine when the timer - * should tick. - */ - long sleepUntil; - - /* - * This is the time remaining before the timer ticks. It - * is only valid if 'stopped' is true. If the timer is - * continued, the next tick will happen remaingTime - * milliseconds later. - */ - long remainingTime; - - /* - * True iff the timer is in regular mode. - */ - boolean regular; - - /* - * True iff the timer has been stopped. - */ - boolean stopped; - - /* ************************************************************** - * Timer queue-related variables - * ************************************************************** */ - - /* - * A link to another timer object. This is used while the - * timer object is enqueued in the timer queue. - */ - Timer next; - - /* ************************************************************** - * Timer methods - * ************************************************************** */ - - /* - * This variable holds a handle to the TimerThread class for - * the purpose of getting at the class monitor. The reason - * why Class.forName("TimerThread") is not used is because it - * doesn't appear to work when loaded via a net class loader. - */ - static TimerThread timerThread = null; - - /** - * Creates a timer object that is owned by 'owner' and - * with the interval 'interval' milliseconds. The new timer - * object is stopped and is regular. getRemainingTime() - * return 'interval' at this point. getStopTime() returns - * the time this object was created. - * @param owner owner of the timer object - * @param interval interval of the timer in milliseconds - */ - public Timer(Timeable owner, long interval) { - this.owner = owner; - this.interval = interval; - remainingTime = interval; - regular = true; - sleepUntil = System.currentTimeMillis(); - stopped = true; - synchronized (getClass()) { - if (timerThread == null) { - timerThread = new TimerThread(); - } - } - } - - /** - * Returns true if this timer is stopped. - */ - public synchronized boolean isStopped() { - return stopped; - } - - /** - * Stops the timer. The amount of time the timer has already - * delayed is saved so if the timer is continued, it will only - * delay for the amount of time remaining. - * Note that even after stopping a timer, one more tick may - * still occur. - * This method is MT-safe; i.e. it is synchronized but for - * implementation reasons, the synchronized modifier cannot - * be included in the method declaration. - */ - public void stop() { - long now = System.currentTimeMillis(); - - synchronized (timerThread) { - synchronized (this) { - if (!stopped) { - TimerThread.dequeue(this); - remainingTime = Math.max(0, sleepUntil - now); - sleepUntil = now; // stop time - stopped = true; - } - } - } - } - - /** - * Continue the timer. The next tick will come at getRemainingTime() - * milliseconds later. If the timer is not stopped, this - * call will be a no-op. - * This method is MT-safe; i.e. it is synchronized but for - * implementation reasons, the synchronized modifier cannot - * be included in the method declaration. - */ - public void cont() { - synchronized (timerThread) { - synchronized (this) { - if (stopped) { - // The TimerTickThread avoids requeuing the - // timer only if the sleepUntil value has changed. - // The following guarantees that the sleepUntil - // value will be different; without this guarantee, - // it's theoretically possible for the timer to be - // inserted twice. - sleepUntil = Math.max(sleepUntil + 1, - System.currentTimeMillis() + remainingTime); - TimerThread.enqueue(this); - stopped = false; - } - } - } - } - - /** - * Resets the timer's remaining time to the timer's interval. - * If the timer's running state is not altered. - */ - public void reset() { - synchronized (timerThread) { - synchronized (this) { - setRemainingTime(interval); - } - } - } - - /** - * Returns the time at which the timer was last stopped. The - * return value is valid only if the timer is stopped. - */ - public synchronized long getStopTime() { - return sleepUntil; - } - - /** - * Returns the timer's interval. - */ - public synchronized long getInterval() { - return interval; - } - - /** - * Changes the timer's interval. The new interval setting - * does not take effect until after the next tick. - * This method does not alter the remaining time or the - * running state of the timer. - * @param interval new interval of the timer in milliseconds - */ - public synchronized void setInterval(long interval) { - this.interval = interval; - } - - /** - * Returns the remaining time before the timer's next tick. - * The return value is valid only if timer is stopped. - */ - public synchronized long getRemainingTime() { - return remainingTime; - } - - /** - * Sets the remaining time before the timer's next tick. - * This method does not alter the timer's running state. - * This method is MT-safe; i.e. it is synchronized but for - * implementation reasons, the synchronized modifier cannot - * be included in the method declaration. - * @param time new remaining time in milliseconds. - */ - public void setRemainingTime(long time) { - synchronized (timerThread) { - synchronized (this) { - if (stopped) { - remainingTime = time; - } else { - stop(); - remainingTime = time; - cont(); - } - } - } - } - - /** - * In regular mode, a timer ticks at the specified interval, - * regardless of how long the owner's tick() method takes. - * While the timer is running, no ticks are ever discarded. - * That means that if the owner's tick() method takes longer - * than the interval, the ticks that would have occurred are - * delivered immediately. - * - * In irregular mode, a timer starts delaying for exactly - * the specified interval only after the tick() method returns. - */ - public synchronized void setRegular(boolean regular) { - this.regular = regular; - } - - /* - * This method is used only for testing purposes. - */ - protected Thread getTimerThread() { - return TimerThread.timerThread; - } -} - - -/* - -This class implements the timer queue and is exclusively used by the -Timer class. There are only two methods exported to the Timer class - -enqueue, for inserting a timer into queue and dequeue, for removing -a timer from the queue. - -A timer in the timer queue is awaiting a tick. When a timer is to be -ticked, it is removed from the timer queue before the owner's tick() -method is called. - -A single timer thread manages the timer queue. This timer thread -looks at the head of the timer queue and delays until it's time for -the timer to tick. When the time comes, the timer thread creates a -callback thread to call the timer owner's tick() method. The timer -thread then processes the next timer in the queue. - -When a timer is inserted at the head of the queue, the timer thread is -notified. This causes the timer thread to prematurely wake up and -process the new head of the queue. - -*/ - -class TimerThread extends Thread { - /* - * Set to true to get debugging output. - */ - public static boolean debug = false; - - /* - * This is a handle to the thread managing the thread queue. - */ - static TimerThread timerThread; - - /* - * This flag is set if the timer thread has been notified - * while it was in the timed wait. This flag allows the - * timer thread to tell whether or not the wait completed. - */ - static boolean notified = false; - - protected TimerThread() { - super("TimerThread"); - timerThread = this; - start(); - } - - public synchronized void run() { - while (true) { - long delay; - - while (timerQueue == null) { - try { - wait(); - } catch (InterruptedException ex) { - // Just drop through and check timerQueue. - } - } - notified = false; - delay = timerQueue.sleepUntil - System.currentTimeMillis(); - if (delay > 0) { - try { - wait(delay); - } catch (InterruptedException ex) { - // Just drop through. - } - } - // remove from timer queue. - if (!notified) { - Timer timer = timerQueue; - timerQueue = timerQueue.next; - TimerTickThread thr = TimerTickThread.call( - timer, timer.sleepUntil); - if (debug) { - long delta = (System.currentTimeMillis() - timer.sleepUntil); - System.out.println("tick(" + thr.getName() + "," - + timer.interval + ","+delta+ ")"); - if (delta > 250) { - System.out.println("*** BIG DELAY ***"); - } - } - } - } - } - - /* ******************************************************* - Timer Queue - ******************************************************* */ - - /* - * The timer queue is a queue of timers waiting to tick. - */ - static Timer timerQueue = null; - - /* - * Uses timer.sleepUntil to determine where in the queue - * to insert the timer object. - * A new ticker thread is created only if the timer - * is inserted at the beginning of the queue. - * The timer must not already be in the queue. - * Assumes the caller has the TimerThread monitor. - */ - static protected void enqueue(Timer timer) { - Timer prev = null; - Timer cur = timerQueue; - - if (cur == null || timer.sleepUntil <= cur.sleepUntil) { - // insert at front of queue - timer.next = timerQueue; - timerQueue = timer; - notified = true; - timerThread.notify(); - } else { - do { - prev = cur; - cur = cur.next; - } while (cur != null && timer.sleepUntil > cur.sleepUntil); - // insert or append to the timer queue - timer.next = cur; - prev.next = timer; - } - if (debug) { - long now = System.currentTimeMillis(); - - System.out.print(Thread.currentThread().getName() - + ": enqueue " + timer.interval + ": "); - cur = timerQueue; - while(cur != null) { - long delta = cur.sleepUntil - now; - System.out.print(cur.interval + "(" + delta + ") "); - cur = cur.next; - } - System.out.println(); - } - } - - /* - * If the timer is not in the queue, returns false; - * otherwise removes the timer from the timer queue and returns true. - * Assumes the caller has the TimerThread monitor. - */ - static protected boolean dequeue(Timer timer) { - Timer prev = null; - Timer cur = timerQueue; - - while (cur != null && cur != timer) { - prev = cur; - cur = cur.next; - } - if (cur == null) { - if (debug) { - System.out.println(Thread.currentThread().getName() - + ": dequeue " + timer.interval + ": no-op"); - } - return false; - } if (prev == null) { - timerQueue = timer.next; - notified = true; - timerThread.notify(); - } else { - prev.next = timer.next; - } - timer.next = null; - if (debug) { - long now = System.currentTimeMillis(); - - System.out.print(Thread.currentThread().getName() - + ": dequeue " + timer.interval + ": "); - cur = timerQueue; - while(cur != null) { - long delta = cur.sleepUntil - now; - System.out.print(cur.interval + "(" + delta + ") "); - cur = cur.next; - } - System.out.println(); - } - return true; - } - - /* - * Inserts the timer back into the queue. This method - * is used by a callback thread after it has called the - * timer owner's tick() method. This method recomputes - * the sleepUntil field. - * Assumes the caller has the TimerThread and Timer monitor. - */ - protected static void requeue(Timer timer) { - if (!timer.stopped) { - long now = System.currentTimeMillis(); - if (timer.regular) { - timer.sleepUntil += timer.interval; - } else { - timer.sleepUntil = now + timer.interval; - } - enqueue(timer); - } else if (debug) { - System.out.println(Thread.currentThread().getName() - + ": requeue " + timer.interval + ": no-op"); - } - } -} - -/* - -This class implements a simple thread whose only purpose is to call a -timer owner's tick() method. A small fixed-sized pool of threads is -maintained and is protected by the class monitor. If the pool is -exhausted, a new thread is temporarily created and destroyed when -done. - -A thread that's in the pool waits on it's own monitor. When the -thread is retrieved from the pool, the retriever notifies the thread's -monitor. - -*/ - -class TimerTickThread extends Thread { - /* - * Maximum size of the thread pool. - */ - static final int MAX_POOL_SIZE = 3; - - /* - * Number of threads in the pool. - */ - static int curPoolSize = 0; - - /* - * The pool of timer threads. - */ - static TimerTickThread pool = null; - - /* - * Is used when linked into the thread pool. - */ - TimerTickThread next = null; - - /* - * This is the handle to the timer whose owner's - * tick() method will be called. - */ - Timer timer; - - /* - * The value of a timer's sleepUntil value is captured here. - * This is used to determine whether or not the timer should - * be reinserted into the queue. If the timer's sleepUntil - * value has changed, the timer is not reinserted. - */ - long lastSleepUntil; - - /* - * Creates a new callback thread to call the timer owner's - * tick() method. A thread is taken from the pool if one - * is available, otherwise, a new thread is created. - * The thread handle is returned. - */ - protected static synchronized TimerTickThread call( - Timer timer, long sleepUntil) { - TimerTickThread thread = pool; - - if (thread == null) { - // create one. - thread = new TimerTickThread(); - thread.timer = timer; - thread.lastSleepUntil = sleepUntil; - thread.start(); - } else { - pool = pool.next; - thread.timer = timer; - thread.lastSleepUntil = sleepUntil; - synchronized (thread) { - thread.notify(); - } - } - return thread; - } - - /* - * Returns false if the thread should simply exit; - * otherwise the thread is returned the pool, where - * it waits to be notified. (I did try to use the - * class monitor but the time between the notify - * and breaking out of the wait seemed to take - * significantly longer; need to look into this later.) - */ - private boolean returnToPool() { - synchronized (getClass()) { - if (curPoolSize >= MAX_POOL_SIZE) { - return false; - } - next = pool; - pool = this; - curPoolSize++; - timer = null; - } - while (timer == null) { - synchronized (this) { - try { - wait(); - } catch (InterruptedException ex) { - // Just drop through and retest timer. - } - } - } - synchronized (getClass()) { - curPoolSize--; - } - return true; - } - - public void run() { - do { - timer.owner.tick(timer); - synchronized (TimerThread.timerThread) { - synchronized (timer) { - if (lastSleepUntil == timer.sleepUntil) { - TimerThread.requeue(timer); - } - } - } - } while (returnToPool()); - } -} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/misc/UUDecoder.java --- a/jdk/src/share/classes/sun/misc/UUDecoder.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/misc/UUDecoder.java Fri Jun 20 10:15:30 2014 -0700 @@ -123,7 +123,7 @@ throws IOException { int i, c1, c2, c3, c4; int a, b, c; - StringBuffer x = new StringBuffer(); + StringBuilder x = new StringBuilder(); for (i = 0; i < 4; i++) { c1 = inStream.read(); @@ -152,7 +152,7 @@ */ protected void decodeBufferPrefix(PushbackInputStream inStream, OutputStream outStream) throws IOException { int c; - StringBuffer q = new StringBuffer(32); + StringBuilder q = new StringBuilder(32); String r; boolean sawNewLine; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/TransferProtocolClient.java --- a/jdk/src/share/classes/sun/net/TransferProtocolClient.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/TransferProtocolClient.java Fri Jun 20 10:15:30 2014 -0700 @@ -53,7 +53,7 @@ * number. Returns -1 on failure. */ public int readServerResponse() throws IOException { - StringBuffer replyBuf = new StringBuffer(32); + StringBuilder replyBuf = new StringBuilder(32); int c; int continuingCode = -1; int code; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java --- a/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java Fri Jun 20 10:15:30 2014 -0700 @@ -408,7 +408,7 @@ * number. Returns -1 on failure. */ private int readServerResponse() throws IOException { - StringBuffer replyBuf = new StringBuffer(32); + StringBuilder replyBuf = new StringBuilder(32); int c; int continuingCode = -1; int code; @@ -1050,7 +1050,7 @@ // keep the welcome message around so we can // put it in the resulting HTML page. String l; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < serverResponse.size(); i++) { l = serverResponse.elementAt(i); if (l != null) { @@ -1095,7 +1095,7 @@ // keep the welcome message around so we can // put it in the resulting HTML page. - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (serverResponse != null) { for (String l : serverResponse) { if (l != null) { @@ -1493,7 +1493,7 @@ * So we need to remove the 1st and last line */ Vector resp = getResponseStrings(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 1; i < resp.size() - 1; i++) { sb.append(resp.get(i)); } @@ -1985,7 +1985,7 @@ * by the server. */ public String getLastResponseString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (serverResponse != null) { for (String l : serverResponse) { if (l != null) { @@ -2188,7 +2188,7 @@ } // on multiple lines answers, like the ones above, remove 1st and last // line, concat the the others. - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 1; i < resp.size() - 1; i++) { sb.append(resp.get(i).substring(3)); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/www/MimeEntry.java --- a/jdk/src/share/classes/sun/net/www/MimeEntry.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/www/MimeEntry.java Fri Jun 20 10:15:30 2014 -0700 @@ -281,52 +281,52 @@ } public synchronized String toProperty() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); String separator = "; "; boolean needSeparator = false; int action = getAction(); if (action != MimeEntry.UNKNOWN) { - buf.append("action=" + actionKeywords[action]); + sb.append("action=" + actionKeywords[action]); needSeparator = true; } String command = getLaunchString(); if (command != null && command.length() > 0) { if (needSeparator) { - buf.append(separator); + sb.append(separator); } - buf.append("application=" + command); + sb.append("application=" + command); needSeparator = true; } if (getImageFileName() != null) { if (needSeparator) { - buf.append(separator); + sb.append(separator); } - buf.append("icon=" + getImageFileName()); + sb.append("icon=" + getImageFileName()); needSeparator = true; } String extensions = getExtensionsAsList(); if (extensions.length() > 0) { if (needSeparator) { - buf.append(separator); + sb.append(separator); } - buf.append("file_extensions=" + extensions); + sb.append("file_extensions=" + extensions); needSeparator = true; } String description = getDescription(); if (description != null && !description.equals(getType())) { if (needSeparator) { - buf.append(separator); + sb.append(separator); } - buf.append("description=" + description); + sb.append("description=" + description); } - return buf.toString(); + return sb.toString(); } public String toString() { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/www/http/HttpClient.java --- a/jdk/src/share/classes/sun/net/www/http/HttpClient.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/www/http/HttpClient.java Fri Jun 20 10:15:30 2014 -0700 @@ -558,7 +558,7 @@ // Do not use URLStreamHandler.toExternalForm as the fragment // should not be part of the RequestURI. It should be an // absolute URI which does not have a fragment part. - StringBuffer result = new StringBuffer(128); + StringBuilder result = new StringBuilder(128); result.append(url.getProtocol()); result.append(":"); if (url.getAuthority() != null && url.getAuthority().length() > 0) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/www/protocol/file/FileURLConnection.java --- a/jdk/src/share/classes/sun/net/www/protocol/file/FileURLConnection.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/www/protocol/file/FileURLConnection.java Fri Jun 20 10:15:30 2014 -0700 @@ -191,7 +191,7 @@ if (isDirectory) { FileNameMap map = java.net.URLConnection.getFileNameMap(); - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (files == null) { throw new FileNotFoundException(filename); @@ -201,11 +201,11 @@ for (int i = 0 ; i < files.size() ; i++) { String fileName = files.get(i); - buf.append(fileName); - buf.append("\n"); + sb.append(fileName); + sb.append("\n"); } // Put it into a (default) locale-specific byte-stream. - is = new ByteArrayInputStream(buf.toString().getBytes()); + is = new ByteArrayInputStream(sb.toString().getBytes()); } else { throw new FileNotFoundException(filename); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java --- a/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Fri Jun 20 10:15:30 2014 -0700 @@ -532,7 +532,7 @@ } byte[] digest = md.digest(); - StringBuffer res = new StringBuffer(digest.length * 2); + StringBuilder res = new StringBuilder(digest.length * 2); for (int i = 0; i < digest.length; i++) { int hashchar = ((digest[i] >>> 4) & 0xf); res.append(charArray[hashchar]); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -382,7 +382,7 @@ } public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(this.getClass().getName()); sb.append('['); if (!isOpen()) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java --- a/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -983,7 +983,7 @@ @Override public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(this.getClass().getSuperclass().getName()); sb.append('['); if (!isOpen()) diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/print/PSPrinterJob.java --- a/jdk/src/share/classes/sun/print/PSPrinterJob.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/print/PSPrinterJob.java Fri Jun 20 10:15:30 2014 -0700 @@ -1269,7 +1269,7 @@ CharsetString cs = acs[i]; CharsetEncoder fontCS = cs.fontDescriptor.encoder; - StringBuffer nativeStr = new StringBuffer(); + StringBuilder nativeStr = new StringBuilder(); byte[] strSeg = new byte[cs.length * 2]; int len = 0; try { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java --- a/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java Fri Jun 20 10:15:30 2014 -0700 @@ -751,14 +751,14 @@ } private String buildInternalSignature() { - StringBuffer buf = new StringBuffer(); - buf.append("("); + StringBuilder sb = new StringBuilder(); + sb.append("("); for (int i = 0; i < parameterTypes.length; i++) { - buf.append(getClassName(parameterTypes[i], true)); + sb.append(getClassName(parameterTypes[i], true)); } - buf.append(")"); - buf.append(getClassName(returnType, true)); - return buf.toString(); + sb.append(")"); + sb.append(getClassName(returnType, true)); + return sb.toString(); } private static synchronized String generateName(boolean isConstructor, diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/rmi/server/Activation.java --- a/jdk/src/share/classes/sun/rmi/server/Activation.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/rmi/server/Activation.java Fri Jun 20 10:15:30 2014 -0700 @@ -1239,7 +1239,7 @@ checkArgs(desc, argv); if (debugExec) { - StringBuffer sb = new StringBuffer(argv[0]); + StringBuilder sb = new StringBuilder(argv[0]); int j; for (j = 1; j < argv.length; j++) { sb.append(' '); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/rmi/server/LoaderHandler.java --- a/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java Fri Jun 20 10:15:30 2014 -0700 @@ -793,7 +793,7 @@ } else if (urls.length == 1) { return urls[0].toExternalForm(); } else { - StringBuffer path = new StringBuffer(urls[0].toExternalForm()); + StringBuilder path = new StringBuilder(urls[0].toExternalForm()); for (int i = 1; i < urls.length; i++) { path.append(' '); path.append(urls[i].toExternalForm()); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/rmi/server/Util.java --- a/jdk/src/share/classes/sun/rmi/server/Util.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/rmi/server/Util.java Fri Jun 20 10:15:30 2014 -0700 @@ -391,7 +391,7 @@ * the definition of a "method descriptor". */ private static String getMethodNameAndDescriptor(Method m) { - StringBuffer desc = new StringBuffer(m.getName()); + StringBuilder desc = new StringBuilder(m.getName()); desc.append('('); Class[] paramTypes = m.getParameterTypes(); for (int i = 0; i < paramTypes.length; i++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/acl/AclImpl.java --- a/jdk/src/share/classes/sun/security/acl/AclImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/acl/AclImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -253,7 +253,7 @@ * ACL. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); Enumeration entries = entries(); while (entries.hasMoreElements()) { AclEntry entry = entries.nextElement(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/GSSCredentialImpl.java --- a/jdk/src/share/classes/sun/security/jgss/GSSCredentialImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/GSSCredentialImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -636,29 +636,29 @@ } GSSCredentialSpi element = null; - StringBuffer buffer = new StringBuffer("[GSSCredential: "); + StringBuilder sb = new StringBuilder("[GSSCredential: "); Object[] elements = hashtable.entrySet().toArray(); for (int i = 0; i < elements.length; i++) { try { - buffer.append('\n'); + sb.append('\n'); element = (GSSCredentialSpi) ((Map.Entry)elements[i]).getValue(); - buffer.append(element.getName()); - buffer.append(' '); - buffer.append(element.getMechanism()); - buffer.append(element.isInitiatorCredential() ? - " Initiate" : ""); - buffer.append(element.isAcceptorCredential() ? - " Accept" : ""); - buffer.append(" ["); - buffer.append(element.getClass()); - buffer.append(']'); + sb.append(element.getName()); + sb.append(' '); + sb.append(element.getMechanism()); + sb.append(element.isInitiatorCredential() ? + " Initiate" : ""); + sb.append(element.isAcceptorCredential() ? + " Accept" : ""); + sb.append(" ["); + sb.append(element.getClass()); + sb.append(']'); } catch (GSSException e) { // skip to next element } } - buffer.append(']'); - return buffer.toString(); + sb.append(']'); + return sb.toString(); } static class SearchKey { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/GSSHeader.java --- a/jdk/src/share/classes/sun/security/jgss/GSSHeader.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/GSSHeader.java Fri Jun 20 10:15:30 2014 -0700 @@ -327,7 +327,7 @@ private String getHexBytes(byte[] bytes, int len) throws IOException { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { int b1 = (bytes[i]>>4) & 0x0f; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/GSSToken.java --- a/jdk/src/share/classes/sun/security/jgss/GSSToken.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/GSSToken.java Fri Jun 20 10:15:30 2014 -0700 @@ -216,7 +216,7 @@ } public static final String getHexBytes(byte[] bytes, int pos, int len) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = pos; i < (pos+len); i++) { int b1 = (bytes[i]>>4) & 0x0f; int b2 = bytes[i] & 0x0f; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/ProviderList.java --- a/jdk/src/share/classes/sun/security/jgss/ProviderList.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/ProviderList.java Fri Jun 20 10:15:30 2014 -0700 @@ -536,12 +536,12 @@ // For debugging public String toString() { - StringBuffer buf = new StringBuffer("<"); - buf.append(p.getName()); - buf.append(", "); - buf.append(oid); - buf.append(">"); - return buf.toString(); + StringBuilder sb = new StringBuilder("<"); + sb.append(p.getName()); + sb.append(", "); + sb.append(oid); + sb.append(">"); + return sb.toString(); } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/TokenTracker.java --- a/jdk/src/share/classes/sun/security/jgss/TokenTracker.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/TokenTracker.java Fri Jun 20 10:15:30 2014 -0700 @@ -336,19 +336,19 @@ } public String toString() { - StringBuffer buf = new StringBuffer("TokenTracker: "); - buf.append(" initNumber=").append(initNumber); - buf.append(" windowStart=").append(windowStart); - buf.append(" expectedNumber=").append(expectedNumber); - buf.append(" windowStartIndex=").append(windowStartIndex); - buf.append("\n\tIntervals are: {"); + StringBuilder sb = new StringBuilder("TokenTracker: "); + sb.append(" initNumber=").append(initNumber); + sb.append(" windowStart=").append(windowStart); + sb.append(" expectedNumber=").append(expectedNumber); + sb.append(" windowStartIndex=").append(windowStartIndex); + sb.append("\n\tIntervals are: {"); for (int i = 0; i < list.size(); i++) { if (i != 0) - buf.append(", "); - buf.append(list.get(i).toString()); + sb.append(", "); + sb.append(list.get(i).toString()); } - buf.append('}'); - return buf.toString(); + sb.append('}'); + return sb.toString(); } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java --- a/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java Fri Jun 20 10:15:30 2014 -0700 @@ -164,15 +164,15 @@ serviceTicket.getServer(); // Cannot use '\"' instead of "\"" in constructor because // it is interpreted as suggested length! - StringBuffer buf = new StringBuffer("\""); - buf.append(delegateTo.getName()).append('\"'); + StringBuilder sb = new StringBuilder("\""); + sb.append(delegateTo.getName()).append('\"'); String realm = delegateTo.getRealmAsString(); - buf.append(" \"krbtgt/").append(realm).append('@'); - buf.append(realm).append('\"'); + sb.append(" \"krbtgt/").append(realm).append('@'); + sb.append(realm).append('\"'); SecurityManager sm = System.getSecurityManager(); if (sm != null) { DelegationPermission perm = - new DelegationPermission(buf.toString()); + new DelegationPermission(sb.toString()); sm.checkPermission(perm); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java --- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java Fri Jun 20 10:15:30 2014 -0700 @@ -1345,7 +1345,7 @@ private static String getHexBytes(byte[] bytes, int pos, int len) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { int b1 = (bytes[i]>>4) & 0x0f; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java --- a/jdk/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/wrapper/Krb5Util.java Fri Jun 20 10:15:30 2014 -0700 @@ -41,9 +41,9 @@ String krbPrinc = name.getKrbName(); int atIndex = krbPrinc.indexOf('@'); String realm = krbPrinc.substring(atIndex + 1); - StringBuffer buf = new StringBuffer("krbtgt/"); - buf.append(realm).append('@').append(realm); - return buf.toString(); + StringBuilder sb = new StringBuilder("krbtgt/"); + sb.append(realm).append('@').append(realm); + return sb.toString(); } // Perform the Service Permission check using the specified diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java --- a/jdk/src/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/jgss/wrapper/NativeGSSContext.java Fri Jun 20 10:15:30 2014 -0700 @@ -139,10 +139,10 @@ if (sm != null) { String targetStr = targetName.getKrbName(); String tgsStr = Krb5Util.getTGSName(targetName); - StringBuffer buf = new StringBuffer("\""); - buf.append(targetStr).append("\" \""); - buf.append(tgsStr).append('\"'); - String krbPrincPair = buf.toString(); + StringBuilder sb = new StringBuilder("\""); + sb.append(targetStr).append("\" \""); + sb.append(tgsStr).append('\"'); + String krbPrincPair = sb.toString(); SunNativeProvider.debug("Checking DelegationPermission (" + krbPrincPair + ")"); DelegationPermission perm = diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/Credentials.java --- a/jdk/src/share/classes/sun/security/krb5/Credentials.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/Credentials.java Fri Jun 20 10:15:30 2014 -0700 @@ -510,21 +510,21 @@ } public String toString() { - StringBuffer buffer = new StringBuffer("Credentials:"); - buffer.append( "\n client=").append(client); - buffer.append( "\n server=").append(server); + StringBuilder sb = new StringBuilder("Credentials:"); + sb.append( "\n client=").append(client); + sb.append( "\n server=").append(server); if (authTime != null) { - buffer.append("\n authTime=").append(authTime); + sb.append("\n authTime=").append(authTime); } if (startTime != null) { - buffer.append("\n startTime=").append(startTime); + sb.append("\n startTime=").append(startTime); } - buffer.append( "\n endTime=").append(endTime); - buffer.append( "\n renewTill=").append(renewTill); - buffer.append( "\n flags=").append(flags); - buffer.append( "\nEType (skey)=").append(key.getEType()); - buffer.append( "\n (tkt key)=").append(ticket.encPart.eType); - return buffer.toString(); + sb.append( "\n endTime=").append(endTime); + sb.append( "\n renewTill=").append(renewTill); + sb.append( "\n flags=").append(flags); + sb.append( "\nEType (skey)=").append(key.getEType()); + sb.append( "\n (tkt key)=").append(ticket.encPart.eType); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/KrbException.java --- a/jdk/src/share/classes/sun/security/krb5/KrbException.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/KrbException.java Fri Jun 20 10:15:30 2014 -0700 @@ -96,7 +96,7 @@ public String krbErrorMessage() { - StringBuffer strbuf = new StringBuffer("krb_error " + returnCode); + StringBuilder strbuf = new StringBuilder("krb_error " + returnCode); String msg = getMessage(); if (msg != null) { strbuf.append(" "); @@ -112,7 +112,7 @@ * If the error code is 0 then the first half is skipped. */ public String getMessage() { - StringBuffer message = new StringBuffer(); + StringBuilder message = new StringBuilder(); int returnCode = returnCode(); if (returnCode != 0) { message.append(returnCodeMessage()); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/PrincipalName.java --- a/jdk/src/share/classes/sun/security/krb5/PrincipalName.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/PrincipalName.java Fri Jun 20 10:15:30 2014 -0700 @@ -480,7 +480,7 @@ } public String getPrincipalNameAsString() { - StringBuffer temp = new StringBuffer(nameStrings[0]); + StringBuilder temp = new StringBuilder(nameStrings[0]); for (int i = 1; i < nameStrings.length; i++) temp.append(nameStrings[i]); return temp.toString(); @@ -521,7 +521,7 @@ public String getSalt() { if (salt == null) { - StringBuffer salt = new StringBuffer(); + StringBuilder salt = new StringBuilder(); salt.append(nameRealm.toString()); for (int i = 0; i < nameStrings.length; i++) { salt.append(nameStrings[i]); @@ -532,7 +532,7 @@ } public String toString() { - StringBuffer str = new StringBuffer(); + StringBuilder str = new StringBuilder(); for (int i = 0; i < nameStrings.length; i++) { if (i > 0) str.append("/"); @@ -544,7 +544,7 @@ } public String getNameString() { - StringBuffer str = new StringBuffer(); + StringBuilder str = new StringBuilder(); for (int i = 0; i < nameStrings.length; i++) { if (i > 0) str.append("/"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java --- a/jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java Fri Jun 20 10:15:30 2014 -0700 @@ -117,7 +117,7 @@ private static String getHexBytes(byte[] bytes, int len) throws IOException { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; i < len; i++) { int b1 = (bytes[i] >> 4) & 0x0f; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/internal/TicketFlags.java --- a/jdk/src/share/classes/sun/security/krb5/internal/TicketFlags.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/internal/TicketFlags.java Fri Jun 20 10:15:30 2014 -0700 @@ -137,7 +137,7 @@ * Returns the string representative of ticket flags. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); boolean[] flags = toBooleanArray(); for (int i = 0; i < flags.length; i++) { if (flags[i] == true) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java --- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java Fri Jun 20 10:15:30 2014 -0700 @@ -269,7 +269,7 @@ } int len = list.size(); if (len <= 0) { - StringBuffer keystr = new StringBuffer(); + StringBuilder keystr = new StringBuilder(); for (int i = 0; i < keys.length; i++) { keystr.append(toString(keys[i].getEType())); keystr.append(" "); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java --- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/dk/DkCrypto.java Fri Jun 20 10:15:30 2014 -0700 @@ -636,7 +636,7 @@ // Routines used for debugging static String bytesToString(byte[] digest) { // Get character representation of digest - StringBuffer digestString = new StringBuffer(); + StringBuilder digestString = new StringBuilder(); for (int i = 0; i < digest.length; i++) { if ((digest[i] & 0x000000ff) < 0x10) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java --- a/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTabEntry.java Fri Jun 20 10:15:30 2014 -0700 @@ -73,7 +73,7 @@ } public String getKeyString() { - StringBuffer sb = new StringBuffer("0x"); + StringBuilder sb = new StringBuilder("0x"); for (int i = 0; i < keyblock.length; i++) { sb.append(String.format("%02x", keyblock[i]&0xff)); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java --- a/jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs/PKCS9Attribute.java Fri Jun 20 10:15:30 2014 -0700 @@ -790,26 +790,26 @@ * Returns a string representation of this attribute. */ public String toString() { - StringBuffer buf = new StringBuffer(100); + StringBuilder sb = new StringBuilder(100); - buf.append("["); + sb.append("["); if (index == -1) { - buf.append(oid.toString()); + sb.append(oid.toString()); } else { - buf.append(OID_NAME_TABLE.get(PKCS9_OIDS[index])); + sb.append(OID_NAME_TABLE.get(PKCS9_OIDS[index])); } - buf.append(": "); + sb.append(": "); if (index == -1 || SINGLE_VALUED[index]) { if (value instanceof byte[]) { // special case for octet string HexDumpEncoder hexDump = new HexDumpEncoder(); - buf.append(hexDump.encodeBuffer((byte[]) value)); + sb.append(hexDump.encodeBuffer((byte[]) value)); } else { - buf.append(value.toString()); + sb.append(value.toString()); } - buf.append("]"); - return buf.toString(); + sb.append("]"); + return sb.toString(); } else { // multi-valued boolean first = true; Object[] values = (Object[]) value; @@ -818,11 +818,11 @@ if (first) first = false; else - buf.append(", "); + sb.append(", "); - buf.append(values[j].toString()); + sb.append(values[j].toString()); } - return buf.toString(); + return sb.toString(); } } @@ -857,7 +857,7 @@ private void throwTagException(Byte tag) throws IOException { Byte[] expectedTags = PKCS9_VALUE_TAGS[index]; - StringBuffer msg = new StringBuffer(100); + StringBuilder msg = new StringBuilder(100); msg.append("Value of attribute "); msg.append(oid.toString()); msg.append(" ("); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs/PKCS9Attributes.java --- a/jdk/src/share/classes/sun/security/pkcs/PKCS9Attributes.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs/PKCS9Attributes.java Fri Jun 20 10:15:30 2014 -0700 @@ -323,8 +323,8 @@ * Returns the PKCS9 block in a printable string form. */ public String toString() { - StringBuffer buf = new StringBuffer(200); - buf.append("PKCS9 Attributes: [\n\t"); + StringBuilder sb = new StringBuilder(200); + sb.append("PKCS9 Attributes: [\n\t"); ObjectIdentifier oid; PKCS9Attribute value; @@ -339,14 +339,14 @@ if (first) first = false; else - buf.append(";\n\t"); + sb.append(";\n\t"); - buf.append(value.toString()); + sb.append(value.toString()); } - buf.append("\n\t] (end PKCS9 Attributes)"); + sb.append("\n\t] (end PKCS9 Attributes)"); - return buf.toString(); + return sb.toString(); } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java --- a/jdk/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs/SigningCertificateInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -92,15 +92,15 @@ } public String toString() { - StringBuffer buffer = new StringBuffer(); - buffer.append("[\n"); + StringBuilder sb = new StringBuilder(); + sb.append("[\n"); for (int i = 0; i < certId.length; i++) { - buffer.append(certId[i].toString()); + sb.append(certId[i].toString()); } // format policies as a string - buffer.append("\n]"); + sb.append("\n]"); - return buffer.toString(); + return sb.toString(); } public void parse(byte[] bytes) throws IOException { @@ -151,17 +151,17 @@ } public String toString() { - StringBuffer buffer = new StringBuffer(); - buffer.append("[\n\tCertificate hash (SHA-1):\n"); + StringBuilder sb = new StringBuilder(); + sb.append("[\n\tCertificate hash (SHA-1):\n"); if (hexDumper == null) { hexDumper = new HexDumpEncoder(); } - buffer.append(hexDumper.encode(certHash)); + sb.append(hexDumper.encode(certHash)); if (issuer != null && serialNumber != null) { - buffer.append("\n\tIssuer: " + issuer + "\n"); - buffer.append("\t" + serialNumber); + sb.append("\n\tIssuer: " + issuer + "\n"); + sb.append("\t" + serialNumber); } - buffer.append("\n]"); - return buffer.toString(); + sb.append("\n]"); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_AES_CTR_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_AES_CTR_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_AES_CTR_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -50,17 +50,17 @@ } public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("ulCounterBits: "); - buffer.append(ulCounterBits); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulCounterBits: "); + sb.append(ulCounterBits); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("cb: "); - buffer.append(Functions.toHexString(cb)); + sb.append(Constants.INDENT); + sb.append("cb: "); + sb.append(Functions.toHexString(cb)); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_DATE.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_DATE.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_DATE.java Fri Jun 20 10:15:30 2014 -0700 @@ -122,16 +122,16 @@ * @return the string representation of CK_DATE */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(new String(day)); - buffer.append('.'); - buffer.append(new String(month)); - buffer.append('.'); - buffer.append(new String(year)); - buffer.append(" (DD.MM.YYYY)"); + sb.append(new String(day)); + sb.append('.'); + sb.append(new String(month)); + sb.append('.'); + sb.append(new String(year)); + sb.append(" (DD.MM.YYYY)"); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH1_DERIVE_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -105,34 +105,34 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("kdf: 0x"); - buffer.append(Functions.toFullHexString(kdf)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("kdf: 0x"); + sb.append(Functions.toFullHexString(kdf)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSharedDataLen: "); - buffer.append(pSharedData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSharedDataLen: "); + sb.append(pSharedData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSharedData: "); - buffer.append(Functions.toHexString(pSharedData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSharedData: "); + sb.append(Functions.toHexString(pSharedData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen: "); - buffer.append(pPublicData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen: "); + sb.append(pPublicData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData: "); - buffer.append(Functions.toHexString(pPublicData)); + sb.append(Constants.INDENT); + sb.append("pPublicData: "); + sb.append(Functions.toHexString(pPublicData)); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH2_DERIVE_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH2_DERIVE_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_ECDH2_DERIVE_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -128,54 +128,54 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("kdf: 0x"); - buffer.append(Functions.toFullHexString(kdf)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("kdf: 0x"); + sb.append(Functions.toFullHexString(kdf)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSharedDataLen: "); - buffer.append(pSharedData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSharedDataLen: "); + sb.append(pSharedData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSharedData: "); - buffer.append(Functions.toHexString(pSharedData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSharedData: "); + sb.append(Functions.toHexString(pSharedData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen: "); - buffer.append(pPublicData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen: "); + sb.append(pPublicData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData: "); - buffer.append(Functions.toHexString(pPublicData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicData: "); + sb.append(Functions.toHexString(pPublicData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulPrivateDataLen: "); - buffer.append(ulPrivateDataLen); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulPrivateDataLen: "); + sb.append(ulPrivateDataLen); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("hPrivateData: "); - buffer.append(hPrivateData); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hPrivateData: "); + sb.append(hPrivateData); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen2: "); - buffer.append(pPublicData2.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen2: "); + sb.append(pPublicData2.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData2: "); - buffer.append(Functions.toHexString(pPublicData2)); + sb.append(Constants.INDENT); + sb.append("pPublicData2: "); + sb.append(Functions.toHexString(pPublicData2)); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_INFO.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_INFO.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_INFO.java Fri Jun 20 10:15:30 2014 -0700 @@ -131,34 +131,34 @@ * @return the string representation of CK_INFO */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("cryptokiVersion: "); - buffer.append(cryptokiVersion.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("cryptokiVersion: "); + sb.append(cryptokiVersion.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("manufacturerID: "); - buffer.append(new String(manufacturerID)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("manufacturerID: "); + sb.append(new String(manufacturerID)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("flags: "); - buffer.append(Functions.toBinaryString(flags)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("flags: "); + sb.append(Functions.toBinaryString(flags)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("libraryDescription: "); - buffer.append(new String(libraryDescription)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("libraryDescription: "); + sb.append(new String(libraryDescription)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("libraryVersion: "); - buffer.append(libraryVersion.toString()); + sb.append(Constants.INDENT); + sb.append("libraryVersion: "); + sb.append(libraryVersion.toString()); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM.java Fri Jun 20 10:15:30 2014 -0700 @@ -143,24 +143,24 @@ * @return the string representation of CK_MECHANISM */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("mechanism: "); - buffer.append(mechanism); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("mechanism: "); + sb.append(mechanism); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pParameter: "); - buffer.append(pParameter.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pParameter: "); + sb.append(pParameter.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulParameterLen: ??"); + sb.append(Constants.INDENT); + sb.append("ulParameterLen: ??"); //buffer.append(pParameter.length); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM_INFO.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM_INFO.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_MECHANISM_INFO.java Fri Jun 20 10:15:30 2014 -0700 @@ -103,25 +103,25 @@ * @return the string representation of CK_MECHANISM_INFO */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("ulMinKeySize: "); - buffer.append(String.valueOf(ulMinKeySize)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulMinKeySize: "); + sb.append(String.valueOf(ulMinKeySize)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulMaxKeySize: "); - buffer.append(String.valueOf(ulMaxKeySize)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulMaxKeySize: "); + sb.append(String.valueOf(ulMaxKeySize)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("flags: "); - buffer.append(String.valueOf(flags)); - buffer.append(" = "); - buffer.append(Functions.mechanismInfoFlagsToString(flags)); + sb.append(Constants.INDENT); + sb.append("flags: "); + sb.append(String.valueOf(flags)); + sb.append(" = "); + sb.append(Functions.mechanismInfoFlagsToString(flags)); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PBE_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PBE_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PBE_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -109,39 +109,39 @@ * @return the string representation of CK_PBE_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("pInitVector: "); - buffer.append(pInitVector); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pInitVector: "); + sb.append(pInitVector); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulPasswordLen: "); - buffer.append(pPassword.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulPasswordLen: "); + sb.append(pPassword.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPassword: "); - buffer.append(pPassword); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPassword: "); + sb.append(pPassword); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulSaltLen: "); - buffer.append(pSalt.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulSaltLen: "); + sb.append(pSalt.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSalt: "); - buffer.append(pSalt); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSalt: "); + sb.append(pSalt); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulIteration: "); - buffer.append(ulIteration); + sb.append(Constants.INDENT); + sb.append("ulIteration: "); + sb.append(ulIteration); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_PKCS5_PBKD2_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,44 +118,44 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("saltSource: "); - buffer.append(saltSource); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("saltSource: "); + sb.append(saltSource); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSaltSourceData: "); - buffer.append(Functions.toHexString(pSaltSourceData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSaltSourceData: "); + sb.append(Functions.toHexString(pSaltSourceData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulSaltSourceDataLen: "); - buffer.append(pSaltSourceData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulSaltSourceDataLen: "); + sb.append(pSaltSourceData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("iterations: "); - buffer.append(iterations); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("iterations: "); + sb.append(iterations); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("prf: "); - buffer.append(prf); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("prf: "); + sb.append(prf); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPrfData: "); - buffer.append(Functions.toHexString(pPrfData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPrfData: "); + sb.append(Functions.toHexString(pPrfData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulPrfDataLen: "); - buffer.append(pPrfData.length); + sb.append(Constants.INDENT); + sb.append("ulPrfDataLen: "); + sb.append(pPrfData.length); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_OAEP_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_OAEP_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_OAEP_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -110,34 +110,34 @@ * @return the string representation of CK_RSA_PKCS_OAEP_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("hashAlg: "); - buffer.append(hashAlg); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hashAlg: "); + sb.append(hashAlg); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("mgf: "); - buffer.append(mgf); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("mgf: "); + sb.append(mgf); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("source: "); - buffer.append(source); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("source: "); + sb.append(source); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSourceData: "); - buffer.append(pSourceData.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pSourceData: "); + sb.append(pSourceData.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pSourceDataLen: "); - buffer.append(Functions.toHexString(pSourceData)); + sb.append(Constants.INDENT); + sb.append("pSourceDataLen: "); + sb.append(Functions.toHexString(pSourceData)); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_RSA_PKCS_PSS_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -95,24 +95,24 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("hashAlg: 0x"); - buffer.append(Functions.toFullHexString(hashAlg)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hashAlg: 0x"); + sb.append(Functions.toFullHexString(hashAlg)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("mgf: 0x"); - buffer.append(Functions.toFullHexString(mgf)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("mgf: 0x"); + sb.append(Functions.toFullHexString(mgf)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("sLen: "); - buffer.append(sLen); + sb.append(Constants.INDENT); + sb.append("sLen: "); + sb.append(sLen); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SESSION_INFO.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SESSION_INFO.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SESSION_INFO.java Fri Jun 20 10:15:30 2014 -0700 @@ -114,29 +114,29 @@ * @return the string representation of CK_SESSION_INFO */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("slotID: "); - buffer.append(String.valueOf(slotID)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("slotID: "); + sb.append(String.valueOf(slotID)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("state: "); - buffer.append(Functions.sessionStateToString(state)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("state: "); + sb.append(Functions.sessionStateToString(state)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("flags: "); - buffer.append(Functions.sessionInfoFlagsToString(flags)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("flags: "); + sb.append(Functions.sessionInfoFlagsToString(flags)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulDeviceError: "); - buffer.append(Functions.toHexString(ulDeviceError)); + sb.append(Constants.INDENT); + sb.append("ulDeviceError: "); + sb.append(Functions.toHexString(ulDeviceError)); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SLOT_INFO.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SLOT_INFO.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_SLOT_INFO.java Fri Jun 20 10:15:30 2014 -0700 @@ -130,34 +130,34 @@ * @return the string representation of CK_SLOT_INFO */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("slotDescription: "); - buffer.append(new String(slotDescription)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("slotDescription: "); + sb.append(new String(slotDescription)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("manufacturerID: "); - buffer.append(new String(manufacturerID)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("manufacturerID: "); + sb.append(new String(manufacturerID)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("flags: "); - buffer.append(Functions.slotInfoFlagsToString(flags)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("flags: "); + sb.append(Functions.slotInfoFlagsToString(flags)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("hardwareVersion: "); - buffer.append(hardwareVersion.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hardwareVersion: "); + sb.append(hardwareVersion.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("firmwareVersion: "); - buffer.append(firmwareVersion.toString()); + sb.append(Constants.INDENT); + sb.append("firmwareVersion: "); + sb.append(firmwareVersion.toString()); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_TOKEN_INFO.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_TOKEN_INFO.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_TOKEN_INFO.java Fri Jun 20 10:15:30 2014 -0700 @@ -271,119 +271,119 @@ * @return the string representation of CK_TOKEN_INFO */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("label: "); - buffer.append(new String(label)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("label: "); + sb.append(new String(label)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("manufacturerID: "); - buffer.append(new String(manufacturerID)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("manufacturerID: "); + sb.append(new String(manufacturerID)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("model: "); - buffer.append(new String(model)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("model: "); + sb.append(new String(model)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("serialNumber: "); - buffer.append(new String(serialNumber)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("serialNumber: "); + sb.append(new String(serialNumber)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("flags: "); - buffer.append(Functions.tokenInfoFlagsToString(flags)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("flags: "); + sb.append(Functions.tokenInfoFlagsToString(flags)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulMaxSessionCount: "); - buffer.append((ulMaxSessionCount == PKCS11Constants.CK_EFFECTIVELY_INFINITE) + sb.append(Constants.INDENT); + sb.append("ulMaxSessionCount: "); + sb.append((ulMaxSessionCount == PKCS11Constants.CK_EFFECTIVELY_INFINITE) ? "CK_EFFECTIVELY_INFINITE" : (ulMaxSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulMaxSessionCount)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulSessionCount: "); - buffer.append((ulSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulSessionCount: "); + sb.append((ulSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulSessionCount)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulMaxRwSessionCount: "); - buffer.append((ulMaxRwSessionCount == PKCS11Constants.CK_EFFECTIVELY_INFINITE) + sb.append(Constants.INDENT); + sb.append("ulMaxRwSessionCount: "); + sb.append((ulMaxRwSessionCount == PKCS11Constants.CK_EFFECTIVELY_INFINITE) ? "CK_EFFECTIVELY_INFINITE" : (ulMaxRwSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulMaxRwSessionCount)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulRwSessionCount: "); - buffer.append((ulRwSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulRwSessionCount: "); + sb.append((ulRwSessionCount == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulRwSessionCount)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulMaxPinLen: "); - buffer.append(String.valueOf(ulMaxPinLen)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulMaxPinLen: "); + sb.append(String.valueOf(ulMaxPinLen)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulMinPinLen: "); - buffer.append(String.valueOf(ulMinPinLen)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulMinPinLen: "); + sb.append(String.valueOf(ulMinPinLen)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulTotalPublicMemory: "); - buffer.append((ulTotalPublicMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulTotalPublicMemory: "); + sb.append((ulTotalPublicMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulTotalPublicMemory)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulFreePublicMemory: "); - buffer.append((ulFreePublicMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulFreePublicMemory: "); + sb.append((ulFreePublicMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulFreePublicMemory)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulTotalPrivateMemory: "); - buffer.append((ulTotalPrivateMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulTotalPrivateMemory: "); + sb.append((ulTotalPrivateMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulTotalPrivateMemory)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulFreePrivateMemory: "); - buffer.append((ulFreePrivateMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) + sb.append(Constants.INDENT); + sb.append("ulFreePrivateMemory: "); + sb.append((ulFreePrivateMemory == PKCS11Constants.CK_UNAVAILABLE_INFORMATION) ? "CK_UNAVAILABLE_INFORMATION" : String.valueOf(ulFreePrivateMemory)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("hardwareVersion: "); - buffer.append(hardwareVersion.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hardwareVersion: "); + sb.append(hardwareVersion.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("firmwareVersion: "); - buffer.append(firmwareVersion.toString()); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("firmwareVersion: "); + sb.append(firmwareVersion.toString()); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("utcTime: "); - buffer.append(new String(utcTime)); + sb.append(Constants.INDENT); + sb.append("utcTime: "); + sb.append(new String(utcTime)); //buffer.append(Constants.NEWLINE); - return buffer.toString() ; + return sb.toString() ; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH1_DERIVE_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH1_DERIVE_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH1_DERIVE_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -99,34 +99,34 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("kdf: 0x"); - buffer.append(Functions.toFullHexString(kdf)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("kdf: 0x"); + sb.append(Functions.toFullHexString(kdf)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pOtherInfoLen: "); - buffer.append(pOtherInfo.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pOtherInfoLen: "); + sb.append(pOtherInfo.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pOtherInfo: "); - buffer.append(Functions.toHexString(pOtherInfo)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pOtherInfo: "); + sb.append(Functions.toHexString(pOtherInfo)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen: "); - buffer.append(pPublicData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen: "); + sb.append(pPublicData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData: "); - buffer.append(Functions.toHexString(pPublicData)); + sb.append(Constants.INDENT); + sb.append("pPublicData: "); + sb.append(Functions.toHexString(pPublicData)); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH2_DERIVE_PARAMS.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH2_DERIVE_PARAMS.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/CK_X9_42_DH2_DERIVE_PARAMS.java Fri Jun 20 10:15:30 2014 -0700 @@ -128,54 +128,54 @@ * @return the string representation of CK_PKCS5_PBKD2_PARAMS */ public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buffer.append(Constants.INDENT); - buffer.append("kdf: 0x"); - buffer.append(Functions.toFullHexString(kdf)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("kdf: 0x"); + sb.append(Functions.toFullHexString(kdf)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pOtherInfoLen: "); - buffer.append(pOtherInfo.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pOtherInfoLen: "); + sb.append(pOtherInfo.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pOtherInfo: "); - buffer.append(Functions.toHexString(pOtherInfo)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pOtherInfo: "); + sb.append(Functions.toHexString(pOtherInfo)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen: "); - buffer.append(pPublicData.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen: "); + sb.append(pPublicData.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData: "); - buffer.append(Functions.toHexString(pPublicData)); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicData: "); + sb.append(Functions.toHexString(pPublicData)); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("ulPrivateDataLen: "); - buffer.append(ulPrivateDataLen); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("ulPrivateDataLen: "); + sb.append(ulPrivateDataLen); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("hPrivateData: "); - buffer.append(hPrivateData); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("hPrivateData: "); + sb.append(hPrivateData); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicDataLen2: "); - buffer.append(pPublicData2.length); - buffer.append(Constants.NEWLINE); + sb.append(Constants.INDENT); + sb.append("pPublicDataLen2: "); + sb.append(pPublicData2.length); + sb.append(Constants.NEWLINE); - buffer.append(Constants.INDENT); - buffer.append("pPublicData2: "); - buffer.append(Functions.toHexString(pPublicData2)); + sb.append(Constants.INDENT); + sb.append("pPublicData2: "); + sb.append(Functions.toHexString(pPublicData2)); //buffer.append(Constants.NEWLINE); - return buffer.toString(); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/pkcs11/wrapper/Functions.java --- a/jdk/src/share/classes/sun/security/pkcs11/wrapper/Functions.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/wrapper/Functions.java Fri Jun 20 10:15:30 2014 -0700 @@ -109,14 +109,14 @@ */ public static String toFullHexString(long value) { long currentValue = value; - StringBuffer stringBuffer = new StringBuffer(16); + StringBuilder sb = new StringBuilder(16); for(int j = 0; j < 16; j++) { int currentDigit = (int) currentValue & 0xf; - stringBuffer.append(HEX_DIGITS[currentDigit]); + sb.append(HEX_DIGITS[currentDigit]); currentValue >>>= 4; } - return stringBuffer.reverse().toString(); + return sb.reverse().toString(); } /** @@ -128,14 +128,14 @@ */ public static String toFullHexString(int value) { int currentValue = value; - StringBuffer stringBuffer = new StringBuffer(8); + StringBuilder sb = new StringBuilder(8); for(int i = 0; i < 8; i++) { int currentDigit = currentValue & 0xf; - stringBuffer.append(HEX_DIGITS[currentDigit]); + sb.append(HEX_DIGITS[currentDigit]); currentValue >>>= 4; } - return stringBuffer.reverse().toString(); + return sb.reverse().toString(); } /** @@ -161,20 +161,20 @@ return null; } - StringBuffer buffer = new StringBuffer(2 * value.length); + StringBuilder sb = new StringBuilder(2 * value.length); int single; for (int i = 0; i < value.length; i++) { single = value[i] & 0xFF; if (single < 0x10) { - buffer.append('0'); + sb.append('0'); } - buffer.append(Integer.toString(single, 16)); + sb.append(Integer.toString(single, 16)); } - return buffer.toString(); + return sb.toString(); } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/provider/AuthPolicyFile.java --- a/jdk/src/share/classes/sun/security/provider/AuthPolicyFile.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/provider/AuthPolicyFile.java Fri Jun 20 10:15:30 2014 -0700 @@ -944,7 +944,7 @@ } File f = new File(path); path = f.getCanonicalPath(); - StringBuffer sb = new StringBuffer(path); + StringBuilder sb = new StringBuilder(path); // reappend '*' to canonicalized filename (note that // canonicalization may have removed trailing file // separator, so we have to check for that, too) @@ -1095,7 +1095,7 @@ @Override public String toString(){ - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(rb.getString("LPARAM")); sb.append(getCodeSource()); sb.append("\n"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/provider/X509Factory.java --- a/jdk/src/share/classes/sun/security/provider/X509Factory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/provider/X509Factory.java Fri Jun 20 10:15:30 2014 -0700 @@ -519,7 +519,7 @@ // Step 2: Read the rest of header, determine the line end int end; - StringBuffer header = new StringBuffer("-----"); + StringBuilder header = new StringBuilder("-----"); while (true) { int next = is.read(); if (next == -1) { @@ -562,7 +562,7 @@ } // Step 4: Consume the footer - StringBuffer footer = new StringBuffer("-"); + StringBuilder footer = new StringBuilder("-"); while (true) { int next = is.read(); // Add next == '\n' for maximum safety, in case endline diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/smartcardio/PCSC.java --- a/jdk/src/share/classes/sun/security/smartcardio/PCSC.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/smartcardio/PCSC.java Fri Jun 20 10:15:30 2014 -0700 @@ -172,7 +172,7 @@ private final static char[] hexDigits = "0123456789abcdef".toCharArray(); public static String toString(byte[] b) { - StringBuffer sb = new StringBuffer(b.length * 3); + StringBuilder sb = new StringBuilder(b.length * 3); for (int i = 0; i < b.length; i++) { int k = b[i] & 0xff; if (i != 0) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java --- a/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java Fri Jun 20 10:15:30 2014 -0700 @@ -1474,17 +1474,17 @@ s.println(); if (protocolVersion.v >= ProtocolVersion.TLS12.v) { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - buffer.append(", " + signAlg.getAlgorithmName()); + sb.append(", " + signAlg.getAlgorithmName()); } else { - buffer.append(signAlg.getAlgorithmName()); + sb.append(signAlg.getAlgorithmName()); opened = true; } } - s.println("Supported Signature Algorithms: " + buffer); + s.println("Supported Signature Algorithms: " + sb); } s.println("Cert Authorities:"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java --- a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -2594,7 +2594,7 @@ */ @Override public String toString() { - StringBuffer retval = new StringBuffer(80); + StringBuilder retval = new StringBuilder(80); retval.append(Integer.toHexString(hashCode())); retval.append("["); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java --- a/jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/ssl/ServerNameExtension.java Fri Jun 20 10:15:30 2014 -0700 @@ -266,12 +266,12 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (SNIServerName sniName : sniMap.values()) { - buffer.append("[" + sniName + "]"); + sb.append("[" + sniName + "]"); } - return "Extension " + type + ", server_name: " + buffer; + return "Extension " + type + ", server_name: " + sb; } private static class UnknownServerName extends SNIServerName { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/ssl/SessionId.java --- a/jdk/src/share/classes/sun/security/ssl/SessionId.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/ssl/SessionId.java Fri Jun 20 10:15:30 2014 -0700 @@ -72,16 +72,16 @@ public String toString () { int len = sessionId.length; - StringBuffer s = new StringBuffer (10 + 2 * len); + StringBuilder sb = new StringBuilder (10 + 2 * len); - s.append ("{"); + sb.append("{"); for (int i = 0; i < len; i++) { - s.append (0x0ff & sessionId [i]); + sb.append(0x0ff & sessionId[i]); if (i != (len - 1)) - s.append (", "); + sb.append (", "); } - s.append ("}"); - return s.toString (); + sb.append("}"); + return sb.toString (); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java --- a/jdk/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java Fri Jun 20 10:15:30 2014 -0700 @@ -118,18 +118,18 @@ @Override public String toString() { - StringBuffer buffer = new StringBuffer(); + StringBuilder sb = new StringBuilder(); boolean opened = false; for (SignatureAndHashAlgorithm signAlg : algorithms) { if (opened) { - buffer.append(", " + signAlg.getAlgorithmName()); + sb.append(", " + signAlg.getAlgorithmName()); } else { - buffer.append(signAlg.getAlgorithmName()); + sb.append(signAlg.getAlgorithmName()); opened = true; } } - return "Extension " + type + ", signature_algorithms: " + buffer; + return "Extension " + type + ", signature_algorithms: " + sb; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/tools/jarsigner/Main.java --- a/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java Fri Jun 20 10:15:30 2014 -0700 @@ -728,7 +728,7 @@ output.put(label, new ArrayList()); } - StringBuffer fb = new StringBuffer(); + StringBuilder fb = new StringBuilder(); String s = Long.toString(je.getSize()); for (int i = 6 - s.length(); i > 0; --i) { fb.append(' '); @@ -1572,25 +1572,25 @@ if (cacheForSignerInfo.containsKey(signer)) { return cacheForSignerInfo.get(signer); } - StringBuffer s = new StringBuffer(); + StringBuilder sb = new StringBuilder(); List certs = signer.getSignerCertPath().getCertificates(); // display the signature timestamp, if present Date timestamp; Timestamp ts = signer.getTimestamp(); if (ts != null) { - s.append(printTimestamp(tab, ts)); - s.append('\n'); + sb.append(printTimestamp(tab, ts)); + sb.append('\n'); timestamp = ts.getTimestamp(); } else { timestamp = null; noTimestamp = true; } - // display the certificate(s). The first one is end-entity cert and + // display the certificate(sb). The first one is end-entity cert and // its KeyUsage should be checked. boolean first = true; for (Certificate c : certs) { - s.append(printCert(tab, c, true, timestamp, first)); - s.append('\n'); + sb.append(printCert(tab, c, true, timestamp, first)); + sb.append('\n'); first = false; } try { @@ -1605,11 +1605,11 @@ // No more warning, we alreay have hasExpiredCert or notYetValidCert } else { chainNotValidated = true; - s.append(tab + rb.getString(".CertPath.not.validated.") + + sb.append(tab + rb.getString(".CertPath.not.validated.") + e.getLocalizedMessage() + "]\n"); // TODO } } - String result = s.toString(); + String result = sb.toString(); cacheForSignerInfo.put(signer, result); return result; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/tools/keytool/Main.java --- a/jdk/src/share/classes/sun/security/tools/keytool/Main.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/tools/keytool/Main.java Fri Jun 20 10:15:30 2014 -0700 @@ -3664,7 +3664,7 @@ .startsWith(s.toLowerCase(Locale.ENGLISH))) { match[nmatch++] = i; } else { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); boolean first = true; for (char c: one.toCharArray()) { if (first) { @@ -3690,7 +3690,7 @@ if (match[1] > experiment) { return match[0]; } - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); MessageFormat form = new MessageFormat(rb.getString ("command.{0}.is.ambiguous.")); Object[] source = {s}; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java --- a/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java Fri Jun 20 10:15:30 2014 -0700 @@ -975,16 +975,16 @@ String result = ""; if ((grantEntry.principals != null) && (!grantEntry.principals.isEmpty())) { - StringBuffer buffer = new StringBuffer(200); + StringBuilder sb = new StringBuilder(200); ListIterator list = grantEntry.principals.listIterator(); while (list.hasNext()) { PolicyParser.PrincipalEntry pppe = list.next(); - buffer.append(" Principal " + pppe.getDisplayClass() + " " + + sb.append(" Principal " + pppe.getDisplayClass() + " " + pppe.getDisplayName(true)); - if (list.hasNext()) buffer.append(", "); + if (list.hasNext()) sb.append(", "); } - result = buffer.toString(); + result = sb.toString(); } return result; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/util/Debug.java --- a/jdk/src/share/classes/sun/security/util/Debug.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/util/Debug.java Fri Jun 20 10:15:30 2014 -0700 @@ -188,13 +188,13 @@ */ public static String toHexString(BigInteger b) { String hexValue = b.toString(16); - StringBuffer buf = new StringBuffer(hexValue.length()*2); + StringBuilder sb = new StringBuilder(hexValue.length()*2); if (hexValue.startsWith("-")) { - buf.append(" -"); + sb.append(" -"); hexValue = hexValue.substring(1); } else { - buf.append(" "); // four spaces + sb.append(" "); // four spaces } if ((hexValue.length()%2) != 0) { // add back the leading 0 @@ -203,17 +203,17 @@ int i=0; while (i < hexValue.length()) { // one byte at a time - buf.append(hexValue.substring(i, i+2)); + sb.append(hexValue.substring(i, i + 2)); i+=2; if (i!= hexValue.length()) { if ((i%64) == 0) { - buf.append("\n "); // line after eight words + sb.append("\n "); // line after eight words } else if (i%8 == 0) { - buf.append(" "); // space between words + sb.append(" "); // space between words } } } - return buf.toString(); + return sb.toString(); } /** @@ -221,7 +221,7 @@ */ private static String marshal(String args) { if (args != null) { - StringBuffer target = new StringBuffer(); + StringBuilder target = new StringBuilder(); StringBuffer source = new StringBuffer(args); // obtain the "permission=" options diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java --- a/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java Fri Jun 20 10:15:30 2014 -0700 @@ -238,7 +238,7 @@ static String toHex(byte[] data) { - StringBuffer sb = new StringBuffer(data.length*2); + StringBuilder sb = new StringBuilder(data.length*2); for (int i=0; i>4) & 0x0f]); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/util/ObjectIdentifier.java --- a/jdk/src/share/classes/sun/security/util/ObjectIdentifier.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/util/ObjectIdentifier.java Fri Jun 20 10:15:30 2014 -0700 @@ -418,7 +418,7 @@ String s = stringForm; if (s == null) { int length = encoding.length; - StringBuffer sb = new StringBuffer(length * 4); + StringBuilder sb = new StringBuilder(length * 4); int fromPos = 0; for (int i = 0; i < length; i++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/util/PropertyExpander.java --- a/jdk/src/share/classes/sun/security/util/PropertyExpander.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/util/PropertyExpander.java Fri Jun 20 10:15:30 2014 -0700 @@ -67,7 +67,7 @@ // no special characters if (p == -1) return value; - StringBuffer sb = new StringBuffer(value.length()); + StringBuilder sb = new StringBuilder(value.length()); int max = value.length(); int i = 0; // index of last character we copied diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java --- a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java Fri Jun 20 10:15:30 2014 -0700 @@ -552,7 +552,7 @@ static String toHex(byte[] data) { - StringBuffer sb = new StringBuffer(data.length*2); + StringBuilder sb = new StringBuilder(data.length*2); for (int i=0; i>4) & 0x0f]); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/security/x509/X509CRLImpl.java --- a/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -536,7 +536,7 @@ * @return value of this CRL in a printable form. */ public String toString() { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("X.509 CRL v" + (version+1) + "\n"); if (sigAlgId != null) sb.append("Signature Algorithm: " + sigAlgId.toString() + diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/swing/SwingUtilities2.java --- a/jdk/src/share/classes/sun/swing/SwingUtilities2.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/swing/SwingUtilities2.java Fri Jun 20 10:15:30 2014 -0700 @@ -1431,7 +1431,7 @@ } public static String displayPropertiesToCSS(Font font, Color fg) { - StringBuffer rule = new StringBuffer("body {"); + StringBuilder rule = new StringBuilder("body {"); if (font != null) { rule.append(" font-family: "); rule.append(font.getFamily()); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java --- a/jdk/src/share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/swing/plaf/synth/DefaultSynthStyle.java Fri Jun 20 10:15:30 2014 -0700 @@ -673,33 +673,33 @@ public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buf.append(super.toString()).append(','); + sb.append(super.toString()).append(','); - buf.append("data=").append(data).append(','); + sb.append("data=").append(data).append(','); - buf.append("font=").append(font).append(','); + sb.append("font=").append(font).append(','); - buf.append("insets=").append(insets).append(','); + sb.append("insets=").append(insets).append(','); - buf.append("synthGraphics=").append(synthGraphics).append(','); + sb.append("synthGraphics=").append(synthGraphics).append(','); - buf.append("painter=").append(painter).append(','); + sb.append("painter=").append(painter).append(','); StateInfo[] states = getStateInfo(); if (states != null) { - buf.append("states["); + sb.append("states["); for (StateInfo state : states) { - buf.append(state.toString()).append(','); + sb.append(state.toString()).append(','); } - buf.append(']').append(','); + sb.append(']').append(','); } // remove last newline - buf.deleteCharAt(buf.length() - 1); + sb.deleteCharAt(sb.length() - 1); - return buf.toString(); + return sb.toString(); } @@ -909,19 +909,19 @@ } public String toString() { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); - buf.append(super.toString()).append(','); + sb.append(super.toString()).append(','); - buf.append("state=").append(Integer.toString(state)).append(','); + sb.append("state=").append(Integer.toString(state)).append(','); - buf.append("font=").append(font).append(','); + sb.append("font=").append(font).append(','); if (colors != null) { - buf.append("colors=").append(Arrays.asList(colors)). + sb.append("colors=").append(Arrays.asList(colors)). append(','); } - return buf.toString(); + return sb.toString(); } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java --- a/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -439,20 +439,20 @@ } private String fileNameString(File[] files) { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (int i = 0; files != null && i < files.length; i++) { if (i > 0) { - buf.append(" "); + sb.append(" "); } if (files.length > 1) { - buf.append("\""); + sb.append("\""); } - buf.append(fileNameString(files[i])); + sb.append(fileNameString(files[i])); if (files.length > 1) { - buf.append("\""); + sb.append("\""); } } - return buf.toString(); + return sb.toString(); } public void uninstallUI(JComponent c) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/text/normalizer/UTF16.java --- a/jdk/src/share/classes/sun/text/normalizer/UTF16.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/text/normalizer/UTF16.java Fri Jun 20 10:15:30 2014 -0700 @@ -530,7 +530,7 @@ return String.valueOf((char)ch); } - StringBuffer result = new StringBuffer(); + StringBuilder result = new StringBuilder(); result.append(getLeadSurrogate(ch)); result.append(getTrailSurrogate(ch)); return result.toString(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/java/MemberDefinition.java --- a/jdk/src/share/classes/sun/tools/java/MemberDefinition.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/java/MemberDefinition.java Fri Jun 20 10:15:30 2014 -0700 @@ -919,18 +919,18 @@ if (isInitializer()) { return isStatic() ? "static {}" : "instance {}"; } else if (isConstructor()) { - StringBuffer buf = new StringBuffer(); - buf.append(name); - buf.append('('); + StringBuilder sb = new StringBuilder(); + sb.append(name); + sb.append('('); Type argTypes[] = getType().getArgumentTypes(); for (int i = 0 ; i < argTypes.length ; i++) { if (i > 0) { - buf.append(','); + sb.append(','); } - buf.append(argTypes[i].toString()); + sb.append(argTypes[i].toString()); } - buf.append(')'); - return buf.toString(); + sb.append(')'); + return sb.toString(); } else if (isInnerClass()) { return getInnerClass().toString(); } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/java/MethodSet.java --- a/jdk/src/share/classes/sun/tools/java/MethodSet.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/java/MethodSet.java Fri Jun 20 10:15:30 2014 -0700 @@ -261,18 +261,18 @@ */ public String toString() { int len = size(); - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); Iterator all = iterator(); - buf.append("{"); + sb.append("{"); while (all.hasNext()) { - buf.append(all.next().toString()); + sb.append(all.next().toString()); len--; if (len > 0) { - buf.append(", "); + sb.append(", "); } } - buf.append("}"); - return buf.toString(); + sb.append("}"); + return sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/java/MethodType.java --- a/jdk/src/share/classes/sun/tools/java/MethodType.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/java/MethodType.java Fri Jun 20 10:15:30 2014 -0700 @@ -91,17 +91,17 @@ } public String typeString(String id, boolean abbrev, boolean ret) { - StringBuffer buf = new StringBuffer(); - buf.append(id); - buf.append('('); + StringBuilder sb = new StringBuilder(); + sb.append(id); + sb.append('('); for (int i = 0 ; i < argTypes.length ; i++) { if (i > 0) { - buf.append(", "); + sb.append(", "); } - buf.append(argTypes[i].typeString("", abbrev, ret)); + sb.append(argTypes[i].typeString("", abbrev, ret)); } - buf.append(')'); + sb.append(')'); - return ret ? getReturnType().typeString(buf.toString(), abbrev, ret) : buf.toString(); + return ret ? getReturnType().typeString(sb.toString(), abbrev, ret) : sb.toString(); } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/java/Parser.java --- a/jdk/src/share/classes/sun/tools/java/Parser.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/java/Parser.java Fri Jun 20 10:15:30 2014 -0700 @@ -1395,24 +1395,24 @@ return res; } - StringBuffer buf = new StringBuffer(res.id.toString()); + StringBuilder sb = new StringBuilder(res.id.toString()); while (token == FIELD) { scan(); if ((token == MUL) && star) { scan(); - buf.append(".*"); + sb.append(".*"); break; } - buf.append('.'); + sb.append('.'); if (token == IDENT) { - buf.append(scanner.idValue); + sb.append(scanner.idValue); } expect(IDENT); } - res.id = Identifier.lookup(buf.toString()); + res.id = Identifier.lookup(sb.toString()); return res; } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/java/Type.java --- a/jdk/src/share/classes/sun/tools/java/Type.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/java/Type.java Fri Jun 20 10:15:30 2014 -0700 @@ -274,15 +274,15 @@ * Create a method type with arguments. */ public static synchronized Type tMethod(Type returnType, Type argTypes[]) { - StringBuffer buf = new StringBuffer(); - buf.append(SIG_METHOD); + StringBuilder sb = new StringBuilder(); + sb.append(SIG_METHOD); for (int i = 0 ; i < argTypes.length ; i++) { - buf.append(argTypes[i].getTypeSignature()); + sb.append(argTypes[i].getTypeSignature()); } - buf.append(SIG_ENDMETHOD); - buf.append(returnType.getTypeSignature()); + sb.append(SIG_ENDMETHOD); + sb.append(returnType.getTypeSignature()); - String sig = buf.toString(); + String sig = sb.toString(); Type t = (Type)typeHash.get(sig); if (t == null) { t = new MethodType(sig, returnType, argTypes); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/jconsole/Formatter.java --- a/jdk/src/share/classes/sun/tools/jconsole/Formatter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/jconsole/Formatter.java Fri Jun 20 10:15:30 2014 -0700 @@ -232,15 +232,15 @@ } static String justify(String str, int size) { - StringBuffer buf = new StringBuffer(); - buf.append(""); + StringBuilder sb = new StringBuilder(); + sb.append(""); int n = size - str.length(); for (int i = 0; i < n; i++) { - buf.append(" "); + sb.append(" "); } - buf.append(str); - buf.append(""); - return buf.toString(); + sb.append(str); + sb.append(""); + return sb.toString(); } static String newRow(String label, String value) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java --- a/jdk/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/jstatd/RemoteHostImpl.java Fri Jun 20 10:15:30 2014 -0700 @@ -64,7 +64,7 @@ throws RemoteException, MonitorException { Integer v = new Integer(lvmid); RemoteVm stub = null; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append("local://").append(lvmid).append("@localhost"); if (mode != null) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/native2ascii/N2AFilter.java --- a/jdk/src/share/classes/sun/tools/native2ascii/N2AFilter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/native2ascii/N2AFilter.java Fri Jun 20 10:15:30 2014 -0700 @@ -58,7 +58,7 @@ out.write('u'); String hex = Integer.toHexString(buf[i]); - StringBuffer hex4 = new StringBuffer(hex); + StringBuilder hex4 = new StringBuilder(hex); hex4.reverse(); int length = 4 - hex4.length(); for (int j = 0; j < length; j++) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/serialver/SerialVer.java --- a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java Fri Jun 20 10:15:30 2014 -0700 @@ -85,7 +85,7 @@ /* Class not found so far */ } if (!classFound) { - StringBuffer workBuffer = new StringBuffer(classname); + StringBuilder workBuffer = new StringBuilder(classname); String workName = workBuffer.toString(); int i; while ((i = workName.lastIndexOf('.')) != -1 && !classFound) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/tree/FieldExpression.java --- a/jdk/src/share/classes/sun/tools/tree/FieldExpression.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/tree/FieldExpression.java Fri Jun 20 10:15:30 2014 -0700 @@ -79,21 +79,21 @@ * Convert an '.' expression to a qualified identifier */ static public Identifier toIdentifier(Expression e) { - StringBuffer buf = new StringBuffer(); + StringBuilder sb = new StringBuilder(); while (e.op == FIELD) { FieldExpression fe = (FieldExpression)e; if (fe.id == idThis || fe.id == idClass) { return null; } - buf.insert(0, fe.id); - buf.insert(0, '.'); + sb.insert(0, fe.id); + sb.insert(0, '.'); e = fe.right; } if (e.op != IDENT) { return null; } - buf.insert(0, ((IdentifierExpression)e).id); - return Identifier.lookup(buf.toString()); + sb.insert(0, ((IdentifierExpression) e).id); + return Identifier.lookup(sb.toString()); } /** diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tools/tree/Vset.java --- a/jdk/src/share/classes/sun/tools/tree/Vset.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tools/tree/Vset.java Fri Jun 20 10:15:30 2014 -0700 @@ -495,7 +495,7 @@ public String toString() { if (this == DEAD_END) return "{DEAD_END}"; - StringBuffer sb = new StringBuffer("{"); + StringBuilder sb = new StringBuilder("{"); int maxVar = VBITS * (1 + (x.length+1)/2); for (int i = 0; i < maxVar; i++) { if (!testVarUnassigned(i)) { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/classes/sun/tracing/PrintStreamProviderFactory.java --- a/jdk/src/share/classes/sun/tracing/PrintStreamProviderFactory.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/classes/sun/tracing/PrintStreamProviderFactory.java Fri Jun 20 10:15:30 2014 -0700 @@ -99,7 +99,7 @@ } public void uncheckedTrigger(Object[] args) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); sb.append(provider.getName()); sb.append("."); sb.append(name); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/demo/jvmti/hprof/hprof.h --- a/jdk/src/share/demo/jvmti/hprof/hprof.h Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/demo/jvmti/hprof/hprof.h Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -67,10 +67,6 @@ #include "classfile_constants.h" #include "jvm_md.h" -#ifndef SKIP_NPT -#include "npt.h" /* To get NptEnv for doing character conversions */ -#endif - /* Macros to extract the upper and lower 32 bits of a jlong */ #define jlong_high(a) ((jint)((a)>>32)) @@ -207,9 +203,6 @@ jvmtiEnv *jvmti; /* JVMTI env for this session */ JavaVM *jvm; /* JavaVM* for this session */ -#ifndef SKIP_NPT - NptEnv *npt; /* NptEnv* for this session, see npt.h */ -#endif jint cachedJvmtiVersion; /* JVMTI version number */ char *header; /* "JAVA PROFILE 1.0.[12]" */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/demo/jvmti/hprof/hprof_init.c --- a/jdk/src/share/demo/jvmti/hprof/hprof_init.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/share/demo/jvmti/hprof/hprof_init.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -740,16 +740,11 @@ } if ( gdata->utf8_output_filename != NULL ) { - /* UTF-8 to platform encoding (fill in gdata->output_filename) */ + // Don't attempt to convert output filename. + // If fileystem uses the same encoding as the rest of the OS it will work as is. ulen = (int)strlen(gdata->utf8_output_filename); gdata->output_filename = (char*)HPROF_MALLOC(ulen*3+3); -#ifdef SKIP_NPT (void)strcpy(gdata->output_filename, gdata->utf8_output_filename); -#else - (void)(gdata->npt->utf8ToPlatform) - (gdata->npt->utf, (jbyte*)gdata->utf8_output_filename, ulen, - gdata->output_filename, ulen*3+3); -#endif } /* By default we turn on gdata->alloc_sites and gdata->heap_dump */ @@ -1949,7 +1944,6 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved) { char *boot_path = NULL; - char npt_lib[JVM_MAXPATHLEN]; /* See if it's already loaded */ if ( gdata!=NULL && gdata->isLoaded==JNI_TRUE ) { @@ -1970,24 +1964,6 @@ /* Get the JVMTI environment */ getJvmti(); -#ifndef SKIP_NPT - getSystemProperty("sun.boot.library.path", &boot_path); - /* Load in NPT library for character conversions */ - md_build_library_name(npt_lib, sizeof(npt_lib), boot_path, NPT_LIBNAME); - if ( strlen(npt_lib) == 0 ) { - HPROF_ERROR(JNI_TRUE, "Could not find npt library"); - } - jvmtiDeallocate(boot_path); - NPT_INITIALIZE(npt_lib, &(gdata->npt), NPT_VERSION, NULL); - if ( gdata->npt == NULL ) { - HPROF_ERROR(JNI_TRUE, "Cannot load npt library"); - } - gdata->npt->utf = (gdata->npt->utfInitialize)(NULL); - if ( gdata->npt->utf == NULL ) { - HPROF_ERROR(JNI_TRUE, "Cannot initialize npt utf functions"); - } -#endif - /* Lock needed to protect debug_malloc() code, which is not MT safe */ #ifdef DEBUG gdata->debug_malloc_lock = createRawMonitor("HPROF debug_malloc lock"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/npt/README.txt --- a/jdk/src/share/npt/README.txt Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ - -README: For NPT Library. ------------------------- - -To use this Native Platform Toolkit library, you need to add --Isrc/share/npt and -I/src/${platform}/npt (platform is solaris or windows) -to your compilation lines. - -To initialize/use the library: - - #include "npt.h" - - NptEnv *npt; - - NPT_INITIALIZE(&npt, NPT_VERSION, NULL); - if (npt == NULL) { - FATAL_ERROR_MESSAGE(("Unable to gain access to Npt library")); - } - - /* To use the npt utf functions, they require initialization */ - npt->utf = (npt->utfInitialize)(NULL); - if (npt->utf == NULL) { - FATAL_ERROR_MESSAGE(("Unable to gain access to Npt utf functions")); - } - - ... - - - /* After all uses is done, it can be terminated, however, if the - * process will be exiting anyway it isn't necessary, and if - * you have other threads running that might use these handles - * you will need to wait here until all those threads have terminated. - * So in general, termination can be a pain and slow your process - * termination down. - */ - (npt->utfTerminate)(npt->utf,NULL); - NPT_TERMINATE(&npt, NULL); - - diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/npt/npt.c --- a/jdk/src/share/npt/npt.c Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -/* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#include -#include -#include - -#include "jni.h" - -#include "npt.h" - -#include "utf.h" - -static int -version_check(char *version) -{ - if ( version==NULL || strcmp(version, NPT_VERSION)!=0 ) { - return 1; - } - return 0; -} - -JNIEXPORT void JNICALL -nptInitialize(NptEnv **pnpt, char *nptVersion, char *options) -{ - NptEnv *npt; - - (*pnpt) = NULL; - - if ( version_check(nptVersion) ) { - NPT_ERROR("NPT version doesn't match"); - return; - } - - npt = (NptEnv*)calloc(sizeof(NptEnv), 1); - if ( npt == NULL ) { - NPT_ERROR("Cannot allocate calloc space for NptEnv*"); - return; - } - - if ( options != NULL ) { - npt->options = strdup(options); - } - npt->utfInitialize = &utfInitialize; - npt->utfTerminate = &utfTerminate; - npt->utf8ToPlatform = &utf8ToPlatform; - npt->utf8FromPlatform = &utf8FromPlatform; - npt->utf8ToUtf16 = &utf8ToUtf16; - npt->utf16ToUtf8m = &utf16ToUtf8m; - npt->utf16ToUtf8s = &utf16ToUtf8s; - npt->utf8sToUtf8mLength = &utf8sToUtf8mLength; - npt->utf8sToUtf8m = &utf8sToUtf8m; - npt->utf8mToUtf8sLength = &utf8mToUtf8sLength; - npt->utf8mToUtf8s = &utf8mToUtf8s; - - (*pnpt) = npt; -} - -JNIEXPORT void JNICALL -nptTerminate(NptEnv* npt, char *options) -{ - - /* FIXUP: options? Check memory or something? */ - if ( npt->options != NULL ) { - (void)free(npt->options); - } - (void)free(npt); -} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/npt/npt.h --- a/jdk/src/share/npt/npt.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* Native Platform Toolkit */ - -#ifndef _NPT_H -#define _NPT_H - -#define NPT_VERSION "0.0.0" - -#include - -#include "jni.h" - -#include "npt_md.h" -#include "utf.h" - -#define NPT_ERROR(s) { (void)fprintf(stderr, "NPT ERROR: %s\n", s); exit(1); } - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - - /* Used to save handle to our own dynamicly loaded library */ - void *libhandle; - - /* Copy of the options sent in at initialization */ - char *options; - - /* Can be used to save the UtfInst handle */ - struct UtfInst *utf; - - /* UTF interfaces, see utf.c */ - struct UtfInst* (JNICALL *utfInitialize) - (char *options); - void (JNICALL *utfTerminate) - (struct UtfInst *utf, char *options); - int (JNICALL *utf8ToPlatform) - (struct UtfInst *utf, jbyte *utf8, int len, - char *output, int outputMaxLen); - int (JNICALL *utf8FromPlatform) - (struct UtfInst *utf, char *str, int len, - jbyte *output, int outputMaxLen); - int (JNICALL *utf8ToUtf16) - (struct UtfInst *utf, jbyte *utf8, int len, - jchar *output, int outputMaxLen); - int (JNICALL *utf16ToUtf8m) - (struct UtfInst *utf, jchar *utf16, int len, - jbyte *output, int outputMaxLen); - int (JNICALL *utf16ToUtf8s) - (struct UtfInst *utf, jchar *utf16, int len, - jbyte *output, int outputMaxLen); - int (JNICALL *utf8sToUtf8mLength) - (struct UtfInst *utf, jbyte *string, int length); - void (JNICALL *utf8sToUtf8m) - (struct UtfInst *utf, jbyte *string, int length, - jbyte *newString, int newLength); - int (JNICALL *utf8mToUtf8sLength) - (struct UtfInst *utf, jbyte *string, int length); - void (JNICALL *utf8mToUtf8s) - (struct UtfInst *utf, jbyte *string, int length, - jbyte *newString, int newLength); - -} NptEnv; - -/* Typedefs for the only 2 'extern' functions in npt library: - * nptInitialize and nptTerminate - * See NPT_INITIALIZE() and NPT_TERMINATE() in npt_md.h. - */ - -JNIEXPORT void JNICALL nptInitialize - (NptEnv **pnpt, char *nptVersion, char *options); -typedef void (JNICALL *NptInitialize) - (NptEnv **pnpt, char *nptVersion, char *options); - -JNIEXPORT void JNICALL nptTerminate - (NptEnv* npt, char *options); -typedef void (JNICALL *NptTerminate) - (NptEnv* npt, char *options); - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* __cplusplus */ - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/npt/utf.c --- a/jdk/src/share/npt/utf.c Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,500 +0,0 @@ -/* - * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* Misc functions for conversion of Unicode and UTF-8 and platform encoding */ - -#include -#include -#include -#include -#include -#include - -#include "jni.h" - -#include "utf.h" - -/* - * Error handler - */ -void -utfError(char *file, int line, char *message) -{ - (void)fprintf(stderr, "UTF ERROR [\"%s\":%d]: %s\n", file, line, message); - abort(); -} - -/* - * Convert UTF-8 to UTF-16 - * Returns length or -1 if output overflows. - */ -int JNICALL -utf8ToUtf16(struct UtfInst *ui, jbyte *utf8, int len, unsigned short *output, int outputMaxLen) -{ - int outputLen; - int i; - - UTF_ASSERT(utf8); - UTF_ASSERT(len>=0); - UTF_ASSERT(output); - UTF_ASSERT(outputMaxLen>0); - - i = 0; - outputLen = 0; - while ( i= outputMaxLen ) { - return -1; - } - x = (unsigned char)utf8[i++]; - code = x; - if ( (x & 0xE0)==0xE0 ) { - y = (unsigned char)utf8[i++]; - z = (unsigned char)utf8[i++]; - code = ((x & 0xF)<<12) + ((y & 0x3F)<<6) + (z & 0x3F); - } else if ( (x & 0xC0)==0xC0 ) { - y = (unsigned char)utf8[i++]; - code = ((x & 0x1F)<<6) + (y & 0x3F); - } - output[outputLen++] = code; - } - return outputLen; -} - -/* - * Convert UTF-16 to UTF-8 Modified - * Returns length or -1 if output overflows. - */ -int JNICALL -utf16ToUtf8m(struct UtfInst *ui, unsigned short *utf16, int len, jbyte *output, int outputMaxLen) -{ - int i; - int outputLen; - - UTF_ASSERT(utf16); - UTF_ASSERT(len>=0); - UTF_ASSERT(output); - UTF_ASSERT(outputMaxLen>0); - - outputLen = 0; - for (i = 0; i < len; i++) { - unsigned code; - - code = utf16[i]; - if ( code >= 0x0001 && code <= 0x007F ) { - if ( outputLen + 1 >= outputMaxLen ) { - return -1; - } - output[outputLen++] = code; - } else if ( code == 0 || ( code >= 0x0080 && code <= 0x07FF ) ) { - if ( outputLen + 2 >= outputMaxLen ) { - return -1; - } - output[outputLen++] = ((code>>6) & 0x1F) | 0xC0; - output[outputLen++] = (code & 0x3F) | 0x80; - } else if ( code >= 0x0800 && code <= 0xFFFF ) { - if ( outputLen + 3 >= outputMaxLen ) { - return -1; - } - output[outputLen++] = ((code>>12) & 0x0F) | 0xE0; - output[outputLen++] = ((code>>6) & 0x3F) | 0x80; - output[outputLen++] = (code & 0x3F) | 0x80; - } - } - output[outputLen] = 0; - return outputLen; -} - -int JNICALL -utf16ToUtf8s(struct UtfInst *ui, unsigned short *utf16, int len, jbyte *output, int outputMaxLen) -{ - return -1; /* FIXUP */ -} - -/* Determine length of this Standard UTF-8 in Modified UTF-8. - * Validation is done of the basic UTF encoding rules, returns - * length (no change) when errors are detected in the UTF encoding. - * - * Note: Accepts Modified UTF-8 also, no verification on the - * correctness of Standard UTF-8 is done. e,g, 0xC080 input is ok. - */ -int JNICALL -utf8sToUtf8mLength(struct UtfInst *ui, jbyte *string, int length) -{ - int newLength; - int i; - - newLength = 0; - for ( i = 0 ; i < length ; i++ ) { - unsigned byte; - - byte = (unsigned char)string[i]; - if ( (byte & 0x80) == 0 ) { /* 1byte encoding */ - newLength++; - if ( byte == 0 ) { - newLength++; /* We gain one byte in length on NULL bytes */ - } - } else if ( (byte & 0xE0) == 0xC0 ) { /* 2byte encoding */ - /* Check encoding of following bytes */ - if ( (i+1) >= length || (string[i+1] & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - i++; /* Skip next byte */ - newLength += 2; - } else if ( (byte & 0xF0) == 0xE0 ) { /* 3byte encoding */ - /* Check encoding of following bytes */ - if ( (i+2) >= length || (string[i+1] & 0xC0) != 0x80 - || (string[i+2] & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - i += 2; /* Skip next two bytes */ - newLength += 3; - } else if ( (byte & 0xF8) == 0xF0 ) { /* 4byte encoding */ - /* Check encoding of following bytes */ - if ( (i+3) >= length || (string[i+1] & 0xC0) != 0x80 - || (string[i+2] & 0xC0) != 0x80 - || (string[i+3] & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - i += 3; /* Skip next 3 bytes */ - newLength += 6; /* 4byte encoding turns into 2 3byte ones */ - } else { - break; /* Error condition */ - } - } - if ( i != length ) { - /* Error in finding new length, return old length so no conversion */ - /* FIXUP: ERROR_MESSAGE? */ - return length; - } - return newLength; -} - -/* Convert Standard UTF-8 to Modified UTF-8. - * Assumes the UTF-8 encoding was validated by utf8mLength() above. - * - * Note: Accepts Modified UTF-8 also, no verification on the - * correctness of Standard UTF-8 is done. e,g, 0xC080 input is ok. - */ -void JNICALL -utf8sToUtf8m(struct UtfInst *ui, jbyte *string, int length, jbyte *newString, int newLength) -{ - int i; - int j; - - j = 0; - for ( i = 0 ; i < length ; i++ ) { - unsigned byte1; - - byte1 = (unsigned char)string[i]; - - /* NULL bytes and bytes starting with 11110xxx are special */ - if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ - if ( byte1 == 0 ) { - /* Bits out: 11000000 10000000 */ - newString[j++] = (jbyte)0xC0; - newString[j++] = (jbyte)0x80; - } else { - /* Single byte */ - newString[j++] = byte1; - } - } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ - newString[j++] = byte1; - newString[j++] = string[++i]; - } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ - newString[j++] = byte1; - newString[j++] = string[++i]; - newString[j++] = string[++i]; - } else if ( (byte1 & 0xF8) == 0xF0 ) { /* 4byte encoding */ - /* Beginning of 4byte encoding, turn into 2 3byte encodings */ - unsigned byte2, byte3, byte4, u21; - - /* Bits in: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ - byte2 = (unsigned char)string[++i]; - byte3 = (unsigned char)string[++i]; - byte4 = (unsigned char)string[++i]; - /* Reconstruct full 21bit value */ - u21 = (byte1 & 0x07) << 18; - u21 += (byte2 & 0x3F) << 12; - u21 += (byte3 & 0x3F) << 6; - u21 += (byte4 & 0x3F); - /* Bits out: 11101101 1010xxxx 10xxxxxx */ - newString[j++] = (jbyte)0xED; - newString[j++] = (jbyte)(0xA0 + (((u21 >> 16) - 1) & 0x0F)); - newString[j++] = (jbyte)(0x80 + ((u21 >> 10) & 0x3F)); - /* Bits out: 11101101 1011xxxx 10xxxxxx */ - newString[j++] = (jbyte)0xED; - newString[j++] = (jbyte)(0xB0 + ((u21 >> 6) & 0x0F)); - newString[j++] = byte4; - } - } - UTF_ASSERT(i==length); - UTF_ASSERT(j==newLength); - newString[j] = (jbyte)0; -} - -/* Given a Modified UTF-8 string, calculate the Standard UTF-8 length. - * Basic validation of the UTF encoding rules is done, and length is - * returned (no change) when errors are detected. - * - * Note: No validation is made that this is indeed Modified UTF-8 coming in. - * - */ -int JNICALL -utf8mToUtf8sLength(struct UtfInst *ui, jbyte *string, int length) -{ - int newLength; - int i; - - newLength = 0; - for ( i = 0 ; i < length ; i++ ) { - unsigned byte1, byte2, byte3, byte4, byte5, byte6; - - byte1 = (unsigned char)string[i]; - if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ - newLength++; - } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ - /* Check encoding of following bytes */ - if ( (i+1) >= length || (string[i+1] & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - byte2 = (unsigned char)string[++i]; - if ( byte1 != 0xC0 || byte2 != 0x80 ) { - newLength += 2; /* Normal 2byte encoding, not 0xC080 */ - } else { - newLength++; /* We will turn 0xC080 into 0 */ - } - } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ - /* Check encoding of following bytes */ - if ( (i+2) >= length || (string[i+1] & 0xC0) != 0x80 - || (string[i+2] & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - byte2 = (unsigned char)string[++i]; - byte3 = (unsigned char)string[++i]; - newLength += 3; - /* Possible process a second 3byte encoding */ - if ( (i+3) < length && byte1 == 0xED && (byte2 & 0xF0) == 0xA0 ) { - /* See if this is a pair of 3byte encodings */ - byte4 = (unsigned char)string[i+1]; - byte5 = (unsigned char)string[i+2]; - byte6 = (unsigned char)string[i+3]; - if ( byte4 == 0xED && (byte5 & 0xF0) == 0xB0 ) { - /* Check encoding of 3rd byte */ - if ( (byte6 & 0xC0) != 0x80 ) { - break; /* Error condition */ - } - newLength++; /* New string will have 4byte encoding */ - i += 3; /* Skip next 3 bytes */ - } - } - } else { - break; /* Error condition */ - } - } - if ( i != length ) { - /* Error in UTF encoding */ - /* FIXUP: ERROR_MESSAGE()? */ - return length; - } - return newLength; -} - -/* Convert a Modified UTF-8 string into a Standard UTF-8 string - * It is assumed that this string has been validated in terms of the - * basic UTF encoding rules by utf8Length() above. - * - * Note: No validation is made that this is indeed Modified UTF-8 coming in. - * - */ -void JNICALL -utf8mToUtf8s(struct UtfInst *ui, jbyte *string, int length, jbyte *newString, int newLength) -{ - int i; - int j; - - j = 0; - for ( i = 0 ; i < length ; i++ ) { - unsigned byte1, byte2, byte3, byte4, byte5, byte6; - - byte1 = (unsigned char)string[i]; - if ( (byte1 & 0x80) == 0 ) { /* 1byte encoding */ - /* Single byte */ - newString[j++] = byte1; - } else if ( (byte1 & 0xE0) == 0xC0 ) { /* 2byte encoding */ - byte2 = (unsigned char)string[++i]; - if ( byte1 != 0xC0 || byte2 != 0x80 ) { - newString[j++] = byte1; - newString[j++] = byte2; - } else { - newString[j++] = 0; - } - } else if ( (byte1 & 0xF0) == 0xE0 ) { /* 3byte encoding */ - byte2 = (unsigned char)string[++i]; - byte3 = (unsigned char)string[++i]; - if ( i+3 < length && byte1 == 0xED && (byte2 & 0xF0) == 0xA0 ) { - /* See if this is a pair of 3byte encodings */ - byte4 = (unsigned char)string[i+1]; - byte5 = (unsigned char)string[i+2]; - byte6 = (unsigned char)string[i+3]; - if ( byte4 == 0xED && (byte5 & 0xF0) == 0xB0 ) { - unsigned u21; - - /* Bits in: 11101101 1010xxxx 10xxxxxx */ - /* Bits in: 11101101 1011xxxx 10xxxxxx */ - i += 3; - - /* Reconstruct 21 bit code */ - u21 = ((byte2 & 0x0F) + 1) << 16; - u21 += (byte3 & 0x3F) << 10; - u21 += (byte5 & 0x0F) << 6; - u21 += (byte6 & 0x3F); - - /* Bits out: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ - - /* Convert to 4byte encoding */ - newString[j++] = 0xF0 + ((u21 >> 18) & 0x07); - newString[j++] = 0x80 + ((u21 >> 12) & 0x3F); - newString[j++] = 0x80 + ((u21 >> 6) & 0x3F); - newString[j++] = 0x80 + (u21 & 0x3F); - continue; - } - } - /* Normal 3byte encoding */ - newString[j++] = byte1; - newString[j++] = byte2; - newString[j++] = byte3; - } - } - UTF_ASSERT(i==length); - UTF_ASSERT(j==newLength); - newString[j] = 0; -} - -/* ================================================================= */ - -#ifdef COMPILE_WITH_UTF_TEST /* Test program */ - -/* - * Convert any byte array into a printable string. - * Returns length or -1 if output overflows. - */ -static int -bytesToPrintable(struct UtfInst *ui, char *bytes, int len, char *output, int outputMaxLen) -{ - int outputLen; - int i; - - UTF_ASSERT(bytes); - UTF_ASSERT(len>=0); - UTF_ASSERT(output); - UTF_ASSERT(outputMaxLen>=0); - - outputLen = 0; - for ( i=0; i= outputMaxLen ) { - return -1; - } - output[outputLen++] = (char)byte; - } else { - if ( outputLen + 4 >= outputMaxLen ) { - return -1; - } - (void)sprintf(output+outputLen,"\\x%02x",byte); - outputLen += 4; - } - } - output[outputLen] = 0; - return outputLen; -} - -static void -test(void) -{ - static char *strings[] = { - "characters", - "abcdefghijklmnopqrstuvwxyz", - "0123456789", - "!@#$%^&*()_+=-{}[]:;", - NULL }; - int i; - struct UtfInst *ui; - - ui = utfInitialize(NULL); - - i = 0; - while ( strings[i] != NULL ) { - char *str; - #define MAX 1024 - char buf0[MAX]; - char buf1[MAX]; - char buf2[MAX]; - unsigned short buf3[MAX]; - int len1; - int len2; - int len3; - - str = strings[i]; - - (void)bytesToPrintable(ui, str, (int)strlen(str), buf0, 1024); - - len1 = utf8FromPlatform(ui, str, (int)strlen(str), (jbyte*)buf1, 1024); - - UTF_ASSERT(len1==(int)strlen(str)); - - len3 = utf8ToUtf16(ui, (jbyte*)buf1, len1, (jchar*)buf3, 1024); - - UTF_ASSERT(len3==len1); - - len1 = utf16ToUtf8m(ui, (jchar*)buf3, len3, (jbyte*)buf1, 1024); - - UTF_ASSERT(len1==len3); - UTF_ASSERT(strcmp(str, buf1) == 0); - - len2 = utf8ToPlatform(ui, (jbyte*)buf1, len1, buf2, 1024); - - UTF_ASSERT(len2==len1); - UTF_ASSERT(strcmp(str, buf2) == 0); - - i++; - } - - utfTerminate(ui, NULL); - -} - -int -main(int argc, char **argv) -{ - test(); - return 0; -} - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/share/npt/utf.h --- a/jdk/src/share/npt/utf.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* Routines for various UTF conversions */ - -#ifndef _UTF_H -#define _UTF_H - -#include - -#include "jni.h" -#include "utf_md.h" - -/* Use THIS_FILE when it is available. */ -#ifndef THIS_FILE - #define THIS_FILE __FILE__ -#endif - -/* Error and assert macros */ -#define UTF_ERROR(m) utfError(THIS_FILE, __LINE__, m) -#define UTF_ASSERT(x) ( (x)==0 ? UTF_ERROR("ASSERT ERROR " #x) : (void)0 ) - -void utfError(char *file, int line, char *message); - -struct UtfInst* JNICALL utfInitialize - (char *options); -void JNICALL utfTerminate - (struct UtfInst *ui, char *options); -int JNICALL utf8ToPlatform - (struct UtfInst *ui, jbyte *utf8, - int len, char *output, int outputMaxLen); -int JNICALL utf8FromPlatform - (struct UtfInst *ui, char *str, int len, - jbyte *output, int outputMaxLen); -int JNICALL utf8ToUtf16 - (struct UtfInst *ui, jbyte *utf8, int len, - jchar *output, int outputMaxLen); -int JNICALL utf16ToUtf8m - (struct UtfInst *ui, jchar *utf16, int len, - jbyte *output, int outputMaxLen); -int JNICALL utf16ToUtf8s - (struct UtfInst *ui, jchar *utf16, int len, - jbyte *output, int outputMaxLen); -int JNICALL utf8sToUtf8mLength - (struct UtfInst *ui, jbyte *string, int length); -void JNICALL utf8sToUtf8m - (struct UtfInst *ui, jbyte *string, int length, - jbyte *new_string, int new_length); -int JNICALL utf8mToUtf8sLength - (struct UtfInst *ui, jbyte *string, int length); -void JNICALL utf8mToUtf8s - (struct UtfInst *ui, jbyte *string, int length, - jbyte *new_string, int new_length); - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/solaris/native/java/net/ExtendedOptionsImpl.c --- a/jdk/src/solaris/native/java/net/ExtendedOptionsImpl.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/solaris/native/java/net/ExtendedOptionsImpl.c Fri Jun 20 10:15:30 2014 -0700 @@ -218,6 +218,9 @@ if (errno == ENOPROTOOPT) { JNU_ThrowByName(env, "java/lang/UnsupportedOperationException", "unsupported socket option"); + } else if (errno == EACCES || errno == EPERM) { + NET_ERROR(env, JNU_JAVANETPKG "SocketException", + "Permission denied"); } else { NET_ERROR(env, JNU_JAVANETPKG "SocketException", "set option SO_FLOW_SLA failed"); @@ -251,6 +254,9 @@ if (errno == ENOPROTOOPT) { JNU_ThrowByName(env, "java/lang/UnsupportedOperationException", "unsupported socket option"); + } else if (errno == EACCES || errno == EPERM) { + NET_ERROR(env, JNU_JAVANETPKG "SocketException", + "Permission denied"); } else { NET_ERROR(env, JNU_JAVANETPKG "SocketException", "set option SO_FLOW_SLA failed"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/solaris/npt/npt_md.h --- a/jdk/src/solaris/npt/npt_md.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* Native Platform Toolkit */ - -#ifndef _NPT_MD_H -#define _NPT_MD_H - -#include -#include -#include -#include -#include - -#define NPT_LIBNAME "npt" - -#define NPT_INITIALIZE(path,pnpt,version,options) \ - { \ - void *_handle; \ - void *_sym; \ - \ - if ( (pnpt) == NULL ) NPT_ERROR("NptEnv* is NULL"); \ - *(pnpt) = NULL; \ - _handle = dlopen(path, RTLD_LAZY); \ - if ( _handle == NULL ) NPT_ERROR("Cannot open library"); \ - _sym = dlsym(_handle, "nptInitialize"); \ - if ( _sym == NULL ) NPT_ERROR("Cannot find nptInitialize"); \ - ((NptInitialize)_sym)((pnpt), version, (options)); \ - if ( (*(pnpt)) == NULL ) NPT_ERROR("Cannot initialize NptEnv"); \ - (*(pnpt))->libhandle = _handle; \ - } - -#define NPT_TERMINATE(npt,options) \ - { \ - void *_handle; \ - void *_sym; \ - \ - if ( (npt) == NULL ) NPT_ERROR("NptEnv* is NULL"); \ - _handle = (npt)->libhandle; \ - _sym = dlsym(_handle, "nptTerminate"); \ - if ( _sym == NULL ) NPT_ERROR("Cannot find nptTerminate"); \ - ((NptTerminate)_sym)((npt), (options)); \ - if ( _handle != NULL ) (void)dlclose(_handle); \ - } - - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/solaris/npt/utf_md.c --- a/jdk/src/solaris/npt/utf_md.c Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* - * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#include -#include -#include -#include -#include -#include - -#include "utf.h" - -/* Global variables */ - -/* - * Initialize all utf processing. - */ -struct UtfInst *JNICALL -utfInitialize(char *options) -{ - struct UtfInst *ui; - char *codeset; - - ui = (struct UtfInst*)calloc(sizeof(struct UtfInst), 1); - ui->iconvToPlatform = (void *)-1; - ui->iconvFromPlatform = (void *)-1; - - /* Set the locale from the environment */ - (void)setlocale(LC_ALL, ""); - - /* Get the codeset name */ - codeset = (char*)nl_langinfo(CODESET); - if ( codeset == NULL || codeset[0] == 0 ) { - return ui; - } - - /* If we don't need this, skip it */ - if (strcmp(codeset, "UTF-8") == 0 || strcmp(codeset, "utf8") == 0 ) { - return ui; - } - - /* Open conversion descriptors */ - ui->iconvToPlatform = iconv_open(codeset, "UTF-8"); - if ( ui->iconvToPlatform == (void *)-1 ) { - UTF_ERROR("Failed to complete iconv_open() setup"); - } - ui->iconvFromPlatform = iconv_open("UTF-8", codeset); - if ( ui->iconvFromPlatform == (void *)-1 ) { - UTF_ERROR("Failed to complete iconv_open() setup"); - } - return ui; -} - -/* - * Terminate all utf processing - */ -void JNICALL -utfTerminate(struct UtfInst *ui, char *options) -{ - if ( ui->iconvFromPlatform != (void *)-1 ) { - (void)iconv_close(ui->iconvFromPlatform); - } - if ( ui->iconvToPlatform != (void *)-1 ) { - (void)iconv_close(ui->iconvToPlatform); - } - ui->iconvToPlatform = (void *)-1; - ui->iconvFromPlatform = (void *)-1; - (void)free(ui); -} - -/* - * Do iconv() conversion. - * Returns length or -1 if output overflows. - */ -static int -iconvConvert(iconv_t ic, char *bytes, int len, char *output, int outputMaxLen) -{ - int outputLen = 0; - - UTF_ASSERT(bytes); - UTF_ASSERT(len>=0); - UTF_ASSERT(output); - UTF_ASSERT(outputMaxLen>len); - - output[0] = 0; - outputLen = 0; - - if ( ic != (iconv_t)(void *)-1 ) { - int returnValue; - size_t inLeft; - size_t outLeft; - char *inbuf; - char *outbuf; - - inbuf = bytes; - outbuf = output; - inLeft = len; - outLeft = outputMaxLen; - returnValue = iconv(ic, (void*)&inbuf, &inLeft, &outbuf, &outLeft); - if ( returnValue >= 0 && inLeft==0 ) { - outputLen = outputMaxLen-outLeft; - output[outputLen] = 0; - return outputLen; - } - - /* Failed to do the conversion */ - return -1; - } - - /* Just copy bytes */ - outputLen = len; - (void)memcpy(output, bytes, len); - output[len] = 0; - return outputLen; -} - -/* - * Convert UTF-8 to Platform Encoding. - * Returns length or -1 if output overflows. - */ -int JNICALL -utf8ToPlatform(struct UtfInst*ui, jbyte *utf8, int len, char *output, int outputMaxLen) -{ - /* Negative length is an error */ - if ( len < 0 ) { - return -1; - } - - /* Zero length is ok, but we don't need to do much */ - if ( len == 0 ) { - output[0] = 0; - return 0; - } - - return iconvConvert(ui->iconvToPlatform, (char*)utf8, len, output, outputMaxLen); -} - -/* - * Convert Platform Encoding to UTF-8. - * Returns length or -1 if output overflows. - */ -int JNICALL -utf8FromPlatform(struct UtfInst*ui, char *str, int len, jbyte *output, int outputMaxLen) -{ - /* Negative length is an error */ - if ( len < 0 ) { - return -1; - } - - /* Zero length is ok, but we don't need to do much */ - if ( len == 0 ) { - output[0] = 0; - return 0; - } - - return iconvConvert(ui->iconvFromPlatform, str, len, (char*)output, outputMaxLen); -} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/solaris/npt/utf_md.h --- a/jdk/src/solaris/npt/utf_md.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#ifndef _UTF_MD_H -#define _UTF_MD_H - -struct UtfInst { - void *iconvToPlatform; - void *iconvFromPlatform; -}; - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c --- a/jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/src/windows/native/sun/security/provider/WinCAPISeedGenerator.c Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. * 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,11 +59,16 @@ numBytes = (*env)->GetArrayLength(env, randArray); randBytes = (*env)->GetByteArrayElements(env, randArray, NULL); + if (randBytes == NULL) { + goto cleanup; + } + if (CryptGenRandom(hCryptProv, numBytes, randBytes)) { result = JNI_TRUE; } (*env)->ReleaseByteArrayElements(env, randArray, randBytes, 0); +cleanup: CryptReleaseContext(hCryptProv, 0); return result; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/windows/npt/npt_md.h --- a/jdk/src/windows/npt/npt_md.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* Native Platform Toolkit */ - -#ifndef _NPT_MD_H -#define _NPT_MD_H - -#include -#include -#include -#include - -#define NPT_LIBNAME "npt" - -#define NPT_INITIALIZE(path,pnpt,version,options) \ - { \ - void *_handle; \ - void *_sym; \ - \ - if ( (pnpt) == NULL ) NPT_ERROR("NptEnv* is NULL"); \ - *(pnpt) = NULL; \ - _handle = LoadLibrary(path); \ - if ( _handle == NULL ) NPT_ERROR("Cannot open library"); \ - _sym = GetProcAddress(_handle, "nptInitialize"); \ - if ( _sym == NULL ) NPT_ERROR("Cannot find nptInitialize"); \ - ((NptInitialize)_sym)((pnpt), version, (options)); \ - if ( *(pnpt) == NULL ) NPT_ERROR("Cannot initialize NptEnv"); \ - (*(pnpt))->libhandle = _handle; \ - } - -#define NPT_TERMINATE(npt,options) \ - { \ - void *_handle; \ - void *_sym; \ - \ - if ( (npt) == NULL ) NPT_ERROR("NptEnv* is NULL"); \ - _handle = (npt)->libhandle; \ - if ( _handle == NULL ) NPT_ERROR("npt->libhandle is NULL"); \ - _sym = GetProcAddress(_handle, "nptTerminate"); \ - if ( _sym == NULL ) NPT_ERROR("Cannot find nptTerminate"); \ - ((NptTerminate)_sym)((npt), (options)); \ - (void)FreeLibrary(_handle); \ - } - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/windows/npt/utf_md.c --- a/jdk/src/windows/npt/utf_md.c Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,172 +0,0 @@ -/* - * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#include "utf.h" - -#include -#include -#include - -/* - * Initialize all utf processing. - */ -struct UtfInst * JNICALL -utfInitialize(char *options) -{ - struct UtfInst *ui; - LANGID langID; - LCID localeID; - TCHAR strCodePage[7]; // ANSI code page id - - ui = (struct UtfInst*)calloc(sizeof(struct UtfInst), 1); - - /* - * Get the code page for this locale - */ - langID = LANGIDFROMLCID(GetUserDefaultLCID()); - localeID = MAKELCID(langID, SORT_DEFAULT); - if (GetLocaleInfo(localeID, LOCALE_IDEFAULTANSICODEPAGE, - strCodePage, sizeof(strCodePage)/sizeof(TCHAR)) > 0 ) { - ui->platformCodePage = atoi(strCodePage); - } else { - ui->platformCodePage = GetACP(); - } - return ui; -} - -/* - * Terminate all utf processing - */ -void JNICALL -utfTerminate(struct UtfInst *ui, char *options) -{ - (void)free(ui); -} - -/* - * Get wide string (assumes len>0) - */ -static WCHAR* -getWideString(UINT codePage, char* str, int len, int *pwlen) -{ - int wlen; - WCHAR* wstr; - - /* Convert the string to WIDE string */ - wlen = MultiByteToWideChar(codePage, 0, str, len, NULL, 0); - *pwlen = wlen; - if (wlen <= 0) { - UTF_ERROR(("Can't get WIDE string length")); - return NULL; - } - wstr = (WCHAR*)malloc(wlen * sizeof(WCHAR)); - if (wstr == NULL) { - UTF_ERROR(("Can't malloc() any space")); - return NULL; - } - if (MultiByteToWideChar(codePage, 0, str, len, wstr, wlen) == 0) { - UTF_ERROR(("Can't get WIDE string")); - return NULL; - } - return wstr; -} - -/* - * Convert UTF-8 to a platform string - */ -int JNICALL -utf8ToPlatform(struct UtfInst *ui, jbyte *utf8, int len, char* output, int outputMaxLen) -{ - int wlen; - int plen; - WCHAR* wstr; - - /* Negative length is an error */ - if ( len < 0 ) { - return -1; - } - - /* Zero length is ok, but we don't need to do much */ - if ( len == 0 ) { - output[0] = 0; - return 0; - } - - /* Get WIDE string version (assumes len>0) */ - wstr = getWideString(CP_UTF8, (char*)utf8, len, &wlen); - if ( wstr == NULL ) { - return -1; - } - - /* Convert WIDE string to MultiByte string */ - plen = WideCharToMultiByte(ui->platformCodePage, 0, wstr, wlen, - output, outputMaxLen, NULL, NULL); - free(wstr); - if (plen <= 0) { - UTF_ERROR(("Can't convert WIDE string to multi-byte")); - return -1; - } - output[plen] = '\0'; - return plen; -} - -/* - * Convert Platform Encoding to UTF-8. - */ -int JNICALL -utf8FromPlatform(struct UtfInst *ui, char *str, int len, jbyte *output, int outputMaxLen) -{ - int wlen; - int plen; - WCHAR* wstr; - - /* Negative length is an error */ - if ( len < 0 ) { - return -1; - } - - /* Zero length is ok, but we don't need to do much */ - if ( len == 0 ) { - output[0] = 0; - return 0; - } - - /* Get WIDE string version (assumes len>0) */ - wstr = getWideString(ui->platformCodePage, str, len, &wlen); - if ( wstr == NULL ) { - return -1; - } - - /* Convert WIDE string to UTF-8 string */ - plen = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, - (char*)output, outputMaxLen, NULL, NULL); - free(wstr); - if (plen <= 0) { - UTF_ERROR(("Can't convert WIDE string to multi-byte")); - return -1; - } - output[plen] = '\0'; - return plen; -} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/src/windows/npt/utf_md.h --- a/jdk/src/windows/npt/utf_md.h Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -#ifndef _UTF_MD_H -#define _UTF_MD_H - -struct UtfInst { - unsigned int platformCodePage; -}; - -#endif diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/ProblemList.txt --- a/jdk/test/ProblemList.txt Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/ProblemList.txt Fri Jun 20 10:15:30 2014 -0700 @@ -124,6 +124,10 @@ # jdk_management +# 8046351 +com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java generic-all +com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationTest.java generic-all + ############################################################################ # jdk_jmx @@ -264,7 +268,6 @@ # 8044419 com/sun/jdi/JdbReadTwiceTest.sh generic-all - ############################################################################ # jdk_util @@ -292,4 +295,10 @@ # 8037285 sun/tools/jstatd/TestJstatdServer.java generic-all +# 8046355 +sun/tools/jstatd/TestJstatdExternalRegistry.java generic-all + +# 8046352 +com/sun/tools/attach/TempDirTest.java generic-all + ############################################################################ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/AccessSpecifierTest.java --- a/jdk/test/com/sun/jdi/AccessSpecifierTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/AccessSpecifierTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g AccessSpecifierTest.java - * @run main AccessSpecifierTest + * @run driver AccessSpecifierTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/AfterThreadDeathTest.java --- a/jdk/test/com/sun/jdi/AfterThreadDeathTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/AfterThreadDeathTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g AfterThreadDeathTest.java - * @run main AfterThreadDeathTest + * @run driver AfterThreadDeathTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/AllLineLocations.java --- a/jdk/test/com/sun/jdi/AllLineLocations.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/AllLineLocations.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * @run compile -g RefTypes.java * @run build AllLineLocations * - * @run main AllLineLocations RefTypes + * @run driver AllLineLocations RefTypes */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/AnyDebuggeeTest.java --- a/jdk/test/com/sun/jdi/AnyDebuggeeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/AnyDebuggeeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g AnyDebuggeeTest.java - * @run main AnyDebuggeeeTest + * @run driver AnyDebuggeeeTest * * This test is intended to be run manually to investigate behaviors; * it is not an actual test of any specific functionality, it just diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ArgumentValuesTest.java --- a/jdk/test/com/sun/jdi/ArgumentValuesTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ArgumentValuesTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile ArgumentValuesTest.java - * @run main ArgumentValuesTest + * @run driver ArgumentValuesTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ArrayRangeTest.java --- a/jdk/test/com/sun/jdi/ArrayRangeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ArrayRangeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ArrayRangeTest.java - * @run main ArrayRangeTest + * @run driver ArrayRangeTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/BacktraceFieldTest.java --- a/jdk/test/com/sun/jdi/BacktraceFieldTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/BacktraceFieldTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g BacktraceFieldTest.java - * @run main BacktraceFieldTest + * @run driver BacktraceFieldTest */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/BadHandshakeTest.java --- a/jdk/test/com/sun/jdi/BadHandshakeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/BadHandshakeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -27,7 +27,7 @@ * @library /lib/testlibrary * * @build jdk.testlibrary.* VMConnection BadHandshakeTest Exit0 - * @run main BadHandshakeTest + * @run driver BadHandshakeTest * */ import java.net.Socket; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/BreakpointTest.java --- a/jdk/test/com/sun/jdi/BreakpointTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/BreakpointTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g BreakpointTest.java - * @run main BreakpointTest + * @run driver BreakpointTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ClassLoaderClassesTest.java --- a/jdk/test/com/sun/jdi/ClassLoaderClassesTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ClassLoaderClassesTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ClassLoaderClassesTest.java - * @run main ClassLoaderClassesTest + * @run driver ClassLoaderClassesTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ClassesByName.java --- a/jdk/test/com/sun/jdi/ClassesByName.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ClassesByName.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,7 +34,7 @@ * @summary ClassesByName verifies that all the classes in the * loaded class list can be found with classesByName.. * - * @run main ClassesByName HelloWorld + * @run driver ClassesByName HelloWorld */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ClassesByName2Test.java --- a/jdk/test/com/sun/jdi/ClassesByName2Test.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ClassesByName2Test.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ClassesByName2Test.java - * @run main ClassesByName2Test + * @run driver ClassesByName2Test */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ConnectedVMs.java --- a/jdk/test/com/sun/jdi/ConnectedVMs.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ConnectedVMs.java Fri Jun 20 10:15:30 2014 -0700 @@ -28,10 +28,10 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g InstTarg.java - * @run main ConnectedVMs Kill - * @run main ConnectedVMs Resume-to-exit - * @run main ConnectedVMs dispose() - * @run main ConnectedVMs exit() + * @run driver ConnectedVMs Kill + * @run driver ConnectedVMs Resume-to-exit + * @run driver ConnectedVMs dispose() + * @run driver ConnectedVMs exit() * * @summary ConnectedVMs checks the method * VirtualMachineManager.connectedVirtualMachines() diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ConstantPoolInfo.java --- a/jdk/test/com/sun/jdi/ConstantPoolInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ConstantPoolInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection * @run compile -g ConstantPoolInfo.java - * @run main ConstantPoolInfo + * @run driver ConstantPoolInfo */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/CountEvent.java --- a/jdk/test/com/sun/jdi/CountEvent.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/CountEvent.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetAdapter TargetListener * @run compile -g CountEvent.java - * @run main CountEvent + * @run driver CountEvent */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/CountFilterTest.java --- a/jdk/test/com/sun/jdi/CountFilterTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/CountFilterTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g CountFilterTest.java - * @run main CountFilterTest + * @run driver CountFilterTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/DataModelTest.java --- a/jdk/test/com/sun/jdi/DataModelTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/DataModelTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,7 +34,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g DataModelTest.java - * @run main DataModelTest + * @run driver DataModelTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/DebuggerThreadTest.java --- a/jdk/test/com/sun/jdi/DebuggerThreadTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/DebuggerThreadTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g DebuggerThreadTest.java - * @run main DebuggerThreadTest + * @run driver DebuggerThreadTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/DeleteAllBkptsTest.java --- a/jdk/test/com/sun/jdi/DeleteAllBkptsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/DeleteAllBkptsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @library .. * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g DeleteAllBkptsTest.java - * @run main DeleteAllBkptsTest + * @run driver DeleteAllBkptsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/DeleteEventRequestsTest.java --- a/jdk/test/com/sun/jdi/DeleteEventRequestsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/DeleteEventRequestsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g DeleteEventRequestsTest.java - * @run main DeleteEventRequestsTest + * @run driver DeleteEventRequestsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/DoubleAgentTest.java --- a/jdk/test/com/sun/jdi/DoubleAgentTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/DoubleAgentTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -26,14 +26,13 @@ * @summary Check that a double agent request fails * * @build VMConnection DoubleAgentTest Exit0 - * @run main DoubleAgentTest + * @run driver DoubleAgentTest * */ import java.io.InputStream; import java.io.IOException; import java.io.File; import java.net.ServerSocket; -import java.net.Socket; public class DoubleAgentTest { diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/EarlyReturnNegativeTest.java --- a/jdk/test/com/sun/jdi/EarlyReturnNegativeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/EarlyReturnNegativeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g EarlyReturnNegativeTest.java - * @run main EarlyReturnNegativeTest + * @run driver EarlyReturnNegativeTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/EarlyReturnTest.java --- a/jdk/test/com/sun/jdi/EarlyReturnTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/EarlyReturnTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -36,7 +36,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g EarlyReturnTest.java - * @run main EarlyReturnTest + * @run driver EarlyReturnTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/EnumTest.java --- a/jdk/test/com/sun/jdi/EnumTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/EnumTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g EnumTest.java - * @run main EnumTest + * @run driver EnumTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/EventQueueDisconnectTest.java --- a/jdk/test/com/sun/jdi/EventQueueDisconnectTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/EventQueueDisconnectTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -28,7 +28,7 @@ * * @run build VMConnection * @run compile -g EventQueueDisconnectTest.java - * @run main EventQueueDisconnectTest + * @run driver EventQueueDisconnectTest * * @summary EventQueueDisconnectTest checks to see that * VMDisconnectedException is never thrown before VMDisconnectEvent. @@ -64,7 +64,7 @@ "com.sun.jdi.CommandLineLaunch:", VirtualMachine.TRACE_NONE); connection.setConnectorArg("main", "EventQueueDisconnectTarg"); - String debuggeeVMOptions = connection.getDebuggeeVMOptions(); + String debuggeeVMOptions = VMConnection.getDebuggeeVMOptions(); if (!debuggeeVMOptions.equals("")) { if (connection.connectorArg("options").length() > 0) { throw new IllegalArgumentException("VM options in two places"); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ExceptionEvents.java --- a/jdk/test/com/sun/jdi/ExceptionEvents.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ExceptionEvents.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,32 +32,32 @@ * @run build TestScaffold VMConnection * @run compile -g ExceptionEvents.java * - * @run main/othervm ExceptionEvents N A StackOverflowCaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents C A StackOverflowCaughtTarg null - * @run main/othervm ExceptionEvents C A StackOverflowCaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents C A StackOverflowCaughtTarg java.lang.StackOverflowError - * @run main/othervm ExceptionEvents N A StackOverflowCaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N A StackOverflowCaughtTarg java.lang.Exception + * @run driver ExceptionEvents C A StackOverflowCaughtTarg null + * @run driver ExceptionEvents C A StackOverflowCaughtTarg java.lang.Error + * @run driver ExceptionEvents C A StackOverflowCaughtTarg java.lang.StackOverflowError + * @run driver ExceptionEvents N A StackOverflowCaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents N T StackOverflowCaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents C T StackOverflowCaughtTarg null - * @run main/othervm ExceptionEvents C T StackOverflowCaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents C T StackOverflowCaughtTarg java.lang.StackOverflowError - * @run main/othervm ExceptionEvents N T StackOverflowCaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N T StackOverflowCaughtTarg java.lang.Exception + * @run driver ExceptionEvents C T StackOverflowCaughtTarg null + * @run driver ExceptionEvents C T StackOverflowCaughtTarg java.lang.Error + * @run driver ExceptionEvents C T StackOverflowCaughtTarg java.lang.StackOverflowError + * @run driver ExceptionEvents N T StackOverflowCaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents N N StackOverflowCaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents C N StackOverflowCaughtTarg null - * @run main/othervm ExceptionEvents C N StackOverflowCaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents C N StackOverflowCaughtTarg java.lang.StackOverflowError - * @run main/othervm ExceptionEvents N N StackOverflowCaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N N StackOverflowCaughtTarg java.lang.Exception + * @run driver ExceptionEvents C N StackOverflowCaughtTarg null + * @run driver ExceptionEvents C N StackOverflowCaughtTarg java.lang.Error + * @run driver ExceptionEvents C N StackOverflowCaughtTarg java.lang.StackOverflowError + * @run driver ExceptionEvents N N StackOverflowCaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents N A StackOverflowUncaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents U A StackOverflowUncaughtTarg null - * @run main/othervm ExceptionEvents U A StackOverflowUncaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents U A StackOverflowUncaughtTarg java.lang.StackOverflowError - * @run main/othervm ExceptionEvents N A StackOverflowUncaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N A StackOverflowUncaughtTarg java.lang.Exception + * @run driver ExceptionEvents U A StackOverflowUncaughtTarg null + * @run driver ExceptionEvents U A StackOverflowUncaughtTarg java.lang.Error + * @run driver ExceptionEvents U A StackOverflowUncaughtTarg java.lang.StackOverflowError + * @run driver ExceptionEvents N A StackOverflowUncaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents N T StackOverflowUncaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents N N StackOverflowUncaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N T StackOverflowUncaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents N N StackOverflowUncaughtTarg java.lang.NullPointerException */ import com.sun.jdi.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ExclusiveBind.java --- a/jdk/test/com/sun/jdi/ExclusiveBind.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ExclusiveBind.java Fri Jun 20 10:15:30 2014 -0700 @@ -28,7 +28,7 @@ * @library /lib/testlibrary * * @build jdk.testlibrary.* VMConnection ExclusiveBind HelloWorld - * @run main ExclusiveBind + * @run driver ExclusiveBind */ import java.net.ServerSocket; import com.sun.jdi.Bootstrap; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ExpiredRequestDeletionTest.java --- a/jdk/test/com/sun/jdi/ExpiredRequestDeletionTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ExpiredRequestDeletionTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ExpiredRequestDeletionTest.java - * @run main ExpiredRequestDeletionTest + * @run driver ExpiredRequestDeletionTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FetchLocals.java --- a/jdk/test/com/sun/jdi/FetchLocals.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FetchLocals.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g FetchLocals.java - * @run main FetchLocals + * @run driver FetchLocals */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FieldWatchpoints.java --- a/jdk/test/com/sun/jdi/FieldWatchpoints.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FieldWatchpoints.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g FieldWatchpoints.java - * @run main/othervm FieldWatchpoints + * @run driver FieldWatchpoints */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FilterMatch.java --- a/jdk/test/com/sun/jdi/FilterMatch.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FilterMatch.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @library scaffold * @run build JDIScaffold VMConnection * @run compile -g HelloWorld.java - * @run main/othervm FilterMatch + * @run driver FilterMatch */ /* Look at patternMatch in JDK file: diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FilterNoMatch.java --- a/jdk/test/com/sun/jdi/FilterNoMatch.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FilterNoMatch.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @library scaffold * @run build JDIScaffold VMConnection * @run compile -g HelloWorld.java - * @run main/othervm FilterNoMatch + * @run driver FilterNoMatch */ /* This tests the patternMatch function in JDK file: diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FinalLocalsTest.java --- a/jdk/test/com/sun/jdi/FinalLocalsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FinalLocalsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g FinalLocalsTest.java - * @run main FinalLocalsTest + * @run driver FinalLocalsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FinalizerTest.java --- a/jdk/test/com/sun/jdi/FinalizerTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FinalizerTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g FinalizerTest.java * - * @run main FinalizerTest + * @run driver FinalizerTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/FramesTest.java --- a/jdk/test/com/sun/jdi/FramesTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/FramesTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g FramesTest.java - * @run main FramesTest + * @run driver FramesTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/GenericsTest.java --- a/jdk/test/com/sun/jdi/GenericsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/GenericsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g GenericsTest.java - * @run main GenericsTest + * @run driver GenericsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/GetLocalVariables.java --- a/jdk/test/com/sun/jdi/GetLocalVariables.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/GetLocalVariables.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g GetLocalVariables.java - * @run main GetLocalVariables + * @run driver GetLocalVariables */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/GetLocalVariables2Test.java --- a/jdk/test/com/sun/jdi/GetLocalVariables2Test.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/GetLocalVariables2Test.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g GetLocalVariables2Test.java - * @run main GetLocalVariables2Test + * @run driver GetLocalVariables2Test */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/GetSetLocalTest.java --- a/jdk/test/com/sun/jdi/GetSetLocalTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/GetSetLocalTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g GetSetLocalTest.java - * @run main GetSetLocalTest + * @run driver GetSetLocalTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/GetUninitializedStringValue.java --- a/jdk/test/com/sun/jdi/GetUninitializedStringValue.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/GetUninitializedStringValue.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g GetUninitializedStringValue.java - * @run main GetUninitializedStringValue + * @run driver GetUninitializedStringValue */ import com.sun.jdi.ReferenceType; import com.sun.jdi.StackFrame; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/HomeTest.java --- a/jdk/test/com/sun/jdi/HomeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/HomeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g HomeTest.java - * @run main HomeTest + * @run driver HomeTest */ import com.sun.jdi.*; import com.sun.jdi.connect.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InstanceFilter.java --- a/jdk/test/com/sun/jdi/InstanceFilter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InstanceFilter.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetAdapter TargetListener * @run compile -g InstanceFilter.java - * @run main/othervm InstanceFilter + * @run driver InstanceFilter */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InstancesTest.java --- a/jdk/test/com/sun/jdi/InstancesTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InstancesTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g InstancesTest.java - * @run main InstancesTest + * @run driver InstancesTest */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InterfaceMethodsTest.java --- a/jdk/test/com/sun/jdi/InterfaceMethodsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InterfaceMethodsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -28,7 +28,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run build InterfaceMethodsTest - * @run main InterfaceMethodsTest + * @run driver InterfaceMethodsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InterruptHangTest.java --- a/jdk/test/com/sun/jdi/InterruptHangTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InterruptHangTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g InterruptHangTest.java - * @run main InterruptHangTest + * @run driver InterruptHangTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InvokeHangTest.java --- a/jdk/test/com/sun/jdi/InvokeHangTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InvokeHangTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g InvokeHangTest.java - * @run main InvokeHangTest + * @run driver InvokeHangTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/InvokeTest.java --- a/jdk/test/com/sun/jdi/InvokeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/InvokeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @library .. * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g InvokeTest.java - * @run main InvokeTest + * @run driver InvokeTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/JITDebug.java --- a/jdk/test/com/sun/jdi/JITDebug.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/JITDebug.java Fri Jun 20 10:15:30 2014 -0700 @@ -46,7 +46,7 @@ * assure that launching on uncaught exception works * * @author Robert Field - * @run main/othervm JITDebug + * @run driver JITDebug */ import com.sun.jdi.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/Java_gTest.java --- a/jdk/test/com/sun/jdi/Java_gTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/Java_gTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g Java_gTest.java - * @run main Java_gTest + * @run driver Java_gTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LambdaBreakpointTest.java --- a/jdk/test/com/sun/jdi/LambdaBreakpointTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LambdaBreakpointTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g LambdaBreakpointTest.java - * @run main LambdaBreakpointTest + * @run driver LambdaBreakpointTest */ import java.util.List; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LambdaStepTest.java --- a/jdk/test/com/sun/jdi/LambdaStepTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LambdaStepTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g LambdaStepTest.java - * @run main LambdaStepTest + * @run driver LambdaStepTest */ import com.sun.jdi.LocalVariable; import com.sun.jdi.ObjectReference; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LaunchCommandLine.java --- a/jdk/test/com/sun/jdi/LaunchCommandLine.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LaunchCommandLine.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * @run compile -g HelloWorld.java * @run build LaunchCommandLine * - * @run main LaunchCommandLine + * @run driver LaunchCommandLine */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LineNumberInfo.java --- a/jdk/test/com/sun/jdi/LineNumberInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LineNumberInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g LineNumberInfo.java ControlFlow.java * - * @run main LineNumberInfo + * @run driver LineNumberInfo */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LineNumberOnBraceTest.java --- a/jdk/test/com/sun/jdi/LineNumberOnBraceTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LineNumberOnBraceTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -7,7 +7,7 @@ * * @run build VMConnection TargetListener TargetAdapter * @run compile -g LineNumberOnBraceTest.java - * @run main LineNumberOnBraceTest + * @run driver LineNumberOnBraceTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LocalVariableEqual.java --- a/jdk/test/com/sun/jdi/LocalVariableEqual.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LocalVariableEqual.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g LocalVariableEqual.java - * @run main LocalVariableEqual + * @run driver LocalVariableEqual */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/LocationTest.java --- a/jdk/test/com/sun/jdi/LocationTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/LocationTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g LocationTest.java - * @run main LocationTest + * @run driver LocationTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/MethodEntryExitEvents.java --- a/jdk/test/com/sun/jdi/MethodEntryExitEvents.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/MethodEntryExitEvents.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,9 +29,9 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g MethodEntryExitEvents.java - * @run main MethodEntryExitEvents SUSPEND_EVENT_THREAD MethodEntryExitEventsDebugee - * @run main MethodEntryExitEvents SUSPEND_NONE MethodEntryExitEventsDebugee - * @run main MethodEntryExitEvents SUSPEND_ALL MethodEntryExitEventsDebugee + * @run driver MethodEntryExitEvents SUSPEND_EVENT_THREAD MethodEntryExitEventsDebugee + * @run driver MethodEntryExitEvents SUSPEND_NONE MethodEntryExitEventsDebugee + * @run driver MethodEntryExitEvents SUSPEND_ALL MethodEntryExitEventsDebugee */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java --- a/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g MethodExitReturnValuesTest.java - * @run main MethodExitReturnValuesTest + * @run driver MethodExitReturnValuesTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ModificationWatchpoints.java --- a/jdk/test/com/sun/jdi/ModificationWatchpoints.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ModificationWatchpoints.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,7 +32,7 @@ * @library scaffold * @run build JDIScaffold VMConnection * @run compile -g ModificationWatchpoints.java - * @run main/othervm ModificationWatchpoints + * @run driver ModificationWatchpoints */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/MonitorEventTest.java --- a/jdk/test/com/sun/jdi/MonitorEventTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/MonitorEventTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g MonitorEventTest.java - * @run main MonitorEventTest + * @run driver MonitorEventTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/MonitorFrameInfo.java --- a/jdk/test/com/sun/jdi/MonitorFrameInfo.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/MonitorFrameInfo.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g MonitorFrameInfo.java - * @run main MonitorFrameInfo + * @run driver MonitorFrameInfo */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/MultiBreakpointsTest.java --- a/jdk/test/com/sun/jdi/MultiBreakpointsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/MultiBreakpointsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g MultiBreakpointsTest.java - * @run main MultiBreakpointsTest + * @run driver MultiBreakpointsTest */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/NativeInstanceFilter.java --- a/jdk/test/com/sun/jdi/NativeInstanceFilter.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/NativeInstanceFilter.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @library scaffold * @run build JDIScaffold VMConnection * @compile -XDignore.symbol.file NativeInstanceFilterTarg.java - * @run main/othervm NativeInstanceFilter + * @run driver NativeInstanceFilter */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/NewInstanceTest.java --- a/jdk/test/com/sun/jdi/NewInstanceTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/NewInstanceTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g NewInstanceTest.java - * @run main NewInstanceTest + * @run driver NewInstanceTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/NoLaunchOptionTest.java --- a/jdk/test/com/sun/jdi/NoLaunchOptionTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/NoLaunchOptionTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run compile -g NoLaunchOptionTest.java * @build VMConnection - * @run main/othervm NoLaunchOptionTest + * @run driver NoLaunchOptionTest */ import java.net.ServerSocket; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/NoLocInfoTest.java --- a/jdk/test/com/sun/jdi/NoLocInfoTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/NoLocInfoTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g:none NoLocInfoTest.java - * @run main NoLocInfoTest + * @run driver NoLocInfoTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/NullThreadGroupNameTest.java --- a/jdk/test/com/sun/jdi/NullThreadGroupNameTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/NullThreadGroupNameTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -27,7 +27,7 @@ * @summary Ensure that JDWP doesn't crash with a null thread group name * * @run build TestScaffold VMConnection TargetListener TargetAdapter - * @run main NullThreadGroupNameTest + * @run driver NullThreadGroupNameTest */ import com.sun.jdi.*; import com.sun.jdi.connect.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/OnThrowTest.java --- a/jdk/test/com/sun/jdi/OnThrowTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/OnThrowTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * @run compile -g OnThrowTest.java * @run compile -g OnThrowTarget.java * @run compile -g VMConnection.java - * @run main/othervm OnThrowTest + * @run driver OnThrowTest */ import java.io.File; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/OptionTest.java --- a/jdk/test/com/sun/jdi/OptionTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/OptionTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * @run compile -g OptionTest.java * @run compile -g HelloWorld.java * @run compile -g VMConnection.java - * @run main/othervm OptionTest + * @run driver OptionTest */ import java.net.ServerSocket; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/PopAndInvokeTest.java --- a/jdk/test/com/sun/jdi/PopAndInvokeTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/PopAndInvokeTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g PopAndInvokeTest.java - * @run main PopAndInvokeTest + * @run driver PopAndInvokeTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/PopAndStepTest.java --- a/jdk/test/com/sun/jdi/PopAndStepTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/PopAndStepTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -10,7 +10,7 @@ * @library .. * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g PopAndStepTest.java - * @run main PopAndStepTest + * @run driver PopAndStepTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/PopAsynchronousTest.java --- a/jdk/test/com/sun/jdi/PopAsynchronousTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/PopAsynchronousTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g PopAsynchronousTest.java - * @run main PopAsynchronousTest + * @run driver PopAsynchronousTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/PopSynchronousTest.java --- a/jdk/test/com/sun/jdi/PopSynchronousTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/PopSynchronousTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g PopSynchronousTest.java - * @run main PopSynchronousTest + * @run driver PopSynchronousTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/RedefineCrossEvent.java --- a/jdk/test/com/sun/jdi/RedefineCrossEvent.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/RedefineCrossEvent.java Fri Jun 20 10:15:30 2014 -0700 @@ -46,26 +46,26 @@ * @run compile -g RepStepTarg.java * @run compile -g RequestReflectionTest.java * - * @run main AccessSpecifierTest -redefstart -redefevent - * @run main AfterThreadDeathTest -redefstart -redefevent - * @run main ArrayRangeTest -redefstart -redefevent - * @run main BacktraceFieldTest -redefstart -redefevent - * @run main ClassesByName2Test -redefstart -redefevent - * @run main DebuggerThreadTest -redefstart -redefevent - * @run main DeleteEventRequestsTest -redefstart -redefevent - * @run main/othervm ExceptionEvents -redefstart -redefevent N A StackOverflowCaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents -redefstart -redefevent C A StackOverflowCaughtTarg null - * @run main/othervm ExceptionEvents -redefstart -redefevent C A StackOverflowCaughtTarg java.lang.StackOverflowError - * @run main/othervm ExceptionEvents -redefstart -redefevent N A StackOverflowCaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents -redefstart -redefevent C T StackOverflowCaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents -redefstart -redefevent N T StackOverflowCaughtTarg java.lang.NullPointerException - * @run main/othervm ExceptionEvents -redefstart -redefevent N N StackOverflowCaughtTarg java.lang.Exception - * @run main/othervm ExceptionEvents -redefstart -redefevent C N StackOverflowCaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents -redefstart -redefevent N A StackOverflowUncaughtTarg java.lang.Exception - * @run main ExpiredRequestDeletionTest -redefstart -redefevent - * @run main/othervm FieldWatchpoints -redefstart -redefevent - * @run main/othervm InstanceFilter -redefstart -redefevent - * @run main LocationTest -redefstart -redefevent - * @run main NewInstanceTest -redefstart -redefevent - * @run main RequestReflectionTest -redefstart -redefevent + * @run driver AccessSpecifierTest -redefstart -redefevent + * @run driver AfterThreadDeathTest -redefstart -redefevent + * @run driver ArrayRangeTest -redefstart -redefevent + * @run driver BacktraceFieldTest -redefstart -redefevent + * @run driver ClassesByName2Test -redefstart -redefevent + * @run driver DebuggerThreadTest -redefstart -redefevent + * @run driver DeleteEventRequestsTest -redefstart -redefevent + * @run driver ExceptionEvents -redefstart -redefevent N A StackOverflowCaughtTarg java.lang.Exception + * @run driver ExceptionEvents -redefstart -redefevent C A StackOverflowCaughtTarg null + * @run driver ExceptionEvents -redefstart -redefevent C A StackOverflowCaughtTarg java.lang.StackOverflowError + * @run driver ExceptionEvents -redefstart -redefevent N A StackOverflowCaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents -redefstart -redefevent C T StackOverflowCaughtTarg java.lang.Error + * @run driver ExceptionEvents -redefstart -redefevent N T StackOverflowCaughtTarg java.lang.NullPointerException + * @run driver ExceptionEvents -redefstart -redefevent N N StackOverflowCaughtTarg java.lang.Exception + * @run driver ExceptionEvents -redefstart -redefevent C N StackOverflowCaughtTarg java.lang.Error + * @run driver ExceptionEvents -redefstart -redefevent N A StackOverflowUncaughtTarg java.lang.Exception + * @run driver ExpiredRequestDeletionTest -redefstart -redefevent + * @run driver FieldWatchpoints -redefstart -redefevent + * @run driver InstanceFilter -redefstart -redefevent + * @run driver LocationTest -redefstart -redefevent + * @run driver NewInstanceTest -redefstart -redefevent + * @run driver RequestReflectionTest -redefstart -redefevent */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/RedefineCrossStart.java --- a/jdk/test/com/sun/jdi/RedefineCrossStart.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/RedefineCrossStart.java Fri Jun 20 10:15:30 2014 -0700 @@ -37,13 +37,13 @@ * @run compile -g FramesTest.java * @run compile -g InvokeTest.java * - * @run main CountEvent -redefstart - * @run main CountFilterTest -redefstart - * @run main FramesTest -redefstart - * @run main InvokeTest -redefstart + * @run driver CountEvent -redefstart + * @run driver CountFilterTest -redefstart + * @run driver FramesTest -redefstart + * @run driver InvokeTest -redefstart * - * @run main/othervm ExceptionEvents -redefstart U A StackOverflowUncaughtTarg null - * @run main/othervm ExceptionEvents -redefstart U A StackOverflowUncaughtTarg java.lang.Error - * @run main/othervm ExceptionEvents -redefstart U A StackOverflowUncaughtTarg java.lang.StackOverflowError - * @run main PopSynchronousTest -redefstart + * @run driver ExceptionEvents -redefstart U A StackOverflowUncaughtTarg null + * @run driver ExceptionEvents -redefstart U A StackOverflowUncaughtTarg java.lang.Error + * @run driver ExceptionEvents -redefstart U A StackOverflowUncaughtTarg java.lang.StackOverflowError + * @run driver PopSynchronousTest -redefstart */ diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ReferrersTest.java --- a/jdk/test/com/sun/jdi/ReferrersTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ReferrersTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ReferrersTest.java - * @run main ReferrersTest + * @run driver ReferrersTest */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/RepStep.java --- a/jdk/test/com/sun/jdi/RepStep.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/RepStep.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * @run compile -g RepStepTarg.java * @run build VMConnection RepStep * - * @run main/othervm RepStep + * @run driver RepStep * * @summary RepStep detects missed step events due to lack of * frame pop events (in back-end). diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/RequestReflectionTest.java --- a/jdk/test/com/sun/jdi/RequestReflectionTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/RequestReflectionTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -28,7 +28,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g RequestReflectionTest.java - * @run main RequestReflectionTest + * @run driver RequestReflectionTest * * @summary RequestReflectionTest checks to see that reflective * accessors on EventRequests return what they are given. diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ResumeOneThreadTest.java --- a/jdk/test/com/sun/jdi/ResumeOneThreadTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ResumeOneThreadTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g ResumeOneThreadTest.java - * @run main ResumeOneThreadTest + * @run driver ResumeOneThreadTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/RunToExit.java --- a/jdk/test/com/sun/jdi/RunToExit.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/RunToExit.java Fri Jun 20 10:15:30 2014 -0700 @@ -26,7 +26,7 @@ * @summary Test that with server=y, when VM runs to System.exit() no error happens * * @build VMConnection RunToExit Exit0 - * @run main/othervm RunToExit + * @run driver RunToExit */ import java.io.InputStream; import java.io.IOException; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/SDENullTest.java --- a/jdk/test/com/sun/jdi/SDENullTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/SDENullTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g SDENullTest.java - * @run main SDENullTest + * @run driver SDENullTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/SimulResumerTest.java --- a/jdk/test/com/sun/jdi/SimulResumerTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/SimulResumerTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g SimulResumerTest.java - * @run main/othervm SimulResumerTest + * @run driver SimulResumerTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/SourceNameFilterTest.java --- a/jdk/test/com/sun/jdi/SourceNameFilterTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/SourceNameFilterTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,9 +30,9 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g SourceNameFilterTest.java - * @run main SourceNameFilterTest + * @run driver SourceNameFilterTest * @run compile -g:none SourceNameFilterTest.java - * @run main SourceNameFilterTest + * @run driver SourceNameFilterTest */ // The compile -g:none suppresses the lineNumber table to trigger bug 6646613. diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/StepTest.java --- a/jdk/test/com/sun/jdi/StepTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/StepTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -51,15 +51,15 @@ * | | | +--- Debuggee command Line * V V V V Workaround-----+ * V - * @run main StepTest 2 line 2 MethodCalls - * @run main StepTest 3 line 14 MethodCalls + * @run driver StepTest 2 line 2 MethodCalls + * @run driver StepTest 3 line 14 MethodCalls * - * @run main StepTest 2 line 18 MethodCallsReflection 12 + * @run driver StepTest 2 line 18 MethodCallsReflection 12 * - * @run main StepTest 2 min 4 MethodCalls - * @run main StepTest 3 min 43 MethodCalls + * @run driver StepTest 2 min 4 MethodCalls + * @run driver StepTest 3 min 43 MethodCalls * - * @run main StepTest 2 line 65 ControlFlow 64 + * @run driver StepTest 2 line 65 ControlFlow 64 */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/SuspendThreadTest.java --- a/jdk/test/com/sun/jdi/SuspendThreadTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/SuspendThreadTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g SuspendThreadTest.java - * @run main SuspendThreadTest + * @run driver SuspendThreadTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/TemplateTest.java --- a/jdk/test/com/sun/jdi/TemplateTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/TemplateTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -33,7 +33,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g TemplateTest.java - * @run main TemplateTest + * @run driver TemplateTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/ThreadGroupTest.java --- a/jdk/test/com/sun/jdi/ThreadGroupTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/ThreadGroupTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile ThreadGroupTest.java - * @run main ThreadGroupTest + * @run driver ThreadGroupTest */ import com.sun.jdi.*; import com.sun.jdi.connect.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/TwoThreadsTest.java --- a/jdk/test/com/sun/jdi/TwoThreadsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/TwoThreadsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g TwoThreadsTest.java - * @run main TwoThreadsTest + * @run driver TwoThreadsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/UTF8Test.java --- a/jdk/test/com/sun/jdi/UTF8Test.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/UTF8Test.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g UTF8Test.java - * @run main UTF8Test + * @run driver UTF8Test */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/UnpreparedByName.java --- a/jdk/test/com/sun/jdi/UnpreparedByName.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/UnpreparedByName.java Fri Jun 20 10:15:30 2014 -0700 @@ -33,7 +33,7 @@ * @run compile -g InnerTarg.java * @run build UnpreparedByName * - * @run main UnpreparedByName InnerTarg + * @run driver UnpreparedByName InnerTarg */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/UnpreparedClasses.java --- a/jdk/test/com/sun/jdi/UnpreparedClasses.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/UnpreparedClasses.java Fri Jun 20 10:15:30 2014 -0700 @@ -33,7 +33,7 @@ * @run compile -g InnerTarg.java * @run build UnpreparedClasses * - * @run main UnpreparedClasses InnerTarg + * @run driver UnpreparedClasses InnerTarg */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/VMConnection.java --- a/jdk/test/com/sun/jdi/VMConnection.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/VMConnection.java Fri Jun 20 10:15:30 2014 -0700 @@ -52,61 +52,23 @@ // When we run under jtreg, test.classes contains the pathname of // the dir in which the .class files will be placed. - BufferedReader reader; String testClasses = System.getProperty("test.classes"); if (testClasses == null) { return retVal; } - retVal += "-classpath " + testClasses + " "; - File myFile = new File(testClasses, "@debuggeeVMOptions"); + retVal += "-classpath " + testClasses; - if (!myFile.canRead()) { - // Not there - look in parent (in case we are in a subdir) - myFile = new File(testClasses); - String parentDir = myFile.getParent(); - if (parentDir != null) { - myFile = new File(parentDir, "@debuggeeVMOptions"); - if (!myFile.canRead()) { - return retVal; - } - } + String vmOpts = System.getProperty("test.vm.opts"); + System.out.println("vmOpts: "+vmOpts); + if (vmOpts != null) { + retVal += " " + vmOpts; } - String wholePath = myFile.getPath(); - try { - reader = new BufferedReader(new FileReader(myFile)); - } catch (FileNotFoundException ee) { - System.out.println("-- Error 2 trying to access file " + - wholePath + ": " + ee); - return retVal; + String javaOpts = System.getProperty("test.java.opts"); + System.out.println("javaOpts: "+javaOpts); + if (javaOpts != null) { + retVal += " " + javaOpts; } - String line; - while (true) { - try { - line = reader.readLine(); - } catch (IOException ee) { - System.out.println("-- Error reading options from file " + - wholePath + ": " + ee); - break; - } - if (line == null) { - System.out.println("-- No debuggee VM options found in file " + - wholePath); - break; - } - line = line.trim(); - if (line.length() != 0 && !line.startsWith("#")) { - System.out.println("-- Added debuggeeVM options from file " + - wholePath + ": " + line); - retVal += line; - break; - } - // Else, read he next line. - } - try { - reader.close(); - } catch (IOException ee) { - } return retVal; } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/VMDeathLastTest.java --- a/jdk/test/com/sun/jdi/VMDeathLastTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/VMDeathLastTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -31,7 +31,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g HelloWorld.java * @run build VMDeathLastTest - * @run main VMDeathLastTest + * @run driver VMDeathLastTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/VMDeathRequestTest.java --- a/jdk/test/com/sun/jdi/VMDeathRequestTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/VMDeathRequestTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -29,7 +29,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g HelloWorld.java * @run build VMDeathRequestTest - * @run main VMDeathRequestTest + * @run driver VMDeathRequestTest * * @summary VMDeathRequestTest checks to see that * VMDisconnectedException is never thrown before VMDisconnectEvent. diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/VarargsTest.java --- a/jdk/test/com/sun/jdi/VarargsTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/VarargsTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g VarargsTest.java - * @run main VarargsTest + * @run driver VarargsTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/Vars.java --- a/jdk/test/com/sun/jdi/Vars.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/Vars.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * @library scaffold * @run build JDIScaffold VMConnection * @run compile -g Vars.java - * @run main/othervm Vars + * @run driver Vars */ import com.sun.jdi.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/VisibleMethods.java --- a/jdk/test/com/sun/jdi/VisibleMethods.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/VisibleMethods.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,7 +30,7 @@ * * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g VisibleMethods.java - * @run main VisibleMethods + * @run driver VisibleMethods */ import com.sun.jdi.Method; import com.sun.jdi.ReferenceType; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/redefine/RedefineTest.java --- a/jdk/test/com/sun/jdi/redefine/RedefineTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/redefine/RedefineTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -34,7 +34,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g RedefineTest.java * @run shell RedefineSetUp.sh - * @run main/othervm RedefineTest + * @run driver RedefineTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/redefineMethod/RedefineTest.java --- a/jdk/test/com/sun/jdi/redefineMethod/RedefineTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/redefineMethod/RedefineTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -32,8 +32,8 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter * @run compile -g RedefineTest.java * @run shell RedefineSetUp.sh - * @run main RedefineTest -repeat 3 - * @run main RedefineTest + * @run driver RedefineTest -repeat 3 + * @run driver RedefineTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/sde/FilterMangleTest.java --- a/jdk/test/com/sun/jdi/sde/FilterMangleTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/sde/FilterMangleTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -9,21 +9,21 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE * @run compile FilterMangleTest.java * @run compile -g onion/pickle/Mangle.java - * @run main FilterMangleTest - * @run main FilterMangleTest SDE-pMangle.java* - * @run main FilterMangleTest SDE-pMangle.jav* - * @run main FilterMangleTest SDE-pMangle.j* - * @run main FilterMangleTest SDE-p*Mangle.java - * @run main FilterMangleTest SDE-p*angle.java - * @run main FilterMangleTest SDE-p*java - * @run main FilterMangleTest SDE-pMangle.xyz - * @run main FilterMangleTest SDE-pIncl.rats* - * @run main FilterMangleTest SDE-pIncl.rat* - * @run main FilterMangleTest SDE-p*angle.rats - * @run main FilterMangleTest SDE-f*Incl.rat - * @run main FilterMangleTest SDE-ffred - * @run main FilterMangleTest SDE-f*ratsx - * @run main FilterMangleTest SDE-fMangle.javax* + * @run driver FilterMangleTest + * @run driver FilterMangleTest SDE-pMangle.java* + * @run driver FilterMangleTest SDE-pMangle.jav* + * @run driver FilterMangleTest SDE-pMangle.j* + * @run driver FilterMangleTest SDE-p*Mangle.java + * @run driver FilterMangleTest SDE-p*angle.java + * @run driver FilterMangleTest SDE-p*java + * @run driver FilterMangleTest SDE-pMangle.xyz + * @run driver FilterMangleTest SDE-pIncl.rats* + * @run driver FilterMangleTest SDE-pIncl.rat* + * @run driver FilterMangleTest SDE-p*angle.rats + * @run driver FilterMangleTest SDE-f*Incl.rat + * @run driver FilterMangleTest SDE-ffred + * @run driver FilterMangleTest SDE-f*ratsx + * @run driver FilterMangleTest SDE-fMangle.javax* */ /* diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/sde/MangleStepTest.java --- a/jdk/test/com/sun/jdi/sde/MangleStepTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/sde/MangleStepTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -10,11 +10,11 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE * @run compile MangleStepTest.java * @run compile -g onion/pickle/Mangle.java - * @run main/othervm MangleStepTest unset - * @run main/othervm MangleStepTest Java - * @run main/othervm MangleStepTest XYZ - * @run main/othervm MangleStepTest Rats - * @run main/othervm MangleStepTest bogus + * @run driver MangleStepTest unset + * @run driver MangleStepTest Java + * @run driver MangleStepTest XYZ + * @run driver MangleStepTest Rats + * @run driver MangleStepTest bogus */ import com.sun.jdi.*; import com.sun.jdi.event.*; @@ -82,7 +82,6 @@ } BreakpointEvent bpe = resumeTo(targetName, "main", "([Ljava/lang/String;)V"); - waitForInput(); ThreadReference thread = bpe.thread(); diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/sde/MangleTest.java --- a/jdk/test/com/sun/jdi/sde/MangleTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/sde/MangleTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -10,7 +10,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE * @run compile MangleTest.java * @run compile -g onion/pickle/Mangle.java - * @run main MangleTest + * @run driver MangleTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/sde/SourceDebugExtensionTest.java --- a/jdk/test/com/sun/jdi/sde/SourceDebugExtensionTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/sde/SourceDebugExtensionTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -10,7 +10,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE * @run compile SourceDebugExtensionTest.java * @run compile -g SourceDebugExtensionTarg.java - * @run main SourceDebugExtensionTest + * @run driver SourceDebugExtensionTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/jdi/sde/TemperatureTableTest.java --- a/jdk/test/com/sun/jdi/sde/TemperatureTableTest.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/jdi/sde/TemperatureTableTest.java Fri Jun 20 10:15:30 2014 -0700 @@ -10,7 +10,7 @@ * @run build TestScaffold VMConnection TargetListener TargetAdapter InstallSDE HelloWorld * @run compile TemperatureTableTest.java * @run compile -g TemperatureTableServlet.java - * @run main TemperatureTableTest + * @run driver TemperatureTableTest */ import com.sun.jdi.*; import com.sun.jdi.event.*; diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/com/sun/tools/attach/StartManagementAgent.java --- a/jdk/test/com/sun/tools/attach/StartManagementAgent.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/com/sun/tools/attach/StartManagementAgent.java Fri Jun 20 10:15:30 2014 -0700 @@ -93,7 +93,7 @@ } catch(AttachOperationFailedException ex) { // We expect parsing of "apa" above to fail, but if the file path // can't be read we get a different exception message - if (!ex.getMessage().contains("java.lang.NumberFormatException")) { + if (!ex.getMessage().contains("Invalid com.sun.management.jmxremote.port number")) { throw ex; } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/java/lang/invoke/VMAnonymousClass.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/lang/invoke/VMAnonymousClass.java Fri Jun 20 10:15:30 2014 -0700 @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + * @bug 8046903 + * @summary VM anonymous class members can't be statically invocable + * @run junit test.java.lang.invoke.VMAnonymousClass + */ +package test.java.lang.invoke; + +import java.lang.invoke.MethodHandle; +import java.lang.invoke.MethodHandles; +import java.lang.invoke.MethodType; +import java.lang.reflect.Field; +import org.junit.Test; +import sun.misc.Unsafe; +import jdk.internal.org.objectweb.asm.*; +import static jdk.internal.org.objectweb.asm.Opcodes.*; + +public class VMAnonymousClass { + public static void main(String[] args) throws Throwable { + VMAnonymousClass test = new VMAnonymousClass(); + test.testJavaLang(); + test.testJavaUtil(); + test.testSunMisc(); + test.testJavaLangInvoke(); + System.out.println("TEST PASSED"); + } + + // Test VM anonymous classes from different packages + // (see j.l.i.InvokerBytecodeGenerator::isStaticallyInvocable). + @Test public void testJavaLang() throws Throwable { test("java/lang"); } + @Test public void testJavaUtil() throws Throwable { test("java/util"); } + @Test public void testSunMisc() throws Throwable { test("sun/misc"); } + @Test public void testJavaLangInvoke() throws Throwable { test("java/lang/invoke"); } + + private static Unsafe unsafe = getUnsafe(); + + private static void test(String pkg) throws Throwable { + byte[] bytes = dumpClass(pkg); + // Define VM anonymous class in privileged context (on BCP). + Class anonClass = unsafe.defineAnonymousClass(Object.class, bytes, null); + + MethodType t = MethodType.methodType(Object.class, int.class); + MethodHandle target = MethodHandles.lookup().findStatic(anonClass, "get", t); + + // Wrap target into LF (convert) to get "target" referenced from LF + MethodHandle wrappedMH = target.asType(MethodType.methodType(Object.class, Integer.class)); + + // Invoke enough times to provoke LF compilation to bytecode. + for (int i = 0; i<100; i++) { + Object r = wrappedMH.invokeExact((Integer)1); + } + } + + /* + * Constructs bytecode for the following class: + * public class pkg.MyClass { + * MyClass() {} + * public Object get(int i) { return null; } + * } + */ + public static byte[] dumpClass(String pkg) { + ClassWriter cw = new ClassWriter(0); + MethodVisitor mv; + + cw.visit(52, ACC_SUPER | ACC_PUBLIC, pkg+"/MyClass", null, "java/lang/Object", null); + { + mv = cw.visitMethod(0, "", "()V", null, null); + mv.visitCode(); + mv.visitVarInsn(ALOAD, 0); + mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "", "()V", false); + mv.visitInsn(RETURN); + mv.visitMaxs(1, 1); + mv.visitEnd(); + } + { + mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "get", "(I)Ljava/lang/Object;", null, null); + mv.visitCode(); + mv.visitInsn(ACONST_NULL); + mv.visitInsn(ARETURN); + mv.visitMaxs(1, 1); + mv.visitEnd(); + } + cw.visitEnd(); + return cw.toByteArray(); + } + + private static synchronized Unsafe getUnsafe() { + try { + Field f = Unsafe.class.getDeclaredField("theUnsafe"); + f.setAccessible(true); + return (Unsafe) f.get(null); + } catch (NoSuchFieldException | IllegalAccessException e) { + throw new RuntimeException("Unable to get Unsafe instance.", e); + } + } +} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java --- a/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java Fri Jun 20 10:15:30 2014 -0700 @@ -76,6 +76,7 @@ import static java.time.temporal.ChronoField.ERA; import static java.time.temporal.ChronoField.HOUR_OF_AMPM; import static java.time.temporal.ChronoField.HOUR_OF_DAY; +import static java.time.temporal.ChronoField.INSTANT_SECONDS; import static java.time.temporal.ChronoField.MICRO_OF_DAY; import static java.time.temporal.ChronoField.MICRO_OF_SECOND; import static java.time.temporal.ChronoField.MILLI_OF_DAY; @@ -93,11 +94,13 @@ import static org.testng.Assert.assertEquals; import static org.testng.Assert.fail; +import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Period; import java.time.ZoneId; +import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; @@ -1159,4 +1162,102 @@ } }; + //------------------------------------------------------------------------- + // SPEC: ChronoField.INSTANT_SECONDS + @Test + public void test_parse_fromField_InstantSeconds() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(INSTANT_SECONDS).toFormatter(); + TemporalAccessor acc = fmt.parse("86402"); + Instant expected = Instant.ofEpochSecond(86402); + assertEquals(acc.isSupported(INSTANT_SECONDS), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(INSTANT_SECONDS), 86402L); + assertEquals(acc.getLong(NANO_OF_SECOND), 0L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 0L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 0L); + assertEquals(Instant.from(acc), expected); + } + + @Test + public void test_parse_fromField_InstantSeconds_NanoOfSecond() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(INSTANT_SECONDS).appendLiteral('.').appendValue(NANO_OF_SECOND).toFormatter(); + TemporalAccessor acc = fmt.parse("86402.123456789"); + Instant expected = Instant.ofEpochSecond(86402, 123456789); + assertEquals(acc.isSupported(INSTANT_SECONDS), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(INSTANT_SECONDS), 86402L); + assertEquals(acc.getLong(NANO_OF_SECOND), 123456789L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 123456L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 123L); + assertEquals(Instant.from(acc), expected); + } + + // SPEC: ChronoField.SECOND_OF_DAY + @Test + public void test_parse_fromField_SecondOfDay() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(SECOND_OF_DAY).toFormatter(); + TemporalAccessor acc = fmt.parse("864"); + assertEquals(acc.isSupported(SECOND_OF_DAY), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(SECOND_OF_DAY), 864L); + assertEquals(acc.getLong(NANO_OF_SECOND), 0L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 0L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 0L); + } + + @Test + public void test_parse_fromField_SecondOfDay_NanoOfSecond() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(SECOND_OF_DAY).appendLiteral('.').appendValue(NANO_OF_SECOND).toFormatter(); + TemporalAccessor acc = fmt.parse("864.123456789"); + assertEquals(acc.isSupported(SECOND_OF_DAY), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(SECOND_OF_DAY), 864L); + assertEquals(acc.getLong(NANO_OF_SECOND), 123456789L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 123456L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 123L); + } + + // SPEC: ChronoField.SECOND_OF_MINUTE + @Test + public void test_parse_fromField_SecondOfMinute() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(SECOND_OF_MINUTE).toFormatter(); + TemporalAccessor acc = fmt.parse("32"); + assertEquals(acc.isSupported(SECOND_OF_MINUTE), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(SECOND_OF_MINUTE), 32L); + assertEquals(acc.getLong(NANO_OF_SECOND), 0L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 0L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 0L); + } + + @Test + public void test_parse_fromField_SecondOfMinute_NanoOfSecond() { + DateTimeFormatter fmt = new DateTimeFormatterBuilder() + .appendValue(SECOND_OF_MINUTE).appendLiteral('.').appendValue(NANO_OF_SECOND).toFormatter(); + TemporalAccessor acc = fmt.parse("32.123456789"); + assertEquals(acc.isSupported(SECOND_OF_MINUTE), true); + assertEquals(acc.isSupported(NANO_OF_SECOND), true); + assertEquals(acc.isSupported(MICRO_OF_SECOND), true); + assertEquals(acc.isSupported(MILLI_OF_SECOND), true); + assertEquals(acc.getLong(SECOND_OF_MINUTE), 32L); + assertEquals(acc.getLong(NANO_OF_SECOND), 123456789L); + assertEquals(acc.getLong(MICRO_OF_SECOND), 123456L); + assertEquals(acc.getLong(MILLI_OF_SECOND), 123L); + } + } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/java/time/test/java/time/format/TestDateTimeParsing.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/time/test/java/time/format/TestDateTimeParsing.java Fri Jun 20 10:15:30 2014 -0700 @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * This file is available under and governed by the GNU General Public + * License version 2 only, as published by the Free Software Foundation. + * However, the following notice accompanied the original version of this + * file: + * + * Copyright (c) 2014, Stephen Colebourne & Michael Nascimento Santos + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * * Neither the name of JSR-310 nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package test.java.time.format; + +import static java.time.temporal.ChronoField.EPOCH_DAY; +import static java.time.temporal.ChronoField.INSTANT_SECONDS; +import static java.time.temporal.ChronoField.MICRO_OF_SECOND; +import static java.time.temporal.ChronoField.MILLI_OF_SECOND; +import static java.time.temporal.ChronoField.NANO_OF_SECOND; +import static java.time.temporal.ChronoField.OFFSET_SECONDS; +import static java.time.temporal.ChronoField.SECOND_OF_DAY; +import static org.testng.Assert.assertEquals; + +import java.time.DateTimeException; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; +import java.time.temporal.TemporalAccessor; + +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +/** + * Test parsing of edge cases. + */ +@Test +public class TestDateTimeParsing { + + private static final ZoneId PARIS = ZoneId.of("Europe/Paris"); + private static final ZoneOffset OFFSET_0230 = ZoneOffset.ofHoursMinutes(2, 30); + + private static final DateTimeFormatter LOCALFIELDS = new DateTimeFormatterBuilder() + .appendPattern("yyyy-MM-dd HH:mm:ss").toFormatter(); + private static final DateTimeFormatter LOCALFIELDS_ZONEID = new DateTimeFormatterBuilder() + .appendPattern("yyyy-MM-dd HH:mm:ss ").appendZoneId().toFormatter(); + private static final DateTimeFormatter LOCALFIELDS_OFFSETID = new DateTimeFormatterBuilder() + .appendPattern("yyyy-MM-dd HH:mm:ss ").appendOffsetId().toFormatter(); + private static final DateTimeFormatter LOCALFIELDS_WITH_PARIS = LOCALFIELDS.withZone(PARIS); + private static final DateTimeFormatter LOCALFIELDS_WITH_0230 = LOCALFIELDS.withZone(OFFSET_0230); + private static final DateTimeFormatter INSTANT = new DateTimeFormatterBuilder() + .appendInstant().toFormatter(); + private static final DateTimeFormatter INSTANT_WITH_PARIS = INSTANT.withZone(PARIS); + private static final DateTimeFormatter INSTANT_WITH_0230 = INSTANT.withZone(OFFSET_0230); + private static final DateTimeFormatter INSTANT_OFFSETID = new DateTimeFormatterBuilder() + .appendInstant().appendLiteral(' ').appendOffsetId().toFormatter(); + private static final DateTimeFormatter INSTANT_OFFSETSECONDS = new DateTimeFormatterBuilder() + .appendInstant().appendLiteral(' ').appendValue(OFFSET_SECONDS).toFormatter(); + private static final DateTimeFormatter INSTANTSECONDS = new DateTimeFormatterBuilder() + .appendValue(INSTANT_SECONDS).toFormatter(); + private static final DateTimeFormatter INSTANTSECONDS_WITH_PARIS = INSTANTSECONDS.withZone(PARIS); + private static final DateTimeFormatter INSTANTSECONDS_NOS = new DateTimeFormatterBuilder() + .appendValue(INSTANT_SECONDS).appendLiteral('.').appendValue(NANO_OF_SECOND).toFormatter(); + private static final DateTimeFormatter INSTANTSECONDS_NOS_WITH_PARIS = INSTANTSECONDS_NOS.withZone(PARIS); + private static final DateTimeFormatter INSTANTSECONDS_OFFSETSECONDS = new DateTimeFormatterBuilder() + .appendValue(INSTANT_SECONDS).appendLiteral(' ').appendValue(OFFSET_SECONDS).toFormatter(); + + @DataProvider(name = "instantZones") + Object[][] data_instantZones() { + return new Object[][] { + {LOCALFIELDS_ZONEID, "2014-06-30 01:02:03 Europe/Paris", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, PARIS)}, + {LOCALFIELDS_ZONEID, "2014-06-30 01:02:03 +02:30", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, OFFSET_0230)}, + {LOCALFIELDS_OFFSETID, "2014-06-30 01:02:03 +02:30", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, OFFSET_0230)}, + {LOCALFIELDS_WITH_PARIS, "2014-06-30 01:02:03", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, PARIS)}, + {LOCALFIELDS_WITH_0230, "2014-06-30 01:02:03", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, OFFSET_0230)}, + {INSTANT_WITH_PARIS, "2014-06-30T01:02:03Z", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, ZoneOffset.UTC).withZoneSameInstant(PARIS)}, + {INSTANT_WITH_0230, "2014-06-30T01:02:03Z", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, ZoneOffset.UTC).withZoneSameInstant(OFFSET_0230)}, + {INSTANT_OFFSETID, "2014-06-30T01:02:03Z +02:30", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, ZoneOffset.UTC).withZoneSameInstant(OFFSET_0230)}, + {INSTANT_OFFSETSECONDS, "2014-06-30T01:02:03Z 9000", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, ZoneOffset.UTC).withZoneSameInstant(OFFSET_0230)}, + {INSTANTSECONDS_WITH_PARIS, "86402", Instant.ofEpochSecond(86402).atZone(PARIS)}, + {INSTANTSECONDS_NOS_WITH_PARIS, "86402.123456789", Instant.ofEpochSecond(86402, 123456789).atZone(PARIS)}, + {INSTANTSECONDS_OFFSETSECONDS, "86402 9000", Instant.ofEpochSecond(86402).atZone(OFFSET_0230)}, + }; + } + + @Test(dataProvider = "instantZones") + public void test_parse_instantZones_ZDT(DateTimeFormatter formatter, String text, ZonedDateTime expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(ZonedDateTime.from(actual), expected); + } + + @Test(dataProvider = "instantZones") + public void test_parse_instantZones_LDT(DateTimeFormatter formatter, String text, ZonedDateTime expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(LocalDateTime.from(actual), expected.toLocalDateTime()); + } + + @Test(dataProvider = "instantZones") + public void test_parse_instantZones_Instant(DateTimeFormatter formatter, String text, ZonedDateTime expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(Instant.from(actual), expected.toInstant()); + } + + @Test(dataProvider = "instantZones") + public void test_parse_instantZones_supported(DateTimeFormatter formatter, String text, ZonedDateTime expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(actual.isSupported(INSTANT_SECONDS), true); + assertEquals(actual.isSupported(EPOCH_DAY), true); + assertEquals(actual.isSupported(SECOND_OF_DAY), true); + assertEquals(actual.isSupported(NANO_OF_SECOND), true); + assertEquals(actual.isSupported(MICRO_OF_SECOND), true); + assertEquals(actual.isSupported(MILLI_OF_SECOND), true); + } + + //----------------------------------------------------------------------- + @DataProvider(name = "instantNoZone") + Object[][] data_instantNoZone() { + return new Object[][] { + {INSTANT, "2014-06-30T01:02:03Z", ZonedDateTime.of(2014, 6, 30, 1, 2, 3, 0, ZoneOffset.UTC).toInstant()}, + {INSTANTSECONDS, "86402", Instant.ofEpochSecond(86402)}, + {INSTANTSECONDS_NOS, "86402.123456789", Instant.ofEpochSecond(86402, 123456789)}, + }; + } + + @Test(dataProvider = "instantNoZone", expectedExceptions = DateTimeException.class) + public void test_parse_instantNoZone_ZDT(DateTimeFormatter formatter, String text, Instant expected) { + TemporalAccessor actual = formatter.parse(text); + ZonedDateTime.from(actual); + } + + @Test(dataProvider = "instantNoZone", expectedExceptions = DateTimeException.class) + public void test_parse_instantNoZone_LDT(DateTimeFormatter formatter, String text, Instant expected) { + TemporalAccessor actual = formatter.parse(text); + LocalDateTime.from(actual); + } + + @Test(dataProvider = "instantNoZone") + public void test_parse_instantNoZone_Instant(DateTimeFormatter formatter, String text, Instant expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(Instant.from(actual), expected); + } + + @Test(dataProvider = "instantNoZone") + public void test_parse_instantNoZone_supported(DateTimeFormatter formatter, String text, Instant expected) { + TemporalAccessor actual = formatter.parse(text); + assertEquals(actual.isSupported(INSTANT_SECONDS), true); + assertEquals(actual.isSupported(EPOCH_DAY), false); + assertEquals(actual.isSupported(SECOND_OF_DAY), false); + assertEquals(actual.isSupported(NANO_OF_SECOND), true); + assertEquals(actual.isSupported(MICRO_OF_SECOND), true); + assertEquals(actual.isSupported(MILLI_OF_SECOND), true); + } + +} diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/jdk/net/Sockets/Test.java --- a/jdk/test/jdk/net/Sockets/Test.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/jdk/net/Sockets/Test.java Fri Jun 20 10:15:30 2014 -0700 @@ -30,8 +30,10 @@ */ import java.net.*; +import java.io.IOException; import java.nio.channels.*; import java.util.concurrent.*; +import java.util.Set; import jdk.net.*; public class Test { @@ -75,6 +77,13 @@ DatagramSocket dg = new DatagramSocket(0); final int udp_port = dg.getLocalPort(); + // If option not available, end test + Set> options = dg.supportedOptions(); + if (!options.contains(ExtendedSocketOptions.SO_FLOW_SLA)) { + System.out.println("SO_FLOW_SLA not supported"); + return; + } + final Socket s = new Socket("127.0.0.1", tcp_port); final SocketChannel sc = SocketChannel.open(); sc.connect (new InetSocketAddress("127.0.0.1", tcp_port)); @@ -125,6 +134,13 @@ if (success) { throw new RuntimeException("Test failed"); } - } catch (UnsupportedOperationException e) {} + } catch (UnsupportedOperationException e) { + System.out.println (e); + } catch (IOException e) { + // Probably a permission error, but we're not + // going to check unless a specific permission exception + // is defined. + System.out.println (e); + } } } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/freebl3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libnspr4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplc4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/libplds4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nss3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssckbi.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssdbm3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/nssutil3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/softokn3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/sqlite3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-amd64/ssl3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/freebl3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nss3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssdbm3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/nssutil3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.chk has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/sqlite3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.dll has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib Binary file jdk/test/sun/security/pkcs11/nss/lib/windows-i586/ssl3.lib has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/src/MD5SUMS --- a/jdk/test/sun/security/pkcs11/nss/src/MD5SUMS Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -1390c8a35c667e05e542 nss-3.13.1.tar.gz diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/src/SHA1SUMS --- a/jdk/test/sun/security/pkcs11/nss/src/SHA1SUMS Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -d8e7ee9f9f1e0bfa2ea8b72d25727634fea130a6 nss-3.13.1.tar.gz diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/src/nss-3.13.1.tar.gz Binary file jdk/test/sun/security/pkcs11/nss/src/nss-3.13.1.tar.gz has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/src/nss-3.16_nspr-4.10_src.tar.gz Binary file jdk/test/sun/security/pkcs11/nss/src/nss-3.16_nspr-4.10_src.tar.gz has changed diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/security/pkcs11/nss/src/nss-3.16_nspr-4.10_src.tar.gz.sha256 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/sun/security/pkcs11/nss/src/nss-3.16_nspr-4.10_src.tar.gz.sha256 Fri Jun 20 10:15:30 2014 -0700 @@ -0,0 +1,1 @@ +d2374795528f9cf36de07bf7c77d8c8414bb5b4da12ee7c78a57ec90d68e3706 nss-3.16_nspr-4.10_src.tar.gz diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/tools/jhat/HatHeapDump1Test.java --- a/jdk/test/sun/tools/jhat/HatHeapDump1Test.java Thu Jun 19 11:22:38 2014 -0700 +++ b/jdk/test/sun/tools/jhat/HatHeapDump1Test.java Fri Jun 20 10:15:30 2014 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -21,31 +21,68 @@ * questions. */ +import java.io.File; +import java.util.Arrays; -/* @test HatHeapDump1Test.java +import jdk.testlibrary.Asserts; +import jdk.testlibrary.JDKToolLauncher; +import jdk.testlibrary.OutputAnalyzer; +import jdk.testlibrary.ProcessTools; + +/* @test * @bug 5102009 - * @summary Test jhat - * - * @compile -g HelloWorld.java HatRun.java - * @build HatHeapDump1Test - * @run main HatHeapDump1Test HelloWorld + * @summary Sanity test of jhat functionality + * @library /lib/testlibrary + * @build jdk.testlibarary.* + * @compile -g HelloWorld.java + * @run main HatHeapDump1Test */ +public class HatHeapDump1Test { -public class HatHeapDump1Test { + private static final String TEST_CLASSES = System.getProperty("test.classes", "."); public static void main(String args[]) throws Exception { - HatRun run; + String className = "HelloWorld"; + File dumpFile = new File(className + ".hdump"); + + // Generate a heap dump + ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder("-cp", + TEST_CLASSES, + "-Xcheck:jni", + "-Xverify:all", + "-agentlib:hprof=heap=dump,format=b,file=" + dumpFile.getAbsolutePath(), + className); + OutputAnalyzer output = new OutputAnalyzer(processBuilder.start()); + System.out.println(output.getOutput()); + output.shouldHaveExitValue(0); + output.shouldContain("Dumping Java heap ... done"); + Asserts.assertTrue(dumpFile.exists() && dumpFile.isFile(), "Invalid dump file " + dumpFile.getAbsolutePath()); - /* Run hprof and jhat */ - run = new HatRun("heap=dump", ""); - run.runit(args[0]); + // Run jhat to analyze the heap dump + output = jhat("-debug", "2", dumpFile.getAbsolutePath()); + output.shouldHaveExitValue(0); + output.shouldContain("Snapshot resolved"); + output.shouldContain("-debug 2 was used"); + output.shouldNotContain("ERROR"); - /* Make sure patterns in output look ok */ - if (run.output_contains("ERROR")) { - throw new RuntimeException("Test failed - ERROR seen in output"); + dumpFile.delete(); + } + + private static OutputAnalyzer jhat(String... toolArgs) throws Exception { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jhat"); + if (toolArgs != null) { + for (String toolArg : toolArgs) { + launcher.addToolArg(toolArg); + } } - /* Must be a pass. */ - System.out.println("Test passed - cleanly terminated"); + ProcessBuilder processBuilder = new ProcessBuilder(); + processBuilder.command(launcher.getCommand()); + System.out.println(Arrays.toString(processBuilder.command().toArray()).replace(",", "")); + OutputAnalyzer output = new OutputAnalyzer(processBuilder.start()); + System.out.println(output.getOutput()); + + return output; } + } diff -r d9b1cf00d4a8 -r 8c82c02495e7 jdk/test/sun/tools/jhat/HatRun.java --- a/jdk/test/sun/tools/jhat/HatRun.java Thu Jun 19 11:22:38 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,226 +0,0 @@ -/* - * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - - -/* - * - * Support classes for running jhat tests - * - */ - -import java.io.InputStream; -import java.io.IOException; -import java.io.File; -import java.io.BufferedInputStream; -import java.io.PrintStream; - -/* - * Helper class to direct process output to a StringBuffer - */ -class MyInputStream implements Runnable { - private String name; - private BufferedInputStream in; - private StringBuffer buffer; - - /* Create MyInputStream that saves all output to a StringBuffer */ - MyInputStream(String name, InputStream in) { - this.name = name; - this.in = new BufferedInputStream(in); - buffer = new StringBuffer(4096); - Thread thr = new Thread(this); - thr.setDaemon(true); - thr.start(); - } - - /* Dump the buffer */ - void dump(PrintStream x) { - String str = buffer.toString(); - x.println(""); - x.println(str); - x.println(""); - } - - /* Check to see if a pattern is inside the output. */ - boolean contains(String pattern) { - String str = buffer.toString(); - return str.contains(pattern); - } - - /* Runs as a separate thread capturing all output in a StringBuffer */ - public void run() { - try { - byte b[] = new byte[100]; - for (;;) { - int n = in.read(b); - String str; - if (n < 0) { - break; - } - str = new String(b, 0, n); - buffer.append(str); - System.out.print(str); - } - } catch (IOException ioe) { /* skip */ } - } -} - -/* - * Main jhat run - */ -public class HatRun { - - private String all_hprof_options; - private String all_hat_options; - private String dumpfile; - private MyInputStream output; - private MyInputStream error; - - /* Create a Hat run process */ - public HatRun(String hprof_options, String hat_options) - { - all_hprof_options = hprof_options; - all_hat_options = hat_options; - } - - /* - * Execute a process with an -agentpath or -agentlib command option - */ - public void runit(String class_name) - { - runit(class_name, null); - } - - /* - * Execute a command. - */ - private void execute(String cmd[]) - { - /* Begin process */ - Process p; - String cmdLine = ""; - int i; - - for ( i = 0 ; i < cmd.length; i++ ) { - cmdLine += cmd[i]; - cmdLine += " "; - } - System.out.println("Starting: " + cmdLine); - - try { - p = Runtime.getRuntime().exec(cmd); - } catch ( IOException e ) { - throw new RuntimeException("Test failed - exec got IO exception"); - } - - /* Save process output in StringBuffers */ - output = new MyInputStream("Input Stream", p.getInputStream()); - error = new MyInputStream("Error Stream", p.getErrorStream()); - - /* Wait for process to complete, and if exit code is non-zero we fail */ - try { - int exitStatus; - exitStatus = p.waitFor(); - if ( exitStatus != 0) { - System.out.println("Exit code is " + exitStatus); - error.dump(System.out); - output.dump(System.out); - throw new RuntimeException("Test failed - " + - "exit return code non-zero " + - "(exitStatus==" + exitStatus + ")"); - } - } catch ( InterruptedException e ) { - throw new RuntimeException("Test failed - process interrupted"); - } - System.out.println("Completed: " + cmdLine); - } - - /* - * Execute a process with an -agentpath or -agentlib command option - * plus any set of other java options. - */ - public void runit(String class_name, String vm_options[]) - { - String jre_home = System.getProperty("java.home"); - String sdk_home = (jre_home.endsWith("jre") ? - (jre_home + File.separator + "..") : - jre_home ); - String cdir = System.getProperty("test.classes", "."); - String os_arch = System.getProperty("os.arch"); - String os_name = System.getProperty("os.name"); - String java = jre_home - + File.separator + "bin" - + File.separator + "java"; - String jhat = sdk_home + File.separator + "bin" - + File.separator + "jhat"; - /* Array of strings to be passed in for exec: - * 1. java - * 2. -Dtest.classes=. - * 3. -Xcheck:jni (Just because it finds bugs) - * 4. -Xverify:all (Make sure verification is on full blast) - * 5. -agent - * vm_options - * 6+i. classname - */ - int nvm_options = 0; - if ( vm_options != null ) nvm_options = vm_options.length; - String cmd[] = new String[1 + 7 + nvm_options]; - int i,j; - - i = 0; - cmd[i++] = java; - cmd[i++] = "-cp"; - cmd[i++] = cdir; - cmd[i++] = "-Dtest.classes=" + cdir; - cmd[i++] = "-Xcheck:jni"; - cmd[i++] = "-Xverify:all"; - dumpfile= cdir + File.separator + class_name + ".hdump"; - cmd[i++] = "-agentlib:hprof=" + all_hprof_options - + ",format=b,file=" + dumpfile; - /* Add any special VM options */ - for ( j = 0; j < nvm_options; j++ ) { - cmd[i++] = vm_options[j]; - } - /* Add classname */ - cmd[i++] = class_name; - - /* Execute process */ - execute(cmd); - - /* Run jhat */ - String jhat_cmd[] = new String[4]; - jhat_cmd[0] = jhat; - jhat_cmd[1] = "-debug"; - jhat_cmd[2] = "2"; - jhat_cmd[3] = dumpfile; - - /* Execute process */ - execute(jhat_cmd); - - } - - /* Does the pattern appear in the output of this process */ - public boolean output_contains(String pattern) - { - return output.contains(pattern) || error.contains(pattern); - } -}