提交 6c5923bd 编写于 作者: J jrose

Merge

...@@ -143,3 +143,4 @@ f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17 ...@@ -143,3 +143,4 @@ f0eccb2946986fb9626efde7d8ed9c8192623f5c jdk8-b17
0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19 0ff7113a0882ec82d642cb9f0297b4e497807ced jdk8-b19
6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20 6561530ea757c3f3a6fb171c9cc7b3885cdeca85 jdk8-b20
b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21 b3a426170188f52981cf4573a2f14d487fddab0d jdk8-b21
e8f03541af27e38aafb619b96863e17f65ffe53b jdk8-b22
...@@ -143,3 +143,4 @@ a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15 ...@@ -143,3 +143,4 @@ a4f28069d44a379cda99dd1d921d19f819726d22 jdk8-b15
237bc29afbfc6f56a4fe4a6008e2befb59c44bac jdk8-b19 237bc29afbfc6f56a4fe4a6008e2befb59c44bac jdk8-b19
5a5eaf6374bcbe23530899579fed17a05b7705f3 jdk8-b20 5a5eaf6374bcbe23530899579fed17a05b7705f3 jdk8-b20
cc771d92284f71765eca14d6d08703c4af254c04 jdk8-b21 cc771d92284f71765eca14d6d08703c4af254c04 jdk8-b21
7ad075c809952e355d25030605da6af30456ed74 jdk8-b22
...@@ -143,3 +143,4 @@ e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14 ...@@ -143,3 +143,4 @@ e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
e1366c5d84ef984095a332bcee70b3938232d07d jdk8-b19 e1366c5d84ef984095a332bcee70b3938232d07d jdk8-b19
51d8b6cb18c0978ecfa4f33e1537d35ee01b69fa jdk8-b20 51d8b6cb18c0978ecfa4f33e1537d35ee01b69fa jdk8-b20
f157fc2a71a38ce44007a6f18d5b011824dce705 jdk8-b21 f157fc2a71a38ce44007a6f18d5b011824dce705 jdk8-b21
a11d0062c445d5f36651c78650ab88aa594bcbff jdk8-b22
...@@ -211,3 +211,5 @@ a2fef924d8e6f37dac2a887315e3502876cc8e24 hs23-b08 ...@@ -211,3 +211,5 @@ a2fef924d8e6f37dac2a887315e3502876cc8e24 hs23-b08
fe2c8764998112b7fefcd7d41599714813ae4327 jdk8-b20 fe2c8764998112b7fefcd7d41599714813ae4327 jdk8-b20
9952d1c439d64c5fd4ad1236a63a62bd5a49d4c3 jdk8-b21 9952d1c439d64c5fd4ad1236a63a62bd5a49d4c3 jdk8-b21
513351373923f74a7c91755748b95c9771e59f96 hs23-b10 513351373923f74a7c91755748b95c9771e59f96 hs23-b10
24727fb37561779077fdfa5a33342246f20e5c0f jdk8-b22
dcc292399a39113957eebbd3e487b7e05e2c79fc hs23-b11
...@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2011 ...@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2011
HS_MAJOR_VER=23 HS_MAJOR_VER=23
HS_MINOR_VER=0 HS_MINOR_VER=0
HS_BUILD_NUMBER=11 HS_BUILD_NUMBER=12
JDK_MAJOR_VER=1 JDK_MAJOR_VER=1
JDK_MINOR_VER=8 JDK_MINOR_VER=8
......
...@@ -143,3 +143,4 @@ ebec6a7e8d4e481d205a2109ddeea8121d76db7f jdk8-b18 ...@@ -143,3 +143,4 @@ ebec6a7e8d4e481d205a2109ddeea8121d76db7f jdk8-b18
dffeb62b1a7fc8b316bf58fe5479323f3661894e jdk8-b19 dffeb62b1a7fc8b316bf58fe5479323f3661894e jdk8-b19
f052abb8f37444ba77858913887d0d92795dd6b8 jdk8-b20 f052abb8f37444ba77858913887d0d92795dd6b8 jdk8-b20
d41eeadf5c1344b88c5051a997aec9e1ad7ce1db jdk8-b21 d41eeadf5c1344b88c5051a997aec9e1ad7ce1db jdk8-b21
cf9d6ec44f891236ad18451021d6dcd57dc82f7b jdk8-b22
...@@ -143,3 +143,4 @@ c9ab96ff23d52d85d5dcce1f9c0fd7a3de418c74 jdk8-b15 ...@@ -143,3 +143,4 @@ c9ab96ff23d52d85d5dcce1f9c0fd7a3de418c74 jdk8-b15
b73b733214aa43648d69a2da51e6b48fda902a2d jdk8-b19 b73b733214aa43648d69a2da51e6b48fda902a2d jdk8-b19
2b2818e3386f4510c390f6aea90d77e1c6a5bf9e jdk8-b20 2b2818e3386f4510c390f6aea90d77e1c6a5bf9e jdk8-b20
c266cab0e3fff05f2048c23046c14d60f7102175 jdk8-b21 c266cab0e3fff05f2048c23046c14d60f7102175 jdk8-b21
8d3df89b0f2d3c603b2edb0f5e24af1245397cc6 jdk8-b22
...@@ -143,3 +143,4 @@ b71d1acfae5240d8c1359443cd02b5ddb587231c jdk8-b17 ...@@ -143,3 +143,4 @@ b71d1acfae5240d8c1359443cd02b5ddb587231c jdk8-b17
3778f85773055e81eab6c5ef828935ecca241810 jdk8-b19 3778f85773055e81eab6c5ef828935ecca241810 jdk8-b19
39e938cd1b82ec3aab0a9aa66fd8a0457cd0c9c2 jdk8-b20 39e938cd1b82ec3aab0a9aa66fd8a0457cd0c9c2 jdk8-b20
664fa4fb0ee411ef048903c479f8b962fcdb2f4b jdk8-b21 664fa4fb0ee411ef048903c479f8b962fcdb2f4b jdk8-b21
dda27c73d8db4a9c7a23872b6f0c5106edcb2021 jdk8-b22
# #
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -25,15 +25,24 @@ ...@@ -25,15 +25,24 @@
BUILDDIR = ../.. BUILDDIR = ../..
PRODUCT = oracle PRODUCT = oracle
#SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
#SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
#SUBDIRS_MAKEFLAGS += JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation,-path
include $(BUILDDIR)/common/Defs.gmk include $(BUILDDIR)/common/Defs.gmk
# # build com/oracle/security/ucrypto on Solaris platform for non-OpenJDK builds
# Files to compile UCRYPTO =
# ifndef OPENJDK
AUTO_FILES_JAVA_DIRS = com/oracle ifeq ($(PLATFORM), solaris)
UCRYPTO = security/ucrypto
endif
endif
#
# Rules SUBDIRS = net nio util $(UCRYPTO)
#
include $(BUILDDIR)/common/Classes.gmk include $(BUILDDIR)/common/Subdirs.gmk
all build clean clobber::
$(SUBDIRS-loop)
#
# Copyright (c) 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.
#
BUILDDIR = ../../..
PACKAGE = com.oracle.net
PRODUCT = oracle
include $(BUILDDIR)/common/Defs.gmk
#
# Files
#
AUTO_FILES_JAVA_DIRS = com/oracle/net
#
# Rules
#
include $(BUILDDIR)/common/Classes.gmk
#
# Copyright (c) 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.
#
BUILDDIR = ../../..
PACKAGE = com.oracle.nio
PRODUCT = oracle
include $(BUILDDIR)/common/Defs.gmk
#
# Files
#
AUTO_FILES_JAVA_DIRS = com/oracle/nio
#
# Rules
#
include $(BUILDDIR)/common/Classes.gmk
#
# Copyright (c) 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.
#
ifndef OPENJDK
FILES_c = \
nativeFunc.c \
nativeCrypto.c
endif
#
# Copyright (c) 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.
#
#
# Makefile for building ucrypto.jar and its native libraries.
#
# This file was modified from make/sun/security/pkcs11/Makefile.
#
#
# (The terms "OpenJDK" and "JDK" below refer to OpenJDK and Oracle
# JDK builds respectively.)
#
# This Makefile does the "real" build of the Ucrypto provider files.
# Since the sources are unavailable for OpenJDK, this Makefile is only
# useful for JDK.
#
#
# Main Targets (JDK on Solaris):
#
# all The usual, ucrypto.jar plus the native libraries.
# builds and installs the prebuilt/signed jar.
#
# clobber/clean Cleans up the temp directory, ucrypto.jar, the
# native libraries, and the config file from the
# build area
#
# jar Builds, signs and installs ucrypto.jar
# (Can only be done on machines with access to
# the signing keystore)
#
# Other lesser-used Targets (JDK on Solaris):
#
# build-jar Builds ucrypto.jar (no sign/install)
#
# sign Builds/signs ucrypto.jar (no install)
#
# release Builds all targets in preparation
# for workspace integration.
# (Can only be done on machines with access to
# the signing keystore)
#
# install-prebuilt Installs the pre-built jar files
#
# NOTE: None of the above target will update the prebuilt provider binary
# under the closed workspace. To update it, you must explicitly copy the
# binary from either the tmp/signed or lib/ext directory.
#
# This makefile was written to support parallel target execution.
#
BUILDDIR = ../../../..
include $(BUILDDIR)/common/Defs.gmk
ifndef OPENJDK
ifneq ($(PLATFORM), solaris)
all:
else
PACKAGE = com.oracle.security.ucrypto
LIBRARY = j2ucrypto
PRODUCT = oracle
#
# The following is for when we need to do postprocessing
# (signing/obfuscation) against a read-only build. If the OUTPUTDIR
# isn't writable, the build currently crashes out.
#
ifdef ALT_JCE_BUILD_DIR
# =====================================================
# Where to place the output, in case we're building from a read-only
# build area. (e.g. a release engineering build.)
JCE_BUILD_DIR=${ALT_JCE_BUILD_DIR}
IGNORE_WRITABLE_OUTPUTDIR_TEST=true
else
JCE_BUILD_DIR=${TEMPDIR}
endif
JAVAC_MAX_WARNINGS=false
JAVAC_LINT_OPTIONS=-Xlint:all,-deprecation
JAVAC_WARNINGS_FATAL=true
#
# C and Java Files
#
include FILES_c.gmk
#
# Subdirectories of these are automatically included.
#
AUTO_FILES_JAVA_DIRS = com/oracle/security/ucrypto
#
# Java files that define native methods
#
FILES_export = \
com/oracle/security/ucrypto/UcryptoProvider.java \
com/oracle/security/ucrypto/NativeCipher.java \
com/oracle/security/ucrypto/NativeDigest.java \
com/oracle/security/ucrypto/NativeKey.java \
com/oracle/security/ucrypto/NativeRSASignature.java \
com/oracle/security/ucrypto/NativeRSACipher.java
#
# Find native code
#
vpath %.c \
$(CLOSED_PLATFORM_SRC)/native/com/oracle/security/ucrypto
#
# Find include files
#
OTHER_INCLUDES += \
-I$(CLOSED_PLATFORM_SRC)/native/com/oracle/security/ucrypto
#
# Rules
#
CLASSDESTDIR = $(TEMPDIR)/classes
JAVAHFLAGS = -bootclasspath \
"$(CLASSDESTDIR)$(CLASSPATH_SEPARATOR)$(CLASSBINDIR)"
include $(BUILDDIR)/common/Mapfile-vers.gmk
include $(BUILDDIR)/common/Library.gmk
#
# Libraries to link
#
OTHER_LDLIBS = -ldl
# Default config file
UCRYPTO_CFG_SRC = $(CLOSED_SRC)/share/lib/security/ucrypto-solaris.cfg
UCRYPTO_CFG_BUILD = $(LIBDIR)/security/ucrypto-solaris.cfg
#
# We use a variety of subdirectories in the $(TEMPDIR) depending on what
# part of the build we're doing. Build is initially done in the unsigned
# area and when files are signed, they will be placed in the appropriate area.
#
UNSIGNED_DIR = $(TEMPDIR)/unsigned
#
# Rules
#
all: ucrypto-cfg build-jar install-prebuilt
$(build-warning)
ucrypto-cfg: $(UCRYPTO_CFG_BUILD)
$(UCRYPTO_CFG_BUILD): $(UCRYPTO_CFG_SRC)
$(install-file)
include $(BUILDDIR)/javax/crypto/Defs-jce.gmk
# =====================================================
# Build the unsigned ucrypto.jar file.
#
JAR_DESTFILE = $(EXTDIR)/ucrypto.jar
#
# The ucrypto.jar needs to be in the extension class directory,
# therefore none of its classes can appear in $(CLASSBINDIR).
# Currently no one is using any of the internals, so these files
# should not have been built.
#
#
# Since the -C option to jar is used below, each directory entry must be
# preceded with the appropriate directory to "cd" into.
#
JAR_DIRS = $(patsubst %, -C $(CLASSDESTDIR) %, $(AUTO_FILES_JAVA_DIRS))
build-jar: $(UNSIGNED_DIR)/ucrypto.jar
#
# Build ucrypto.jar.
#
$(UNSIGNED_DIR)/ucrypto.jar: build
$(prep-target)
$(BOOT_JAR_CMD) cf $@ $(JAR_DIRS) \
$(BOOT_JAR_JFLAGS)
@$(java-vm-cleanup)
#
# Sign ucrypto.jar
#
SIGNED_DIR = $(JCE_BUILD_DIR)/signed
sign: $(SIGNED_DIR)/ucrypto.jar
ifndef ALT_JCE_BUILD_DIR
$(SIGNED_DIR)/ucrypto.jar: $(UNSIGNED_DIR)/ucrypto.jar
else
#
# We have to remove the build dependency, otherwise, we'll try to rebuild it
# which we can't do on a read-only filesystem.
#
$(SIGNED_DIR)/ucrypto.jar:
@if [ ! -r $(UNSIGNED_DIR)/ucrypto.jar ] ; then \
$(ECHO) "Couldn't find $(UNSIGNED_DIR)/ucrypto.jar"; \
exit 1; \
fi
endif
$(call sign-file, $(UNSIGNED_DIR)/ucrypto.jar)
# =====================================================
# Create the Release Engineering files. Signed builds, etc.
#
release: $(SIGNED_DIR)/ucrypto.jar
$(RM) $(JCE_BUILD_DIR)/release/ucrypto.jar
$(MKDIR) -p $(JCE_BUILD_DIR)/release
$(CP) $(SIGNED_DIR)/ucrypto.jar $(JCE_BUILD_DIR)/release
$(release-warning)
# =====================================================
# Install routines.
#
#
# Install ucrypto.jar, depending on which type is requested.
#
jar: $(JAR_DESTFILE)
$(release-warning)
$(JAR_DESTFILE): $(SIGNED_DIR)/ucrypto.jar
$(install-file)
install-prebuilt:
@$(ECHO) "\n>>>Installing prebuilt OracleUcrypto provider..."
$(RM) $(JAR_DESTFILE)
$(CP) $(PREBUILT_DIR)/ucrypto/ucrypto.jar $(JAR_DESTFILE)
# =====================================================
# Support routines.
#
clobber clean::
$(RM) -r $(JAR_DESTFILE) $(TEMPDIR) $(JCE_BUILD_DIR)
$(RM) -r $(UCRYPTO_CFG_BUILD)
.PHONY: build-jar jar sign release install-prebuilt
endif #ifneq ($(PLATFORM), solaris)
endif #ifndef OPENJDK
#
# Copyright (c) 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.
#
# Define public interface.
SUNWprivate_1.1 {
global:
JNI_OnLoad;
Java_com_oracle_security_ucrypto_UcryptoProvider_loadLibraries;
Java_com_oracle_security_ucrypto_UcryptoProvider_getMechList;
Java_com_oracle_security_ucrypto_NativeDigest_nativeInit;
Java_com_oracle_security_ucrypto_NativeDigest_nativeUpdate;
Java_com_oracle_security_ucrypto_NativeDigest_nativeDigest;
Java_com_oracle_security_ucrypto_NativeDigest_nativeClone;
Java_com_oracle_security_ucrypto_NativeDigest_nativeFree;
Java_com_oracle_security_ucrypto_NativeCipher_nativeInit;
Java_com_oracle_security_ucrypto_NativeCipher_nativeUpdate;
Java_com_oracle_security_ucrypto_NativeCipher_nativeFinal;
Java_com_oracle_security_ucrypto_NativeKey_nativeFree;
Java_com_oracle_security_ucrypto_NativeKey_00024RSAPrivateCrt_nativeInit;
Java_com_oracle_security_ucrypto_NativeKey_00024RSAPublic_nativeInit;
Java_com_oracle_security_ucrypto_NativeRSASignature_nativeInit;
Java_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZ_3BII;
Java_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZJI;
Java_com_oracle_security_ucrypto_NativeRSASignature_nativeFinal;
Java_com_oracle_security_ucrypto_NativeRSACipher_nativeAtomic;
JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeInit;
JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeUpdate;
JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeDigest;
JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeClone;
JavaCritical_com_oracle_security_ucrypto_NativeDigest_nativeFree;
JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeInit;
JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeUpdate;
JavaCritical_com_oracle_security_ucrypto_NativeCipher_nativeFinal;
JavaCritical_com_oracle_security_ucrypto_NativeKey_nativeFree;
JavaCritical_com_oracle_security_ucrypto_NativeKey_00024RSAPrivateCrt_nativeInit;
JavaCritical_com_oracle_security_ucrypto_NativeKey_00024RSAPublic_nativeInit;
JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeInit;
JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZ_3BII;
JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeUpdate__JZJI;
JavaCritical_com_oracle_security_ucrypto_NativeRSASignature_nativeFinal;
JavaCritical_com_oracle_security_ucrypto_NativeRSACipher_nativeAtomic;
local:
*;
};
#
# Copyright (c) 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.
#
BUILDDIR = ../../..
PACKAGE = com.oracle.util
PRODUCT = oracle
include $(BUILDDIR)/common/Defs.gmk
#
# Files
#
AUTO_FILES_JAVA_DIRS = com/oracle/util
#
# Rules
#
include $(BUILDDIR)/common/Classes.gmk
...@@ -65,7 +65,7 @@ FILES_export = \ ...@@ -65,7 +65,7 @@ FILES_export = \
$(MIDIFILES_export) \ $(MIDIFILES_export) \
$(PORTFILES_export) $(PORTFILES_export)
LDFLAGS += -lasound OTHER_LDLIBS += -lasound
CPPFLAGS += \ CPPFLAGS += \
-DUSE_DAUDIO=TRUE \ -DUSE_DAUDIO=TRUE \
......
...@@ -367,7 +367,8 @@ else ...@@ -367,7 +367,8 @@ else
FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs FONTCONFIGS_SRC = $(CLOSED_SRC)/solaris/classes/sun/awt/fontconfigs
_FONTCONFIGS = \ _FONTCONFIGS = \
fontconfig.properties \ fontconfig.properties \
fontconfig.RedHat.5.5.properties \ fontconfig.RedHat.5.properties \
fontconfig.RedHat.6.properties \
fontconfig.Turbo.properties \ fontconfig.Turbo.properties \
fontconfig.SuSE.10.properties \ fontconfig.SuSE.10.properties \
fontconfig.SuSE.11.properties fontconfig.SuSE.11.properties
......
# #
# Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
...@@ -47,8 +47,8 @@ SUNWprivate_1.1 { ...@@ -47,8 +47,8 @@ SUNWprivate_1.1 {
Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseSession; Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseSession;
# Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseAllSessions; # Java_sun_security_pkcs11_wrapper_PKCS11_C_1CloseAllSessions;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSessionInfo; Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetSessionInfo;
# Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState; Java_sun_security_pkcs11_wrapper_PKCS11_C_1GetOperationState;
# Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState; Java_sun_security_pkcs11_wrapper_PKCS11_C_1SetOperationState;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1Login; Java_sun_security_pkcs11_wrapper_PKCS11_C_1Login;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1Logout; Java_sun_security_pkcs11_wrapper_PKCS11_C_1Logout;
Java_sun_security_pkcs11_wrapper_PKCS11_C_1CreateObject; Java_sun_security_pkcs11_wrapper_PKCS11_C_1CreateObject;
......
/* /*
* Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -1225,14 +1225,7 @@ LoadMainClass(JNIEnv *env, int mode, char *name) ...@@ -1225,14 +1225,7 @@ LoadMainClass(JNIEnv *env, int mode, char *name)
"checkAndLoadMain", "checkAndLoadMain",
"(ZILjava/lang/String;)Ljava/lang/Class;")); "(ZILjava/lang/String;)Ljava/lang/Class;"));
switch (mode) { str = NewPlatformString(env, name);
case LM_CLASS:
str = NewPlatformString(env, name);
break;
default:
str = (*env)->NewStringUTF(env, name);
break;
}
result = (*env)->CallStaticObjectMethod(env, cls, mid, USE_STDERR, mode, str); result = (*env)->CallStaticObjectMethod(env, cls, mid, USE_STDERR, mode, str);
if (JLI_IsTraceLauncher()) { if (JLI_IsTraceLauncher()) {
......
...@@ -154,7 +154,7 @@ public final class TypeResolver { ...@@ -154,7 +154,7 @@ public final class TypeResolver {
* @see #resolve(Type) * @see #resolve(Type)
*/ */
public static Type resolve(Type actual, Type formal) { public static Type resolve(Type actual, Type formal) {
return new TypeResolver(actual).resolve(formal); return getTypeResolver(actual).resolve(formal);
} }
/** /**
...@@ -169,7 +169,7 @@ public final class TypeResolver { ...@@ -169,7 +169,7 @@ public final class TypeResolver {
* @see #resolve(Type[]) * @see #resolve(Type[])
*/ */
public static Type[] resolve(Type actual, Type[] formals) { public static Type[] resolve(Type actual, Type[] formals) {
return new TypeResolver(actual).resolve(formals); return getTypeResolver(actual).resolve(formals);
} }
/** /**
...@@ -228,9 +228,20 @@ public final class TypeResolver { ...@@ -228,9 +228,20 @@ public final class TypeResolver {
return classes; return classes;
} }
public static TypeResolver getTypeResolver(Type type) {
synchronized (CACHE) {
TypeResolver resolver = CACHE.get(type);
if (resolver == null) {
resolver = new TypeResolver(type);
CACHE.put(type, resolver);
}
return resolver;
}
}
private static final WeakCache<Type, TypeResolver> CACHE = new WeakCache<>();
private final Map<TypeVariable<?>, Type> map private final Map<TypeVariable<?>, Type> map = new HashMap<>();
= new HashMap<TypeVariable<?>, Type>();
/** /**
* Constructs the type resolver for the given actual type. * Constructs the type resolver for the given actual type.
......
...@@ -802,8 +802,11 @@ public class AWTKeyStroke implements Serializable { ...@@ -802,8 +802,11 @@ public class AWTKeyStroke implements Serializable {
*/ */
protected Object readResolve() throws java.io.ObjectStreamException { protected Object readResolve() throws java.io.ObjectStreamException {
synchronized (AWTKeyStroke.class) { synchronized (AWTKeyStroke.class) {
return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease); if (getClass().equals(getAWTKeyStrokeClass())) {
return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease);
}
} }
return this;
} }
private static int mapOldModifiers(int modifiers) { private static int mapOldModifiers(int modifiers) {
......
...@@ -3118,4 +3118,9 @@ public final ...@@ -3118,4 +3118,9 @@ public final
AnnotationType getAnnotationType() { AnnotationType getAnnotationType() {
return annotationType; return annotationType;
} }
/* Backing store of user-defined values pertaining to this class.
* Maintained by the ClassValue class.
*/
transient ClassValue.ClassValueMap classValueMap;
} }
...@@ -818,8 +818,9 @@ public final class Math { ...@@ -818,8 +818,9 @@ public final class Math {
return (a >= b) ? a : b; return (a >= b) ? a : b;
} }
private static long negativeZeroFloatBits = Float.floatToIntBits(-0.0f); // Use raw bit-wise conversions on guaranteed non-NaN arguments.
private static long negativeZeroDoubleBits = Double.doubleToLongBits(-0.0d); private static long negativeZeroFloatBits = Float.floatToRawIntBits(-0.0f);
private static long negativeZeroDoubleBits = Double.doubleToRawLongBits(-0.0d);
/** /**
* Returns the greater of two {@code float} values. That is, * Returns the greater of two {@code float} values. That is,
...@@ -836,9 +837,12 @@ public final class Math { ...@@ -836,9 +837,12 @@ public final class Math {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static float max(float a, float b) { public static float max(float a, float b) {
if (a != a) return a; // a is NaN if (a != a)
if ((a == 0.0f) && (b == 0.0f) return a; // a is NaN
&& (Float.floatToIntBits(a) == negativeZeroFloatBits)) { if ((a == 0.0f) &&
(b == 0.0f) &&
(Float.floatToRawIntBits(a) == negativeZeroFloatBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b; return b;
} }
return (a >= b) ? a : b; return (a >= b) ? a : b;
...@@ -859,9 +863,12 @@ public final class Math { ...@@ -859,9 +863,12 @@ public final class Math {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static double max(double a, double b) { public static double max(double a, double b) {
if (a != a) return a; // a is NaN if (a != a)
if ((a == 0.0d) && (b == 0.0d) return a; // a is NaN
&& (Double.doubleToLongBits(a) == negativeZeroDoubleBits)) { if ((a == 0.0d) &&
(b == 0.0d) &&
(Double.doubleToRawLongBits(a) == negativeZeroDoubleBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b; return b;
} }
return (a >= b) ? a : b; return (a >= b) ? a : b;
...@@ -910,9 +917,12 @@ public final class Math { ...@@ -910,9 +917,12 @@ public final class Math {
* @return the smaller of {@code a} and {@code b}. * @return the smaller of {@code a} and {@code b}.
*/ */
public static float min(float a, float b) { public static float min(float a, float b) {
if (a != a) return a; // a is NaN if (a != a)
if ((a == 0.0f) && (b == 0.0f) return a; // a is NaN
&& (Float.floatToIntBits(b) == negativeZeroFloatBits)) { if ((a == 0.0f) &&
(b == 0.0f) &&
(Float.floatToRawIntBits(b) == negativeZeroFloatBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b; return b;
} }
return (a <= b) ? a : b; return (a <= b) ? a : b;
...@@ -933,9 +943,12 @@ public final class Math { ...@@ -933,9 +943,12 @@ public final class Math {
* @return the smaller of {@code a} and {@code b}. * @return the smaller of {@code a} and {@code b}.
*/ */
public static double min(double a, double b) { public static double min(double a, double b) {
if (a != a) return a; // a is NaN if (a != a)
if ((a == 0.0d) && (b == 0.0d) return a; // a is NaN
&& (Double.doubleToLongBits(b) == negativeZeroDoubleBits)) { if ((a == 0.0d) &&
(b == 0.0d) &&
(Double.doubleToRawLongBits(b) == negativeZeroDoubleBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b; return b;
} }
return (a <= b) ? a : b; return (a <= b) ? a : b;
...@@ -1900,7 +1913,7 @@ public final class Math { ...@@ -1900,7 +1913,7 @@ public final class Math {
/** /**
* Returns a floating-point power of two in the normal range. * Returns a floating-point power of two in the normal range.
*/ */
public static float powerOfTwoF(int n) { static float powerOfTwoF(int n) {
assert(n >= FloatConsts.MIN_EXPONENT && n <= FloatConsts.MAX_EXPONENT); assert(n >= FloatConsts.MIN_EXPONENT && n <= FloatConsts.MAX_EXPONENT);
return Float.intBitsToFloat(((n + FloatConsts.EXP_BIAS) << return Float.intBitsToFloat(((n + FloatConsts.EXP_BIAS) <<
(FloatConsts.SIGNIFICAND_WIDTH-1)) (FloatConsts.SIGNIFICAND_WIDTH-1))
......
...@@ -58,8 +58,7 @@ public class Object { ...@@ -58,8 +58,7 @@ public class Object {
* *
* @return The {@code Class} object that represents the runtime * @return The {@code Class} object that represents the runtime
* class of this object. * class of this object.
* @see Class Literals, section 15.8.2 of * @jls 15.8.2 Class Literals
* <cite>The Java&trade; Language Specification</cite>.
*/ */
public final native Class<?> getClass(); public final native Class<?> getClass();
...@@ -92,7 +91,7 @@ public class Object { ...@@ -92,7 +91,7 @@ public class Object {
* objects. (This is typically implemented by converting the internal * objects. (This is typically implemented by converting the internal
* address of the object into an integer, but this implementation * address of the object into an integer, but this implementation
* technique is not required by the * technique is not required by the
* Java<font size="-2"><sup>TM</sup></font> programming language.) * Java&trade; programming language.)
* *
* @return a hash code value for this object. * @return a hash code value for this object.
* @see java.lang.Object#equals(java.lang.Object) * @see java.lang.Object#equals(java.lang.Object)
...@@ -203,7 +202,7 @@ public class Object { ...@@ -203,7 +202,7 @@ public class Object {
* exception at run time. * exception at run time.
* *
* @return a clone of this instance. * @return a clone of this instance.
* @exception CloneNotSupportedException if the object's class does not * @throws CloneNotSupportedException if the object's class does not
* support the {@code Cloneable} interface. Subclasses * support the {@code Cloneable} interface. Subclasses
* that override the {@code clone} method can also * that override the {@code clone} method can also
* throw this exception to indicate that an instance cannot * throw this exception to indicate that an instance cannot
...@@ -264,7 +263,7 @@ public class Object { ...@@ -264,7 +263,7 @@ public class Object {
* <p> * <p>
* Only one thread at a time can own an object's monitor. * Only one thread at a time can own an object's monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @see java.lang.Object#notifyAll() * @see java.lang.Object#notifyAll()
* @see java.lang.Object#wait() * @see java.lang.Object#wait()
...@@ -288,7 +287,7 @@ public class Object { ...@@ -288,7 +287,7 @@ public class Object {
* description of the ways in which a thread can become the owner of * description of the ways in which a thread can become the owner of
* a monitor. * a monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @see java.lang.Object#notify() * @see java.lang.Object#notify()
* @see java.lang.Object#wait() * @see java.lang.Object#wait()
...@@ -368,11 +367,11 @@ public class Object { ...@@ -368,11 +367,11 @@ public class Object {
* a monitor. * a monitor.
* *
* @param timeout the maximum time to wait in milliseconds. * @param timeout the maximum time to wait in milliseconds.
* @exception IllegalArgumentException if the value of timeout is * @throws IllegalArgumentException if the value of timeout is
* negative. * negative.
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor. * the owner of the object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
...@@ -433,12 +432,12 @@ public class Object { ...@@ -433,12 +432,12 @@ public class Object {
* @param timeout the maximum time to wait in milliseconds. * @param timeout the maximum time to wait in milliseconds.
* @param nanos additional time, in nanoseconds range * @param nanos additional time, in nanoseconds range
* 0-999999. * 0-999999.
* @exception IllegalArgumentException if the value of timeout is * @throws IllegalArgumentException if the value of timeout is
* negative or the value of nanos is * negative or the value of nanos is
* not in the range 0-999999. * not in the range 0-999999.
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of this object's monitor. * the owner of this object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
...@@ -489,9 +488,9 @@ public class Object { ...@@ -489,9 +488,9 @@ public class Object {
* description of the ways in which a thread can become the owner of * description of the ways in which a thread can become the owner of
* a monitor. * a monitor.
* *
* @exception IllegalMonitorStateException if the current thread is not * @throws IllegalMonitorStateException if the current thread is not
* the owner of the object's monitor. * the owner of the object's monitor.
* @exception InterruptedException if any thread interrupted the * @throws InterruptedException if any thread interrupted the
* current thread before or while the current thread * current thread before or while the current thread
* was waiting for a notification. The <i>interrupted * was waiting for a notification. The <i>interrupted
* status</i> of the current thread is cleared when * status</i> of the current thread is cleared when
...@@ -510,7 +509,7 @@ public class Object { ...@@ -510,7 +509,7 @@ public class Object {
* system resources or to perform other cleanup. * system resources or to perform other cleanup.
* <p> * <p>
* The general contract of {@code finalize} is that it is invoked * The general contract of {@code finalize} is that it is invoked
* if and when the Java<font size="-2"><sup>TM</sup></font> virtual * if and when the Java&trade; virtual
* machine has determined that there is no longer any * machine has determined that there is no longer any
* means by which this object can be accessed by any thread that has * means by which this object can be accessed by any thread that has
* not yet died, except as a result of an action taken by the * not yet died, except as a result of an action taken by the
...@@ -549,6 +548,9 @@ public class Object { ...@@ -549,6 +548,9 @@ public class Object {
* ignored. * ignored.
* *
* @throws Throwable the {@code Exception} raised by this method * @throws Throwable the {@code Exception} raised by this method
* @see java.lang.ref.WeakReference
* @see java.lang.ref.PhantomReference
* @jls 12.6 Finalization of Class Instances
*/ */
protected void finalize() throws Throwable { } protected void finalize() throws Throwable { }
} }
...@@ -161,6 +161,8 @@ public final class StrictMath { ...@@ -161,6 +161,8 @@ public final class StrictMath {
* in radians. * in radians.
*/ */
public static strictfp double toRadians(double angdeg) { public static strictfp double toRadians(double angdeg) {
// Do not delegate to Math.toRadians(angdeg) because
// this method has the strictfp modifier.
return angdeg / 180.0 * PI; return angdeg / 180.0 * PI;
} }
...@@ -176,6 +178,8 @@ public final class StrictMath { ...@@ -176,6 +178,8 @@ public final class StrictMath {
* in degrees. * in degrees.
*/ */
public static strictfp double toDegrees(double angrad) { public static strictfp double toDegrees(double angrad) {
// Do not delegate to Math.toDegrees(angrad) because
// this method has the strictfp modifier.
return angrad * 180.0 / PI; return angrad * 180.0 / PI;
} }
...@@ -708,7 +712,7 @@ public final class StrictMath { ...@@ -708,7 +712,7 @@ public final class StrictMath {
* @return the absolute value of the argument. * @return the absolute value of the argument.
*/ */
public static int abs(int a) { public static int abs(int a) {
return (a < 0) ? -a : a; return Math.abs(a);
} }
/** /**
...@@ -725,7 +729,7 @@ public final class StrictMath { ...@@ -725,7 +729,7 @@ public final class StrictMath {
* @return the absolute value of the argument. * @return the absolute value of the argument.
*/ */
public static long abs(long a) { public static long abs(long a) {
return (a < 0) ? -a : a; return Math.abs(a);
} }
/** /**
...@@ -744,7 +748,7 @@ public final class StrictMath { ...@@ -744,7 +748,7 @@ public final class StrictMath {
* @return the absolute value of the argument. * @return the absolute value of the argument.
*/ */
public static float abs(float a) { public static float abs(float a) {
return (a <= 0.0F) ? 0.0F - a : a; return Math.abs(a);
} }
/** /**
...@@ -763,7 +767,7 @@ public final class StrictMath { ...@@ -763,7 +767,7 @@ public final class StrictMath {
* @return the absolute value of the argument. * @return the absolute value of the argument.
*/ */
public static double abs(double a) { public static double abs(double a) {
return (a <= 0.0D) ? 0.0D - a : a; return Math.abs(a);
} }
/** /**
...@@ -777,7 +781,7 @@ public final class StrictMath { ...@@ -777,7 +781,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static int max(int a, int b) { public static int max(int a, int b) {
return (a >= b) ? a : b; return Math.max(a, b);
} }
/** /**
...@@ -791,13 +795,9 @@ public final class StrictMath { ...@@ -791,13 +795,9 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static long max(long a, long b) { public static long max(long a, long b) {
return (a >= b) ? a : b; return Math.max(a, b);
} }
// Use raw bit-wise conversions on guaranteed non-NaN arguments.
private static long negativeZeroFloatBits = Float.floatToRawIntBits(-0.0f);
private static long negativeZeroDoubleBits = Double.doubleToRawLongBits(-0.0d);
/** /**
* Returns the greater of two {@code float} values. That is, * Returns the greater of two {@code float} values. That is,
* the result is the argument closer to positive infinity. If the * the result is the argument closer to positive infinity. If the
...@@ -813,15 +813,7 @@ public final class StrictMath { ...@@ -813,15 +813,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static float max(float a, float b) { public static float max(float a, float b) {
if (a != a) return Math.max(a, b);
return a; // a is NaN
if ((a == 0.0f) &&
(b == 0.0f) &&
(Float.floatToRawIntBits(a) == negativeZeroFloatBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
} }
/** /**
...@@ -839,15 +831,7 @@ public final class StrictMath { ...@@ -839,15 +831,7 @@ public final class StrictMath {
* @return the larger of {@code a} and {@code b}. * @return the larger of {@code a} and {@code b}.
*/ */
public static double max(double a, double b) { public static double max(double a, double b) {
if (a != a) return Math.max(a, b);
return a; // a is NaN
if ((a == 0.0d) &&
(b == 0.0d) &&
(Double.doubleToRawLongBits(a) == negativeZeroDoubleBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a >= b) ? a : b;
} }
/** /**
...@@ -861,7 +845,7 @@ public final class StrictMath { ...@@ -861,7 +845,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}. * @return the smaller of {@code a} and {@code b}.
*/ */
public static int min(int a, int b) { public static int min(int a, int b) {
return (a <= b) ? a : b; return Math.min(a, b);
} }
/** /**
...@@ -875,7 +859,7 @@ public final class StrictMath { ...@@ -875,7 +859,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}. * @return the smaller of {@code a} and {@code b}.
*/ */
public static long min(long a, long b) { public static long min(long a, long b) {
return (a <= b) ? a : b; return Math.min(a, b);
} }
/** /**
...@@ -893,15 +877,7 @@ public final class StrictMath { ...@@ -893,15 +877,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b.} * @return the smaller of {@code a} and {@code b.}
*/ */
public static float min(float a, float b) { public static float min(float a, float b) {
if (a != a) return Math.min(a, b);
return a; // a is NaN
if ((a == 0.0f) &&
(b == 0.0f) &&
(Float.floatToRawIntBits(b) == negativeZeroFloatBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a <= b) ? a : b;
} }
/** /**
...@@ -919,15 +895,7 @@ public final class StrictMath { ...@@ -919,15 +895,7 @@ public final class StrictMath {
* @return the smaller of {@code a} and {@code b}. * @return the smaller of {@code a} and {@code b}.
*/ */
public static double min(double a, double b) { public static double min(double a, double b) {
if (a != a) return Math.min(a, b);
return a; // a is NaN
if ((a == 0.0d) &&
(b == 0.0d) &&
(Double.doubleToRawLongBits(b) == negativeZeroDoubleBits)) {
// Raw conversion ok since NaN can't map to -0.0.
return b;
}
return (a <= b) ? a : b;
} }
/** /**
......
...@@ -625,7 +625,7 @@ public class Throwable implements Serializable { ...@@ -625,7 +625,7 @@ public class Throwable implements Serializable {
* at Resource2.close(Resource2.java:20) * at Resource2.close(Resource2.java:20)
* at Foo4.main(Foo4.java:5) * at Foo4.main(Foo4.java:5)
* Caused by: java.lang.Exception: Rats, you caught me * Caused by: java.lang.Exception: Rats, you caught me
* at Resource2$CloseFailException.<init>(Resource2.java:45) * at Resource2$CloseFailException.&lt;init&gt;(Resource2.java:45)
* ... 2 more * ... 2 more
* </pre> * </pre>
*/ */
......
...@@ -378,6 +378,7 @@ class AdapterMethodHandle extends BoundMethodHandle { ...@@ -378,6 +378,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
} }
/** Construct an adapter conversion descriptor for a single-argument conversion. */ /** Construct an adapter conversion descriptor for a single-argument conversion. */
@SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeConv(int convOp, int argnum, int src, int dest) { private static long makeConv(int convOp, int argnum, int src, int dest) {
assert(src == (src & CONV_TYPE_MASK)); assert(src == (src & CONV_TYPE_MASK));
assert(dest == (dest & CONV_TYPE_MASK)); assert(dest == (dest & CONV_TYPE_MASK));
...@@ -390,6 +391,7 @@ class AdapterMethodHandle extends BoundMethodHandle { ...@@ -390,6 +391,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
insertStackMove(stackMove) insertStackMove(stackMove)
); );
} }
@SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeDupConv(int convOp, int argnum, int stackMove) { private static long makeDupConv(int convOp, int argnum, int stackMove) {
// simple argument motion, requiring one slot to specify // simple argument motion, requiring one slot to specify
assert(convOp == OP_DUP_ARGS || convOp == OP_DROP_ARGS); assert(convOp == OP_DUP_ARGS || convOp == OP_DROP_ARGS);
...@@ -401,6 +403,7 @@ class AdapterMethodHandle extends BoundMethodHandle { ...@@ -401,6 +403,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
insertStackMove(stackMove) insertStackMove(stackMove)
); );
} }
@SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeSwapConv(int convOp, int srcArg, byte srcType, int destSlot, byte destType) { private static long makeSwapConv(int convOp, int srcArg, byte srcType, int destSlot, byte destType) {
// more complex argument motion, requiring two slots to specify // more complex argument motion, requiring two slots to specify
assert(convOp == OP_SWAP_ARGS || convOp == OP_ROT_ARGS); assert(convOp == OP_SWAP_ARGS || convOp == OP_ROT_ARGS);
...@@ -411,6 +414,7 @@ class AdapterMethodHandle extends BoundMethodHandle { ...@@ -411,6 +414,7 @@ class AdapterMethodHandle extends BoundMethodHandle {
(int) destSlot << CONV_VMINFO_SHIFT (int) destSlot << CONV_VMINFO_SHIFT
); );
} }
@SuppressWarnings("cast") // some (int) casts below provide clarity but trigger warnings
private static long makeSpreadConv(int convOp, int argnum, int src, int dest, int stackMove) { private static long makeSpreadConv(int convOp, int argnum, int src, int dest, int stackMove) {
// spreading or collecting, at a particular slot location // spreading or collecting, at a particular slot location
assert(convOp == OP_SPREAD_ARGS || convOp == OP_COLLECT_ARGS || convOp == OP_FOLD_ARGS); assert(convOp == OP_SPREAD_ARGS || convOp == OP_COLLECT_ARGS || convOp == OP_FOLD_ARGS);
......
...@@ -353,7 +353,7 @@ import static java.lang.invoke.MethodHandleStatics.*; ...@@ -353,7 +353,7 @@ import static java.lang.invoke.MethodHandleStatics.*;
assert(isResolved()); assert(isResolved());
} }
/** Create a name for the given reflected constructor. The resulting name will be in a resolved state. */ /** Create a name for the given reflected constructor. The resulting name will be in a resolved state. */
public MemberName(Constructor ctor) { public MemberName(Constructor<?> ctor) {
Object[] typeInfo = { void.class, ctor.getParameterTypes() }; Object[] typeInfo = { void.class, ctor.getParameterTypes() };
init(ctor.getDeclaringClass(), CONSTRUCTOR_NAME, typeInfo, flagsMods(IS_CONSTRUCTOR, ctor.getModifiers())); init(ctor.getDeclaringClass(), CONSTRUCTOR_NAME, typeInfo, flagsMods(IS_CONSTRUCTOR, ctor.getModifiers()));
// fill in vmtarget, vmindex while we have ctor in hand: // fill in vmtarget, vmindex while we have ctor in hand:
......
...@@ -275,7 +275,7 @@ mh.invokeExact(System.out, "Hello, world."); ...@@ -275,7 +275,7 @@ mh.invokeExact(System.out, "Hello, world.");
* generates a single invokevirtual instruction with * generates a single invokevirtual instruction with
* the symbolic type descriptor indicated in the following comment. * the symbolic type descriptor indicated in the following comment.
* In these examples, the helper method {@code assertEquals} is assumed to * In these examples, the helper method {@code assertEquals} is assumed to
* be a method which calls {@link Objects.equals java.util.Objects#equals} * be a method which calls {@link java.util.Objects#equals(Object,Object) Objects.equals }
* on its arguments, and asserts that the result is true. * on its arguments, and asserts that the result is true.
* *
* <h3>Exceptions</h3> * <h3>Exceptions</h3>
......
...@@ -112,7 +112,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -112,7 +112,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
assert(cookedConstructor.type().equals(ctype)); assert(cookedConstructor.type().equals(ctype));
ctype = ctype.dropParameterTypes(0, 1); ctype = ctype.dropParameterTypes(0, 1);
cookedConstructor = AdapterMethodHandle.makeCollectArguments(cookedConstructor, returner, 0, true); cookedConstructor = AdapterMethodHandle.makeCollectArguments(cookedConstructor, returner, 0, true);
MethodHandle allocator = new AllocateObject(allocateClass); AllocateObject allocator = new AllocateObject(allocateClass);
// allocate() => new C(void) // allocate() => new C(void)
assert(allocator.type().equals(MethodType.methodType(allocateClass))); assert(allocator.type().equals(MethodType.methodType(allocateClass)));
ctype = ctype.dropParameterTypes(0, 1); ctype = ctype.dropParameterTypes(0, 1);
...@@ -120,19 +120,19 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -120,19 +120,19 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
return fold; return fold;
} }
static final class AllocateObject<C> extends BoundMethodHandle { static final class AllocateObject /*<C>*/ extends BoundMethodHandle {
private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final Unsafe unsafe = Unsafe.getUnsafe();
private final Class<C> allocateClass; private final Class<?> /*<C>*/ allocateClass;
// for allocation only: // for allocation only:
private AllocateObject(Class<C> allocateClass) { private AllocateObject(Class<?> /*<C>*/ allocateClass) {
super(ALLOCATE.asType(MethodType.methodType(allocateClass, AllocateObject.class))); super(ALLOCATE.asType(MethodType.methodType(allocateClass, AllocateObject.class)));
this.allocateClass = allocateClass; this.allocateClass = allocateClass;
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private C allocate() throws InstantiationException { private Object /*C*/ allocate() throws InstantiationException {
return (C) unsafe.allocateInstance(allocateClass); return unsafe.allocateInstance(allocateClass);
} }
static final MethodHandle ALLOCATE; static final MethodHandle ALLOCATE;
static { static {
...@@ -148,8 +148,8 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -148,8 +148,8 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
MethodHandle accessField(MemberName member, boolean isSetter, MethodHandle accessField(MemberName member, boolean isSetter,
Class<?> lookupClass) { Class<?> lookupClass) {
// Use sun. misc.Unsafe to dig up the dirt on the field. // Use sun. misc.Unsafe to dig up the dirt on the field.
MethodHandle mh = new FieldAccessor(member, isSetter); FieldAccessor accessor = new FieldAccessor(member, isSetter);
return mh; return accessor;
} }
static static
...@@ -175,7 +175,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -175,7 +175,7 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
return mhs[isSetter ? 1 : 0]; return mhs[isSetter ? 1 : 0];
} }
static final class FieldAccessor<C,V> extends BoundMethodHandle { static final class FieldAccessor /*<C,V>*/ extends BoundMethodHandle {
private static final Unsafe unsafe = Unsafe.getUnsafe(); private static final Unsafe unsafe = Unsafe.getUnsafe();
final Object base; // for static refs only final Object base; // for static refs only
final long offset; final long offset;
...@@ -190,26 +190,24 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -190,26 +190,24 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
@Override @Override
String debugString() { return addTypeString(name, this); } String debugString() { return addTypeString(name, this); }
int getFieldI(C obj) { return unsafe.getInt(obj, offset); } int getFieldI(Object /*C*/ obj) { return unsafe.getInt(obj, offset); }
void setFieldI(C obj, int x) { unsafe.putInt(obj, offset, x); } void setFieldI(Object /*C*/ obj, int x) { unsafe.putInt(obj, offset, x); }
long getFieldJ(C obj) { return unsafe.getLong(obj, offset); } long getFieldJ(Object /*C*/ obj) { return unsafe.getLong(obj, offset); }
void setFieldJ(C obj, long x) { unsafe.putLong(obj, offset, x); } void setFieldJ(Object /*C*/ obj, long x) { unsafe.putLong(obj, offset, x); }
float getFieldF(C obj) { return unsafe.getFloat(obj, offset); } float getFieldF(Object /*C*/ obj) { return unsafe.getFloat(obj, offset); }
void setFieldF(C obj, float x) { unsafe.putFloat(obj, offset, x); } void setFieldF(Object /*C*/ obj, float x) { unsafe.putFloat(obj, offset, x); }
double getFieldD(C obj) { return unsafe.getDouble(obj, offset); } double getFieldD(Object /*C*/ obj) { return unsafe.getDouble(obj, offset); }
void setFieldD(C obj, double x) { unsafe.putDouble(obj, offset, x); } void setFieldD(Object /*C*/ obj, double x) { unsafe.putDouble(obj, offset, x); }
boolean getFieldZ(C obj) { return unsafe.getBoolean(obj, offset); } boolean getFieldZ(Object /*C*/ obj) { return unsafe.getBoolean(obj, offset); }
void setFieldZ(C obj, boolean x) { unsafe.putBoolean(obj, offset, x); } void setFieldZ(Object /*C*/ obj, boolean x) { unsafe.putBoolean(obj, offset, x); }
byte getFieldB(C obj) { return unsafe.getByte(obj, offset); } byte getFieldB(Object /*C*/ obj) { return unsafe.getByte(obj, offset); }
void setFieldB(C obj, byte x) { unsafe.putByte(obj, offset, x); } void setFieldB(Object /*C*/ obj, byte x) { unsafe.putByte(obj, offset, x); }
short getFieldS(C obj) { return unsafe.getShort(obj, offset); } short getFieldS(Object /*C*/ obj) { return unsafe.getShort(obj, offset); }
void setFieldS(C obj, short x) { unsafe.putShort(obj, offset, x); } void setFieldS(Object /*C*/ obj, short x) { unsafe.putShort(obj, offset, x); }
char getFieldC(C obj) { return unsafe.getChar(obj, offset); } char getFieldC(Object /*C*/ obj) { return unsafe.getChar(obj, offset); }
void setFieldC(C obj, char x) { unsafe.putChar(obj, offset, x); } void setFieldC(Object /*C*/ obj, char x) { unsafe.putChar(obj, offset, x); }
@SuppressWarnings("unchecked") Object /*V*/ getFieldL(Object /*C*/ obj) { return unsafe.getObject(obj, offset); }
V getFieldL(C obj) { return (V) unsafe.getObject(obj, offset); } void setFieldL(Object /*C*/ obj, Object /*V*/ x) { unsafe.putObject(obj, offset, x); }
@SuppressWarnings("unchecked")
void setFieldL(C obj, V x) { unsafe.putObject(obj, offset, x); }
// cast (V) is OK here, since we wrap convertArguments around the MH. // cast (V) is OK here, since we wrap convertArguments around the MH.
static Object staticBase(final MemberName field) { static Object staticBase(final MemberName field) {
...@@ -244,8 +242,9 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP; ...@@ -244,8 +242,9 @@ import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
void setStaticS(short x) { unsafe.putShort(base, offset, x); } void setStaticS(short x) { unsafe.putShort(base, offset, x); }
char getStaticC() { return unsafe.getChar(base, offset); } char getStaticC() { return unsafe.getChar(base, offset); }
void setStaticC(char x) { unsafe.putChar(base, offset, x); } void setStaticC(char x) { unsafe.putChar(base, offset, x); }
V getStaticL() { return (V) unsafe.getObject(base, offset); } @SuppressWarnings("unchecked") // (V) is for internal clarity but triggers warning
void setStaticL(V x) { unsafe.putObject(base, offset, x); } Object /*V*/ getStaticL() { return unsafe.getObject(base, offset); }
void setStaticL(Object /*V*/ x) { unsafe.putObject(base, offset, x); }
static String fname(Class<?> vclass, boolean isSetter, boolean isStatic) { static String fname(Class<?> vclass, boolean isSetter, boolean isStatic) {
String stem; String stem;
......
...@@ -150,7 +150,7 @@ public class MethodHandleProxies { ...@@ -150,7 +150,7 @@ public class MethodHandleProxies {
} }
return intfc.cast(Proxy.newProxyInstance( return intfc.cast(Proxy.newProxyInstance(
intfc.getClassLoader(), intfc.getClassLoader(),
new Class[]{ intfc, WrapperInstance.class }, new Class<?>[]{ intfc, WrapperInstance.class },
new InvocationHandler() { new InvocationHandler() {
private Object getArg(String name) { private Object getArg(String name) {
if ((Object)name == "getWrapperInstanceTarget") return target; if ((Object)name == "getWrapperInstanceTarget") return target;
......
...@@ -948,10 +948,11 @@ return mh1; ...@@ -948,10 +948,11 @@ return mh1;
public MethodHandle unreflect(Method m) throws IllegalAccessException { public MethodHandle unreflect(Method m) throws IllegalAccessException {
MemberName method = new MemberName(m); MemberName method = new MemberName(m);
assert(method.isMethod()); assert(method.isMethod());
if (!m.isAccessible()) checkMethod(method.getDeclaringClass(), method, method.isStatic()); if (m.isAccessible())
return MethodHandleImpl.findMethod(method, true, /*no lookupClass*/ null);
checkMethod(method.getDeclaringClass(), method, method.isStatic());
MethodHandle mh = MethodHandleImpl.findMethod(method, true, lookupClassOrNull()); MethodHandle mh = MethodHandleImpl.findMethod(method, true, lookupClassOrNull());
if (!m.isAccessible()) mh = restrictProtectedReceiver(method, mh); return restrictProtectedReceiver(method, mh);
return mh;
} }
/** /**
...@@ -1006,11 +1007,17 @@ return mh1; ...@@ -1006,11 +1007,17 @@ return mh1;
* is set and {@code asVarargsCollector} fails * is set and {@code asVarargsCollector} fails
* @throws NullPointerException if the argument is null * @throws NullPointerException if the argument is null
*/ */
@SuppressWarnings("rawtypes") // Will be Constructor<?> after JSR 292 MR
public MethodHandle unreflectConstructor(Constructor c) throws IllegalAccessException { public MethodHandle unreflectConstructor(Constructor c) throws IllegalAccessException {
MemberName ctor = new MemberName(c); MemberName ctor = new MemberName(c);
assert(ctor.isConstructor()); assert(ctor.isConstructor());
if (!c.isAccessible()) checkAccess(c.getDeclaringClass(), ctor); MethodHandle rawCtor;
MethodHandle rawCtor = MethodHandleImpl.findMethod(ctor, false, lookupClassOrNull()); if (c.isAccessible()) {
rawCtor = MethodHandleImpl.findMethod(ctor, false, /*no lookupClass*/ null);
} else {
checkAccess(c.getDeclaringClass(), ctor);
rawCtor = MethodHandleImpl.findMethod(ctor, false, lookupClassOrNull());
}
MethodHandle allocator = MethodHandleImpl.makeAllocator(rawCtor); MethodHandle allocator = MethodHandleImpl.makeAllocator(rawCtor);
return fixVarargs(allocator, rawCtor); return fixVarargs(allocator, rawCtor);
} }
...@@ -1225,7 +1232,7 @@ return mh1; ...@@ -1225,7 +1232,7 @@ return mh1;
? "expected a static field" ? "expected a static field"
: "expected a non-static field", this); : "expected a non-static field", this);
if (trusted) if (trusted)
return MethodHandleImpl.accessField(field, isSetter, lookupClassOrNull()); return MethodHandleImpl.accessField(field, isSetter, /*no lookupClass*/ null);
checkAccess(refc, field); checkAccess(refc, field);
MethodHandle mh = MethodHandleImpl.accessField(field, isSetter, lookupClassOrNull()); MethodHandle mh = MethodHandleImpl.accessField(field, isSetter, lookupClassOrNull());
return restrictProtectedReceiver(field, mh); return restrictProtectedReceiver(field, mh);
......
...@@ -92,7 +92,7 @@ class FileTreeWalker { ...@@ -92,7 +92,7 @@ class FileTreeWalker {
(System.getSecurityManager() == null)) (System.getSecurityManager() == null))
{ {
BasicFileAttributes cached = ((BasicFileAttributesHolder)file).get(); BasicFileAttributes cached = ((BasicFileAttributesHolder)file).get();
if (!followLinks || !cached.isSymbolicLink()) if (cached != null && (!followLinks || !cached.isSymbolicLink()))
attrs = cached; attrs = cached;
} }
IOException exc = null; IOException exc = null;
......
...@@ -1431,7 +1431,7 @@ public final class Files { ...@@ -1431,7 +1431,7 @@ public final class Files {
* <li>It is <i>transitive</i>: for three {@code Paths} * <li>It is <i>transitive</i>: for three {@code Paths}
* {@code f}, {@code g}, and {@code h}, if {@code isSameFile(f,g)} returns * {@code f}, {@code g}, and {@code h}, if {@code isSameFile(f,g)} returns
* {@code true} and {@code isSameFile(g,h)} returns {@code true}, then * {@code true} and {@code isSameFile(g,h)} returns {@code true}, then
* {@code isSameFile(g,h)} will return return {@code true}. * {@code isSameFile(f,h)} will return return {@code true}.
* </ul> * </ul>
* *
* @param path * @param path
......
...@@ -72,7 +72,7 @@ import java.util.Iterator; ...@@ -72,7 +72,7 @@ import java.util.Iterator;
* directory and is UTF-8 encoded. * directory and is UTF-8 encoded.
* <pre> * <pre>
* Path path = FileSystems.getDefault().getPath("logs", "access.log"); * Path path = FileSystems.getDefault().getPath("logs", "access.log");
* BufferReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8); * BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
* </pre> * </pre>
* *
* <a name="interop"><h4>Interoperability</h4></a> * <a name="interop"><h4>Interoperability</h4></a>
......
...@@ -1932,20 +1932,22 @@ public class BasicTreeUI extends TreeUI ...@@ -1932,20 +1932,22 @@ public class BasicTreeUI extends TreeUI
else { else {
Rectangle beginRect = getPathBounds(tree, getPathForRow Rectangle beginRect = getPathBounds(tree, getPathForRow
(tree, beginRow)); (tree, beginRow));
Rectangle visRect = tree.getVisibleRect(); if (beginRect != null) {
Rectangle testRect = beginRect; Rectangle visRect = tree.getVisibleRect();
int beginY = beginRect.y; Rectangle testRect = beginRect;
int maxY = beginY + visRect.height; int beginY = beginRect.y;
int maxY = beginY + visRect.height;
for(int counter = beginRow + 1; counter <= endRow; counter++) {
testRect = getPathBounds(tree, for(int counter = beginRow + 1; counter <= endRow; counter++) {
getPathForRow(tree, counter)); testRect = getPathBounds(tree,
if((testRect.y + testRect.height) > maxY) getPathForRow(tree, counter));
counter = endRow; if((testRect.y + testRect.height) > maxY)
counter = endRow;
}
tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
testRect.y + testRect.height-
beginY));
} }
tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
testRect.y + testRect.height-
beginY));
} }
} }
} }
...@@ -3485,7 +3487,7 @@ public class BasicTreeUI extends TreeUI ...@@ -3485,7 +3487,7 @@ public class BasicTreeUI extends TreeUI
} }
Rectangle bounds = getPathBounds(tree, path); Rectangle bounds = getPathBounds(tree, path);
if (y > (bounds.y + bounds.height)) { if (bounds == null || y > (bounds.y + bounds.height)) {
return false; return false;
} }
......
...@@ -55,9 +55,9 @@ public class ValueConversions { ...@@ -55,9 +55,9 @@ public class ValueConversions {
private static final Lookup IMPL_LOOKUP = MethodHandles.lookup(); private static final Lookup IMPL_LOOKUP = MethodHandles.lookup();
private static EnumMap<Wrapper, MethodHandle>[] newWrapperCaches(int n) { private static EnumMap<Wrapper, MethodHandle>[] newWrapperCaches(int n) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked") // generic array creation
EnumMap<Wrapper, MethodHandle>[] caches EnumMap<Wrapper, MethodHandle>[] caches
= (EnumMap<Wrapper, MethodHandle>[]) new EnumMap[n]; // unchecked warning expected here = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap<?,?>[n];
for (int i = 0; i < n; i++) for (int i = 0; i < n; i++)
caches[i] = new EnumMap<>(Wrapper.class); caches[i] = new EnumMap<>(Wrapper.class);
return caches; return caches;
...@@ -1097,7 +1097,7 @@ public class ValueConversions { ...@@ -1097,7 +1097,7 @@ public class ValueConversions {
} }
private static MethodHandle buildNewArray(int nargs) { private static MethodHandle buildNewArray(int nargs) {
return MethodHandles.insertArguments(NEW_ARRAY, 0, (int) nargs); return MethodHandles.insertArguments(NEW_ARRAY, 0, nargs);
} }
private static final MethodHandle[] FILLERS = new MethodHandle[MAX_ARITY+1]; private static final MethodHandle[] FILLERS = new MethodHandle[MAX_ARITY+1];
...@@ -1122,7 +1122,7 @@ public class ValueConversions { ...@@ -1122,7 +1122,7 @@ public class ValueConversions {
} }
MethodHandle leftFill = filler(leftLen); // recursive fill MethodHandle leftFill = filler(leftLen); // recursive fill
MethodHandle rightFill = FILL_ARRAYS[rightLen]; MethodHandle rightFill = FILL_ARRAYS[rightLen];
rightFill = MethodHandles.insertArguments(rightFill, 1, (int) leftLen); // [leftLen..nargs-1] rightFill = MethodHandles.insertArguments(rightFill, 1, leftLen); // [leftLen..nargs-1]
// Combine the two fills: right(left(newArray(nargs), x1..x20), x21..x23) // Combine the two fills: right(left(newArray(nargs), x1..x20), x21..x23)
MethodHandle mh = filler(0); // identity function produces result MethodHandle mh = filler(0); // identity function produces result
......
...@@ -31,7 +31,7 @@ public enum Wrapper { ...@@ -31,7 +31,7 @@ public enum Wrapper {
BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, new byte[0], Format.signed(8)), BYTE(Byte.class, byte.class, 'B', (Byte)(byte)0, new byte[0], Format.signed(8)),
SHORT(Short.class, short.class, 'S', (Short)(short)0, new short[0], Format.signed(16)), SHORT(Short.class, short.class, 'S', (Short)(short)0, new short[0], Format.signed(16)),
CHAR(Character.class, char.class, 'C', (Character)(char)0, new char[0], Format.unsigned(16)), CHAR(Character.class, char.class, 'C', (Character)(char)0, new char[0], Format.unsigned(16)),
INT(Integer.class, int.class, 'I', (Integer)(int)0, new int[0], Format.signed(32)), INT(Integer.class, int.class, 'I', (Integer)/*(int)*/0, new int[0], Format.signed(32)),
LONG(Long.class, long.class, 'J', (Long)(long)0, new long[0], Format.signed(64)), LONG(Long.class, long.class, 'J', (Long)(long)0, new long[0], Format.signed(64)),
FLOAT(Float.class, float.class, 'F', (Float)(float)0, new float[0], Format.floating(32)), FLOAT(Float.class, float.class, 'F', (Float)(float)0, new float[0], Format.floating(32)),
DOUBLE(Double.class, double.class, 'D', (Double)(double)0, new double[0], Format.floating(64)), DOUBLE(Double.class, double.class, 'D', (Double)(double)0, new double[0], Format.floating(64)),
...@@ -539,7 +539,7 @@ public enum Wrapper { ...@@ -539,7 +539,7 @@ public enum Wrapper {
switch (basicTypeChar) { switch (basicTypeChar) {
case 'L': throw newIllegalArgumentException("cannot wrap to object type"); case 'L': throw newIllegalArgumentException("cannot wrap to object type");
case 'V': return null; case 'V': return null;
case 'I': return Integer.valueOf((int)x); case 'I': return Integer.valueOf(x);
case 'J': return Long.valueOf(x); case 'J': return Long.valueOf(x);
case 'F': return Float.valueOf(x); case 'F': return Float.valueOf(x);
case 'D': return Double.valueOf(x); case 'D': return Double.valueOf(x);
......
...@@ -216,11 +216,8 @@ public class Agent { ...@@ -216,11 +216,8 @@ public class Agent {
adaptorClass.getMethod("initialize", adaptorClass.getMethod("initialize",
String.class, Properties.class); String.class, Properties.class);
initializeMethod.invoke(null,snmpPort,props); initializeMethod.invoke(null,snmpPort,props);
} catch (ClassNotFoundException x) { } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException x) {
// The SNMP packages are not present: throws an exception. // snmp runtime doesn't exist - initialization fails
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
} catch (NoSuchMethodException x) {
// should not happen...
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x); throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
} catch (InvocationTargetException x) { } catch (InvocationTargetException x) {
final Throwable cause = x.getCause(); final Throwable cause = x.getCause();
...@@ -230,9 +227,6 @@ public class Agent { ...@@ -230,9 +227,6 @@ public class Agent {
throw (Error) cause; throw (Error) cause;
// should not happen... // should not happen...
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,cause); throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,cause);
} catch (IllegalAccessException x) {
// should not happen...
throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
} }
} }
...@@ -273,8 +267,8 @@ public class Agent { ...@@ -273,8 +267,8 @@ public class Agent {
} catch (IOException e) { } catch (IOException e) {
error(CONFIG_FILE_CLOSE_FAILED, fname); error(CONFIG_FILE_CLOSE_FAILED, fname);
} }
} }
} }
} }
public static void startAgent() throws Exception { public static void startAgent() throws Exception {
...@@ -309,7 +303,7 @@ public class Agent { ...@@ -309,7 +303,7 @@ public class Agent {
// invoke the premain(String args) method // invoke the premain(String args) method
Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname); Class<?> clz = ClassLoader.getSystemClassLoader().loadClass(cname);
Method premain = clz.getMethod("premain", Method premain = clz.getMethod("premain",
new Class[] { String.class }); new Class<?>[] { String.class });
premain.invoke(null, /* static */ premain.invoke(null, /* static */
new Object[] { args }); new Object[] { args });
} catch (ClassNotFoundException ex) { } catch (ClassNotFoundException ex) {
......
...@@ -117,11 +117,11 @@ public class ConnectorAddressLink { ...@@ -117,11 +117,11 @@ public class ConnectorAddressLink {
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
throw new IOException(iae.getMessage()); throw new IOException(iae.getMessage());
} }
List counters = List<Counter> counters =
new PerfInstrumentation(bb).findByPattern(CONNECTOR_ADDRESS_COUNTER); new PerfInstrumentation(bb).findByPattern(CONNECTOR_ADDRESS_COUNTER);
Iterator i = counters.iterator(); Iterator<Counter> i = counters.iterator();
if (i.hasNext()) { if (i.hasNext()) {
Counter c = (Counter) i.next(); Counter c = i.next();
return (String) c.getValue(); return (String) c.getValue();
} else { } else {
return null; return null;
...@@ -167,13 +167,13 @@ public class ConnectorAddressLink { ...@@ -167,13 +167,13 @@ public class ConnectorAddressLink {
} catch (IllegalArgumentException iae) { } catch (IllegalArgumentException iae) {
throw new IOException(iae.getMessage()); throw new IOException(iae.getMessage());
} }
List counters = new PerfInstrumentation(bb).getAllCounters(); List<Counter> counters = new PerfInstrumentation(bb).getAllCounters();
Map<String, String> properties = new HashMap<String, String>(); Map<String, String> properties = new HashMap<>();
for (Object c : counters) { for (Counter c : counters) {
String name = ((Counter) c).getName(); String name = c.getName();
if (name.startsWith(REMOTE_CONNECTOR_COUNTER_PREFIX) && if (name.startsWith(REMOTE_CONNECTOR_COUNTER_PREFIX) &&
!name.equals(CONNECTOR_ADDRESS_COUNTER)) { !name.equals(CONNECTOR_ADDRESS_COUNTER)) {
properties.put(name, ((Counter) c).getValue().toString()); properties.put(name, c.getValue().toString());
} }
} }
return properties; return properties;
......
...@@ -91,7 +91,7 @@ class Flag { ...@@ -91,7 +91,7 @@ class Flag {
Flag[] flags = new Flag[numFlags]; Flag[] flags = new Flag[numFlags];
int count = getFlags(names, flags, numFlags); int count = getFlags(names, flags, numFlags);
List<Flag> result = new ArrayList<Flag>(); List<Flag> result = new ArrayList<>();
for (Flag f : flags) { for (Flag f : flags) {
if (f != null) { if (f != null) {
result.add(f); result.add(f);
......
...@@ -69,11 +69,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData { ...@@ -69,11 +69,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("builder"); Field f = cl.getDeclaredField("builder");
f.setAccessible(true); f.setAccessible(true);
return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo()); return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo());
} catch(ClassNotFoundException e) { } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
} catch(NoSuchFieldException e) {
return null;
} catch(IllegalAccessException e) {
return null; return null;
} }
} }
...@@ -82,7 +78,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData { ...@@ -82,7 +78,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
synchronized(compositeTypeByBuilder) { synchronized(compositeTypeByBuilder) {
gict = compositeTypeByBuilder.get(builder); gict = compositeTypeByBuilder.get(builder);
if(gict == null) { if(gict == null) {
OpenType[] gcNotifInfoItemTypes = new OpenType[] { OpenType<?>[] gcNotifInfoItemTypes = new OpenType<?>[] {
SimpleType.STRING, SimpleType.STRING,
SimpleType.STRING, SimpleType.STRING,
SimpleType.STRING, SimpleType.STRING,
...@@ -141,7 +137,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData { ...@@ -141,7 +137,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
GC_INFO GC_INFO
}; };
private static HashMap<GcInfoBuilder,CompositeType> compositeTypeByBuilder = private static HashMap<GcInfoBuilder,CompositeType> compositeTypeByBuilder =
new HashMap<GcInfoBuilder,CompositeType>(); new HashMap<>();
public static String getGcName(CompositeData cd) { public static String getGcName(CompositeData cd) {
String gcname = getString(cd, GC_NAME); String gcname = getString(cd, GC_NAME);
...@@ -195,7 +191,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData { ...@@ -195,7 +191,7 @@ public class GarbageCollectionNotifInfoCompositeData extends LazyCompositeData {
private static synchronized CompositeType getBaseGcNotifInfoCompositeType() { private static synchronized CompositeType getBaseGcNotifInfoCompositeType() {
if (baseGcNotifInfoCompositeType == null) { if (baseGcNotifInfoCompositeType == null) {
try { try {
OpenType[] baseGcNotifInfoItemTypes = new OpenType[] { OpenType<?>[] baseGcNotifInfoItemTypes = new OpenType<?>[] {
SimpleType.STRING, SimpleType.STRING,
SimpleType.STRING, SimpleType.STRING,
SimpleType.STRING, SimpleType.STRING,
......
...@@ -70,14 +70,11 @@ class GarbageCollectorImpl extends MemoryManagerImpl ...@@ -70,14 +70,11 @@ class GarbageCollectorImpl extends MemoryManagerImpl
private String[] poolNames = null; private String[] poolNames = null;
synchronized String[] getAllPoolNames() { synchronized String[] getAllPoolNames() {
if (poolNames == null) { if (poolNames == null) {
List pools = ManagementFactory.getMemoryPoolMXBeans(); List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans();
poolNames = new String[pools.size()]; poolNames = new String[pools.size()];
int i = 0; int i = 0;
for (ListIterator iter = pools.listIterator(); for (MemoryPoolMXBean m : pools) {
iter.hasNext(); poolNames[i++] = m.getName();
i++) {
MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next();
poolNames[i] = p.getName();
} }
} }
return poolNames; return poolNames;
......
...@@ -104,7 +104,7 @@ public class GcInfoBuilder { ...@@ -104,7 +104,7 @@ public class GcInfoBuilder {
int itemCount = numGcInfoItems + gcExtItemCount; int itemCount = numGcInfoItems + gcExtItemCount;
allItemNames = new String[itemCount]; allItemNames = new String[itemCount];
String[] allItemDescs = new String[itemCount]; String[] allItemDescs = new String[itemCount];
OpenType[] allItemTypes = new OpenType[itemCount]; OpenType<?>[] allItemTypes = new OpenType<?>[itemCount];
System.arraycopy(gcInfoItemNames, 0, allItemNames, 0, numGcInfoItems); System.arraycopy(gcInfoItemNames, 0, allItemNames, 0, numGcInfoItems);
System.arraycopy(gcInfoItemNames, 0, allItemDescs, 0, numGcInfoItems); System.arraycopy(gcInfoItemNames, 0, allItemDescs, 0, numGcInfoItems);
......
...@@ -76,11 +76,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -76,11 +76,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("builder"); Field f = cl.getDeclaredField("builder");
f.setAccessible(true); f.setAccessible(true);
return (GcInfoBuilder)f.get(info); return (GcInfoBuilder)f.get(info);
} catch(ClassNotFoundException e) { } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
} catch(NoSuchFieldException e) {
return null;
} catch(IllegalAccessException e) {
return null; return null;
} }
} }
...@@ -92,11 +88,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -92,11 +88,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Field f = cl.getDeclaredField("extAttributes"); Field f = cl.getDeclaredField("extAttributes");
f.setAccessible(true); f.setAccessible(true);
return (Object[])f.get(info); return (Object[])f.get(info);
} catch(ClassNotFoundException e) { } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
return null;
} catch(NoSuchFieldException e) {
return null;
} catch(IllegalAccessException e) {
return null; return null;
} }
} }
...@@ -180,10 +172,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -180,10 +172,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc"); Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc");
memoryUsageMapType = memoryUsageMapType =
MappedMXBeanType.getMappedType(m.getGenericReturnType()); MappedMXBeanType.getMappedType(m.getGenericReturnType());
} catch (NoSuchMethodException e) { } catch (NoSuchMethodException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
} catch (OpenDataException e) {
// Should never reach here // Should never reach here
throw new AssertionError(e); throw new AssertionError(e);
} }
...@@ -197,7 +186,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -197,7 +186,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
static synchronized OpenType[] getBaseGcInfoItemTypes() { static synchronized OpenType[] getBaseGcInfoItemTypes() {
if (baseGcInfoItemTypes == null) { if (baseGcInfoItemTypes == null) {
OpenType<?> memoryUsageOpenType = memoryUsageMapType.getOpenType(); OpenType<?> memoryUsageOpenType = memoryUsageMapType.getOpenType();
baseGcInfoItemTypes = new OpenType[] { baseGcInfoItemTypes = new OpenType<?>[] {
SimpleType.LONG, SimpleType.LONG,
SimpleType.LONG, SimpleType.LONG,
SimpleType.LONG, SimpleType.LONG,
...@@ -225,10 +214,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -225,10 +214,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
try { try {
TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC); TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC);
return cast(memoryUsageMapType.toJavaTypeData(td)); return cast(memoryUsageMapType.toJavaTypeData(td));
} catch (InvalidObjectException e) { } catch (InvalidObjectException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
} catch (OpenDataException e) {
// Should never reach here // Should never reach here
throw new AssertionError(e); throw new AssertionError(e);
} }
...@@ -244,10 +230,7 @@ public class GcInfoCompositeData extends LazyCompositeData { ...@@ -244,10 +230,7 @@ public class GcInfoCompositeData extends LazyCompositeData {
TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC); TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC);
//return (Map<String,MemoryUsage>) //return (Map<String,MemoryUsage>)
return cast(memoryUsageMapType.toJavaTypeData(td)); return cast(memoryUsageMapType.toJavaTypeData(td));
} catch (InvalidObjectException e) { } catch (InvalidObjectException | OpenDataException e) {
// Should never reach here
throw new AssertionError(e);
} catch (OpenDataException e) {
// Should never reach here // Should never reach here
throw new AssertionError(e); throw new AssertionError(e);
} }
......
...@@ -48,7 +48,7 @@ public class HotSpotDiagnostic implements HotSpotDiagnosticMXBean { ...@@ -48,7 +48,7 @@ public class HotSpotDiagnostic implements HotSpotDiagnosticMXBean {
public List<VMOption> getDiagnosticOptions() { public List<VMOption> getDiagnosticOptions() {
List<Flag> allFlags = Flag.getAllFlags(); List<Flag> allFlags = Flag.getAllFlags();
List<VMOption> result = new ArrayList<VMOption>(); List<VMOption> result = new ArrayList<>();
for (Flag flag : allFlags) { for (Flag flag : allFlags) {
if (flag.isWriteable() && flag.isExternal()) { if (flag.isWriteable() && flag.isExternal()) {
result.add(flag.getVMOption()); result.add(flag.getVMOption());
......
...@@ -120,13 +120,13 @@ class HotspotCompilation ...@@ -120,13 +120,13 @@ class HotspotCompilation
// current implementation. We first look up in the SUN_CI namespace // current implementation. We first look up in the SUN_CI namespace
// since most counters are in SUN_CI namespace. // since most counters are in SUN_CI namespace.
if ((c = (Counter) counters.get(SUN_CI + name)) != null) { if ((c = counters.get(SUN_CI + name)) != null) {
return c; return c;
} }
if ((c = (Counter) counters.get(COM_SUN_CI + name)) != null) { if ((c = counters.get(COM_SUN_CI + name)) != null) {
return c; return c;
} }
if ((c = (Counter) counters.get(JAVA_CI + name)) != null) { if ((c = counters.get(JAVA_CI + name)) != null) {
return c; return c;
} }
...@@ -136,10 +136,8 @@ class HotspotCompilation ...@@ -136,10 +136,8 @@ class HotspotCompilation
private void initCompilerCounters() { private void initCompilerCounters() {
// Build a tree map of the current list of performance counters // Build a tree map of the current list of performance counters
ListIterator iter = getInternalCompilerCounters().listIterator(); counters = new TreeMap<>();
counters = new TreeMap<String, Counter>(); for (Counter c: getInternalCompilerCounters()) {
while (iter.hasNext()) {
Counter c = (Counter) iter.next();
counters.put(c.getName(), c); counters.put(c.getName(), c);
} }
...@@ -200,7 +198,7 @@ class HotspotCompilation ...@@ -200,7 +198,7 @@ class HotspotCompilation
} }
public java.util.List<CompilerThreadStat> getCompilerThreadStats() { public java.util.List<CompilerThreadStat> getCompilerThreadStats() {
List<CompilerThreadStat> list = new ArrayList<CompilerThreadStat>(threads.length); List<CompilerThreadStat> list = new ArrayList<>(threads.length);
int i = 0; int i = 0;
if (threads[0] == null) { if (threads[0] == null) {
// no adaptor thread // no adaptor thread
......
...@@ -58,7 +58,7 @@ class HotspotThread ...@@ -58,7 +58,7 @@ class HotspotThread
String[] names = new String[count]; String[] names = new String[count];
long[] times = new long[count]; long[] times = new long[count];
int numThreads = getInternalThreadTimes0(names, times); int numThreads = getInternalThreadTimes0(names, times);
Map<String, Long> result = new HashMap<String, Long>(numThreads); Map<String, Long> result = new HashMap<>(numThreads);
for (int i = 0; i < numThreads; i++) { for (int i = 0; i < numThreads; i++) {
result.put(names[i], new Long(times[i])); result.put(names[i], new Long(times[i]));
} }
......
...@@ -81,7 +81,7 @@ public abstract class LazyCompositeData ...@@ -81,7 +81,7 @@ public abstract class LazyCompositeData
return compositeData().toString(); return compositeData().toString();
} }
public Collection values() { public Collection<?> values() {
return compositeData().values(); return compositeData().values();
} }
...@@ -153,16 +153,15 @@ public abstract class LazyCompositeData ...@@ -153,16 +153,15 @@ public abstract class LazyCompositeData
// We can't use CompositeType.isValue() since it returns false // We can't use CompositeType.isValue() since it returns false
// if the type name doesn't match. // if the type name doesn't match.
Set allItems = type1.keySet(); Set<String> allItems = type1.keySet();
// Check all items in the type1 exist in type2 // Check all items in the type1 exist in type2
if (!type2.keySet().containsAll(allItems)) if (!type2.keySet().containsAll(allItems))
return false; return false;
for (Iterator iter = allItems.iterator(); iter.hasNext(); ) { for (String item: allItems) {
String item = (String) iter.next(); OpenType<?> ot1 = type1.getType(item);
OpenType ot1 = type1.getType(item); OpenType<?> ot2 = type2.getType(item);
OpenType ot2 = type2.getType(item);
if (ot1 instanceof CompositeType) { if (ot1 instanceof CompositeType) {
if (! (ot2 instanceof CompositeType)) if (! (ot2 instanceof CompositeType))
return false; return false;
...@@ -183,8 +182,8 @@ public abstract class LazyCompositeData ...@@ -183,8 +182,8 @@ public abstract class LazyCompositeData
protected static boolean isTypeMatched(TabularType type1, TabularType type2) { protected static boolean isTypeMatched(TabularType type1, TabularType type2) {
if (type1 == type2) return true; if (type1 == type2) return true;
List list1 = type1.getIndexNames(); List<String> list1 = type1.getIndexNames();
List list2 = type2.getIndexNames(); List<String> list2 = type2.getIndexNames();
// check if the list of index names are the same // check if the list of index names are the same
if (!list1.equals(list2)) if (!list1.equals(list2))
......
...@@ -110,7 +110,7 @@ public class ManagementFactoryHelper { ...@@ -110,7 +110,7 @@ public class ManagementFactoryHelper {
public static List<MemoryPoolMXBean> getMemoryPoolMXBeans() { public static List<MemoryPoolMXBean> getMemoryPoolMXBeans() {
MemoryPoolMXBean[] pools = MemoryImpl.getMemoryPools(); MemoryPoolMXBean[] pools = MemoryImpl.getMemoryPools();
List<MemoryPoolMXBean> list = new ArrayList<MemoryPoolMXBean>(pools.length); List<MemoryPoolMXBean> list = new ArrayList<>(pools.length);
for (MemoryPoolMXBean p : pools) { for (MemoryPoolMXBean p : pools) {
list.add(p); list.add(p);
} }
...@@ -119,7 +119,7 @@ public class ManagementFactoryHelper { ...@@ -119,7 +119,7 @@ public class ManagementFactoryHelper {
public static List<MemoryManagerMXBean> getMemoryManagerMXBeans() { public static List<MemoryManagerMXBean> getMemoryManagerMXBeans() {
MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers(); MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers();
List<MemoryManagerMXBean> result = new ArrayList<MemoryManagerMXBean>(mgrs.length); List<MemoryManagerMXBean> result = new ArrayList<>(mgrs.length);
for (MemoryManagerMXBean m : mgrs) { for (MemoryManagerMXBean m : mgrs) {
result.add(m); result.add(m);
} }
...@@ -128,7 +128,7 @@ public class ManagementFactoryHelper { ...@@ -128,7 +128,7 @@ public class ManagementFactoryHelper {
public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() { public static List<GarbageCollectorMXBean> getGarbageCollectorMXBeans() {
MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers(); MemoryManagerMXBean[] mgrs = MemoryImpl.getMemoryManagers();
List<GarbageCollectorMXBean> result = new ArrayList<GarbageCollectorMXBean>(mgrs.length); List<GarbageCollectorMXBean> result = new ArrayList<>(mgrs.length);
for (MemoryManagerMXBean m : mgrs) { for (MemoryManagerMXBean m : mgrs) {
if (GarbageCollectorMXBean.class.isInstance(m)) { if (GarbageCollectorMXBean.class.isInstance(m)) {
result.add(GarbageCollectorMXBean.class.cast(m)); result.add(GarbageCollectorMXBean.class.cast(m));
......
...@@ -62,18 +62,18 @@ import com.sun.management.VMOption; ...@@ -62,18 +62,18 @@ import com.sun.management.VMOption;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public abstract class MappedMXBeanType { public abstract class MappedMXBeanType {
private static final WeakHashMap<Type,MappedMXBeanType> convertedTypes = private static final WeakHashMap<Type,MappedMXBeanType> convertedTypes =
new WeakHashMap<Type,MappedMXBeanType>(); new WeakHashMap<>();
boolean isBasicType = false; boolean isBasicType = false;
OpenType openType = inProgress; OpenType<?> openType = inProgress;
Class mappedTypeClass; Class<?> mappedTypeClass;
static synchronized MappedMXBeanType newMappedType(Type javaType) static synchronized MappedMXBeanType newMappedType(Type javaType)
throws OpenDataException { throws OpenDataException {
MappedMXBeanType mt = null; MappedMXBeanType mt = null;
if (javaType instanceof Class) { if (javaType instanceof Class) {
final Class c = (Class) javaType; final Class<?> c = (Class<?>) javaType;
if (c.isEnum()) { if (c.isEnum()) {
mt = new EnumMXBeanType(c); mt = new EnumMXBeanType(c);
} else if (c.isArray()) { } else if (c.isArray()) {
...@@ -85,7 +85,7 @@ public abstract class MappedMXBeanType { ...@@ -85,7 +85,7 @@ public abstract class MappedMXBeanType {
final ParameterizedType pt = (ParameterizedType) javaType; final ParameterizedType pt = (ParameterizedType) javaType;
final Type rawType = pt.getRawType(); final Type rawType = pt.getRawType();
if (rawType instanceof Class) { if (rawType instanceof Class) {
final Class rc = (Class) rawType; final Class<?> rc = (Class<?>) rawType;
if (rc == List.class) { if (rc == List.class) {
mt = new ListMXBeanType(pt); mt = new ListMXBeanType(pt);
} else if (rc == Map.class) { } else if (rc == Map.class) {
...@@ -106,7 +106,7 @@ public abstract class MappedMXBeanType { ...@@ -106,7 +106,7 @@ public abstract class MappedMXBeanType {
} }
// basic types do not require data mapping // basic types do not require data mapping
static synchronized MappedMXBeanType newBasicType(Class c, OpenType ot) static synchronized MappedMXBeanType newBasicType(Class<?> c, OpenType<?> ot)
throws OpenDataException { throws OpenDataException {
MappedMXBeanType mt = new BasicMXBeanType(c, ot); MappedMXBeanType mt = new BasicMXBeanType(c, ot);
convertedTypes.put(c, mt); convertedTypes.put(c, mt);
...@@ -127,7 +127,7 @@ public abstract class MappedMXBeanType { ...@@ -127,7 +127,7 @@ public abstract class MappedMXBeanType {
} }
// Convert a class to an OpenType // Convert a class to an OpenType
public static synchronized OpenType toOpenType(Type t) public static synchronized OpenType<?> toOpenType(Type t)
throws OpenDataException { throws OpenDataException {
MappedMXBeanType mt = getMappedType(t); MappedMXBeanType mt = getMappedType(t);
return mt.getOpenType(); return mt.getOpenType();
...@@ -152,7 +152,7 @@ public abstract class MappedMXBeanType { ...@@ -152,7 +152,7 @@ public abstract class MappedMXBeanType {
} }
// Return the mapped open type // Return the mapped open type
OpenType getOpenType() { OpenType<?> getOpenType() {
return openType; return openType;
} }
...@@ -168,7 +168,7 @@ public abstract class MappedMXBeanType { ...@@ -168,7 +168,7 @@ public abstract class MappedMXBeanType {
} }
// Return the mapped open type // Return the mapped open type
Class getMappedTypeClass() { Class<?> getMappedTypeClass() {
return mappedTypeClass; return mappedTypeClass;
} }
...@@ -192,8 +192,8 @@ public abstract class MappedMXBeanType { ...@@ -192,8 +192,8 @@ public abstract class MappedMXBeanType {
// T <-> T (no conversion) // T <-> T (no conversion)
// //
static class BasicMXBeanType extends MappedMXBeanType { static class BasicMXBeanType extends MappedMXBeanType {
final Class basicType; final Class<?> basicType;
BasicMXBeanType(Class c, OpenType openType) { BasicMXBeanType(Class<?> c, OpenType<?> openType) {
this.basicType = c; this.basicType = c;
this.openType = openType; this.openType = openType;
this.mappedTypeClass = c; this.mappedTypeClass = c;
...@@ -228,7 +228,7 @@ public abstract class MappedMXBeanType { ...@@ -228,7 +228,7 @@ public abstract class MappedMXBeanType {
// //
static class EnumMXBeanType extends MappedMXBeanType { static class EnumMXBeanType extends MappedMXBeanType {
final Class enumClass; final Class enumClass;
EnumMXBeanType(Class c) { EnumMXBeanType(Class<?> c) {
this.enumClass = c; this.enumClass = c;
this.openType = STRING; this.openType = STRING;
this.mappedTypeClass = String.class; this.mappedTypeClass = String.class;
...@@ -269,16 +269,16 @@ public abstract class MappedMXBeanType { ...@@ -269,16 +269,16 @@ public abstract class MappedMXBeanType {
// E[] <-> openTypeData(E)[] // E[] <-> openTypeData(E)[]
// //
static class ArrayMXBeanType extends MappedMXBeanType { static class ArrayMXBeanType extends MappedMXBeanType {
final Class arrayClass; final Class<?> arrayClass;
protected MappedMXBeanType componentType; protected MappedMXBeanType componentType;
protected MappedMXBeanType baseElementType; protected MappedMXBeanType baseElementType;
ArrayMXBeanType(Class c) throws OpenDataException { ArrayMXBeanType(Class<?> c) throws OpenDataException {
this.arrayClass = c; this.arrayClass = c;
this.componentType = getMappedType(c.getComponentType()); this.componentType = getMappedType(c.getComponentType());
StringBuilder className = new StringBuilder(); StringBuilder className = new StringBuilder();
Class et = c; Class<?> et = c;
int dim; int dim;
for (dim = 0; et.isArray(); dim++) { for (dim = 0; et.isArray(); dim++) {
className.append('['); className.append('[');
...@@ -299,7 +299,7 @@ public abstract class MappedMXBeanType { ...@@ -299,7 +299,7 @@ public abstract class MappedMXBeanType {
throw ode; throw ode;
} }
openType = new ArrayType(dim, baseElementType.getOpenType()); openType = new ArrayType<>(dim, baseElementType.getOpenType());
} }
protected ArrayMXBeanType() { protected ArrayMXBeanType() {
...@@ -395,7 +395,7 @@ public abstract class MappedMXBeanType { ...@@ -395,7 +395,7 @@ public abstract class MappedMXBeanType {
throw ode; throw ode;
} }
openType = new ArrayType(dim, baseElementType.getOpenType()); openType = new ArrayType<>(dim, baseElementType.getOpenType());
} }
Type getJavaType() { Type getJavaType() {
...@@ -428,7 +428,7 @@ public abstract class MappedMXBeanType { ...@@ -428,7 +428,7 @@ public abstract class MappedMXBeanType {
throw new OpenDataException("Element Type for " + pt + throw new OpenDataException("Element Type for " + pt +
" not supported"); " not supported");
} }
final Class et = (Class) argTypes[0]; final Class<?> et = (Class<?>) argTypes[0];
if (et.isArray()) { if (et.isArray()) {
throw new OpenDataException("Element Type for " + pt + throw new OpenDataException("Element Type for " + pt +
" not supported"); " not supported");
...@@ -445,7 +445,7 @@ public abstract class MappedMXBeanType { ...@@ -445,7 +445,7 @@ public abstract class MappedMXBeanType {
ode.initCause(e); ode.initCause(e);
throw ode; throw ode;
} }
openType = new ArrayType(1, paramType.getOpenType()); openType = new ArrayType<>(1, paramType.getOpenType());
} }
Type getJavaType() { Type getJavaType() {
...@@ -473,7 +473,7 @@ public abstract class MappedMXBeanType { ...@@ -473,7 +473,7 @@ public abstract class MappedMXBeanType {
throws OpenDataException, InvalidObjectException { throws OpenDataException, InvalidObjectException {
final Object[] openArray = (Object[]) data; final Object[] openArray = (Object[]) data;
List<Object> result = new ArrayList<Object>(openArray.length); List<Object> result = new ArrayList<>(openArray.length);
for (Object o : openArray) { for (Object o : openArray) {
result.add(paramType.toJavaTypeData(o)); result.add(paramType.toJavaTypeData(o));
} }
...@@ -514,7 +514,7 @@ public abstract class MappedMXBeanType { ...@@ -514,7 +514,7 @@ public abstract class MappedMXBeanType {
// FIXME: generate typeName for generic // FIXME: generate typeName for generic
typeName = "Map<" + keyType.getName() + "," + typeName = "Map<" + keyType.getName() + "," +
valueType.getName() + ">"; valueType.getName() + ">";
final OpenType[] mapItemTypes = new OpenType[] { final OpenType<?>[] mapItemTypes = new OpenType<?>[] {
keyType.getOpenType(), keyType.getOpenType(),
valueType.getOpenType(), valueType.getOpenType(),
}; };
...@@ -543,7 +543,7 @@ public abstract class MappedMXBeanType { ...@@ -543,7 +543,7 @@ public abstract class MappedMXBeanType {
final TabularData table = new TabularDataSupport(tabularType); final TabularData table = new TabularDataSupport(tabularType);
final CompositeType rowType = tabularType.getRowType(); final CompositeType rowType = tabularType.getRowType();
for (Map.Entry entry : map.entrySet()) { for (Map.Entry<Object, Object> entry : map.entrySet()) {
final Object key = keyType.toOpenTypeData(entry.getKey()); final Object key = keyType.toOpenTypeData(entry.getKey());
final Object value = valueType.toOpenTypeData(entry.getValue()); final Object value = valueType.toOpenTypeData(entry.getValue());
final CompositeData row = final CompositeData row =
...@@ -560,7 +560,7 @@ public abstract class MappedMXBeanType { ...@@ -560,7 +560,7 @@ public abstract class MappedMXBeanType {
final TabularData td = (TabularData) data; final TabularData td = (TabularData) data;
Map<Object, Object> result = new HashMap<Object, Object>(); Map<Object, Object> result = new HashMap<>();
for (CompositeData row : (Collection<CompositeData>) td.values()) { for (CompositeData row : (Collection<CompositeData>) td.values()) {
Object key = keyType.toJavaTypeData(row.get(KEY)); Object key = keyType.toJavaTypeData(row.get(KEY));
Object value = valueType.toJavaTypeData(row.get(VALUE)); Object value = valueType.toJavaTypeData(row.get(VALUE));
...@@ -607,7 +607,7 @@ public abstract class MappedMXBeanType { ...@@ -607,7 +607,7 @@ public abstract class MappedMXBeanType {
final boolean isCompositeData; final boolean isCompositeData;
Method fromMethod = null; Method fromMethod = null;
CompositeDataMXBeanType(Class c) throws OpenDataException { CompositeDataMXBeanType(Class<?> c) throws OpenDataException {
this.javaClass = c; this.javaClass = c;
this.mappedTypeClass = COMPOSITE_DATA_CLASS; this.mappedTypeClass = COMPOSITE_DATA_CLASS;
...@@ -639,8 +639,8 @@ public abstract class MappedMXBeanType { ...@@ -639,8 +639,8 @@ public abstract class MappedMXBeanType {
return javaClass.getMethods(); return javaClass.getMethods();
} }
}); });
final List<String> names = new ArrayList<String>(); final List<String> names = new ArrayList<>();
final List<OpenType> types = new ArrayList<OpenType>(); final List<OpenType<?>> types = new ArrayList<>();
/* Select public methods that look like "T getX()" or "boolean /* Select public methods that look like "T getX()" or "boolean
isX()", where T is not void and X is not the empty isX()", where T is not void and X is not the empty
...@@ -678,7 +678,7 @@ public abstract class MappedMXBeanType { ...@@ -678,7 +678,7 @@ public abstract class MappedMXBeanType {
c.getName(), c.getName(),
nameArray, // field names nameArray, // field names
nameArray, // field descriptions nameArray, // field descriptions
types.toArray(new OpenType[0])); types.toArray(new OpenType<?>[0]));
} }
} }
...@@ -722,7 +722,7 @@ public abstract class MappedMXBeanType { ...@@ -722,7 +722,7 @@ public abstract class MappedMXBeanType {
// so that no other classes are sent over the wire // so that no other classes are sent over the wire
CompositeData cd = (CompositeData) data; CompositeData cd = (CompositeData) data;
CompositeType ct = cd.getCompositeType(); CompositeType ct = cd.getCompositeType();
String[] itemNames = (String[]) ct.keySet().toArray(new String[0]); String[] itemNames = ct.keySet().toArray(new String[0]);
Object[] itemValues = cd.getAll(itemNames); Object[] itemValues = cd.getAll(itemNames);
return new CompositeDataSupport(ct, itemNames, itemValues); return new CompositeDataSupport(ct, itemNames, itemValues);
} }
...@@ -779,9 +779,9 @@ public abstract class MappedMXBeanType { ...@@ -779,9 +779,9 @@ public abstract class MappedMXBeanType {
} }
private static final long serialVersionUID = -3413063475064374490L; private static final long serialVersionUID = -3413063475064374490L;
} }
private static final OpenType inProgress; private static final OpenType<?> inProgress;
static { static {
OpenType t; OpenType<?> t;
try { try {
t = new InProgress(); t = new InProgress();
} catch (OpenDataException e) { } catch (OpenDataException e) {
...@@ -799,8 +799,8 @@ public abstract class MappedMXBeanType { ...@@ -799,8 +799,8 @@ public abstract class MappedMXBeanType {
static { static {
try { try {
for (int i = 0; i < simpleTypes.length; i++) { for (int i = 0; i < simpleTypes.length; i++) {
final OpenType t = simpleTypes[i]; final OpenType<?> t = simpleTypes[i];
Class c; Class<?> c;
try { try {
c = Class.forName(t.getClassName(), false, c = Class.forName(t.getClassName(), false,
String.class.getClassLoader()); String.class.getClassLoader());
...@@ -816,7 +816,7 @@ public abstract class MappedMXBeanType { ...@@ -816,7 +816,7 @@ public abstract class MappedMXBeanType {
if (c.getName().startsWith("java.lang.")) { if (c.getName().startsWith("java.lang.")) {
try { try {
final Field typeField = c.getField("TYPE"); final Field typeField = c.getField("TYPE");
final Class primitiveType = (Class) typeField.get(null); final Class<?> primitiveType = (Class<?>) typeField.get(null);
MappedMXBeanType.newBasicType(primitiveType, t); MappedMXBeanType.newBasicType(primitiveType, t);
} catch (NoSuchFieldException e) { } catch (NoSuchFieldException e) {
// OK: must not be a primitive wrapper // OK: must not be a primitive wrapper
......
...@@ -92,7 +92,7 @@ public class MonitorInfoCompositeData extends LazyCompositeData { ...@@ -92,7 +92,7 @@ public class MonitorInfoCompositeData extends LazyCompositeData {
monitorInfoCompositeType = (CompositeType) monitorInfoCompositeType = (CompositeType)
MappedMXBeanType.toOpenType(MonitorInfo.class); MappedMXBeanType.toOpenType(MonitorInfo.class);
Set<String> s = monitorInfoCompositeType.keySet(); Set<String> s = monitorInfoCompositeType.keySet();
monitorInfoItemNames = (String[]) s.toArray(new String[0]); monitorInfoItemNames = s.toArray(new String[0]);
} catch (OpenDataException e) { } catch (OpenDataException e) {
// Should never reach here // Should never reach here
throw new AssertionError(e); throw new AssertionError(e);
......
...@@ -71,7 +71,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter { ...@@ -71,7 +71,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
efficient solution would be to clone the listener list efficient solution would be to clone the listener list
every time a notification is sent. */ every time a notification is sent. */
synchronized (listenerLock) { synchronized (listenerLock) {
List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList.size() + 1); List<ListenerInfo> newList = new ArrayList<>(listenerList.size() + 1);
newList.addAll(listenerList); newList.addAll(listenerList);
newList.add(new ListenerInfo(listener, filter, handback)); newList.add(new ListenerInfo(listener, filter, handback));
listenerList = newList; listenerList = newList;
...@@ -82,12 +82,12 @@ abstract class NotificationEmitterSupport implements NotificationEmitter { ...@@ -82,12 +82,12 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
throws ListenerNotFoundException { throws ListenerNotFoundException {
synchronized (listenerLock) { synchronized (listenerLock) {
List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList); List<ListenerInfo> newList = new ArrayList<>(listenerList);
/* We scan the list of listeners in reverse order because /* We scan the list of listeners in reverse order because
in forward order we would have to repeat the loop with in forward order we would have to repeat the loop with
the same index after a remove. */ the same index after a remove. */
for (int i=newList.size()-1; i>=0; i--) { for (int i=newList.size()-1; i>=0; i--) {
ListenerInfo li = (ListenerInfo)newList.get(i); ListenerInfo li = newList.get(i);
if (li.listener == listener) if (li.listener == listener)
newList.remove(i); newList.remove(i);
...@@ -106,10 +106,10 @@ abstract class NotificationEmitterSupport implements NotificationEmitter { ...@@ -106,10 +106,10 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
boolean found = false; boolean found = false;
synchronized (listenerLock) { synchronized (listenerLock) {
List<ListenerInfo> newList = new ArrayList<ListenerInfo>(listenerList); List<ListenerInfo> newList = new ArrayList<>(listenerList);
final int size = newList.size(); final int size = newList.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
ListenerInfo li = (ListenerInfo) newList.get(i); ListenerInfo li = newList.get(i);
if (li.listener == listener) { if (li.listener == listener) {
found = true; found = true;
...@@ -148,7 +148,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter { ...@@ -148,7 +148,7 @@ abstract class NotificationEmitterSupport implements NotificationEmitter {
final int size = currentList.size(); final int size = currentList.size();
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
ListenerInfo li = (ListenerInfo) currentList.get(i); ListenerInfo li = currentList.get(i);
if (li.filter == null if (li.filter == null
|| li.filter.isNotificationEnabled(notification)) { || li.filter.isNotificationEnabled(notification)) {
......
...@@ -128,7 +128,7 @@ class RuntimeImpl implements RuntimeMXBean { ...@@ -128,7 +128,7 @@ class RuntimeImpl implements RuntimeMXBean {
public Map<String,String> getSystemProperties() { public Map<String,String> getSystemProperties() {
Properties sysProps = System.getProperties(); Properties sysProps = System.getProperties();
Map<String,String> map = new HashMap<String, String>(); Map<String,String> map = new HashMap<>();
// Properties.entrySet() does not include the entries in // Properties.entrySet() does not include the entries in
// the default properties. So use Properties.stringPropertyNames() // the default properties. So use Properties.stringPropertyNames()
......
...@@ -190,7 +190,7 @@ public class ThreadInfoCompositeData extends LazyCompositeData { ...@@ -190,7 +190,7 @@ public class ThreadInfoCompositeData extends LazyCompositeData {
threadInfoV6Attributes.length; threadInfoV6Attributes.length;
String[] v5ItemNames = new String[numV5Attributes]; String[] v5ItemNames = new String[numV5Attributes];
String[] v5ItemDescs = new String[numV5Attributes]; String[] v5ItemDescs = new String[numV5Attributes];
OpenType[] v5ItemTypes = new OpenType[numV5Attributes]; OpenType<?>[] v5ItemTypes = new OpenType<?>[numV5Attributes];
int i = 0; int i = 0;
for (String n : itemNames) { for (String n : itemNames) {
if (isV5Attribute(n)) { if (isV5Attribute(n)) {
......
...@@ -73,7 +73,7 @@ public class PerfInstrumentation { ...@@ -73,7 +73,7 @@ public class PerfInstrumentation {
buffer.position(prologue.getEntryOffset()); buffer.position(prologue.getEntryOffset());
nextEntry = buffer.position(); nextEntry = buffer.position();
// rebuild all the counters // rebuild all the counters
map = new TreeMap<String, Counter>(); map = new TreeMap<>();
} }
boolean hasNext() { boolean hasNext() {
...@@ -154,7 +154,7 @@ public class PerfInstrumentation { ...@@ -154,7 +154,7 @@ public class PerfInstrumentation {
map.put(c.getName(), c); map.put(c.getName(), c);
} }
} }
return new ArrayList<Counter>(map.values()); return new ArrayList<>(map.values());
} }
public synchronized List<Counter> findByPattern(String patternString) { public synchronized List<Counter> findByPattern(String patternString) {
...@@ -167,7 +167,8 @@ public class PerfInstrumentation { ...@@ -167,7 +167,8 @@ public class PerfInstrumentation {
Pattern pattern = Pattern.compile(patternString); Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(""); Matcher matcher = pattern.matcher("");
List<Counter> matches = new ArrayList<Counter>(); List<Counter> matches = new ArrayList<>();
for (Map.Entry<String,Counter> me: map.entrySet()) { for (Map.Entry<String,Counter> me: map.entrySet()) {
String name = me.getKey(); String name = me.getKey();
......
...@@ -234,14 +234,15 @@ public final class ConnectorBootstrap { ...@@ -234,14 +234,15 @@ public final class ConnectorBootstrap {
"authenticated Subject is null"); "authenticated Subject is null");
} }
final Set<Principal> principals = subject.getPrincipals(); final Set<Principal> principals = subject.getPrincipals();
for (Principal p: principals) { for (Principal p1: principals) {
if (properties.containsKey(p.getName())) { if (properties.containsKey(p1.getName())) {
return; return;
} }
} }
final Set<String> principalsStr = new HashSet<String>();
for (Principal p: principals) { final Set<String> principalsStr = new HashSet<>();
principalsStr.add(p.getName()); for (Principal p2: principals) {
principalsStr.add(p2.getName());
} }
throw new SecurityException( throw new SecurityException(
"Access denied! No entries found in the access file [" + "Access denied! No entries found in the access file [" +
...@@ -255,9 +256,9 @@ public final class ConnectorBootstrap { ...@@ -255,9 +256,9 @@ public final class ConnectorBootstrap {
if (fname == null) { if (fname == null) {
return p; return p;
} }
FileInputStream fin = new FileInputStream(fname); try (FileInputStream fin = new FileInputStream(fname)) {
p.load(fin); p.load(fin);
fin.close(); }
return p; return p;
} }
private final Map<String, Object> environment; private final Map<String, Object> environment;
...@@ -430,7 +431,7 @@ public final class ConnectorBootstrap { ...@@ -430,7 +431,7 @@ public final class ConnectorBootstrap {
try { try {
// Export remote connector address and associated configuration // Export remote connector address and associated configuration
// properties to the instrumentation buffer. // properties to the instrumentation buffer.
Map<String, String> properties = new HashMap<String, String>(); Map<String, String> properties = new HashMap<>();
properties.put("remoteAddress", url.toString()); properties.put("remoteAddress", url.toString());
properties.put("authenticate", useAuthenticationStr); properties.put("authenticate", useAuthenticationStr);
properties.put("ssl", useSslStr); properties.put("ssl", useSslStr);
...@@ -456,7 +457,7 @@ public final class ConnectorBootstrap { ...@@ -456,7 +457,7 @@ public final class ConnectorBootstrap {
System.setProperty("java.rmi.server.randomIDs", "true"); System.setProperty("java.rmi.server.randomIDs", "true");
// This RMI server should not keep the VM alive // This RMI server should not keep the VM alive
Map<String, Object> env = new HashMap<String, Object>(); Map<String, Object> env = new HashMap<>();
env.put(RMIExporter.EXPORTER_ATTRIBUTE, new PermanentExporter()); env.put(RMIExporter.EXPORTER_ATTRIBUTE, new PermanentExporter());
// The local connector server need only be available via the // The local connector server need only be available via the
...@@ -599,12 +600,9 @@ public final class ConnectorBootstrap { ...@@ -599,12 +600,9 @@ public final class ConnectorBootstrap {
try { try {
// Load the SSL keystore properties from the config file // Load the SSL keystore properties from the config file
Properties p = new Properties(); Properties p = new Properties();
InputStream in = new FileInputStream(sslConfigFileName); try (InputStream in = new FileInputStream(sslConfigFileName)) {
try {
BufferedInputStream bin = new BufferedInputStream(in); BufferedInputStream bin = new BufferedInputStream(in);
p.load(bin); p.load(bin);
} finally {
in.close();
} }
String keyStore = String keyStore =
p.getProperty("javax.net.ssl.keyStore"); p.getProperty("javax.net.ssl.keyStore");
...@@ -628,11 +626,8 @@ public final class ConnectorBootstrap { ...@@ -628,11 +626,8 @@ public final class ConnectorBootstrap {
KeyStore ks = null; KeyStore ks = null;
if (keyStore != null) { if (keyStore != null) {
ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream ksfis = new FileInputStream(keyStore); try (FileInputStream ksfis = new FileInputStream(keyStore)) {
try {
ks.load(ksfis, keyStorePasswd); ks.load(ksfis, keyStorePasswd);
} finally {
ksfis.close();
} }
} }
KeyManagerFactory kmf = KeyManagerFactory.getInstance( KeyManagerFactory kmf = KeyManagerFactory.getInstance(
...@@ -642,11 +637,8 @@ public final class ConnectorBootstrap { ...@@ -642,11 +637,8 @@ public final class ConnectorBootstrap {
KeyStore ts = null; KeyStore ts = null;
if (trustStore != null) { if (trustStore != null) {
ts = KeyStore.getInstance(KeyStore.getDefaultType()); ts = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream tsfis = new FileInputStream(trustStore); try (FileInputStream tsfis = new FileInputStream(trustStore)) {
try {
ts.load(tsfis, trustStorePasswd); ts.load(tsfis, trustStorePasswd);
} finally {
tsfis.close();
} }
} }
TrustManagerFactory tmf = TrustManagerFactory.getInstance( TrustManagerFactory tmf = TrustManagerFactory.getInstance(
...@@ -689,7 +681,7 @@ public final class ConnectorBootstrap { ...@@ -689,7 +681,7 @@ public final class ConnectorBootstrap {
JMXServiceURL url = new JMXServiceURL("rmi", null, 0); JMXServiceURL url = new JMXServiceURL("rmi", null, 0);
Map<String, Object> env = new HashMap<String, Object>(); Map<String, Object> env = new HashMap<>();
PermanentExporter exporter = new PermanentExporter(); PermanentExporter exporter = new PermanentExporter();
......
...@@ -118,21 +118,22 @@ public final class AdaptorBootstrap { ...@@ -118,21 +118,22 @@ public final class AdaptorBootstrap {
/** /**
* Retrieve the Trap Target List from the ACL file. * Retrieve the Trap Target List from the ACL file.
**/ **/
@SuppressWarnings("unchecked")
private static List<NotificationTarget> getTargetList(InetAddressAcl acl, private static List<NotificationTarget> getTargetList(InetAddressAcl acl,
int defaultTrapPort) { int defaultTrapPort) {
final ArrayList<NotificationTarget> result = final ArrayList<NotificationTarget> result =
new ArrayList<NotificationTarget>(); new ArrayList<>();
if (acl != null) { if (acl != null) {
if (log.isDebugOn()) if (log.isDebugOn())
log.debug("getTargetList",Agent.getText("jmxremote.AdaptorBootstrap.getTargetList.processing")); log.debug("getTargetList",Agent.getText("jmxremote.AdaptorBootstrap.getTargetList.processing"));
final Enumeration td=acl.getTrapDestinations(); final Enumeration td = acl.getTrapDestinations();
for (; td.hasMoreElements() ;) { for (; td.hasMoreElements() ;) {
final InetAddress targetAddr = (InetAddress)td.nextElement(); final InetAddress targetAddr = (InetAddress)td.nextElement();
final Enumeration tc = final Enumeration tc =
acl.getTrapCommunities(targetAddr); acl.getTrapCommunities(targetAddr);
for (;tc.hasMoreElements() ;) { for (;tc.hasMoreElements() ;) {
final String community = (String) tc.nextElement(); final String community = (String)tc.nextElement();
final NotificationTarget target = final NotificationTarget target =
new NotificationTargetImpl(targetAddr, new NotificationTargetImpl(targetAddr,
defaultTrapPort, defaultTrapPort,
......
...@@ -90,14 +90,14 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB { ...@@ -90,14 +90,14 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
SnmpOidTable table = null; SnmpOidTable table = null;
if(tableRef == null) { if(tableRef == null) {
table = new JVM_MANAGEMENT_MIBOidTable(); table = new JVM_MANAGEMENT_MIBOidTable();
tableRef = new WeakReference<SnmpOidTable>(table); tableRef = new WeakReference<>(table);
return table; return table;
} }
table = tableRef.get(); table = tableRef.get();
if(table == null) { if(table == null) {
table = new JVM_MANAGEMENT_MIBOidTable(); table = new JVM_MANAGEMENT_MIBOidTable();
tableRef = new WeakReference<SnmpOidTable>(table); tableRef = new WeakReference<>(table);
} }
return table; return table;
...@@ -198,7 +198,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB { ...@@ -198,7 +198,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
* List of notification targets. * List of notification targets.
*/ */
private ArrayList<NotificationTarget> notificationTargets = private ArrayList<NotificationTarget> notificationTargets =
new ArrayList<NotificationTarget>(); new ArrayList<>();
private final NotificationEmitter emitter; private final NotificationEmitter emitter;
private final NotificationHandler handler; private final NotificationHandler handler;
...@@ -215,7 +215,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB { ...@@ -215,7 +215,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
} }
private synchronized void sendTrap(SnmpOid trap, SnmpVarBindList list) { private synchronized void sendTrap(SnmpOid trap, SnmpVarBindList list) {
final Iterator iterator = notificationTargets.iterator(); final Iterator<NotificationTarget> iterator = notificationTargets.iterator();
final SnmpAdaptorServer adaptor = final SnmpAdaptorServer adaptor =
(SnmpAdaptorServer) getSnmpAdaptor(); (SnmpAdaptorServer) getSnmpAdaptor();
...@@ -232,7 +232,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB { ...@@ -232,7 +232,7 @@ public class JVM_MANAGEMENT_MIB_IMPL extends JVM_MANAGEMENT_MIB {
while(iterator.hasNext()) { while(iterator.hasNext()) {
NotificationTarget target = null; NotificationTarget target = null;
try { try {
target = (NotificationTarget) iterator.next(); target = iterator.next();
SnmpPeer peer = SnmpPeer peer =
new SnmpPeer(target.getAddress(), target.getPort()); new SnmpPeer(target.getAddress(), target.getPort());
SnmpParameters p = new SnmpParameters(); SnmpParameters p = new SnmpParameters();
......
...@@ -58,6 +58,8 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -58,6 +58,8 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmMemGCTableMetaImpl extends JvmMemGCTableMeta { public class JvmMemGCTableMetaImpl extends JvmMemGCTableMeta {
static final long serialVersionUID = 8250461197108867607L;
/** /**
* This class acts as a filter over the SnmpTableHandler * This class acts as a filter over the SnmpTableHandler
* used for the JvmMemoryManagerTable. It filters out * used for the JvmMemoryManagerTable. It filters out
......
...@@ -61,12 +61,17 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -61,12 +61,17 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta { public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
static final long serialVersionUID = 36176771566817592L;
/** /**
* A concrete implementation of {@link SnmpNamedListTableCache}, for the * A concrete implementation of {@link SnmpNamedListTableCache}, for the
* jvmMemManagerTable. * jvmMemManagerTable.
**/ **/
private static class JvmMemManagerTableCache private static class JvmMemManagerTableCache
extends SnmpNamedListTableCache { extends SnmpNamedListTableCache {
static final long serialVersionUID = 6564294074653009240L;
/** /**
* Create a weak cache for the jvmMemManagerTable. * Create a weak cache for the jvmMemManagerTable.
* @param validity validity of the cached data, in ms. * @param validity validity of the cached data, in ms.
...@@ -87,7 +92,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta { ...@@ -87,7 +92,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* <code>MemoryManagerMXBean</code> in the list. * <code>MemoryManagerMXBean</code> in the list.
* @return <code>((MemoryManagerMXBean)item).getName()</code> * @return <code>((MemoryManagerMXBean)item).getName()</code>
**/ **/
protected String getKey(Object context, List rawDatas, protected String getKey(Object context, List<?> rawDatas,
int rank, Object item) { int rank, Object item) {
if (item == null) return null; if (item == null) return null;
final String name = ((MemoryManagerMXBean)item).getName(); final String name = ((MemoryManagerMXBean)item).getName();
...@@ -99,7 +104,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta { ...@@ -99,7 +104,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* Call <code>getTableHandler(JvmContextFactory.getUserData())</code>. * Call <code>getTableHandler(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
...@@ -114,7 +119,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta { ...@@ -114,7 +119,7 @@ public class JvmMemManagerTableMetaImpl extends JvmMemManagerTableMeta {
* Call ManagementFactory.getMemoryManagerMXBeans() to * Call ManagementFactory.getMemoryManagerMXBeans() to
* load the raw data of this table. * load the raw data of this table.
**/ **/
protected List loadRawDatas(Map userData) { protected List<MemoryManagerMXBean> loadRawDatas(Map<Object, Object> userData) {
return ManagementFactory.getMemoryManagerMXBeans(); return ManagementFactory.getMemoryManagerMXBeans();
} }
......
...@@ -64,13 +64,17 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -64,13 +64,17 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
implements Serializable { implements Serializable {
static final long serialVersionUID = 1896509775012355443L;
/** /**
* A concrete implementation of {@link SnmpTableCache}, for the * A concrete implementation of {@link SnmpTableCache}, for the
* jvmMemMgrPoolRelTable. * jvmMemMgrPoolRelTable.
**/ **/
private static class JvmMemMgrPoolRelTableCache private static class JvmMemMgrPoolRelTableCache
extends SnmpTableCache { extends SnmpTableCache {
static final long serialVersionUID = 6059937161990659184L;
final private JvmMemMgrPoolRelTableMetaImpl meta; final private JvmMemMgrPoolRelTableMetaImpl meta;
/** /**
...@@ -87,7 +91,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -87,7 +91,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
...@@ -101,7 +105,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -101,7 +105,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
return buildPoolIndexMap((SnmpCachedData)handler); return buildPoolIndexMap((SnmpCachedData)handler);
// not optimizable... too bad. // not optimizable... too bad.
final Map<String, SnmpOid> m = new HashMap<String, SnmpOid>(); final Map<String, SnmpOid> m = new HashMap<>();
SnmpOid index=null; SnmpOid index=null;
while ((index = handler.getNext(index))!=null) { while ((index = handler.getNext(index))!=null) {
final MemoryPoolMXBean mpm = final MemoryPoolMXBean mpm =
...@@ -124,7 +128,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -124,7 +128,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
final SnmpOid[] indexes = cached.indexes; final SnmpOid[] indexes = cached.indexes;
final Object[] datas = cached.datas; final Object[] datas = cached.datas;
final int len = indexes.length; final int len = indexes.length;
final Map<String, SnmpOid> m = new HashMap<String, SnmpOid>(len); final Map<String, SnmpOid> m = new HashMap<>(len);
for (int i=0; i<len; i++) { for (int i=0; i<len; i++) {
final SnmpOid index = indexes[i]; final SnmpOid index = indexes[i];
if (index == null) continue; if (index == null) continue;
...@@ -165,13 +169,13 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -165,13 +169,13 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
final long time = System.currentTimeMillis(); final long time = System.currentTimeMillis();
// Build a Map poolname -> index // Build a Map poolname -> index
final Map poolIndexMap = buildPoolIndexMap(mpHandler); final Map<String,SnmpOid> poolIndexMap = buildPoolIndexMap(mpHandler);
// For each memory manager, get the list of memory pools // For each memory manager, get the list of memory pools
// For each memory pool, find its index in the memory pool table // For each memory pool, find its index in the memory pool table
// Create a row in the relation table. // Create a row in the relation table.
final TreeMap<SnmpOid, Object> table = final TreeMap<SnmpOid, Object> table =
new TreeMap<SnmpOid, Object>(SnmpCachedData.oidComparator); new TreeMap<>(SnmpCachedData.oidComparator);
updateTreeMap(table,userData,mmHandler,mpHandler,poolIndexMap); updateTreeMap(table,userData,mmHandler,mpHandler,poolIndexMap);
return new SnmpCachedData(time,table); return new SnmpCachedData(time,table);
...@@ -207,7 +211,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -207,7 +211,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData, protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
MemoryManagerMXBean mmm, MemoryManagerMXBean mmm,
SnmpOid mmIndex, SnmpOid mmIndex,
Map poolIndexMap) { Map<String, SnmpOid> poolIndexMap) {
// The MemoryManager index is an int, so it's the first // The MemoryManager index is an int, so it's the first
// and only subidentifier. // and only subidentifier.
...@@ -230,7 +234,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -230,7 +234,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
for (int i = 0; i < mpList.length; i++) { for (int i = 0; i < mpList.length; i++) {
final String mpmName = mpList[i]; final String mpmName = mpList[i];
if (mpmName == null) continue; if (mpmName == null) continue;
final SnmpOid mpIndex = (SnmpOid)poolIndexMap.get(mpmName); final SnmpOid mpIndex = poolIndexMap.get(mpmName);
if (mpIndex == null) continue; if (mpIndex == null) continue;
// The MemoryPool index is an int, so it's the first // The MemoryPool index is an int, so it's the first
...@@ -261,7 +265,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -261,7 +265,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData, protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
SnmpTableHandler mmHandler, SnmpTableHandler mmHandler,
SnmpTableHandler mpHandler, SnmpTableHandler mpHandler,
Map poolIndexMap) { Map<String, SnmpOid> poolIndexMap) {
if (mmHandler instanceof SnmpCachedData) { if (mmHandler instanceof SnmpCachedData) {
updateTreeMap(table,userData,(SnmpCachedData)mmHandler, updateTreeMap(table,userData,(SnmpCachedData)mmHandler,
mpHandler,poolIndexMap); mpHandler,poolIndexMap);
...@@ -280,7 +284,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta ...@@ -280,7 +284,7 @@ public class JvmMemMgrPoolRelTableMetaImpl extends JvmMemMgrPoolRelTableMeta
protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData, protected void updateTreeMap(TreeMap<SnmpOid, Object> table, Object userData,
SnmpCachedData mmHandler, SnmpCachedData mmHandler,
SnmpTableHandler mpHandler, SnmpTableHandler mpHandler,
Map poolIndexMap) { Map<String, SnmpOid> poolIndexMap) {
final SnmpOid[] indexes = mmHandler.indexes; final SnmpOid[] indexes = mmHandler.indexes;
final Object[] datas = mmHandler.datas; final Object[] datas = mmHandler.datas;
......
...@@ -61,11 +61,16 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -61,11 +61,16 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta { public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
static final long serialVersionUID = -2525820976094284957L;
/** /**
* A concrete implementation of {@link SnmpNamedListTableCache}, for the * A concrete implementation of {@link SnmpNamedListTableCache}, for the
* jvmMemPoolTable. * jvmMemPoolTable.
**/ **/
private static class JvmMemPoolTableCache extends SnmpNamedListTableCache { private static class JvmMemPoolTableCache extends SnmpNamedListTableCache {
static final long serialVersionUID = -1755520683086760574L;
/** /**
* Create a weak cache for the jvmMemPoolTable. * Create a weak cache for the jvmMemPoolTable.
* @param validity validity of the cached data, in ms. * @param validity validity of the cached data, in ms.
...@@ -86,7 +91,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta { ...@@ -86,7 +91,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* <code>MemoryPoolMXBean</code> in the list. * <code>MemoryPoolMXBean</code> in the list.
* @return <code>((MemoryPoolMXBean)item).getName()</code> * @return <code>((MemoryPoolMXBean)item).getName()</code>
**/ **/
protected String getKey(Object context, List rawDatas, protected String getKey(Object context, List<?> rawDatas,
int rank, Object item) { int rank, Object item) {
if (item == null) return null; if (item == null) return null;
final String name = ((MemoryPoolMXBean)item).getName(); final String name = ((MemoryPoolMXBean)item).getName();
...@@ -98,7 +103,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta { ...@@ -98,7 +103,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
...@@ -113,7 +118,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta { ...@@ -113,7 +118,7 @@ public class JvmMemPoolTableMetaImpl extends JvmMemPoolTableMeta {
* Call ManagementFactory.getMemoryPoolMXBeans() to * Call ManagementFactory.getMemoryPoolMXBeans() to
* load the raw data of this table. * load the raw data of this table.
**/ **/
protected List loadRawDatas(Map userData) { protected List<MemoryPoolMXBean> loadRawDatas(Map<Object, Object> userData) {
return ManagementFactory.getMemoryPoolMXBeans(); return ManagementFactory.getMemoryPoolMXBeans();
} }
} }
......
...@@ -275,7 +275,7 @@ public class JvmMemoryImpl implements JvmMemoryMBean { ...@@ -275,7 +275,7 @@ public class JvmMemoryImpl implements JvmMemoryMBean {
*/ */
public EnumJvmMemoryGCCall getJvmMemoryGCCall() public EnumJvmMemoryGCCall getJvmMemoryGCCall()
throws SnmpStatusException { throws SnmpStatusException {
final Map m = JvmContextFactory.getUserData(); final Map<Object,Object> m = JvmContextFactory.getUserData();
if (m != null) { if (m != null) {
final EnumJvmMemoryGCCall cached final EnumJvmMemoryGCCall cached
......
...@@ -50,6 +50,8 @@ import sun.management.snmp.util.MibLogger; ...@@ -50,6 +50,8 @@ import sun.management.snmp.util.MibLogger;
* The class is used for representing SNMP metadata for the "JvmMemory" group. * The class is used for representing SNMP metadata for the "JvmMemory" group.
*/ */
public class JvmMemoryMetaImpl extends JvmMemoryMeta { public class JvmMemoryMetaImpl extends JvmMemoryMeta {
static final long serialVersionUID = -6500448253825893071L;
/** /**
* Constructor for the metadata associated to "JvmMemory". * Constructor for the metadata associated to "JvmMemory".
*/ */
......
...@@ -47,6 +47,8 @@ import sun.management.snmp.jvmmib.JvmOSMBean; ...@@ -47,6 +47,8 @@ import sun.management.snmp.jvmmib.JvmOSMBean;
*/ */
public class JvmOSImpl implements JvmOSMBean, Serializable { public class JvmOSImpl implements JvmOSMBean, Serializable {
static final long serialVersionUID = 1839834731763310809L;
/** /**
* Constructor for the "JvmOS" group. * Constructor for the "JvmOS" group.
* If the group contains a table, the entries created through an * If the group contains a table, the entries created through an
......
...@@ -44,6 +44,8 @@ import sun.management.snmp.jvmmib.JvmRTBootClassPathEntryMBean; ...@@ -44,6 +44,8 @@ import sun.management.snmp.jvmmib.JvmRTBootClassPathEntryMBean;
public class JvmRTBootClassPathEntryImpl public class JvmRTBootClassPathEntryImpl
implements JvmRTBootClassPathEntryMBean, Serializable { implements JvmRTBootClassPathEntryMBean, Serializable {
static final long serialVersionUID = -2282652055235913013L;
private final String item; private final String item;
private final int index; private final int index;
......
...@@ -71,6 +71,8 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -71,6 +71,8 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmRTBootClassPathTableMetaImpl public class JvmRTBootClassPathTableMetaImpl
extends JvmRTBootClassPathTableMeta { extends JvmRTBootClassPathTableMeta {
static final long serialVersionUID = -8659886610487538299L;
private SnmpTableCache cache; private SnmpTableCache cache;
/** /**
...@@ -78,6 +80,7 @@ public class JvmRTBootClassPathTableMetaImpl ...@@ -78,6 +80,7 @@ public class JvmRTBootClassPathTableMetaImpl
* JvmRTBootClassPathTable. * JvmRTBootClassPathTable.
**/ **/
private static class JvmRTBootClassPathTableCache extends SnmpTableCache { private static class JvmRTBootClassPathTableCache extends SnmpTableCache {
static final long serialVersionUID = -2637458695413646098L;
private JvmRTBootClassPathTableMetaImpl meta; private JvmRTBootClassPathTableMetaImpl meta;
JvmRTBootClassPathTableCache(JvmRTBootClassPathTableMetaImpl meta, JvmRTBootClassPathTableCache(JvmRTBootClassPathTableMetaImpl meta,
...@@ -90,7 +93,7 @@ public class JvmRTBootClassPathTableMetaImpl ...@@ -90,7 +93,7 @@ public class JvmRTBootClassPathTableMetaImpl
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
......
...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTClassPathEntryMBean; ...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTClassPathEntryMBean;
public class JvmRTClassPathEntryImpl implements JvmRTClassPathEntryMBean, public class JvmRTClassPathEntryImpl implements JvmRTClassPathEntryMBean,
Serializable { Serializable {
static final long serialVersionUID = 8524792845083365742L;
private final String item; private final String item;
private final int index; private final int index;
......
...@@ -70,6 +70,8 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -70,6 +70,8 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta { public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
static final long serialVersionUID = -6914494148818455166L;
private SnmpTableCache cache; private SnmpTableCache cache;
/** /**
...@@ -77,6 +79,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta { ...@@ -77,6 +79,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
* JvmRTClassPathTable. * JvmRTClassPathTable.
**/ **/
private static class JvmRTClassPathTableCache extends SnmpTableCache { private static class JvmRTClassPathTableCache extends SnmpTableCache {
static final long serialVersionUID = 3805032372592117315L;
private JvmRTClassPathTableMetaImpl meta; private JvmRTClassPathTableMetaImpl meta;
JvmRTClassPathTableCache(JvmRTClassPathTableMetaImpl meta, JvmRTClassPathTableCache(JvmRTClassPathTableMetaImpl meta,
...@@ -89,7 +92,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta { ...@@ -89,7 +92,7 @@ public class JvmRTClassPathTableMetaImpl extends JvmRTClassPathTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
......
...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTInputArgsEntryMBean; ...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTInputArgsEntryMBean;
public class JvmRTInputArgsEntryImpl implements JvmRTInputArgsEntryMBean, public class JvmRTInputArgsEntryImpl implements JvmRTInputArgsEntryMBean,
Serializable { Serializable {
static final long serialVersionUID = 1000306518436503395L;
private final String item; private final String item;
private final int index; private final int index;
......
...@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta { public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
static final long serialVersionUID = -2083438094888099238L;
private SnmpTableCache cache; private SnmpTableCache cache;
/** /**
...@@ -77,6 +78,8 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta { ...@@ -77,6 +78,8 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
* JvmRTInputArgsTable. * JvmRTInputArgsTable.
**/ **/
private static class JvmRTInputArgsTableCache extends SnmpTableCache { private static class JvmRTInputArgsTableCache extends SnmpTableCache {
static final long serialVersionUID = 1693751105464785192L;
private JvmRTInputArgsTableMetaImpl meta; private JvmRTInputArgsTableMetaImpl meta;
JvmRTInputArgsTableCache(JvmRTInputArgsTableMetaImpl meta, JvmRTInputArgsTableCache(JvmRTInputArgsTableMetaImpl meta,
...@@ -89,7 +92,7 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta { ...@@ -89,7 +92,7 @@ public class JvmRTInputArgsTableMetaImpl extends JvmRTInputArgsTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
......
...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathEntryMBean; ...@@ -44,6 +44,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathEntryMBean;
public class JvmRTLibraryPathEntryImpl implements JvmRTLibraryPathEntryMBean, public class JvmRTLibraryPathEntryImpl implements JvmRTLibraryPathEntryMBean,
Serializable { Serializable {
static final long serialVersionUID = -3322438153507369765L;
private final String item; private final String item;
private final int index; private final int index;
......
...@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -70,6 +70,7 @@ import sun.management.snmp.util.JvmContextFactory;
*/ */
public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta { public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
static final long serialVersionUID = 6713252710712502068L;
private SnmpTableCache cache; private SnmpTableCache cache;
/** /**
...@@ -77,6 +78,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta { ...@@ -77,6 +78,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
* JvmRTLibraryPathTable. * JvmRTLibraryPathTable.
**/ **/
private static class JvmRTLibraryPathTableCache extends SnmpTableCache { private static class JvmRTLibraryPathTableCache extends SnmpTableCache {
static final long serialVersionUID = 2035304445719393195L;
private JvmRTLibraryPathTableMetaImpl meta; private JvmRTLibraryPathTableMetaImpl meta;
JvmRTLibraryPathTableCache(JvmRTLibraryPathTableMetaImpl meta, JvmRTLibraryPathTableCache(JvmRTLibraryPathTableMetaImpl meta,
...@@ -89,7 +91,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta { ...@@ -89,7 +91,7 @@ public class JvmRTLibraryPathTableMetaImpl extends JvmRTLibraryPathTableMeta {
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object,Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
......
...@@ -68,6 +68,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathTableMeta; ...@@ -68,6 +68,7 @@ import sun.management.snmp.jvmmib.JvmRTLibraryPathTableMeta;
*/ */
public class JvmRuntimeMetaImpl extends JvmRuntimeMeta { public class JvmRuntimeMetaImpl extends JvmRuntimeMeta {
static final long serialVersionUID = -6570428414857608618L;
/** /**
* Constructor for the metadata associated to "JvmRuntime". * Constructor for the metadata associated to "JvmRuntime".
*/ */
......
...@@ -53,6 +53,8 @@ import sun.management.snmp.util.MibLogger; ...@@ -53,6 +53,8 @@ import sun.management.snmp.util.MibLogger;
public class JvmThreadInstanceEntryImpl public class JvmThreadInstanceEntryImpl
implements JvmThreadInstanceEntryMBean, Serializable { implements JvmThreadInstanceEntryMBean, Serializable {
static final long serialVersionUID = 910173589985461347L;
public final static class ThreadStateMap { public final static class ThreadStateMap {
public final static class Byte0 { public final static class Byte0 {
public final static byte inNative = (byte)0x80; // bit 1 public final static byte inNative = (byte)0x80; // bit 1
......
...@@ -78,6 +78,8 @@ import sun.management.snmp.util.JvmContextFactory; ...@@ -78,6 +78,8 @@ import sun.management.snmp.util.JvmContextFactory;
public class JvmThreadInstanceTableMetaImpl public class JvmThreadInstanceTableMetaImpl
extends JvmThreadInstanceTableMeta { extends JvmThreadInstanceTableMeta {
static final long serialVersionUID = -8432271929226397492L;
/** /**
* Maximum depth of the stacktrace that might be returned through * Maximum depth of the stacktrace that might be returned through
* SNMP. * SNMP.
...@@ -135,6 +137,7 @@ public class JvmThreadInstanceTableMetaImpl ...@@ -135,6 +137,7 @@ public class JvmThreadInstanceTableMetaImpl
private static class JvmThreadInstanceTableCache private static class JvmThreadInstanceTableCache
extends SnmpTableCache { extends SnmpTableCache {
static final long serialVersionUID = 4947330124563406878L;
final private JvmThreadInstanceTableMetaImpl meta; final private JvmThreadInstanceTableMetaImpl meta;
/** /**
...@@ -151,7 +154,7 @@ public class JvmThreadInstanceTableMetaImpl ...@@ -151,7 +154,7 @@ public class JvmThreadInstanceTableMetaImpl
* Call <code>getTableDatas(JvmContextFactory.getUserData())</code>. * Call <code>getTableDatas(JvmContextFactory.getUserData())</code>.
**/ **/
public SnmpTableHandler getTableHandler() { public SnmpTableHandler getTableHandler() {
final Map userData = JvmContextFactory.getUserData(); final Map<Object, Object> userData = JvmContextFactory.getUserData();
return getTableDatas(userData); return getTableDatas(userData);
} }
...@@ -172,7 +175,7 @@ public class JvmThreadInstanceTableMetaImpl ...@@ -172,7 +175,7 @@ public class JvmThreadInstanceTableMetaImpl
SnmpOid indexes[] = new SnmpOid[id.length]; SnmpOid indexes[] = new SnmpOid[id.length];
final TreeMap<SnmpOid, Object> table = final TreeMap<SnmpOid, Object> table =
new TreeMap<SnmpOid, Object>(SnmpCachedData.oidComparator); new TreeMap<>(SnmpCachedData.oidComparator);
for(int i = 0; i < id.length; i++) { for(int i = 0; i < id.length; i++) {
log.debug("", "Making index for thread id [" + id[i] +"]"); log.debug("", "Making index for thread id [" + id[i] +"]");
//indexes[i] = makeOid(id[i]); //indexes[i] = makeOid(id[i]);
...@@ -277,7 +280,7 @@ public class JvmThreadInstanceTableMetaImpl ...@@ -277,7 +280,7 @@ public class JvmThreadInstanceTableMetaImpl
// Get the request contextual cache (userData). // Get the request contextual cache (userData).
// //
final Map m = JvmContextFactory.getUserData(); final Map<Object,Object> m = JvmContextFactory.getUserData();
// Get the handler. // Get the handler.
// //
......
...@@ -66,6 +66,8 @@ import sun.management.snmp.jvmmib.JvmThreadInstanceTableMeta; ...@@ -66,6 +66,8 @@ import sun.management.snmp.jvmmib.JvmThreadInstanceTableMeta;
*/ */
public class JvmThreadingMetaImpl extends JvmThreadingMeta { public class JvmThreadingMetaImpl extends JvmThreadingMeta {
static final long serialVersionUID = -2104788458393251457L;
/** /**
* Constructor for the metadata associated to "JvmThreading". * Constructor for the metadata associated to "JvmThreading".
*/ */
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializable { public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializable {
static final long serialVersionUID = -620710366914810374L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "verbose"); intTable.put(new Integer(2), "verbose");
intTable.put(new Integer(1), "silent"); intTable.put(new Integer(1), "silent");
...@@ -70,11 +71,11 @@ public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializab ...@@ -70,11 +71,11 @@ public class EnumJvmClassesVerboseLevel extends Enumerated implements Serializab
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Serializable { public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Serializable {
static final long serialVersionUID = 3953565918146461236L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "supported"); intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported"); intTable.put(new Integer(1), "unsupported");
...@@ -70,11 +71,11 @@ public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Seri ...@@ -70,11 +71,11 @@ public class EnumJvmJITCompilerTimeMonitoring extends Enumerated implements Seri
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer, String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String, Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,12 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,12 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemManagerState extends Enumerated implements Serializable { public class EnumJvmMemManagerState extends Enumerated implements Serializable {
static final long serialVersionUID = 8249515157795166343L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "valid"); intTable.put(new Integer(2), "valid");
intTable.put(new Integer(1), "invalid"); intTable.put(new Integer(1), "invalid");
...@@ -70,11 +72,11 @@ public class EnumJvmMemManagerState extends Enumerated implements Serializable { ...@@ -70,11 +72,11 @@ public class EnumJvmMemManagerState extends Enumerated implements Serializable {
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer, String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String, Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements Serializable { public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements Serializable {
static final long serialVersionUID = 8610091819732806282L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "supported"); intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported"); intTable.put(new Integer(1), "unsupported");
...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements S ...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolCollectThreshdSupport extends Enumerated implements S
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer, String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String, Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemPoolState extends Enumerated implements Serializable { public class EnumJvmMemPoolState extends Enumerated implements Serializable {
static final long serialVersionUID = 3038175407527743027L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "valid"); intTable.put(new Integer(2), "valid");
intTable.put(new Integer(1), "invalid"); intTable.put(new Integer(1), "invalid");
...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolState extends Enumerated implements Serializable { ...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolState extends Enumerated implements Serializable {
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializable { public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializable {
static final long serialVersionUID = 7014693561120661029L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "supported"); intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported"); intTable.put(new Integer(1), "unsupported");
...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializ ...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolThreshdSupport extends Enumerated implements Serializ
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemPoolType extends Enumerated implements Serializable { public class EnumJvmMemPoolType extends Enumerated implements Serializable {
static final long serialVersionUID = -7214498472962396555L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "heap"); intTable.put(new Integer(2), "heap");
intTable.put(new Integer(1), "nonheap"); intTable.put(new Integer(1), "nonheap");
...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolType extends Enumerated implements Serializable { ...@@ -70,11 +71,11 @@ public class EnumJvmMemPoolType extends Enumerated implements Serializable {
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemoryGCCall extends Enumerated implements Serializable { public class EnumJvmMemoryGCCall extends Enumerated implements Serializable {
static final long serialVersionUID = -2869147994287351375L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "supported"); intTable.put(new Integer(2), "supported");
intTable.put(new Integer(5), "failed"); intTable.put(new Integer(5), "failed");
...@@ -76,11 +77,11 @@ public class EnumJvmMemoryGCCall extends Enumerated implements Serializable { ...@@ -76,11 +77,11 @@ public class EnumJvmMemoryGCCall extends Enumerated implements Serializable {
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer, String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String, Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializable { public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializable {
static final long serialVersionUID = 1362427628755978190L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "verbose"); intTable.put(new Integer(2), "verbose");
intTable.put(new Integer(1), "silent"); intTable.put(new Integer(1), "silent");
...@@ -70,11 +71,11 @@ public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializa ...@@ -70,11 +71,11 @@ public class EnumJvmMemoryGCVerboseLevel extends Enumerated implements Serializa
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmRTBootClassPathSupport extends Enumerated implements Serializable { public class EnumJvmRTBootClassPathSupport extends Enumerated implements Serializable {
static final long serialVersionUID = -5957542680437939894L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(2), "supported"); intTable.put(new Integer(2), "supported");
intTable.put(new Integer(1), "unsupported"); intTable.put(new Integer(1), "unsupported");
...@@ -70,11 +71,11 @@ public class EnumJvmRTBootClassPathSupport extends Enumerated implements Seriali ...@@ -70,11 +71,11 @@ public class EnumJvmRTBootClassPathSupport extends Enumerated implements Seriali
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer, String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String, Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmThreadContentionMonitoring extends Enumerated implements Serializable { public class EnumJvmThreadContentionMonitoring extends Enumerated implements Serializable {
static final long serialVersionUID = -6411827583604137210L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(3), "enabled"); intTable.put(new Integer(3), "enabled");
intTable.put(new Integer(4), "disabled"); intTable.put(new Integer(4), "disabled");
...@@ -72,11 +73,11 @@ public class EnumJvmThreadContentionMonitoring extends Enumerated implements Ser ...@@ -72,11 +73,11 @@ public class EnumJvmThreadContentionMonitoring extends Enumerated implements Ser
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated; ...@@ -43,10 +43,11 @@ import com.sun.jmx.snmp.Enumerated;
*/ */
public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serializable { public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serializable {
static final long serialVersionUID = -532837824105215699L;
protected static Hashtable<Integer, String> intTable = protected static Hashtable<Integer, String> intTable =
new Hashtable<Integer, String>(); new Hashtable<>();
protected static Hashtable<String, Integer> stringTable = protected static Hashtable<String, Integer> stringTable =
new Hashtable<String, Integer>(); new Hashtable<>();
static { static {
intTable.put(new Integer(3), "enabled"); intTable.put(new Integer(3), "enabled");
intTable.put(new Integer(4), "disabled"); intTable.put(new Integer(4), "disabled");
...@@ -72,11 +73,11 @@ public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serial ...@@ -72,11 +73,11 @@ public class EnumJvmThreadCpuTimeMonitoring extends Enumerated implements Serial
super(x); super(x);
} }
protected Hashtable getIntTable() { protected Hashtable<Integer,String> getIntTable() {
return intTable ; return intTable ;
} }
protected Hashtable getStringTable() { protected Hashtable<String,Integer> getStringTable() {
return stringTable ; return stringTable ;
} }
......
...@@ -53,6 +53,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer; ...@@ -53,6 +53,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/ */
public abstract class JVM_MANAGEMENT_MIB extends SnmpMib implements Serializable { public abstract class JVM_MANAGEMENT_MIB extends SnmpMib implements Serializable {
static final long serialVersionUID = 6895037919735816732L;
/** /**
* Default constructor. Initialize the Mib tree. * Default constructor. Initialize the Mib tree.
*/ */
......
...@@ -47,6 +47,7 @@ import com.sun.jmx.snmp.SnmpOidTableSupport; ...@@ -47,6 +47,7 @@ import com.sun.jmx.snmp.SnmpOidTableSupport;
*/ */
public class JVM_MANAGEMENT_MIBOidTable extends SnmpOidTableSupport implements Serializable { public class JVM_MANAGEMENT_MIBOidTable extends SnmpOidTableSupport implements Serializable {
static final long serialVersionUID = -5010870014488732061L;
/** /**
* Default constructor. Initialize the Mib tree. * Default constructor. Initialize the Mib tree.
*/ */
......
...@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; ...@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmClassLoadingMeta extends SnmpMibGroup public class JvmClassLoadingMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer { implements Serializable, SnmpStandardMetaServer {
static final long serialVersionUID = 5722857476941218568L;
/** /**
* Constructor for the metadata associated to "JvmClassLoading". * Constructor for the metadata associated to "JvmClassLoading".
*/ */
......
...@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; ...@@ -70,6 +70,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmCompilationMeta extends SnmpMibGroup public class JvmCompilationMeta extends SnmpMibGroup
implements Serializable, SnmpStandardMetaServer { implements Serializable, SnmpStandardMetaServer {
static final long serialVersionUID = -95492874115033638L;
/** /**
* Constructor for the metadata associated to "JvmCompilation". * Constructor for the metadata associated to "JvmCompilation".
*/ */
......
...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; ...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemGCEntryMeta extends SnmpMibEntry public class JvmMemGCEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer { implements Serializable, SnmpStandardMetaServer {
static final long serialVersionUID = 6082082529298387063L;
/** /**
* Constructor for the metadata associated to "JvmMemGCEntry". * Constructor for the metadata associated to "JvmMemGCEntry".
*/ */
......
...@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer; ...@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/ */
public class JvmMemGCTableMeta extends SnmpMibTable implements Serializable { public class JvmMemGCTableMeta extends SnmpMibTable implements Serializable {
static final long serialVersionUID = -8843296871149264612L;
/** /**
* Constructor for the table. Initialize metadata for "JvmMemGCTableMeta". * Constructor for the table. Initialize metadata for "JvmMemGCTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK. * The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
......
...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; ...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemManagerEntryMeta extends SnmpMibEntry public class JvmMemManagerEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer { implements Serializable, SnmpStandardMetaServer {
static final long serialVersionUID = 8166956416408970453L;
/** /**
* Constructor for the metadata associated to "JvmMemManagerEntry". * Constructor for the metadata associated to "JvmMemManagerEntry".
*/ */
......
...@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer; ...@@ -68,6 +68,7 @@ import com.sun.jmx.snmp.agent.SnmpStandardObjectServer;
*/ */
public class JvmMemManagerTableMeta extends SnmpMibTable implements Serializable { public class JvmMemManagerTableMeta extends SnmpMibTable implements Serializable {
static final long serialVersionUID = 5026520607518015233L;
/** /**
* Constructor for the table. Initialize metadata for "JvmMemManagerTableMeta". * Constructor for the table. Initialize metadata for "JvmMemManagerTableMeta".
* The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK. * The reference on the MBean server is updated so the entries created through an SNMP SET will be AUTOMATICALLY REGISTERED in Java DMK.
......
...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions; ...@@ -71,6 +71,7 @@ import com.sun.jmx.snmp.SnmpDefinitions;
public class JvmMemMgrPoolRelEntryMeta extends SnmpMibEntry public class JvmMemMgrPoolRelEntryMeta extends SnmpMibEntry
implements Serializable, SnmpStandardMetaServer { implements Serializable, SnmpStandardMetaServer {
static final long serialVersionUID = 7414270971113459798L;
/** /**
* Constructor for the metadata associated to "JvmMemMgrPoolRelEntry". * Constructor for the metadata associated to "JvmMemMgrPoolRelEntry".
*/ */
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册