From 585ffb5df8c20f0e8df12d2a1a4cbd7719613a84 Mon Sep 17 00:00:00 2001 From: emcmanus Date: Mon, 27 Oct 2008 14:02:40 +0100 Subject: [PATCH] 6763639: Remove "rawtypes" warnings from JMX code Reviewed-by: dfuchs --- make/netbeans/jmx/build.xml | 20 ++-- .../com/sun/jmx/event/LeaseManager.java | 2 +- .../com/sun/jmx/event/LeaseRenewer.java | 2 +- .../DefaultMBeanServerInterceptor.java | 9 +- .../ClassLoaderRepositorySupport.java | 14 +-- .../sun/jmx/mbeanserver/ConvertingMethod.java | 6 +- .../DefaultMXBeanMappingFactory.java | 103 +++++++++--------- .../com/sun/jmx/mbeanserver/Introspector.java | 16 +-- .../sun/jmx/mbeanserver/JmxMBeanServer.java | 14 +-- .../jmx/mbeanserver/MBeanInstantiator.java | 54 ++++----- .../jmx/mbeanserver/MXBeanIntrospector.java | 12 +- .../ObjectInputStreamWithLoader.java | 3 +- .../SecureClassLoaderRepository.java | 6 +- .../classes/com/sun/jmx/mbeanserver/Util.java | 4 +- .../jmx/mbeanserver/WeakIdentityHashMap.java | 4 +- .../internal/ArrayNotificationBuffer.java | 2 +- .../remote/internal/ClientNotifForwarder.java | 4 +- .../jmx/remote/internal/ProxyInputStream.java | 2 +- .../remote/internal/ServerNotifForwarder.java | 2 +- .../sun/jmx/remote/internal/Unmarshal.java | 2 +- .../jmx/remote/security/FileLoginModule.java | 11 +- .../security/JMXPluggableAuthenticator.java | 2 +- .../MBeanServerFileAccessController.java | 9 +- .../util/ClassLoaderWithRepository.java | 2 +- .../com/sun/jmx/remote/util/ClassLogger.java | 2 +- .../com/sun/jmx/remote/util/EnvHelp.java | 54 ++++----- .../remote/util/EventClientConnection.java | 10 +- .../jmx/remote/util/OrderClassLoaders.java | 2 +- .../javax/management/AttributeList.java | 2 +- .../management/DefaultLoaderRepository.java | 4 +- .../javax/management/JMRuntimeException.java | 2 +- src/share/classes/javax/management/JMX.java | 4 +- .../javax/management/MBeanAttributeInfo.java | 4 +- .../management/MBeanConstructorInfo.java | 6 +- .../classes/javax/management/MBeanInfo.java | 6 +- .../javax/management/MBeanOperationInfo.java | 5 +- .../javax/management/MBeanServerFactory.java | 8 +- .../MBeanServerInvocationHandler.java | 14 +-- .../javax/management/StandardMBean.java | 16 +-- .../management/event/EventClientDelegate.java | 6 +- .../management/event/EventSubscriber.java | 3 +- .../loading/DefaultLoaderRepository.java | 11 +- .../javax/management/loading/MLet.java | 2 +- .../loading/MLetObjectInputStream.java | 23 ++-- .../modelmbean/DescriptorSupport.java | 34 +++--- .../modelmbean/ModelMBeanConstructorInfo.java | 4 +- .../modelmbean/RequiredModelMBean.java | 21 ++-- .../javax/management/openmbean/ArrayType.java | 33 +++--- .../CompositeDataInvocationHandler.java | 4 +- .../management/openmbean/CompositeType.java | 10 +- .../OpenMBeanAttributeInfoSupport.java | 16 +-- .../OpenMBeanParameterInfoSupport.java | 4 +- .../javax/management/openmbean/OpenType.java | 2 +- .../management/openmbean/SimpleType.java | 14 +-- .../openmbean/TabularDataSupport.java | 13 +-- .../management/openmbean/TabularType.java | 17 ++- .../MBeanServerNotificationFilter.java | 6 +- .../management/relation/RelationService.java | 66 ++++------- .../management/relation/RelationSupport.java | 16 +-- .../javax/management/relation/Role.java | 6 +- .../javax/management/relation/RoleList.java | 3 +- .../javax/management/relation/RoleResult.java | 4 +- .../management/relation/RoleUnresolved.java | 6 +- .../relation/RoleUnresolvedList.java | 3 +- .../remote/JMXConnectorFactory.java | 5 +- .../remote/rmi/NoCallStackClassLoader.java | 3 +- .../management/remote/rmi/RMIConnection.java | 8 +- .../remote/rmi/RMIConnectionImpl.java | 14 ++- .../management/remote/rmi/RMIConnector.java | 45 ++++---- .../remote/rmi/RMIConnectorServer.java | 21 ++-- .../management/remote/rmi/RMIServerImpl.java | 27 +++-- .../classes/javax/management/timer/Timer.java | 3 +- 72 files changed, 441 insertions(+), 456 deletions(-) diff --git a/make/netbeans/jmx/build.xml b/make/netbeans/jmx/build.xml index 6e2696ebb..e306b8ea4 100644 --- a/make/netbeans/jmx/build.xml +++ b/make/netbeans/jmx/build.xml @@ -44,13 +44,13 @@ - - + @@ -58,13 +58,13 @@ - + @@ -96,7 +96,7 @@ - + - - @@ -131,7 +131,7 @@ - @@ -144,7 +144,7 @@ - + diff --git a/src/share/classes/com/sun/jmx/event/LeaseManager.java b/src/share/classes/com/sun/jmx/event/LeaseManager.java index e1761011f..09a7a03a4 100644 --- a/src/share/classes/com/sun/jmx/event/LeaseManager.java +++ b/src/share/classes/com/sun/jmx/event/LeaseManager.java @@ -141,7 +141,7 @@ public class LeaseManager { } private final Runnable callback; - private ScheduledFuture scheduled; // If null, the lease has expired. + private ScheduledFuture scheduled; // If null, the lease has expired. private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1, diff --git a/src/share/classes/com/sun/jmx/event/LeaseRenewer.java b/src/share/classes/com/sun/jmx/event/LeaseRenewer.java index b3f7c7fee..8ba687722 100644 --- a/src/share/classes/com/sun/jmx/event/LeaseRenewer.java +++ b/src/share/classes/com/sun/jmx/event/LeaseRenewer.java @@ -128,7 +128,7 @@ public class LeaseRenewer { }; private final Callable doRenew; - private ScheduledFuture future; + private ScheduledFuture future; private boolean closed = false; private long nextRenewTime; diff --git a/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java b/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java index 7da3406b9..3d80a09ec 100644 --- a/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java +++ b/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java @@ -247,7 +247,7 @@ public class DefaultMBeanServerInterceptor MBeanRegistrationException, MBeanException, NotCompliantMBeanException, InstanceNotFoundException { - Class theClass; + Class theClass; if (className == null) { final RuntimeException wrapped = @@ -327,7 +327,7 @@ public class DefaultMBeanServerInterceptor // ------------------------------ // ------------------------------ - Class theClass = object.getClass(); + Class theClass = object.getClass(); Introspector.checkCompliance(theClass); @@ -808,9 +808,8 @@ public class DefaultMBeanServerInterceptor // on each specific attribute // allowedAttributes = new AttributeList(attributes.size()); - for (Iterator i = attributes.iterator(); i.hasNext();) { + for (Attribute attribute : attributes.asList()) { try { - Attribute attribute = (Attribute) i.next(); checkMBeanPermission(mbeanServerName, classname, attribute.getName(), name, "setAttribute"); allowedAttributes.add(attribute); @@ -1857,7 +1856,7 @@ public class DefaultMBeanServerInterceptor } } - private static void checkMBeanTrustPermission(final Class theClass) + private static void checkMBeanTrustPermission(final Class theClass) throws SecurityException { SecurityManager sm = System.getSecurityManager(); if (sm != null) { diff --git a/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java b/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java index 35311699d..011bb2d26 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java @@ -136,14 +136,14 @@ final class ClassLoaderRepositorySupport new Hashtable(10); // from javax.management.loading.DefaultLoaderRepository - public final Class loadClass(String className) + public final Class loadClass(String className) throws ClassNotFoundException { return loadClass(loaders, className, null, null); } // from javax.management.loading.DefaultLoaderRepository - public final Class loadClassWithout(ClassLoader without, String className) + public final Class loadClassWithout(ClassLoader without, String className) throws ClassNotFoundException { if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, @@ -167,7 +167,7 @@ final class ClassLoaderRepositorySupport } - public final Class loadClassBefore(ClassLoader stop, String className) + public final Class loadClassBefore(ClassLoader stop, String className) throws ClassNotFoundException { if (MBEANSERVER_LOGGER.isLoggable(Level.FINER)) { MBEANSERVER_LOGGER.logp(Level.FINER, @@ -187,10 +187,10 @@ final class ClassLoaderRepositorySupport } - private Class loadClass(final LoaderEntry list[], - final String className, - final ClassLoader without, - final ClassLoader stop) + private Class loadClass(final LoaderEntry list[], + final String className, + final ClassLoader without, + final ClassLoader stop) throws ClassNotFoundException { final int size = list.length; for(int i=0; i getOpenReturnType() { return returnMapping.getOpenType(); } - OpenType[] getOpenParameterTypes() { - final OpenType[] types = new OpenType[paramMappings.length]; + OpenType[] getOpenParameterTypes() { + final OpenType[] types = new OpenType[paramMappings.length]; for (int i = 0; i < paramMappings.length; i++) types[i] = paramMappings[i].getOpenType(); return types; diff --git a/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java b/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java index b86b2e001..d7ca5b0f6 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java @@ -120,7 +120,7 @@ import javax.management.openmbean.TabularType; */ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { static abstract class NonNullMXBeanMapping extends MXBeanMapping { - NonNullMXBeanMapping(Type javaType, OpenType openType) { + NonNullMXBeanMapping(Type javaType, OpenType openType) { super(javaType, openType); } @@ -195,15 +195,15 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { static { /* Set up the mappings for Java types that map to SimpleType. */ - final OpenType[] simpleTypes = { + final OpenType[] simpleTypes = { BIGDECIMAL, BIGINTEGER, BOOLEAN, BYTE, CHARACTER, DATE, DOUBLE, FLOAT, INTEGER, LONG, OBJECTNAME, SHORT, STRING, VOID, }; for (int i = 0; i < simpleTypes.length; i++) { - final OpenType t = simpleTypes[i]; - Class c; + final OpenType t = simpleTypes[i]; + Class c; try { c = Class.forName(t.getClassName(), false, ObjectName.class.getClassLoader()); @@ -224,7 +224,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { if (primitiveType != void.class) { final Class primitiveArrayType = Array.newInstance(primitiveType, 0).getClass(); - final OpenType primitiveArrayOpenType = + final OpenType primitiveArrayOpenType = ArrayType.getPrimitiveArrayType(primitiveArrayType); final MXBeanMapping primitiveArrayMapping = new IdentityMapping(primitiveArrayType, @@ -285,13 +285,13 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { Type componentType = ((GenericArrayType) objType).getGenericComponentType(); return makeArrayOrCollectionMapping(objType, componentType, factory); - } else if (objType instanceof Class) { + } else if (objType instanceof Class) { Class objClass = (Class) objType; if (objClass.isEnum()) { // Huge hack to avoid compiler warnings here. The ElementType // parameter is ignored but allows us to obtain a type variable // T that matches >. - return makeEnumMapping((Class) objClass, ElementType.class); + return makeEnumMapping((Class) objClass, ElementType.class); } else if (objClass.isArray()) { Type componentType = objClass.getComponentType(); return makeArrayOrCollectionMapping(objClass, componentType, @@ -354,7 +354,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { } private static > MXBeanMapping - makeEnumMapping(Class enumClass, Class fake) { + makeEnumMapping(Class enumClass, Class fake) { return new EnumMapping(Util.>cast(enumClass)); } @@ -414,14 +414,14 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final String objTypeName = objType.toString(); final MXBeanMapping keyMapping = factory.mappingForType(keyType, factory); final MXBeanMapping valueMapping = factory.mappingForType(valueType, factory); - final OpenType keyOpenType = keyMapping.getOpenType(); - final OpenType valueOpenType = valueMapping.getOpenType(); + final OpenType keyOpenType = keyMapping.getOpenType(); + final OpenType valueOpenType = valueMapping.getOpenType(); final CompositeType rowType = new CompositeType(objTypeName, objTypeName, keyValueArray, keyValueArray, - new OpenType[] {keyOpenType, valueOpenType}); + new OpenType[] {keyOpenType, valueOpenType}); final TabularType tabularType = new TabularType(objTypeName, objTypeName, rowType, keyArray); return new TabularMapping(objType, sortedMap, tabularType, @@ -440,8 +440,8 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final Type rawType = objType.getRawType(); - if (rawType instanceof Class) { - Class c = (Class) rawType; + if (rawType instanceof Class) { + Class c = (Class) rawType; if (c == List.class || c == Set.class || c == SortedSet.class) { Type[] actuals = objType.getActualTypeArguments(); assert(actuals.length == 1); @@ -468,7 +468,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { return new MXBeanRefMapping(t); } - private MXBeanMapping makeCompositeMapping(Class c, + private MXBeanMapping makeCompositeMapping(Class c, MXBeanMappingFactory factory) throws OpenDataException { @@ -514,7 +514,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final Method[] getters = new Method[nitems]; final String[] itemNames = new String[nitems]; - final OpenType[] openTypes = new OpenType[nitems]; + final OpenType[] openTypes = new OpenType[nitems]; int i = 0; for (Map.Entry entry : getterMap.entrySet()) { itemNames[i] = entry.getKey(); @@ -546,7 +546,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { can be directly represented by an ArrayType, and an int needs no mapping because reflection takes care of it. */ private static final class IdentityMapping extends NonNullMXBeanMapping { - IdentityMapping(Type targetType, OpenType openType) { + IdentityMapping(Type targetType, OpenType openType) { super(targetType, openType); } @@ -576,7 +576,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { @Override final Object toNonNullOpenValue(Object value) { - return ((Enum) value).name(); + return ((Enum) value).name(); } @Override @@ -595,7 +595,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { private static final class ArrayMapping extends NonNullMXBeanMapping { ArrayMapping(Type targetType, - ArrayType openArrayType, Class openArrayClass, + ArrayType openArrayType, Class openArrayClass, MXBeanMapping elementMapping) { super(targetType, openArrayType); this.elementMapping = elementMapping; @@ -623,7 +623,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { if (javaType instanceof GenericArrayType) { componentType = ((GenericArrayType) javaType).getGenericComponentType(); - } else if (javaType instanceof Class && + } else if (javaType instanceof Class && ((Class) javaType).isArray()) { componentType = ((Class) javaType).getComponentType(); } else { @@ -651,8 +651,8 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { private static final class CollectionMapping extends NonNullMXBeanMapping { CollectionMapping(Type targetType, - ArrayType openArrayType, - Class openArrayClass, + ArrayType openArrayType, + Class openArrayClass, MXBeanMapping elementMapping) { super(targetType, openArrayType); this.elementMapping = elementMapping; @@ -662,26 +662,28 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { and all Sets to TreeSet. (TreeSet because it is a SortedSet, so works for both Set and SortedSet.) */ Type raw = ((ParameterizedType) targetType).getRawType(); - Class c = (Class) raw; + Class c = (Class) raw; + final Class collC; if (c == List.class) - collectionClass = ArrayList.class; + collC = ArrayList.class; else if (c == Set.class) - collectionClass = HashSet.class; + collC = HashSet.class; else if (c == SortedSet.class) - collectionClass = TreeSet.class; + collC = TreeSet.class; else { // can't happen assert(false); - collectionClass = null; + collC = null; } + collectionClass = Util.cast(collC); } @Override final Object toNonNullOpenValue(Object value) throws OpenDataException { - final Collection valueCollection = (Collection) value; - if (valueCollection instanceof SortedSet) { - Comparator comparator = - ((SortedSet) valueCollection).comparator(); + final Collection valueCollection = (Collection) value; + if (valueCollection instanceof SortedSet) { + Comparator comparator = + ((SortedSet) valueCollection).comparator(); if (comparator != null) { final String msg = "Cannot convert SortedSet with non-null comparator: " + @@ -725,7 +727,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { elementMapping.checkReconstructible(); } - private final Class collectionClass; + private final Class> collectionClass; private final MXBeanMapping elementMapping; } @@ -794,8 +796,8 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { @Override final Object toNonNullOpenValue(Object value) throws OpenDataException { final Map valueMap = cast(value); - if (valueMap instanceof SortedMap) { - Comparator comparator = ((SortedMap) valueMap).comparator(); + if (valueMap instanceof SortedMap) { + Comparator comparator = ((SortedMap) valueMap).comparator(); if (comparator != null) { final String msg = "Cannot convert SortedMap with non-null comparator: " + @@ -806,7 +808,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final TabularType tabularType = (TabularType) getOpenType(); final TabularData table = new TabularDataSupport(tabularType); final CompositeType rowType = tabularType.getRowType(); - for (Map.Entry entry : valueMap.entrySet()) { + for (Map.Entry entry : valueMap.entrySet()) { final Object openKey = keyMapping.toOpenValue(entry.getKey()); final Object openValue = valueMapping.toOpenValue(entry.getValue()); final CompositeData row; @@ -852,7 +854,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { } private final class CompositeMapping extends NonNullMXBeanMapping { - CompositeMapping(Class targetClass, + CompositeMapping(Class targetClass, CompositeType compositeType, String[] itemNames, Method[] getters, @@ -901,7 +903,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { if (compositeBuilder != null) return; - Class targetClass = (Class) getJavaType(); + Class targetClass = (Class) getJavaType(); /* In this 2D array, each subarray is a set of builders where there is no point in consulting the ones after the first if the first refuses. */ @@ -973,7 +975,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { /** Converts from a CompositeData to an instance of the targetClass. */ private static abstract class CompositeBuilder { - CompositeBuilder(Class targetClass, String[] itemNames) { + CompositeBuilder(Class targetClass, String[] itemNames) { this.targetClass = targetClass; this.itemNames = itemNames; } @@ -1008,7 +1010,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { private static final class CompositeBuilderViaFrom extends CompositeBuilder { - CompositeBuilderViaFrom(Class targetClass, String[] itemNames) { + CompositeBuilderViaFrom(Class targetClass, String[] itemNames) { super(targetClass, itemNames); } @@ -1018,8 +1020,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { Class targetClass = getTargetClass(); try { Method fromMethod = - targetClass.getMethod("from", - new Class[] {CompositeData.class}); + targetClass.getMethod("from", CompositeData.class); if (!Modifier.isStatic(fromMethod.getModifiers())) { final String msg = @@ -1071,7 +1072,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { If all the getters are OK, then the "applicable" method will return an empty string and the other builders will be tried. */ private static class CompositeBuilderCheckGetters extends CompositeBuilder { - CompositeBuilderCheckGetters(Class targetClass, String[] itemNames, + CompositeBuilderCheckGetters(Class targetClass, String[] itemNames, MXBeanMapping[] getterConverters) { super(targetClass, itemNames); this.getterConverters = getterConverters; @@ -1115,7 +1116,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { Method[] setters = new Method[getters.length]; for (int i = 0; i < getters.length; i++) { Method getter = getters[i]; - Class returnType = getter.getReturnType(); + Class returnType = getter.getReturnType(); String name = propertyName(getter); String setterName = "set" + name; Method setter; @@ -1163,7 +1164,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { private static final class CompositeBuilderViaConstructor extends CompositeBuilder { - CompositeBuilderViaConstructor(Class targetClass, String[] itemNames) { + CompositeBuilderViaConstructor(Class targetClass, String[] itemNames) { super(targetClass, itemNames); } @@ -1171,7 +1172,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final Class propertyNamesClass = ConstructorProperties.class; - Class targetClass = getTargetClass(); + Class targetClass = getTargetClass(); Constructor[] constrs = targetClass.getConstructors(); // Applicable if and only if there are any annotated constructors @@ -1384,12 +1385,12 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { private static final class CompositeBuilderViaProxy extends CompositeBuilder { - CompositeBuilderViaProxy(Class targetClass, String[] itemNames) { + CompositeBuilderViaProxy(Class targetClass, String[] itemNames) { super(targetClass, itemNames); } String applicable(Method[] getters) { - Class targetClass = getTargetClass(); + Class targetClass = getTargetClass(); if (!targetClass.isInterface()) return "not an interface"; Set methods = @@ -1401,7 +1402,7 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { String bad = null; for (Method m : methods) { String mname = m.getName(); - Class[] mparams = m.getParameterTypes(); + Class[] mparams = m.getParameterTypes(); try { Method om = Object.class.getMethod(mname, mparams); if (!Modifier.isPublic(om.getModifiers())) @@ -1422,10 +1423,10 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { final Object fromCompositeData(CompositeData cd, String[] itemNames, MXBeanMapping[] converters) { - final Class targetClass = getTargetClass(); + final Class targetClass = getTargetClass(); return Proxy.newProxyInstance(targetClass.getClassLoader(), - new Class[] {targetClass}, + new Class[] {targetClass}, new CompositeDataInvocationHandler(cd)); } } @@ -1447,9 +1448,9 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory { return openDataException(cause.getMessage(), cause); } - static void mustBeComparable(Class collection, Type element) + static void mustBeComparable(Class collection, Type element) throws OpenDataException { - if (!(element instanceof Class) + if (!(element instanceof Class) || !Comparable.class.isAssignableFrom((Class) element)) { final String msg = "Parameter class " + element + " of " + diff --git a/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java b/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java index 52783fd5a..da4209cd2 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java @@ -115,7 +115,7 @@ public class Introspector { * Dynamic MBeans, false otherwise. * **/ - public static final boolean isDynamic(final Class c) { + public static final boolean isDynamic(final Class c) { // Check if the MBean implements the DynamicMBean interface return javax.management.DynamicMBean.class.isAssignableFrom(c); } @@ -134,7 +134,7 @@ public class Introspector { * MBeanServer. * **/ - public static void testCreation(Class c) + public static void testCreation(Class c) throws NotCompliantMBeanException { // Check if the class is a concrete class final int mods = c.getModifiers(); @@ -143,7 +143,7 @@ public class Introspector { } // Check if the MBean has a public constructor - final Constructor[] consList = c.getConstructors(); + final Constructor[] consList = c.getConstructors(); if (consList.length == 0) { throw new NotCompliantMBeanException("MBean class must have public constructor"); } @@ -253,7 +253,7 @@ public class Introspector { * @exception NotCompliantMBeanException The specified class is not a * JMX compliant MBean */ - public static MBeanInfo testCompliance(Class baseClass) + public static MBeanInfo testCompliance(Class baseClass) throws NotCompliantMBeanException { // ------------------------------ @@ -267,7 +267,7 @@ public class Introspector { return testCompliance(baseClass, null); } - public static void testComplianceMXBeanInterface(Class interfaceClass, + public static void testComplianceMXBeanInterface(Class interfaceClass, MXBeanMappingFactory factory) throws NotCompliantMBeanException { MXBeanIntrospector.getInstance(factory).getAnalyzer(interfaceClass); @@ -596,10 +596,10 @@ public class Introspector { ss[i] = (String) annotationToField(xx[i]); return ss; } - if (x instanceof Class) + if (x instanceof Class) return ((Class) x).getName(); - if (x instanceof Enum) - return ((Enum) x).name(); + if (x instanceof Enum) + return ((Enum) x).name(); // The only other possibility is that the value is another // annotation, or that the language has evolved since this code // was written. We don't allow for either of those currently. diff --git a/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java b/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java index 777cd1cce..14ee0ac52 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java @@ -33,6 +33,7 @@ import java.security.AccessController; import java.security.Permission; import java.security.PrivilegedExceptionAction; import java.util.Iterator; +import java.util.List; import java.util.Set; import java.util.logging.Level; @@ -1144,7 +1145,7 @@ public final class JmxMBeanServer // This call requires MBeanPermission 'getClassLoaderRepository' final ClassLoaderRepository clr = getClassLoaderRepository(); - Class theClass; + Class theClass; try { if (clr == null) throw new ClassNotFoundException(className); theClass = clr.loadClass(className); @@ -1457,23 +1458,22 @@ public final class JmxMBeanServer */ private AttributeList cloneAttributeList(AttributeList list) { if (list != null) { + List alist = list.asList(); if (!list.getClass().equals(AttributeList.class)) { // Create new attribute list // - AttributeList newList = new AttributeList(list.size()); + AttributeList newList = new AttributeList(alist.size()); // Iterate through list and replace non JMX attributes // - for (Iterator i = list.iterator(); i.hasNext(); ) { - Attribute attribute = (Attribute) i.next(); + for (Attribute attribute : alist) newList.add(cloneAttribute(attribute)); - } return newList; } else { // Iterate through list and replace non JMX attributes // - for (int i = 0; i < list.size(); i++) { - Attribute attribute = (Attribute) list.get(i); + for (int i = 0; i < alist.size(); i++) { + Attribute attribute = alist.get(i); if (!attribute.getClass().equals(Attribute.class)) { list.set(i, cloneAttribute(attribute)); } diff --git a/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java b/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java index 019793b8d..789fd661a 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java @@ -70,7 +70,7 @@ public class MBeanInstantiator { * instantiate an MBean of this class in the MBeanServer. * e.g. it must have a public constructor, be a concrete class... */ - public void testCreation(Class c) throws NotCompliantMBeanException { + public void testCreation(Class c) throws NotCompliantMBeanException { Introspector.testCreation(c); } @@ -78,10 +78,10 @@ public class MBeanInstantiator { * Loads the class with the specified name using this object's * Default Loader Repository. **/ - public Class findClassWithDefaultLoaderRepository(String className) + public Class findClassWithDefaultLoaderRepository(String className) throws ReflectionException { - Class theClass; + Class theClass; if (className == null) { throw new RuntimeOperationsException(new IllegalArgumentException("The class name cannot be null"), @@ -105,7 +105,7 @@ public class MBeanInstantiator { * Gets the class for the specified class name using the MBean * Interceptor's classloader */ - public Class findClass(String className, ClassLoader loader) + public Class findClass(String className, ClassLoader loader) throws ReflectionException { return loadClass(className,loader); @@ -115,7 +115,7 @@ public class MBeanInstantiator { * Gets the class for the specified class name using the specified * class loader */ - public Class findClass(String className, ObjectName aLoader) + public Class findClass(String className, ObjectName aLoader) throws ReflectionException, InstanceNotFoundException { if (aLoader == null) @@ -140,14 +140,14 @@ public class MBeanInstantiator { * Return an array of Class corresponding to the given signature, using * the specified class loader. */ - public Class[] findSignatureClasses(String signature[], - ClassLoader loader) - throws ReflectionException { + public Class[] findSignatureClasses(String signature[], + ClassLoader loader) + throws ReflectionException { if (signature == null) return null; final ClassLoader aLoader = loader; final int length= signature.length; - final Class tab[]=new Class[length]; + final Class tab[]=new Class[length]; if (length == 0) return tab; try { @@ -156,7 +156,7 @@ public class MBeanInstantiator { // forth) // - final Class primCla = primitiveClasses.get(signature[i]); + final Class primCla = primitiveClasses.get(signature[i]); if (primCla != null) { tab[i] = primCla; continue; @@ -203,14 +203,14 @@ public class MBeanInstantiator { * Instantiates an object given its class, using its empty constructor. * The call returns a reference to the newly created object. */ - public Object instantiate(Class theClass) + public Object instantiate(Class theClass) throws ReflectionException, MBeanException { Object moi; // ------------------------------ // ------------------------------ - Constructor cons = findConstructor(theClass, null); + Constructor cons = findConstructor(theClass, null); if (cons == null) { throw new ReflectionException(new NoSuchMethodException("No such constructor")); @@ -257,14 +257,14 @@ public class MBeanInstantiator { * signature of its constructor The call returns a reference to * the newly created object. */ - public Object instantiate(Class theClass, Object params[], + public Object instantiate(Class theClass, Object params[], String signature[], ClassLoader loader) throws ReflectionException, MBeanException { // Instantiate the new object // ------------------------------ // ------------------------------ - final Class[] tab; + final Class[] tab; Object moi; try { // Build the signature of the method @@ -283,7 +283,7 @@ public class MBeanInstantiator { } // Query the metadata service to get the right constructor - Constructor cons = findConstructor(theClass, tab); + Constructor cons = findConstructor(theClass, tab); if (cons == null) { throw new ReflectionException(new @@ -407,7 +407,7 @@ public class MBeanInstantiator { throw new RuntimeOperationsException(new IllegalArgumentException(), "Null className passed in parameter"); } - Class theClass; + Class theClass; if (loaderName == null) { // Load the class using the agent class loader theClass = findClass(className, loader); @@ -547,7 +547,7 @@ public class MBeanInstantiator { throws ReflectionException, MBeanException { - Class theClass = findClassWithDefaultLoaderRepository(className); + Class theClass = findClassWithDefaultLoaderRepository(className); return instantiate(theClass, params, signature, loader); } @@ -595,7 +595,7 @@ public class MBeanInstantiator { // ------------------------------ // ------------------------------ - Class theClass; + Class theClass; if (loaderName == null) { theClass = findClass(className, loader); @@ -617,10 +617,10 @@ public class MBeanInstantiator { * Load a class with the specified loader, or with this object * class loader if the specified loader is null. **/ - static Class loadClass(String className, ClassLoader loader) + static Class loadClass(String className, ClassLoader loader) throws ReflectionException { - Class theClass; + Class theClass; if (className == null) { throw new RuntimeOperationsException(new IllegalArgumentException("The class name cannot be null"), @@ -647,15 +647,15 @@ public class MBeanInstantiator { * Load the classes specified in the signature with the given loader, * or with this object class loader. **/ - static Class[] loadSignatureClasses(String signature[], - ClassLoader loader) + static Class[] loadSignatureClasses(String signature[], + ClassLoader loader) throws ReflectionException { if (signature == null) return null; final ClassLoader aLoader = (loader==null?MBeanInstantiator.class.getClassLoader():loader); final int length= signature.length; - final Class tab[]=new Class[length]; + final Class tab[]=new Class[length]; if (length == 0) return tab; try { @@ -664,7 +664,7 @@ public class MBeanInstantiator { // forth) // - final Class primCla = primitiveClasses.get(signature[i]); + final Class primCla = primitiveClasses.get(signature[i]); if (primCla != null) { tab[i] = primCla; continue; @@ -710,9 +710,9 @@ public class MBeanInstantiator { private static final Map> primitiveClasses = Util.newMap(); static { - for (Class c : new Class[] {byte.class, short.class, int.class, - long.class, float.class, double.class, - char.class, boolean.class}) + for (Class c : new Class[] {byte.class, short.class, int.class, + long.class, float.class, double.class, + char.class, boolean.class}) primitiveClasses.put(c.getName(), c); } } diff --git a/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java b/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java index 6479f9751..bcb6f869c 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java @@ -160,7 +160,7 @@ class MXBeanIntrospector extends MBeanIntrospector { // matched to the corresponding Java type, except when that // type is primitive. Type t = m.getGenericParameterTypes()[paramNo]; - return (!(t instanceof Class) || !((Class) t).isPrimitive()); + return (!(t instanceof Class) || !((Class) t).isPrimitive()); } else { Object v; try { @@ -354,7 +354,7 @@ class MXBeanIntrospector extends MBeanIntrospector { } } - private static Descriptor typeDescriptor(OpenType openType, + private static Descriptor typeDescriptor(OpenType openType, Type originalType) { return new ImmutableDescriptor( new String[] {"openType", @@ -380,16 +380,16 @@ class MXBeanIntrospector extends MBeanIntrospector { if (type instanceof GenericArrayType) { return canUseOpenInfo( ((GenericArrayType) type).getGenericComponentType()); - } else if (type instanceof Class && ((Class) type).isArray()) { + } else if (type instanceof Class && ((Class) type).isArray()) { return canUseOpenInfo( ((Class) type).getComponentType()); } - return (!(type instanceof Class && ((Class) type).isPrimitive())); + return (!(type instanceof Class && ((Class) type).isPrimitive())); } private static String originalTypeString(Type type) { - if (type instanceof Class) - return ((Class) type).getName(); + if (type instanceof Class) + return ((Class) type).getName(); else return genericTypeString(type); } diff --git a/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java b/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java index 2c74e5890..cbdce77a7 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java @@ -54,7 +54,8 @@ class ObjectInputStreamWithLoader extends ObjectInputStream { this.loader = theLoader; } - protected Class resolveClass(ObjectStreamClass aClass) + @Override + protected Class resolveClass(ObjectStreamClass aClass) throws IOException, ClassNotFoundException { if (loader == null) { return super.resolveClass(aClass); diff --git a/src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java b/src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java index 0576f80eb..b078bac8f 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/SecureClassLoaderRepository.java @@ -47,16 +47,16 @@ final class SecureClassLoaderRepository public SecureClassLoaderRepository(ClassLoaderRepository clr) { this.clr=clr; } - public final Class loadClass(String className) + public final Class loadClass(String className) throws ClassNotFoundException { return clr.loadClass(className); } - public final Class loadClassWithout(ClassLoader loader, + public final Class loadClassWithout(ClassLoader loader, String className) throws ClassNotFoundException { return clr.loadClassWithout(loader,className); } - public final Class loadClassBefore(ClassLoader loader, + public final Class loadClassBefore(ClassLoader loader, String className) throws ClassNotFoundException { return clr.loadClassBefore(loader,className); diff --git a/src/share/classes/com/sun/jmx/mbeanserver/Util.java b/src/share/classes/com/sun/jmx/mbeanserver/Util.java index 6307adbf8..5fe4d1542 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/Util.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/Util.java @@ -669,7 +669,7 @@ public class Util { } public static Set cloneSet(Set set) { - if (set instanceof SortedSet) { + if (set instanceof SortedSet) { @SuppressWarnings("unchecked") SortedSet sset = (SortedSet) set; set = new TreeSet(sset.comparator()); @@ -680,7 +680,7 @@ public class Util { } public static Set equivalentEmptySet(Set set) { - if (set instanceof SortedSet) { + if (set instanceof SortedSet) { @SuppressWarnings("unchecked") SortedSet sset = (SortedSet) set; set = new TreeSet(sset.comparator()); diff --git a/src/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java b/src/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java index b6662937f..6f8ed6e94 100644 --- a/src/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java +++ b/src/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java @@ -118,9 +118,9 @@ class WeakIdentityHashMap { public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof IdentityWeakReference)) + if (!(o instanceof IdentityWeakReference)) return false; - IdentityWeakReference wr = (IdentityWeakReference) o; + IdentityWeakReference wr = (IdentityWeakReference) o; Object got = get(); return (got != null && got == wr.get()); } diff --git a/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java b/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java index 234f50f22..cd4de2aae 100644 --- a/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java +++ b/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java @@ -120,7 +120,7 @@ public class ArrayNotificationBuffer implements NotificationBuffer { private final Collection sharers = new HashSet(1); public static NotificationBuffer getNotificationBuffer( - MBeanServer mbs, Map env) { + MBeanServer mbs, Map env) { if (env == null) env = Collections.emptyMap(); diff --git a/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java b/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java index ab6bd60ca..cb94371fd 100644 --- a/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java +++ b/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java @@ -54,7 +54,7 @@ import com.sun.jmx.remote.util.EnvHelp; public abstract class ClientNotifForwarder { - public ClientNotifForwarder(Map env) { + public ClientNotifForwarder(Map env) { this(null, env); } @@ -113,7 +113,7 @@ public abstract class ClientNotifForwarder { private Thread thread; } - public ClientNotifForwarder(ClassLoader defaultClassLoader, Map env) { + public ClientNotifForwarder(ClassLoader defaultClassLoader, Map env) { maxNotifications = EnvHelp.getMaxFetchNotifNumber(env); timeout = EnvHelp.getFetchTimeout(env); diff --git a/src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java b/src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java index 8d57b8f92..b61082806 100644 --- a/src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java +++ b/src/share/classes/com/sun/jmx/remote/internal/ProxyInputStream.java @@ -36,7 +36,7 @@ import org.omg.CORBA.ORB; import org.omg.CORBA.TypeCode; import org.omg.CORBA.portable.BoxedValueHelper; -@SuppressWarnings("deprecation") +@SuppressWarnings({"deprecation", "rawtypes"}) public class ProxyInputStream extends org.omg.CORBA_2_3.portable.InputStream { public ProxyInputStream(org.omg.CORBA.portable.InputStream in) { this.in = in; diff --git a/src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java b/src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java index c3542cc1d..dab9b872d 100644 --- a/src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java +++ b/src/share/classes/com/sun/jmx/remote/internal/ServerNotifForwarder.java @@ -59,7 +59,7 @@ public class ServerNotifForwarder { public ServerNotifForwarder(MBeanServer mbeanServer, - Map env, + Map env, NotificationBuffer notifBuffer, String connectionId) { this.mbeanServer = mbeanServer; diff --git a/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java b/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java index 64c00b017..614edd464 100644 --- a/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java +++ b/src/share/classes/com/sun/jmx/remote/internal/Unmarshal.java @@ -29,6 +29,6 @@ import java.io.IOException; import java.rmi.MarshalledObject; public interface Unmarshal { - public Object get(MarshalledObject mo) + public Object get(MarshalledObject mo) throws IOException, ClassNotFoundException; } diff --git a/src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java b/src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java index a901a19c8..33cd6b4ce 100644 --- a/src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java +++ b/src/share/classes/com/sun/jmx/remote/security/FileLoginModule.java @@ -26,6 +26,7 @@ package com.sun.jmx.remote.security; import com.sun.jmx.mbeanserver.GetPropertyAction; +import com.sun.jmx.mbeanserver.Util; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -146,8 +147,8 @@ public class FileLoginModule implements LoginModule { // Initial state private Subject subject; private CallbackHandler callbackHandler; - private Map sharedState; - private Map options; + private Map sharedState; + private Map options; private String passwordFile; private String passwordFileDisplayName; private boolean userSuppliedPasswordFile; @@ -172,7 +173,7 @@ public class FileLoginModule implements LoginModule { this.subject = subject; this.callbackHandler = callbackHandler; - this.sharedState = sharedState; + this.sharedState = Util.cast(sharedState); this.options = options; // initialize any configured options @@ -454,8 +455,8 @@ public class FileLoginModule implements LoginModule { if (storePass && !sharedState.containsKey(USERNAME_KEY) && !sharedState.containsKey(PASSWORD_KEY)) { - ((Map) sharedState).put(USERNAME_KEY, username); - ((Map) sharedState).put(PASSWORD_KEY, password); + sharedState.put(USERNAME_KEY, username); + sharedState.put(PASSWORD_KEY, password); } // Create a new user principal diff --git a/src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java b/src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java index 631ee3e3b..70c72eaf9 100644 --- a/src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java +++ b/src/share/classes/com/sun/jmx/remote/security/JMXPluggableAuthenticator.java @@ -87,7 +87,7 @@ public final class JMXPluggableAuthenticator implements JMXAuthenticator { * @exception SecurityException if the authentication mechanism cannot be * initialized. */ - public JMXPluggableAuthenticator(Map env) { + public JMXPluggableAuthenticator(Map env) { String loginConfigName = null; String passwordFile = null; diff --git a/src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java b/src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java index 2e90b11bf..66c78f277 100644 --- a/src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java +++ b/src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java @@ -249,9 +249,8 @@ public class MBeanServerFileAccessController } }); if (s == null) return; /* security has not been enabled */ - final Set principals = s.getPrincipals(); - for (Iterator i = principals.iterator(); i.hasNext(); ) { - final Principal p = (Principal) i.next(); + final Set principals = s.getPrincipals(); + for (Principal p : principals) { String grantedAccessLevel; synchronized (props) { grantedAccessLevel = props.getProperty(p.getName()); @@ -271,8 +270,8 @@ public class MBeanServerFileAccessController } private void checkValues(Properties props) { - Collection c = props.values(); - for (Iterator i = c.iterator(); i.hasNext(); ) { + Collection c = props.values(); + for (Iterator i = c.iterator(); i.hasNext(); ) { final String accessLevel = (String) i.next(); if (!accessLevel.equals(READONLY) && !accessLevel.equals(READWRITE)) { diff --git a/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java b/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java index dfbabeb41..f59f3265f 100644 --- a/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java +++ b/src/share/classes/com/sun/jmx/remote/util/ClassLoaderWithRepository.java @@ -38,7 +38,7 @@ public class ClassLoaderWithRepository extends ClassLoader { this.cl2 = cl2; } - protected Class findClass(String name) throws ClassNotFoundException { + protected Class findClass(String name) throws ClassNotFoundException { try { return repository.loadClass(name); } catch (ClassNotFoundException cne) { diff --git a/src/share/classes/com/sun/jmx/remote/util/ClassLogger.java b/src/share/classes/com/sun/jmx/remote/util/ClassLogger.java index c3a1c451a..2cd6a02e1 100644 --- a/src/share/classes/com/sun/jmx/remote/util/ClassLogger.java +++ b/src/share/classes/com/sun/jmx/remote/util/ClassLogger.java @@ -41,7 +41,7 @@ public class ClassLogger { people to use at least J2SE 1.4. */ boolean loaded = false; try { - Class c = java.util.logging.Logger.class; + Class c = java.util.logging.Logger.class; loaded = true; } catch (Error e) { // OK. diff --git a/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java b/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java index 67b9ea595..c86df1c88 100644 --- a/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java +++ b/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java @@ -117,7 +117,7 @@ public class EnvHelp { * jmx.remote.default.class.loader.name is specified * and the ClassLoader MBean is not found in mbs. */ - public static ClassLoader resolveServerClassLoader(Map env, + public static ClassLoader resolveServerClassLoader(Map env, MBeanServer mbs) throws InstanceNotFoundException { @@ -194,7 +194,7 @@ public class EnvHelp { * jmx.remote.default.class.loader is specified * and is not an instance of {@link ClassLoader}. */ - public static ClassLoader resolveClientClassLoader(Map env) { + public static ClassLoader resolveClientClassLoader(Map env) { if (env == null) return Thread.currentThread().getContextClassLoader(); @@ -241,7 +241,7 @@ public class EnvHelp { try { java.lang.reflect.Method getCause = - t.getClass().getMethod("getCause", (Class[]) null); + t.getClass().getMethod("getCause", (Class[]) null); ret = (Throwable)getCause.invoke(t, (Object[]) null); } catch (Exception e) { @@ -264,7 +264,7 @@ public class EnvHelp { * Returns the size of a notification buffer for a connector server. * The default value is 1000. */ - public static int getNotifBufferSize(Map env) { + public static int getNotifBufferSize(Map env) { int defaultQueueSize = 1000; // default value // keep it for the compability for the fix: @@ -327,7 +327,7 @@ public class EnvHelp { * Returns the maximum notification number which a client will * fetch every time. */ - public static int getMaxFetchNotifNumber(Map env) { + public static int getMaxFetchNotifNumber(Map env) { return (int) getIntegerAttribute(env, MAX_FETCH_NOTIFS, 1000, 1, Integer.MAX_VALUE); } @@ -344,7 +344,7 @@ public class EnvHelp { /** * Returns the timeout for a client to fetch notifications. */ - public static long getFetchTimeout(Map env) { + public static long getFetchTimeout(Map env) { return getIntegerAttribute(env, FETCH_TIMEOUT, 60000L, 0, Long.MAX_VALUE); } @@ -361,7 +361,7 @@ public class EnvHelp { "com.sun.jmx.remote.notification.access.controller"; public static NotificationAccessController getNotificationAccessController( - Map env) { + Map env) { return (env == null) ? null : (NotificationAccessController) env.get(NOTIF_ACCESS_CONTROLLER); } @@ -378,7 +378,7 @@ public class EnvHelp { * an entry for name but it does not meet the * constraints above. */ - public static long getIntegerAttribute(Map env, String name, + public static long getIntegerAttribute(Map env, String name, long defaultValue, long minValue, long maxValue) { final Object o; @@ -421,9 +421,8 @@ public class EnvHelp { /* Check that all attributes have a key that is a String. Could make further checks, e.g. appropriate types for attributes. */ - public static void checkAttributes(Map attributes) { - for (Iterator it = attributes.keySet().iterator(); it.hasNext(); ) { - Object key = it.next(); + public static void checkAttributes(Map attributes) { + for (Object key : attributes.keySet()) { if (!(key instanceof String)) { final String msg = "Attributes contain key that is not a string: " + key; @@ -455,7 +454,7 @@ public class EnvHelp { logger.trace("purgeUnserializable", "starts"); ObjectOutputStream oos = null; int i = 0; - for (Iterator it = objects.iterator(); it.hasNext(); i++) { + for (Iterator it = objects.iterator(); it.hasNext(); i++) { Object v = it.next(); if (v == null || v instanceof String) { @@ -564,18 +563,18 @@ public class EnvHelp { guarantees that we will never call next() on the corresponding iterator. */ String sentinelKey = map.lastKey() + "X"; - Iterator keyIterator = map.keySet().iterator(); - Iterator stringIterator = hiddenStrings.iterator(); - Iterator prefixIterator = hiddenPrefixes.iterator(); + Iterator keyIterator = map.keySet().iterator(); + Iterator stringIterator = hiddenStrings.iterator(); + Iterator prefixIterator = hiddenPrefixes.iterator(); String nextString; if (stringIterator.hasNext()) - nextString = (String) stringIterator.next(); + nextString = stringIterator.next(); else nextString = sentinelKey; String nextPrefix; if (prefixIterator.hasNext()) - nextPrefix = (String) prefixIterator.next(); + nextPrefix = prefixIterator.next(); else nextPrefix = sentinelKey; @@ -583,7 +582,7 @@ public class EnvHelp { or prefix, remove it. */ keys: while (keyIterator.hasNext()) { - String key = (String) keyIterator.next(); + String key = keyIterator.next(); /* Continue through string-match values until we find one that is either greater than the current key, or equal @@ -591,7 +590,7 @@ public class EnvHelp { int cmp = +1; while ((cmp = nextString.compareTo(key)) < 0) { if (stringIterator.hasNext()) - nextString = (String) stringIterator.next(); + nextString = stringIterator.next(); else nextString = sentinelKey; } @@ -609,7 +608,7 @@ public class EnvHelp { continue keys; } if (prefixIterator.hasNext()) - nextPrefix = (String) prefixIterator.next(); + nextPrefix = prefixIterator.next(); else nextPrefix = sentinelKey; } @@ -640,7 +639,7 @@ public class EnvHelp { /** * Returns the server side connection timeout. */ - public static long getServerConnectionTimeout(Map env) { + public static long getServerConnectionTimeout(Map env) { return getIntegerAttribute(env, SERVER_CONNECTION_TIMEOUT, 120000L, 0, Long.MAX_VALUE); } @@ -656,7 +655,7 @@ public class EnvHelp { /** * Returns the client connection check period. */ - public static long getConnectionCheckPeriod(Map env) { + public static long getConnectionCheckPeriod(Map env) { return getIntegerAttribute(env, CLIENT_CONNECTION_CHECK_PERIOD, 60000L, 0, Long.MAX_VALUE); } @@ -691,7 +690,7 @@ public class EnvHelp { * to {@code String}. */ public static boolean computeBooleanFromString( - Map env, String prop, boolean systemProperty) { + Map env, String prop, boolean systemProperty) { if (env == null) throw new IllegalArgumentException("env map cannot be null"); @@ -744,7 +743,8 @@ public class EnvHelp { * to {@code String}. */ public static boolean computeBooleanFromString( - Map env, String prop, boolean systemProperty, boolean defaultValue) { + Map env, String prop, + boolean systemProperty, boolean defaultValue) { if (env == null) throw new IllegalArgumentException("env map cannot be null"); @@ -774,7 +774,7 @@ public class EnvHelp { public static Hashtable mapToHashtable(Map map) { HashMap m = new HashMap(map); if (m.containsKey(null)) m.remove(null); - for (Iterator i = m.values().iterator(); i.hasNext(); ) + for (Iterator i = m.values().iterator(); i.hasNext(); ) if (i.next() == null) i.remove(); return new Hashtable(m); } @@ -783,7 +783,7 @@ public class EnvHelp { * Returns true if the parameter JMXConnector.USE_EVENT_SERVICE is set to a * String equals "true" by ignoring case in the map or in the System. */ - public static boolean eventServiceEnabled(Map env) { + public static boolean eventServiceEnabled(Map env) { return computeBooleanFromString(env, JMXConnector.USE_EVENT_SERVICE, true); } @@ -793,7 +793,7 @@ public class EnvHelp { * If the property DELEGATE_TO_EVENT_SERVICE is not set, returns * a default value of "true". */ - public static boolean delegateToEventService(Map env) { + public static boolean delegateToEventService(Map env) { return computeBooleanFromString(env, JMXConnectorServer.DELEGATE_TO_EVENT_SERVICE, true, true); } diff --git a/src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java b/src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java index 6281b68a5..b66089873 100644 --- a/src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java +++ b/src/share/classes/com/sun/jmx/remote/util/EventClientConnection.java @@ -138,8 +138,8 @@ public class EventClientConnection implements InvocationHandler, Class interfaceClass, Callable eventClientFactory) { final InvocationHandler handler = new EventClientConnection(connection,eventClientFactory); - final Class[] interfaces = - new Class[] {interfaceClass, EventClientFactory.class}; + final Class[] interfaces = + new Class[] {interfaceClass, EventClientFactory.class}; Object proxy = Proxy.newProxyInstance(interfaceClass.getClassLoader(), @@ -156,7 +156,7 @@ public class EventClientConnection implements InvocationHandler, // add/remove notification listener are routed to the EventClient if (methodName.equals("addNotificationListener") || methodName.equals("removeNotificationListener")) { - final Class[] sig = method.getParameterTypes(); + final Class[] sig = method.getParameterTypes(); if (sig.length>1 && NotificationListener.class.isAssignableFrom(sig[1])) { return invokeBroadcasterMethod(proxy,method,args); @@ -164,7 +164,7 @@ public class EventClientConnection implements InvocationHandler, } // subscribe/unsubscribe are also routed to the EventClient. - final Class clazz = method.getDeclaringClass(); + final Class clazz = method.getDeclaringClass(); if (clazz.equals(EventClientFactory.class)) { return invokeEventClientSubscriberMethod(proxy,method,args); } @@ -319,7 +319,7 @@ public class EventClientConnection implements InvocationHandler, return true; if (methodName.equals("equals") && Arrays.equals(method.getParameterTypes(), - new Class[] {Object.class}) + new Class[] {Object.class}) && isLocal(proxy, method)) return true; return false; diff --git a/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java b/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java index b54a23b2b..041736310 100644 --- a/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java +++ b/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java @@ -32,7 +32,7 @@ public class OrderClassLoaders extends ClassLoader { this.cl2 = cl2; } - protected Class findClass(String name) throws ClassNotFoundException { + protected Class findClass(String name) throws ClassNotFoundException { try { return super.findClass(name); } catch (ClassNotFoundException cne) { diff --git a/src/share/classes/javax/management/AttributeList.java b/src/share/classes/javax/management/AttributeList.java index b385c3c0f..1ce3004a3 100644 --- a/src/share/classes/javax/management/AttributeList.java +++ b/src/share/classes/javax/management/AttributeList.java @@ -159,7 +159,7 @@ public class AttributeList extends ArrayList { checkTypeSafe(this); typeSafe = true; } - return (List) (List) this; + return (List) (List) this; } /** diff --git a/src/share/classes/javax/management/DefaultLoaderRepository.java b/src/share/classes/javax/management/DefaultLoaderRepository.java index 6cf16435a..85028b44c 100644 --- a/src/share/classes/javax/management/DefaultLoaderRepository.java +++ b/src/share/classes/javax/management/DefaultLoaderRepository.java @@ -62,7 +62,7 @@ public class DefaultLoaderRepository { * * @exception ClassNotFoundException The specified class could not be found. */ - public static Class loadClass(String className) + public static Class loadClass(String className) throws ClassNotFoundException { return javax.management.loading.DefaultLoaderRepository.loadClass(className); } @@ -82,7 +82,7 @@ public class DefaultLoaderRepository { * * @exception ClassNotFoundException The specified class could not be found. */ - public static Class loadClassWithout(ClassLoader loader,String className) + public static Class loadClassWithout(ClassLoader loader,String className) throws ClassNotFoundException { return javax.management.loading.DefaultLoaderRepository.loadClassWithout(loader, className); } diff --git a/src/share/classes/javax/management/JMRuntimeException.java b/src/share/classes/javax/management/JMRuntimeException.java index c27ec1a56..70998c8a2 100644 --- a/src/share/classes/javax/management/JMRuntimeException.java +++ b/src/share/classes/javax/management/JMRuntimeException.java @@ -70,7 +70,7 @@ public class JMRuntimeException extends RuntimeException { try { java.lang.reflect.Method initCause = Throwable.class.getMethod("initCause", - new Class[] {Throwable.class}); + new Class[] {Throwable.class}); initCause.invoke(this, new Object[] {cause}); } catch (Exception e) { // OK: just means we won't have debugging info diff --git a/src/share/classes/javax/management/JMX.java b/src/share/classes/javax/management/JMX.java index 87c7dd227..82704db0a 100644 --- a/src/share/classes/javax/management/JMX.java +++ b/src/share/classes/javax/management/JMX.java @@ -703,12 +703,12 @@ public class JMX { InvocationHandler handler = new MBeanServerInvocationHandler( connection, objectName, opts); - final Class[] interfaces; + final Class[] interfaces; if (notificationEmitter) { interfaces = new Class[] {interfaceClass, NotificationEmitter.class}; } else - interfaces = new Class[] {interfaceClass}; + interfaces = new Class[] {interfaceClass}; Object proxy = Proxy.newProxyInstance( interfaceClass.getClassLoader(), interfaces, diff --git a/src/share/classes/javax/management/MBeanAttributeInfo.java b/src/share/classes/javax/management/MBeanAttributeInfo.java index 5b41bb4b6..2566c3e48 100644 --- a/src/share/classes/javax/management/MBeanAttributeInfo.java +++ b/src/share/classes/javax/management/MBeanAttributeInfo.java @@ -316,7 +316,7 @@ public class MBeanAttributeInfo extends MBeanFeatureInfo implements Cloneable { */ private static String attributeType(Method getter, Method setter) throws IntrospectionException { - Class type = null; + Class type = null; if (getter != null) { if (getter.getParameterTypes().length != 0) { @@ -330,7 +330,7 @@ public class MBeanAttributeInfo extends MBeanFeatureInfo implements Cloneable { } if (setter != null) { - Class params[] = setter.getParameterTypes(); + Class params[] = setter.getParameterTypes(); if (params.length != 1) { throw new IntrospectionException("bad setter arg count"); } diff --git a/src/share/classes/javax/management/MBeanConstructorInfo.java b/src/share/classes/javax/management/MBeanConstructorInfo.java index f66502e2f..872c723e3 100644 --- a/src/share/classes/javax/management/MBeanConstructorInfo.java +++ b/src/share/classes/javax/management/MBeanConstructorInfo.java @@ -64,7 +64,7 @@ public class MBeanConstructorInfo extends MBeanFeatureInfo implements Cloneable * @param constructor The java.lang.reflect.Constructor * object describing the MBean constructor. */ - public MBeanConstructorInfo(String description, Constructor constructor) { + public MBeanConstructorInfo(String description, Constructor constructor) { this(constructor.getName(), description, constructorSignature(constructor), Introspector.descriptorForElement(constructor)); @@ -210,8 +210,8 @@ public class MBeanConstructorInfo extends MBeanFeatureInfo implements Cloneable return hash; } - private static MBeanParameterInfo[] constructorSignature(Constructor cn) { - final Class[] classes = cn.getParameterTypes(); + private static MBeanParameterInfo[] constructorSignature(Constructor cn) { + final Class[] classes = cn.getParameterTypes(); final Annotation[][] annots = cn.getParameterAnnotations(); return MBeanOperationInfo.parameters(classes, annots); } diff --git a/src/share/classes/javax/management/MBeanInfo.java b/src/share/classes/javax/management/MBeanInfo.java index 9e30d44a5..722e96fed 100644 --- a/src/share/classes/javax/management/MBeanInfo.java +++ b/src/share/classes/javax/management/MBeanInfo.java @@ -524,8 +524,8 @@ public class MBeanInfo implements Cloneable, Serializable, DescriptorRead { * a WeakHashMap so that we don't prevent a class from being * garbage collected just because we know whether it's immutable. */ - private static final Map arrayGettersSafeMap = - new WeakHashMap(); + private static final Map, Boolean> arrayGettersSafeMap = + new WeakHashMap, Boolean>(); /** * Return true if subclass is known to preserve the @@ -537,7 +537,7 @@ public class MBeanInfo implements Cloneable, Serializable, DescriptorRead { * This is obviously not an infallible test for immutability, * but it works for the public interfaces of the MBean*Info classes. */ - static boolean arrayGettersSafe(Class subclass, Class immutableClass) { + static boolean arrayGettersSafe(Class subclass, Class immutableClass) { if (subclass == immutableClass) return true; synchronized (arrayGettersSafeMap) { diff --git a/src/share/classes/javax/management/MBeanOperationInfo.java b/src/share/classes/javax/management/MBeanOperationInfo.java index e3c26df52..006fc345d 100644 --- a/src/share/classes/javax/management/MBeanOperationInfo.java +++ b/src/share/classes/javax/management/MBeanOperationInfo.java @@ -308,17 +308,18 @@ public class MBeanOperationInfo extends MBeanFeatureInfo implements Cloneable { wrong should be less than the penalty we would pay if it were right and we needlessly hashed in the description and the parameter array. */ + @Override public int hashCode() { return getName().hashCode() ^ getReturnType().hashCode(); } private static MBeanParameterInfo[] methodSignature(Method method) { - final Class[] classes = method.getParameterTypes(); + final Class[] classes = method.getParameterTypes(); final Annotation[][] annots = method.getParameterAnnotations(); return parameters(classes, annots); } - static MBeanParameterInfo[] parameters(Class[] classes, + static MBeanParameterInfo[] parameters(Class[] classes, Annotation[][] annots) { final MBeanParameterInfo[] params = new MBeanParameterInfo[classes.length]; diff --git a/src/share/classes/javax/management/MBeanServerFactory.java b/src/share/classes/javax/management/MBeanServerFactory.java index 365f2a7d9..e0225200d 100644 --- a/src/share/classes/javax/management/MBeanServerFactory.java +++ b/src/share/classes/javax/management/MBeanServerFactory.java @@ -747,7 +747,7 @@ public class MBeanServerFactory { * Load the builder class through the context class loader. * @param builderClassName The name of the builder class. **/ - private static Class loadBuilderClass(String builderClassName) + private static Class loadBuilderClass(String builderClassName) throws ClassNotFoundException { final ClassLoader loader = Thread.currentThread().getContextClassLoader(); @@ -767,7 +767,7 @@ public class MBeanServerFactory { * If any checked exception needs to be thrown, it is embedded in * a JMRuntimeException. **/ - private static MBeanServerBuilder newBuilder(Class builderClass) { + private static MBeanServerBuilder newBuilder(Class builderClass) { try { final Object abuilder = builderClass.newInstance(); return (MBeanServerBuilder)abuilder; @@ -792,7 +792,7 @@ public class MBeanServerFactory { String builderClassName = AccessController.doPrivileged(act); try { - final Class newBuilderClass; + final Class newBuilderClass; if (builderClassName == null || builderClassName.length() == 0) newBuilderClass = MBeanServerBuilder.class; else @@ -800,7 +800,7 @@ public class MBeanServerFactory { // Check whether a new builder needs to be created if (builder != null) { - final Class builderClass = builder.getClass(); + final Class builderClass = builder.getClass(); if (newBuilderClass == builderClass) return; // no need to create a new builder... } diff --git a/src/share/classes/javax/management/MBeanServerInvocationHandler.java b/src/share/classes/javax/management/MBeanServerInvocationHandler.java index f111e577b..936b03ce4 100644 --- a/src/share/classes/javax/management/MBeanServerInvocationHandler.java +++ b/src/share/classes/javax/management/MBeanServerInvocationHandler.java @@ -253,12 +253,12 @@ public class MBeanServerInvocationHandler implements InvocationHandler { boolean notificationBroadcaster) { final InvocationHandler handler = new MBeanServerInvocationHandler(connection, objectName); - final Class[] interfaces; + final Class[] interfaces; if (notificationBroadcaster) { interfaces = - new Class[] {interfaceClass, NotificationEmitter.class}; + new Class[] {interfaceClass, NotificationEmitter.class}; } else - interfaces = new Class[] {interfaceClass}; + interfaces = new Class[] {interfaceClass}; Object proxy = Proxy.newProxyInstance(interfaceClass.getClassLoader(), @@ -269,7 +269,7 @@ public class MBeanServerInvocationHandler implements InvocationHandler { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - final Class methodClass = method.getDeclaringClass(); + final Class methodClass = method.getDeclaringClass(); if (methodClass.equals(NotificationBroadcaster.class) || methodClass.equals(NotificationEmitter.class)) @@ -285,8 +285,8 @@ public class MBeanServerInvocationHandler implements InvocationHandler { return p.invoke(connection, objectName, method, args); } else { final String methodName = method.getName(); - final Class[] paramTypes = method.getParameterTypes(); - final Class returnType = method.getReturnType(); + final Class[] paramTypes = method.getParameterTypes(); + final Class returnType = method.getReturnType(); /* Inexplicably, InvocationHandler specifies that args is null when the method takes no arguments rather than a @@ -452,7 +452,7 @@ public class MBeanServerInvocationHandler implements InvocationHandler { return true; if (methodName.equals("equals") && Arrays.equals(method.getParameterTypes(), - new Class[] {Object.class}) + new Class[] {Object.class}) && isLocal(proxy, method)) return true; return false; diff --git a/src/share/classes/javax/management/StandardMBean.java b/src/share/classes/javax/management/StandardMBean.java index a779e8282..492b259d1 100644 --- a/src/share/classes/javax/management/StandardMBean.java +++ b/src/share/classes/javax/management/StandardMBean.java @@ -689,7 +689,7 @@ public class StandardMBean implements DynamicWrapperMBean, MBeanRegistration { getImplementationClass().getName()); } - MBeanSupport msupport = mbean; + MBeanSupport msupport = mbean; final MBeanInfo bi = msupport.getMBeanInfo(); final Object impl = msupport.getWrappedObject(); @@ -1391,8 +1391,8 @@ public class StandardMBean implements DynamicWrapperMBean, MBeanRegistration { * garbage collected just because we know whether its MBeanInfo * is immutable. */ - private static final Map mbeanInfoSafeMap = - new WeakHashMap(); + private static final Map, Boolean> mbeanInfoSafeMap = + new WeakHashMap, Boolean>(); /** * Return true if {@code subclass} is known to preserve the immutability @@ -1438,9 +1438,9 @@ public class StandardMBean implements DynamicWrapperMBean, MBeanRegistration { private static class MBeanInfoSafeAction implements PrivilegedAction { - private final Class subclass; + private final Class subclass; - MBeanInfoSafeAction(Class subclass) { + MBeanInfoSafeAction(Class subclass) { this.subclass = subclass; } @@ -1454,13 +1454,13 @@ public class StandardMBean implements DynamicWrapperMBean, MBeanRegistration { // Check for "MBeanInfo getCachedMBeanInfo()" method. // if (overrides(subclass, StandardMBean.class, - "getCachedMBeanInfo", (Class[]) null)) + "getCachedMBeanInfo", (Class[]) null)) return false; // Check for "MBeanInfo getMBeanInfo()" method. // if (overrides(subclass, StandardMBean.class, - "getMBeanInfo", (Class[]) null)) + "getMBeanInfo", (Class[]) null)) return false; // Check for "MBeanNotificationInfo[] getNotificationInfo()" @@ -1473,7 +1473,7 @@ public class StandardMBean implements DynamicWrapperMBean, MBeanRegistration { // if (StandardEmitterMBean.class.isAssignableFrom(subclass)) if (overrides(subclass, StandardEmitterMBean.class, - "getNotificationInfo", (Class[]) null)) + "getNotificationInfo", (Class[]) null)) return false; return true; } diff --git a/src/share/classes/javax/management/event/EventClientDelegate.java b/src/share/classes/javax/management/event/EventClientDelegate.java index 8d144123a..13329ea9e 100644 --- a/src/share/classes/javax/management/event/EventClientDelegate.java +++ b/src/share/classes/javax/management/event/EventClientDelegate.java @@ -104,8 +104,8 @@ public class EventClientDelegate implements EventClientDelegateMBean { public static EventClientDelegate getEventClientDelegate(MBeanServer server) { EventClientDelegate delegate = null; synchronized(delegateMap) { - final WeakReference wrf = delegateMap.get(server); - delegate = (wrf == null) ? null : (EventClientDelegate)wrf.get(); + final WeakReference wrf = delegateMap.get(server); + delegate = (wrf == null) ? null : wrf.get(); if (delegate == null) { delegate = new EventClientDelegate(server); @@ -282,7 +282,7 @@ public class EventClientDelegate implements EventClientDelegateMBean { Constructor foundCons = null; if (sig == null) sig = new String[0]; - for (Constructor cons : c.getConstructors()) { + for (Constructor cons : c.getConstructors()) { Class[] types = cons.getParameterTypes(); String[] consSig = new String[types.length]; for (int i = 0; i < types.length; i++) diff --git a/src/share/classes/javax/management/event/EventSubscriber.java b/src/share/classes/javax/management/event/EventSubscriber.java index 9948810bf..5a472b5ad 100644 --- a/src/share/classes/javax/management/event/EventSubscriber.java +++ b/src/share/classes/javax/management/event/EventSubscriber.java @@ -350,8 +350,7 @@ public class EventSubscriber implements EventConsumer { static { QueryExp broadcasterExp; try { - final Method m = Query.class.getMethod("isInstanceOf", - new Class[] {String.class}); + final Method m = Query.class.getMethod("isInstanceOf", String.class); broadcasterExp = (QueryExp)m.invoke(Query.class, new Object[] {NotificationBroadcaster.class.getName()}); } catch (Exception e) { diff --git a/src/share/classes/javax/management/loading/DefaultLoaderRepository.java b/src/share/classes/javax/management/loading/DefaultLoaderRepository.java index 0d514dd78..5c2717c25 100644 --- a/src/share/classes/javax/management/loading/DefaultLoaderRepository.java +++ b/src/share/classes/javax/management/loading/DefaultLoaderRepository.java @@ -69,7 +69,7 @@ public class DefaultLoaderRepository { * @exception ClassNotFoundException The specified class could not be * found. */ - public static Class loadClass(String className) + public static Class loadClass(String className) throws ClassNotFoundException { MBEANSERVER_LOGGER.logp(Level.FINEST, DefaultLoaderRepository.class.getName(), @@ -93,7 +93,7 @@ public class DefaultLoaderRepository { * @exception ClassNotFoundException The specified class could not be * found. */ - public static Class loadClassWithout(ClassLoader loader, + public static Class loadClassWithout(ClassLoader loader, String className) throws ClassNotFoundException { MBEANSERVER_LOGGER.logp(Level.FINEST, @@ -102,12 +102,11 @@ public class DefaultLoaderRepository { return load(loader, className); } - private static Class load(ClassLoader without, String className) + private static Class load(ClassLoader without, String className) throws ClassNotFoundException { - final List mbsList = MBeanServerFactory.findMBeanServer(null); + final List mbsList = MBeanServerFactory.findMBeanServer(null); - for (Iterator it = mbsList.iterator(); it.hasNext(); ) { - MBeanServer mbs = (MBeanServer) it.next(); + for (MBeanServer mbs : mbsList) { ClassLoaderRepository clr = mbs.getClassLoaderRepository(); try { return clr.loadClassWithout(without, className); diff --git a/src/share/classes/javax/management/loading/MLet.java b/src/share/classes/javax/management/loading/MLet.java index d6540591e..c006dc09b 100644 --- a/src/share/classes/javax/management/loading/MLet.java +++ b/src/share/classes/javax/management/loading/MLet.java @@ -1291,7 +1291,7 @@ public class MLet extends java.net.URLClassLoader if (c != null) { try { Constructor cons = - c.getConstructor(new Class[] {String.class}); + c.getConstructor(String.class); Object[] oo = new Object[1]; oo[0]=param; return(cons.newInstance(oo)); diff --git a/src/share/classes/javax/management/loading/MLetObjectInputStream.java b/src/share/classes/javax/management/loading/MLetObjectInputStream.java index 8f9ea4cc6..06262dc5a 100644 --- a/src/share/classes/javax/management/loading/MLetObjectInputStream.java +++ b/src/share/classes/javax/management/loading/MLetObjectInputStream.java @@ -55,30 +55,30 @@ class MLetObjectInputStream extends ObjectInputStream { this.loader = loader; } - private Class primitiveType(char c) { + private Class primitiveType(char c) { switch(c) { - case 66: /* 'B' */ + case 'B': return Byte.TYPE; - case 67: /* 'C' */ + case 'C': return Character.TYPE; - case 68: /* 'D' */ + case 'D': return Double.TYPE; - case 70: /* 'F' */ + case 'F': return Float.TYPE; - case 73: /* 'I' */ + case 'I': return Integer.TYPE; - case 74: /* 'J' */ + case 'J': return Long.TYPE; - case 83: /* 'S' */ + case 'S': return Short.TYPE; - case 90: /* 'Z' */ + case 'Z': return Boolean.TYPE; } return null; @@ -87,14 +87,15 @@ class MLetObjectInputStream extends ObjectInputStream { /** * Use the given ClassLoader rather than using the system class */ - protected Class resolveClass(ObjectStreamClass objectstreamclass) + @Override + protected Class resolveClass(ObjectStreamClass objectstreamclass) throws IOException, ClassNotFoundException { String s = objectstreamclass.getName(); if (s.startsWith("[")) { int i; for (i = 1; s.charAt(i) == '['; i++); - Class class1; + Class class1; if (s.charAt(i) == 'L') { class1 = loader.loadClass(s.substring(i + 1, s.length() - 1)); } else { diff --git a/src/share/classes/javax/management/modelmbean/DescriptorSupport.java b/src/share/classes/javax/management/modelmbean/DescriptorSupport.java index 66b8fec8b..4e9db9dcd 100644 --- a/src/share/classes/javax/management/modelmbean/DescriptorSupport.java +++ b/src/share/classes/javax/management/modelmbean/DescriptorSupport.java @@ -589,7 +589,7 @@ public class DescriptorSupport int numberOfEntries = descriptorMap.size(); String[] responseFields = new String[numberOfEntries]; - Set returnedSet = descriptorMap.entrySet(); + Set> returnedSet = descriptorMap.entrySet(); int i = 0; @@ -598,8 +598,9 @@ public class DescriptorSupport DescriptorSupport.class.getName(), "getFields()", "Returning " + numberOfEntries + " fields"); } - for (Iterator iter = returnedSet.iterator(); iter.hasNext(); i++) { - Map.Entry currElement = (Map.Entry) iter.next(); + for (Iterator> iter = returnedSet.iterator(); + iter.hasNext(); i++) { + Map.Entry currElement = iter.next(); if (currElement == null) { if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { @@ -642,7 +643,7 @@ public class DescriptorSupport int numberOfEntries = descriptorMap.size(); String[] responseFields = new String[numberOfEntries]; - Set returnedSet = descriptorMap.entrySet(); + Set> returnedSet = descriptorMap.entrySet(); int i = 0; @@ -653,8 +654,9 @@ public class DescriptorSupport "Returning " + numberOfEntries + " fields"); } - for (Iterator iter = returnedSet.iterator(); iter.hasNext(); i++) { - Map.Entry currElement = (Map.Entry) iter.next(); + for (Iterator> iter = returnedSet.iterator(); + iter.hasNext(); i++) { + Map.Entry currElement = iter.next(); if (( currElement == null ) || (currElement.getKey() == null)) { if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { @@ -700,9 +702,8 @@ public class DescriptorSupport } if (fieldNames == null) { - for (Iterator iter = descriptorMap.values().iterator(); - iter.hasNext(); i++) - responseFields[i] = iter.next(); + for (Object value : descriptorMap.values()) + responseFields[i++] = value; } else { for (i=0; i < fieldNames.length; i++) { if ((fieldNames[i] == null) || (fieldNames[i].equals(""))) { @@ -904,7 +905,7 @@ public class DescriptorSupport } // verify that the descriptor is valid, by iterating over each field... - Set returnedSet = descriptorMap.entrySet(); + Set> returnedSet = descriptorMap.entrySet(); if (returnedSet == null) { // null descriptor, not valid if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) { @@ -925,9 +926,7 @@ public class DescriptorSupport // According to the descriptor type we validate the fields contained - for (Iterator iter = returnedSet.iterator(); iter.hasNext();) { - Map.Entry currElement = (Map.Entry) iter.next(); - + for (Map.Entry currElement : returnedSet) { if (currElement != null) { if (currElement.getValue() != null) { // validate the field valued... @@ -1083,10 +1082,9 @@ public class DescriptorSupport */ public synchronized String toXMLString() { final StringBuilder buf = new StringBuilder(""); - Set returnedSet = descriptorMap.entrySet(); - for (Iterator iter = returnedSet.iterator(); iter.hasNext(); ) { - final Map.Entry currElement = (Map.Entry) iter.next(); - final String name = currElement.getKey().toString(); + Set> returnedSet = descriptorMap.entrySet(); + for (Map.Entry currElement : returnedSet) { + final String name = currElement.getKey(); Object value = currElement.getValue(); String valueString = null; /* Set valueString to non-null if and only if this is a string that @@ -1256,7 +1254,7 @@ public class DescriptorSupport } final Class c = Class.forName(className, false, contextClassLoader); - constr = c.getConstructor(new Class[] {String.class}); + constr = c.getConstructor(new Class[] {String.class}); } catch (Exception e) { throw new XMLParseException(e, "Cannot parse value: <" + s + ">"); diff --git a/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java b/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java index a6e7ceab7..89948d5c9 100644 --- a/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java +++ b/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java @@ -152,7 +152,7 @@ public class ModelMBeanConstructorInfo * describing the MBean constructor. */ public ModelMBeanConstructorInfo(String description, - Constructor constructorMethod) + Constructor constructorMethod) { super(description, constructorMethod); if (MODELMBEAN_LOGGER.isLoggable(Level.FINER)) { @@ -194,7 +194,7 @@ public class ModelMBeanConstructorInfo */ public ModelMBeanConstructorInfo(String description, - Constructor constructorMethod, + Constructor constructorMethod, Descriptor descriptor) { diff --git a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java index 7d99fba00..b9bec5ecc 100644 --- a/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java +++ b/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java @@ -1074,7 +1074,7 @@ public class RequiredModelMBean } } - final Class targetClass; + final Class targetClass; if (opClassName != null) { try { @@ -1126,20 +1126,20 @@ public class RequiredModelMBean "resolving " + targetClass.getName() + "." + opMethodName); } - final Class[] argClasses; + final Class[] argClasses; if (sig == null) argClasses = null; else { final ClassLoader targetClassLoader = targetClass.getClassLoader(); - argClasses = new Class[sig.length]; + argClasses = new Class[sig.length]; for (int i = 0; i < sig.length; i++) { if (tracing) { MODELMBEAN_LOGGER.logp(Level.FINER, RequiredModelMBean.class.getName(),"resolveMethod", "resolve type " + sig[i]); } - argClasses[i] = (Class) primitiveClassMap.get(sig[i]); + argClasses[i] = (Class) primitiveClassMap.get(sig[i]); if (argClasses[i] == null) { try { argClasses[i] = @@ -1170,7 +1170,7 @@ public class RequiredModelMBean /* Map e.g. "int" to int.class. Goodness knows how many time this particular wheel has been reinvented. */ - private static final Class[] primitiveClasses = { + private static final Class[] primitiveClasses = { int.class, long.class, boolean.class, double.class, float.class, short.class, byte.class, char.class, }; @@ -1178,7 +1178,7 @@ public class RequiredModelMBean new HashMap>(); static { for (int i = 0; i < primitiveClasses.length; i++) { - final Class c = primitiveClasses[i]; + final Class c = primitiveClasses[i]; primitiveClassMap.put(c.getName(), c); } } @@ -1645,7 +1645,7 @@ public class RequiredModelMBean try { ClassLoader cl = response.getClass().getClassLoader(); - Class c = Class.forName(respType, true, cl); + Class c = Class.forName(respType, true, cl); subtype = c.isInstance(response); } catch (Exception e) { subtype = false; @@ -1904,7 +1904,7 @@ public class RequiredModelMBean if (attrSetMethod == null) { if (attrValue != null) { try { - final Class clazz = loadClass(attrType); + final Class clazz = loadClass(attrType); if (! clazz.isInstance(attrValue)) throw new InvalidAttributeValueException(clazz.getName() + " expected, " + @@ -2044,8 +2044,7 @@ public class RequiredModelMBean final AttributeList responseList = new AttributeList(); // Go through the list of attributes - for (Iterator i = attributes.iterator(); i.hasNext();) { - final Attribute attr = (Attribute) i.next(); + for (Attribute attr : attributes.asList()) { try { setAttribute(attr); responseList.add(attr); @@ -2799,7 +2798,7 @@ public class RequiredModelMBean return MBeanServerFactory.getClassLoaderRepository(server); } - private Class loadClass(String className) + private Class loadClass(String className) throws ClassNotFoundException { try { return Class.forName(className); diff --git a/src/share/classes/javax/management/openmbean/ArrayType.java b/src/share/classes/javax/management/openmbean/ArrayType.java index 49c8bbf1f..0cbb677cf 100644 --- a/src/share/classes/javax/management/openmbean/ArrayType.java +++ b/src/share/classes/javax/management/openmbean/ArrayType.java @@ -296,7 +296,7 @@ public class ArrayType extends OpenType { // Check and construct state specific to ArrayType // if (elementType.isArray()) { - ArrayType at = (ArrayType) elementType; + ArrayType at = (ArrayType) elementType; this.dimension = at.getDimension() + dimension; this.elementType = at.getElementOpenType(); this.primitiveArray = at.isPrimitiveArray(); @@ -384,7 +384,7 @@ public class ArrayType extends OpenType { /* Package-private constructor for callers we trust to get it right. */ ArrayType(String className, String typeName, String description, - int dimension, OpenType elementType, + int dimension, OpenType elementType, boolean primitiveArray) { super(className, typeName, description, true); this.dimension = dimension; @@ -397,7 +397,7 @@ public class ArrayType extends OpenType { throws OpenDataException { boolean isPrimitiveArray = false; if (elementType.isArray()) { - isPrimitiveArray = ((ArrayType) elementType).isPrimitiveArray(); + isPrimitiveArray = ((ArrayType) elementType).isPrimitiveArray(); } return buildArrayClassName(dimension, elementType, isPrimitiveArray); } @@ -443,7 +443,7 @@ public class ArrayType extends OpenType { throws OpenDataException { boolean isPrimitiveArray = false; if (elementType.isArray()) { - isPrimitiveArray = ((ArrayType) elementType).isPrimitiveArray(); + isPrimitiveArray = ((ArrayType) elementType).isPrimitiveArray(); } return buildArrayDescription(dimension, elementType, isPrimitiveArray); } @@ -453,7 +453,7 @@ public class ArrayType extends OpenType { boolean isPrimitiveArray) throws OpenDataException { if (elementType.isArray()) { - ArrayType at = (ArrayType) elementType; + ArrayType at = (ArrayType) elementType; dimension += at.getDimension(); elementType = at.getElementOpenType(); isPrimitiveArray = at.isPrimitiveArray(); @@ -551,7 +551,7 @@ public class ArrayType extends OpenType { return false; } - Class objClass = obj.getClass(); + Class objClass = obj.getClass(); String objClassName = objClass.getName(); // if obj is not an array, return false @@ -636,8 +636,8 @@ public class ArrayType extends OpenType { } @Override - boolean isAssignableFrom(OpenType ot) { - if (!(ot instanceof ArrayType)) + boolean isAssignableFrom(OpenType ot) { + if (!(ot instanceof ArrayType)) return false; ArrayType at = (ArrayType) ot; return (at.getDimension() == getDimension() && @@ -675,9 +675,9 @@ public class ArrayType extends OpenType { // if obj is not an ArrayType, return false // - if (!(obj instanceof ArrayType)) + if (!(obj instanceof ArrayType)) return false; - ArrayType other = (ArrayType) obj; + ArrayType other = (ArrayType) obj; // if other's dimension is different than this instance's, return false // @@ -879,6 +879,7 @@ public class ArrayType extends OpenType { // Build primitive array // try { + @SuppressWarnings("rawtypes") ArrayType at = new ArrayType(simpleType, true); if (n > 1) at = new ArrayType(n - 1, at); @@ -934,7 +935,7 @@ public class ArrayType extends OpenType { } } - private ArrayType convertFromWrapperToPrimitiveTypes() { + private ArrayType convertFromWrapperToPrimitiveTypes() { String cn = getClassName(); String tn = getTypeName(); String d = getDescription(); @@ -952,8 +953,8 @@ public class ArrayType extends OpenType { break; } } - return new ArrayType(cn, tn, d, - dimension, elementType, primitiveArray); + return new ArrayType(cn, tn, d, + dimension, elementType, primitiveArray); } /** @@ -1002,7 +1003,7 @@ public class ArrayType extends OpenType { } } - private ArrayType convertFromPrimitiveToWrapperTypes() { + private ArrayType convertFromPrimitiveToWrapperTypes() { String cn = getClassName(); String tn = getTypeName(); String d = getDescription(); @@ -1020,7 +1021,7 @@ public class ArrayType extends OpenType { break; } } - return new ArrayType(cn, tn, d, - dimension, elementType, primitiveArray); + return new ArrayType(cn, tn, d, + dimension, elementType, primitiveArray); } } diff --git a/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java b/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java index e0414e9d0..2262c2a5e 100644 --- a/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java +++ b/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java @@ -236,8 +236,8 @@ public class CompositeDataInvocationHandler implements InvocationHandler { if (other == null) return false; - final Class proxyClass = proxy.getClass(); - final Class otherClass = other.getClass(); + final Class proxyClass = proxy.getClass(); + final Class otherClass = other.getClass(); if (proxyClass != otherClass) return false; InvocationHandler otherih = Proxy.getInvocationHandler(other); diff --git a/src/share/classes/javax/management/openmbean/CompositeType.java b/src/share/classes/javax/management/openmbean/CompositeType.java index b4c662ec9..28c3fd72b 100644 --- a/src/share/classes/javax/management/openmbean/CompositeType.java +++ b/src/share/classes/javax/management/openmbean/CompositeType.java @@ -329,7 +329,7 @@ public class CompositeType extends OpenType { * @return true if {@code ot} is assignable to this open type. */ @Override - boolean isAssignableFrom(OpenType ot) { + boolean isAssignableFrom(OpenType ot) { if (!(ot instanceof CompositeType)) return false; CompositeType ct = (CompositeType) ot; @@ -420,9 +420,7 @@ public class CompositeType extends OpenType { if (myHashCode == null) { int value = 0; value += this.getTypeName().hashCode(); - String key; - for (Iterator k = nameToDescription.keySet().iterator(); k.hasNext(); ) { - key = (String) k.next(); + for (String key : nameToDescription.keySet()) { value += key.hashCode(); value += this.nameToType.get(key).hashCode(); } @@ -457,10 +455,10 @@ public class CompositeType extends OpenType { result.append(getTypeName()); result.append(",items=("); int i=0; - Iterator k=nameToType.keySet().iterator(); + Iterator k=nameToType.keySet().iterator(); String key; while (k.hasNext()) { - key = (String) k.next(); + key = k.next(); if (i > 0) result.append(","); result.append("(itemName="); result.append(key); diff --git a/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java b/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java index bcfa4c157..3ad03ef58 100644 --- a/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java +++ b/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java @@ -78,12 +78,12 @@ public class OpenMBeanAttributeInfoSupport /** * @serial The open mbean attribute's min value */ - private final Comparable minValue; + private final Comparable minValue; /** * @serial The open mbean attribute's max value */ - private final Comparable maxValue; + private final Comparable maxValue; // As this instance is immutable, these two values need only @@ -450,7 +450,7 @@ public class OpenMBeanAttributeInfoSupport } static void check(OpenMBeanParameterInfo info) throws OpenDataException { - OpenType openType = info.getOpenType(); + OpenType openType = info.getOpenType(); if (openType == null) throw new IllegalArgumentException("OpenType cannot be null"); @@ -562,7 +562,7 @@ public class OpenMBeanAttributeInfoSupport } - @SuppressWarnings("unchecked") + @SuppressWarnings({"unchecked", "rawtypes"}) static int compare(Object x, Object y) { return ((Comparable) x).compareTo(y); } @@ -657,11 +657,11 @@ public class OpenMBeanAttributeInfoSupport return result; } - static Comparable comparableValueFrom(Descriptor d, String name, - OpenType openType) { + static Comparable comparableValueFrom(Descriptor d, String name, + OpenType openType) { T t = valueFrom(d, name, openType); if (t == null || t instanceof Comparable) - return (Comparable) t; + return (Comparable) t; final String msg = "Descriptor field " + name + " with value " + t + " is not Comparable"; @@ -925,7 +925,7 @@ public class OpenMBeanAttributeInfoSupport return isValue(this, obj); } - @SuppressWarnings("unchecked") // cast to Comparable + @SuppressWarnings({"unchecked", "rawtypes"}) // cast to Comparable static boolean isValue(OpenMBeanParameterInfo info, Object obj) { if (info.hasDefaultValue() && obj == null) return true; diff --git a/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java b/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java index b67ac60d7..fc50a3b76 100644 --- a/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java +++ b/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java @@ -74,12 +74,12 @@ public class OpenMBeanParameterInfoSupport /** * @serial The open mbean parameter's min value */ - private Comparable minValue = null; + private Comparable minValue = null; /** * @serial The open mbean parameter's max value */ - private Comparable maxValue = null; + private Comparable maxValue = null; // As this instance is immutable, these two values need only diff --git a/src/share/classes/javax/management/openmbean/OpenType.java b/src/share/classes/javax/management/openmbean/OpenType.java index 7aac2c0fd..3f74c3cda 100644 --- a/src/share/classes/javax/management/openmbean/OpenType.java +++ b/src/share/classes/javax/management/openmbean/OpenType.java @@ -206,7 +206,7 @@ public abstract class OpenType implements Serializable { } } - private static boolean overridesGetClassName(final Class c) { + private static boolean overridesGetClassName(final Class c) { return AccessController.doPrivileged(new PrivilegedAction() { public Boolean run() { try { diff --git a/src/share/classes/javax/management/openmbean/SimpleType.java b/src/share/classes/javax/management/openmbean/SimpleType.java index 7837819c4..1d4f90e6a 100644 --- a/src/share/classes/javax/management/openmbean/SimpleType.java +++ b/src/share/classes/javax/management/openmbean/SimpleType.java @@ -163,7 +163,7 @@ public final class SimpleType extends OpenType { public static final SimpleType OBJECTNAME = new SimpleType(ObjectName.class); - private static final SimpleType[] typeArray = { + private static final SimpleType[] typeArray = { VOID, BOOLEAN, CHARACTER, BYTE, SHORT, INTEGER, LONG, FLOAT, DOUBLE, STRING, BIGDECIMAL, BIGINTEGER, DATE, OBJECTNAME, }; @@ -232,10 +232,10 @@ public final class SimpleType extends OpenType { return (this == obj); */ - if (!(obj instanceof SimpleType)) + if (!(obj instanceof SimpleType)) return false; - SimpleType other = (SimpleType) obj; + SimpleType other = (SimpleType) obj; // Test if other's className field is the same as for this instance // @@ -290,11 +290,11 @@ public final class SimpleType extends OpenType { return myToString; } - private static final Map canonicalTypes = - new HashMap(); + private static final Map,SimpleType> canonicalTypes = + new HashMap,SimpleType>(); static { for (int i = 0; i < typeArray.length; i++) { - final SimpleType type = typeArray[i]; + final SimpleType type = typeArray[i]; canonicalTypes.put(type, type); } } @@ -310,7 +310,7 @@ public final class SimpleType extends OpenType { * resolved. */ public Object readResolve() throws ObjectStreamException { - final SimpleType canonical = canonicalTypes.get(this); + final SimpleType canonical = canonicalTypes.get(this); if (canonical == null) { // Should not happen throw new InvalidObjectException("Invalid SimpleType: " + this); diff --git a/src/share/classes/javax/management/openmbean/TabularDataSupport.java b/src/share/classes/javax/management/openmbean/TabularDataSupport.java index 4e0c51cc9..faeba1a91 100644 --- a/src/share/classes/javax/management/openmbean/TabularDataSupport.java +++ b/src/share/classes/javax/management/openmbean/TabularDataSupport.java @@ -30,6 +30,7 @@ package javax.management.openmbean; // java import // import com.sun.jmx.mbeanserver.GetPropertyAction; +import com.sun.jmx.mbeanserver.Util; import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; @@ -611,7 +612,7 @@ public class TabularDataSupport @SuppressWarnings("unchecked") // historical confusion about the return type public Collection values() { - return (Collection) dataMap.values() ; + return Util.cast(dataMap.values()); } @@ -647,7 +648,7 @@ public class TabularDataSupport @SuppressWarnings("unchecked") // historical confusion about the return type public Set> entrySet() { - return (Set) dataMap.entrySet(); + return Util.cast(dataMap.entrySet()); } @@ -725,8 +726,7 @@ public class TabularDataSupport if (this.size() != other.size()) { return false; } - for (Iterator iter = this.values().iterator(); iter.hasNext(); ) { - CompositeData value = (CompositeData) iter.next(); + for (CompositeData value : dataMap.values()) { if ( ! other.containsValue(value) ) { return false; } @@ -760,9 +760,8 @@ public class TabularDataSupport int result = 0; result += this.tabularType.hashCode(); - for (Iterator iter = this.values().iterator(); iter.hasNext(); ) { - result += ((CompositeData)iter.next()).hashCode(); - } + for (Object value : values()) + result += value.hashCode(); return result; diff --git a/src/share/classes/javax/management/openmbean/TabularType.java b/src/share/classes/javax/management/openmbean/TabularType.java index b45f2f661..8f9531075 100644 --- a/src/share/classes/javax/management/openmbean/TabularType.java +++ b/src/share/classes/javax/management/openmbean/TabularType.java @@ -237,7 +237,7 @@ public class TabularType extends OpenType { } @Override - boolean isAssignableFrom(OpenType ot) { + boolean isAssignableFrom(OpenType ot) { if (!(ot instanceof TabularType)) return false; TabularType tt = (TabularType) ot; @@ -329,9 +329,8 @@ public class TabularType extends OpenType { int value = 0; value += this.getTypeName().hashCode(); value += this.rowType.hashCode(); - for (Iterator k = indexNames.iterator(); k.hasNext(); ) { - value += k.next().hashCode(); - } + for (String index : indexNames) + value += index.hashCode(); myHashCode = Integer.valueOf(value); } @@ -364,12 +363,10 @@ public class TabularType extends OpenType { .append(",rowType=") .append(rowType.toString()) .append(",indexNames=("); - int i=0; - Iterator k = indexNames.iterator(); - while( k.hasNext() ) { - if (i > 0) result.append(","); - result.append(k.next().toString()); - i++; + String sep = ""; + for (String index : indexNames) { + result.append(sep).append(index); + sep = ","; } result.append("))"); myToString = result.toString(); diff --git a/src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java b/src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java index 3b1edc58a..fbbbf3d70 100644 --- a/src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java +++ b/src/share/classes/javax/management/relation/MBeanServerNotificationFilter.java @@ -354,7 +354,7 @@ public class MBeanServerNotificationFilter extends NotificationFilterSupport { // Checks the type first String ntfType = notif.getType(); - Vector enabledTypes = getEnabledTypes(); + Vector enabledTypes = getEnabledTypes(); if (!(enabledTypes.contains(ntfType))) { RELATION_LOGGER.logp(Level.FINER, MBeanServerNotificationFilter.class.getName(), @@ -464,8 +464,8 @@ public class MBeanServerNotificationFilter extends NotificationFilterSupport { // Serializes this instance in the old serial form // ObjectOutputStream.PutField fields = out.putFields(); - fields.put("mySelectObjNameList", (Vector)selectedNames); - fields.put("myDeselectObjNameList", (Vector)deselectedNames); + fields.put("mySelectObjNameList", selectedNames); + fields.put("myDeselectObjNameList", deselectedNames); out.writeFields(); } else diff --git a/src/share/classes/javax/management/relation/RelationService.java b/src/share/classes/javax/management/relation/RelationService.java index 98a4809ea..fcf0cb012 100644 --- a/src/share/classes/javax/management/relation/RelationService.java +++ b/src/share/classes/javax/management/relation/RelationService.java @@ -1111,7 +1111,7 @@ public class RelationService extends NotificationBroadcasterSupport throw new IllegalArgumentException(excMsg); } - if (!(oldValue instanceof ArrayList)) + if (!(oldValue instanceof ArrayList)) oldValue = new ArrayList(oldValue); RELATION_LOGGER.entering(RelationService.class.getName(), @@ -1881,7 +1881,7 @@ public class RelationService extends NotificationBroadcasterSupport "getRole", params, signature)); - if (invokeResult == null || invokeResult instanceof ArrayList) + if (invokeResult == null || invokeResult instanceof ArrayList) result = invokeResult; else result = new ArrayList(invokeResult); @@ -2786,7 +2786,7 @@ public class RelationService extends NotificationBroadcasterSupport // Note that it is possible that the MBean has already been removed // from the internal map: this is the case when the MBean is // unregistered, the role is updated, then we arrive here. - HashMap mbeanRefMap = (HashMap) + Map> mbeanRefMap = (myRefedMBeanObjName2RelIdsMap.get(objectName)); if (mbeanRefMap == null) { @@ -2796,11 +2796,11 @@ public class RelationService extends NotificationBroadcasterSupport return true; } - ArrayList roleNames = new ArrayList(); + List roleNames = null; if (!allRolesFlag) { // Now retrieves the roles of current relation where the MBean // was referenced - roleNames = (ArrayList)(mbeanRefMap.get(relationId)); + roleNames = mbeanRefMap.get(relationId); // Removes obsolete reference to role int obsRefIdx = roleNames.indexOf(roleName); @@ -2840,8 +2840,8 @@ public class RelationService extends NotificationBroadcasterSupport // // -exception RelationServiceNotRegisteredException if the Relation // Service is not registered in the MBean Server. - private void updateUnregistrationListener(List newRefList, - List obsoleteRefList) + private void updateUnregistrationListener(List newRefList, + List obsoleteRefList) throws RelationServiceNotRegisteredException { if (newRefList != null && obsoleteRefList != null) { @@ -2871,24 +2871,14 @@ public class RelationService extends NotificationBroadcasterSupport // Enables ObjectNames in newRefList if (newRefList != null) { - for (Iterator newRefIter = newRefList.iterator(); - newRefIter.hasNext();) { - - ObjectName newObjName = (ObjectName) - (newRefIter.next()); + for (ObjectName newObjName : newRefList) myUnregNtfFilter.enableObjectName(newObjName); - } } if (obsoleteRefList != null) { // Disables ObjectNames in obsoleteRefList - for (Iterator obsRefIter = obsoleteRefList.iterator(); - obsRefIter.hasNext();) { - - ObjectName obsObjName = (ObjectName) - (obsRefIter.next()); + for (ObjectName obsObjName : obsoleteRefList) myUnregNtfFilter.disableObjectName(obsObjName); - } } // Under test @@ -3047,18 +3037,13 @@ public class RelationService extends NotificationBroadcasterSupport // to see which roles have not been initialized // Note: no need to test if list not null before cloning, not allowed // to have an empty relation type. - ArrayList roleInfoList = (ArrayList) - (((ArrayList)(relType.getRoleInfos())).clone()); + List roleInfoList = new ArrayList(relType.getRoleInfos()); if (roleList != null) { - for (Iterator roleIter = roleList.iterator(); - roleIter.hasNext();) { - - Role currRole = (Role)(roleIter.next()); + for (Role currRole : roleList.asList()) { String currRoleName = currRole.getRoleName(); - ArrayList currRoleValue = (ArrayList) - (currRole.getRoleValue()); + List currRoleValue = currRole.getRoleValue(); // Retrieves corresponding role info // Can throw a RoleInfoNotFoundException to be converted into a // RoleNotFoundException @@ -3137,9 +3122,7 @@ public class RelationService extends NotificationBroadcasterSupport // Only role list parameter used, as default initialization of roles // done automatically in initializeMissingRoles() sets each // uninitialized role to an empty value. - for (Iterator roleIter = roleList.iterator(); - roleIter.hasNext();) { - Role currRole = (Role)(roleIter.next()); + for (Role currRole : roleList.asList()) { // Creates a dummy empty ArrayList of ObjectNames to be the old // role value :) List dummyList = new ArrayList(); @@ -3191,7 +3174,7 @@ public class RelationService extends NotificationBroadcasterSupport // -exception IllegalArgumentException if null parameter private Integer checkRoleInt(int chkType, String roleName, - List roleValue, + List roleValue, RoleInfo roleInfo, boolean writeChkFlag) throws IllegalArgumentException { @@ -3266,9 +3249,7 @@ public class RelationService extends NotificationBroadcasterSupport // registered in the same MBean Server. String expClassName = roleInfo.getRefMBeanClassName(); - for (Iterator refMBeanIter = roleValue.iterator(); - refMBeanIter.hasNext();) { - ObjectName currObjName = (ObjectName)(refMBeanIter.next()); + for (ObjectName currObjName : roleValue) { // Checks it is registered if (currObjName == null) { @@ -3330,7 +3311,7 @@ public class RelationService extends NotificationBroadcasterSupport ObjectName relationObjName, String relationId, String relationTypeName, - List roleInfoList) + List roleInfoList) throws IllegalArgumentException, RelationServiceNotRegisteredException, InvalidRoleValueException { @@ -3361,10 +3342,8 @@ public class RelationService extends NotificationBroadcasterSupport // with an empty list of ObjectNames. // A check is performed to verify that the role can be set to an // empty value, according to its minimum cardinality - for (Iterator roleInfoIter = roleInfoList.iterator(); - roleInfoIter.hasNext();) { + for (RoleInfo currRoleInfo : roleInfoList) { - RoleInfo currRoleInfo = (RoleInfo)(roleInfoIter.next()); String roleName = currRoleInfo.getName(); // Creates an empty value @@ -3663,7 +3642,7 @@ public class RelationService extends NotificationBroadcasterSupport // not exist in the relation private void handleReferenceUnregistration(String relationId, ObjectName objectName, - List roleNameList) + List roleNameList) throws IllegalArgumentException, RelationServiceNotRegisteredException, RelationNotFoundException, @@ -3694,14 +3673,12 @@ public class RelationService extends NotificationBroadcasterSupport // Flag to specify if the relation has to be deleted boolean deleteRelFlag = false; - for (Iterator roleNameIter = roleNameList.iterator(); - roleNameIter.hasNext();) { + for (String currRoleName : roleNameList) { if (deleteRelFlag) { break; } - String currRoleName = (String)(roleNameIter.next()); // Retrieves number of MBeans currently referenced in role // BEWARE! Do not use getRole() as role may be not readable // @@ -3753,10 +3730,7 @@ public class RelationService extends NotificationBroadcasterSupport // using setRole(). So the Relation Service will update the // myRefedMBeanObjName2RelIdsMap to refelect the new role // value! - for (Iterator roleNameIter = roleNameList.iterator(); - roleNameIter.hasNext();) { - - String currRoleName = (String)(roleNameIter.next()); + for (String currRoleName : roleNameList) { if (relObj instanceof RelationSupport) { // Internal relation diff --git a/src/share/classes/javax/management/relation/RelationSupport.java b/src/share/classes/javax/management/relation/RelationSupport.java index ed0958e9b..c714a3ecb 100644 --- a/src/share/classes/javax/management/relation/RelationSupport.java +++ b/src/share/classes/javax/management/relation/RelationSupport.java @@ -108,7 +108,7 @@ public class RelationSupport // via Relation Service setRole() and setRoles() methods // - if the relation is internal to the Relation Service, via // setRoleInt() and setRolesInt() methods. - private Map myRoleName2ValueMap = new HashMap(); + private final Map myRoleName2ValueMap = new HashMap(); // Flag to indicate if the object has been added in the Relation Service private final AtomicBoolean myInRelServFlg = new AtomicBoolean(); @@ -424,7 +424,7 @@ public class RelationSupport } } - ArrayList roleValue = (ArrayList)(role.getRoleValue()); + List roleValue = role.getRoleValue(); RELATION_LOGGER.exiting(RelationSupport.class.getName(), "getRoleCardinality"); @@ -855,8 +855,7 @@ public class RelationSupport // Note: no need to test if role value (list) not null before // cloning, null value not allowed, empty list if // nothing. - result = (ArrayList) - (((ArrayList)(role.getRoleValue())).clone()); + result = new ArrayList(role.getRoleValue()); } else { // Role retrieved during multi-role retrieval: returns the @@ -1492,10 +1491,7 @@ public class RelationSupport RoleList roleList = new RoleList(); RoleUnresolvedList roleUnresList = new RoleUnresolvedList(); - for (Iterator roleIter = list.iterator(); - roleIter.hasNext();) { - - Role currRole = (Role)(roleIter.next()); + for (Role currRole : list.asList()) { Object currResult = null; // Can throw: @@ -1617,12 +1613,10 @@ public class RelationSupport synchronized(myRoleName2ValueMap) { - for (Iterator roleIter = list.iterator(); - roleIter.hasNext();) { + for (Role currRole : list.asList()) { // No need to check if role is null, it is not allowed to store // a null role in a RoleList :) - Role currRole = (Role)(roleIter.next()); String currRoleName = currRole.getRoleName(); if (myRoleName2ValueMap.containsKey(currRoleName)) { diff --git a/src/share/classes/javax/management/relation/Role.java b/src/share/classes/javax/management/relation/Role.java index dc8f79443..79fe1490a 100644 --- a/src/share/classes/javax/management/relation/Role.java +++ b/src/share/classes/javax/management/relation/Role.java @@ -228,9 +228,9 @@ public class Role implements Serializable { public String toString() { StringBuilder result = new StringBuilder(); result.append("role name: " + name + "; role value: "); - for (Iterator objNameIter = objectNameList.iterator(); + for (Iterator objNameIter = objectNameList.iterator(); objNameIter.hasNext();) { - ObjectName currObjName = (ObjectName)(objNameIter.next()); + ObjectName currObjName = objNameIter.next(); result.append(currObjName.toString()); if (objNameIter.hasNext()) { result.append(", "); @@ -325,7 +325,7 @@ public class Role implements Serializable { // ObjectOutputStream.PutField fields = out.putFields(); fields.put("myName", name); - fields.put("myObjNameList", (ArrayList)objectNameList); + fields.put("myObjNameList", objectNameList); out.writeFields(); } else diff --git a/src/share/classes/javax/management/relation/RoleList.java b/src/share/classes/javax/management/relation/RoleList.java index a03ffe280..467c3f459 100644 --- a/src/share/classes/javax/management/relation/RoleList.java +++ b/src/share/classes/javax/management/relation/RoleList.java @@ -25,6 +25,7 @@ package javax.management.relation; +import com.sun.jmx.mbeanserver.Util; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -140,7 +141,7 @@ public class RoleList extends ArrayList { checkTypeSafe(this); typeSafe = true; } - return (List) (List) this; + return Util.cast(this); } // diff --git a/src/share/classes/javax/management/relation/RoleResult.java b/src/share/classes/javax/management/relation/RoleResult.java index 64df5b97e..6ea55250c 100644 --- a/src/share/classes/javax/management/relation/RoleResult.java +++ b/src/share/classes/javax/management/relation/RoleResult.java @@ -172,7 +172,7 @@ public class RoleResult implements Serializable { roleList = new RoleList(); - for (Iterator roleIter = list.iterator(); + for (Iterator roleIter = list.iterator(); roleIter.hasNext();) { Role currRole = (Role)(roleIter.next()); roleList.add((Role)(currRole.clone())); @@ -195,7 +195,7 @@ public class RoleResult implements Serializable { unresolvedRoleList = new RoleUnresolvedList(); - for (Iterator roleUnresIter = unresolvedList.iterator(); + for (Iterator roleUnresIter = unresolvedList.iterator(); roleUnresIter.hasNext();) { RoleUnresolved currRoleUnres = (RoleUnresolved)(roleUnresIter.next()); diff --git a/src/share/classes/javax/management/relation/RoleUnresolved.java b/src/share/classes/javax/management/relation/RoleUnresolved.java index 8b2579748..a20173c6f 100644 --- a/src/share/classes/javax/management/relation/RoleUnresolved.java +++ b/src/share/classes/javax/management/relation/RoleUnresolved.java @@ -285,9 +285,9 @@ public class RoleUnresolved implements Serializable { result.append("role name: " + roleName); if (roleValue != null) { result.append("; value: "); - for (Iterator objNameIter = roleValue.iterator(); + for (Iterator objNameIter = roleValue.iterator(); objNameIter.hasNext();) { - ObjectName currObjName = (ObjectName)(objNameIter.next()); + ObjectName currObjName = objNameIter.next(); result.append(currObjName.toString()); if (objNameIter.hasNext()) { result.append(", "); @@ -344,7 +344,7 @@ public class RoleUnresolved implements Serializable { // ObjectOutputStream.PutField fields = out.putFields(); fields.put("myRoleName", roleName); - fields.put("myRoleValue", (ArrayList)roleValue); + fields.put("myRoleValue", roleValue); fields.put("myPbType", problemType); out.writeFields(); } diff --git a/src/share/classes/javax/management/relation/RoleUnresolvedList.java b/src/share/classes/javax/management/relation/RoleUnresolvedList.java index 3b4e42ebf..873028b45 100644 --- a/src/share/classes/javax/management/relation/RoleUnresolvedList.java +++ b/src/share/classes/javax/management/relation/RoleUnresolvedList.java @@ -25,6 +25,7 @@ package javax.management.relation; +import com.sun.jmx.mbeanserver.Util; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -140,7 +141,7 @@ public class RoleUnresolvedList extends ArrayList { checkTypeSafe(this); typeSafe = true; } - return (List) (List) this; + return Util.cast(this); } // diff --git a/src/share/classes/javax/management/remote/JMXConnectorFactory.java b/src/share/classes/javax/management/remote/JMXConnectorFactory.java index 219865b60..051d8b34c 100644 --- a/src/share/classes/javax/management/remote/JMXConnectorFactory.java +++ b/src/share/classes/javax/management/remote/JMXConnectorFactory.java @@ -367,7 +367,8 @@ public class JMXConnectorFactory { return provider.newJMXConnector(serviceURL, fixedenv); } - private static String resolvePkgs(Map env) throws JMXProviderException { + private static String resolvePkgs(Map env) + throws JMXProviderException { Object pkgsObject = null; @@ -521,7 +522,7 @@ public class JMXConnectorFactory { return null; } - static ClassLoader resolveClassLoader(Map environment) { + static ClassLoader resolveClassLoader(Map environment) { ClassLoader loader = null; if (environment != null) { diff --git a/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java b/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java index a4c5fe0ea..5c2970f21 100644 --- a/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java +++ b/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java @@ -118,7 +118,8 @@ class NoCallStackClassLoader extends ClassLoader { * if it is one of the classes whose byte code we have, or * delegate the load if it is one of the referenced classes. */ - protected Class findClass(String name) throws ClassNotFoundException { + @Override + protected Class findClass(String name) throws ClassNotFoundException { for (int i = 0; i < classNames.length; i++) { if (name.equals(classNames[i])) { return defineClass(classNames[i], byteCodes[i], 0, diff --git a/src/share/classes/javax/management/remote/rmi/RMIConnection.java b/src/share/classes/javax/management/remote/rmi/RMIConnection.java index 863b3dca8..6fbafdb53 100644 --- a/src/share/classes/javax/management/remote/rmi/RMIConnection.java +++ b/src/share/classes/javax/management/remote/rmi/RMIConnection.java @@ -31,7 +31,6 @@ import java.rmi.MarshalledObject; import java.rmi.Remote; import java.util.Set; -import javax.management.Attribute; import javax.management.AttributeList; import javax.management.AttributeNotFoundException; import javax.management.InstanceAlreadyExistsException; @@ -45,11 +44,11 @@ import javax.management.MBeanRegistrationException; import javax.management.MBeanServerConnection; import javax.management.NotCompliantMBeanException; -import javax.management.NotificationFilter; import javax.management.ObjectInstance; import javax.management.ObjectName; -import javax.management.QueryExp; import javax.management.ReflectionException; +import javax.management.RuntimeMBeanException; +import javax.management.RuntimeOperationsException; import javax.management.remote.NotificationResult; import javax.security.auth.Subject; @@ -89,8 +88,9 @@ import javax.security.auth.Subject; * even though it would add useful information to the documentation. The * reason is that it was only added in Mustang (Java SE 6), whereas versions * 1.4 and 2.0 of the JMX API must be implementable on Tiger per our - * commitments for JSR 255. + * commitments for JSR 255. This is also why we suppress rawtypes warnings. */ +@SuppressWarnings("rawtypes") public interface RMIConnection extends Closeable, Remote { /** *

Returns the connection ID. This string is different for diff --git a/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java b/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java index a87d146e9..acac5ec8f 100644 --- a/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java +++ b/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java @@ -308,6 +308,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public ObjectInstance createMBean(String className, ObjectName name, MarshalledObject params, @@ -368,6 +369,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public ObjectInstance createMBean(String className, ObjectName name, ObjectName loaderName, @@ -493,6 +495,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public Set queryMBeans(ObjectName name, MarshalledObject query, @@ -527,6 +530,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public Set queryNames(ObjectName name, MarshalledObject query, @@ -668,6 +672,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public void setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject) @@ -720,6 +725,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public AttributeList setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject) @@ -765,6 +771,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public Object invoke(ObjectName name, String operationName, MarshalledObject params, @@ -928,6 +935,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public Integer[] addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects) @@ -1013,6 +1021,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public void addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, @@ -1148,6 +1157,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } + @SuppressWarnings("rawtypes") // MarshalledObject public void removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, @@ -1809,7 +1819,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { } } - private static T unwrap(final MarshalledObject mo, + private static T unwrap(final MarshalledObject mo, final ClassLoader cl, final Class wrappedClass) throws IOException { @@ -1847,7 +1857,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { return null; } - private static T unwrap(final MarshalledObject mo, + private static T unwrap(final MarshalledObject mo, final ClassLoader cl1, final ClassLoader cl2, final Class wrappedClass) diff --git a/src/share/classes/javax/management/remote/rmi/RMIConnector.java b/src/share/classes/javax/management/remote/rmi/RMIConnector.java index 934dac790..1f17143b9 100644 --- a/src/share/classes/javax/management/remote/rmi/RMIConnector.java +++ b/src/share/classes/javax/management/remote/rmi/RMIConnector.java @@ -28,6 +28,7 @@ package javax.management.remote.rmi; import com.sun.jmx.event.DaemonThreadFactory; import com.sun.jmx.event.EventConnection; import com.sun.jmx.mbeanserver.PerThreadGroupPool; +import com.sun.jmx.mbeanserver.Util; import com.sun.jmx.remote.internal.ClientCommunicatorAdmin; import com.sun.jmx.remote.internal.ClientListenerInfo; import com.sun.jmx.remote.internal.ClientNotifForwarder; @@ -584,7 +585,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable // added for re-connection private Integer addListenerWithSubject(ObjectName name, - MarshalledObject filter, + MarshalledObject filter, Subject delegationSubject, boolean reconnect) throws InstanceNotFoundException, IOException { @@ -595,7 +596,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable "(ObjectName,MarshalledObject,Subject)"); final ObjectName[] names = new ObjectName[] {name}; - final MarshalledObject[] filters = new MarshalledObject[] {filter}; + final MarshalledObject[] filters = + Util.cast(new MarshalledObject[] {filter}); final Subject[] delegationSubjects = new Subject[] { delegationSubject }; @@ -611,7 +613,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable // added for re-connection private Integer[] addListenersWithSubjects(ObjectName[] names, - MarshalledObject[] filters, + MarshalledObject[] filters, Subject[] delegationSubjects, boolean reconnect) throws InstanceNotFoundException, IOException { @@ -1362,7 +1364,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable //-------------------------------------------------------------------- private class RMINotifClient extends ClientNotifForwarder { - public RMINotifClient(ClassLoader cl, Map env) { + public RMINotifClient(ClassLoader cl, Map env) { super(cl, env); } @@ -1444,8 +1446,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable Integer[] listenerIDs; final ObjectName[] names = new ObjectName[] {MBeanServerDelegate.DELEGATE_NAME}; - final MarshalledObject[] filters = - new MarshalledObject[] {sFilter}; + final MarshalledObject[] filters = + Util.cast(new MarshalledObject[] {sFilter}); final Subject[] subjects = new Subject[] {null}; try { listenerIDs = @@ -1580,7 +1582,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable final ObjectName[] names = new ObjectName[len]; final NotificationListener[] listeners = new NotificationListener[len]; final NotificationFilter[] filters = new NotificationFilter[len]; - final MarshalledObject[] mFilters = new MarshalledObject[len]; + final MarshalledObject[] mFilters = + Util.cast(new MarshalledObject[len]); final Object[] handbacks = new Object[len]; for (i=0;i environment) throws IOException { if (rmiServer instanceof javax.rmi.CORBA.Stub) { javax.rmi.CORBA.Stub stub = (javax.rmi.CORBA.Stub) rmiServer; @@ -1776,7 +1779,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable * does not point to an {@link org.omg.CORBA.ORB ORB}. * @exception IOException if the ORB initialization failed. **/ - static ORB resolveOrb(Map environment) + static ORB resolveOrb(Map environment) throws IOException { if (environment != null) { final Object orb = environment.get(EnvHelp.DEFAULT_ORB); @@ -2004,7 +2007,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable } } - private RMIServer findRMIServerIIOP(String ior, Map env, boolean isIiop) { + private RMIServer findRMIServerIIOP(String ior, Map env, boolean isIiop) { // could forbid "rmi:" URL here -- but do we need to? final ORB orb = (ORB) env.get(EnvHelp.DEFAULT_ORB); @@ -2012,7 +2015,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable return (RMIServer) PortableRemoteObject.narrow(stub, RMIServer.class); } - private RMIServer findRMIServerJRMP(String base64, Map env, boolean isIiop) + private RMIServer findRMIServerJRMP(String base64, Map env, boolean isIiop) throws IOException { // could forbid "iiop:" URL here -- but do we need to? final byte[] serialized; @@ -2046,7 +2049,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable this.loader = cl; } - protected Class resolveClass(ObjectStreamClass classDesc) + @Override + protected Class resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException { return Class.forName(classDesc.getName(), false, loader); } @@ -2121,13 +2125,13 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable private static final String rmiServerImplStubClassName = RMIServer.class.getName() + "Impl_Stub"; - private static final Class rmiServerImplStubClass; + private static final Class rmiServerImplStubClass; private static final String rmiConnectionImplStubClassName = RMIConnection.class.getName() + "Impl_Stub"; private static final Class rmiConnectionImplStubClass; private static final String pRefClassName = "com.sun.jmx.remote.internal.PRef"; - private static final Constructor proxyRefConstructor; + private static final Constructor proxyRefConstructor; static { final String pRefByteCodeString = "\312\376\272\276\0\0\0.\0\27\12\0\5\0\15\11\0\4\0\16\13\0\17\0"+ @@ -2162,7 +2166,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable } }; - Class serverStubClass; + Class serverStubClass; try { serverStubClass = Class.forName(rmiServerImplStubClassName); } catch (Exception e) { @@ -2175,10 +2179,10 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable rmiServerImplStubClass = serverStubClass; Class stubClass; - Constructor constr; + Constructor constr; try { stubClass = Class.forName(rmiConnectionImplStubClassName); - constr = (Constructor) AccessController.doPrivileged(action); + constr = (Constructor) AccessController.doPrivileged(action); } catch (Exception e) { logger.error("", "Failed to initialize proxy reference constructor "+ @@ -2198,9 +2202,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable RemoteRef ref = stub.getRef(); RemoteRef proxyRef = (RemoteRef) proxyRefConstructor.newInstance(new Object[] {ref}); - final Class[] constrTypes = {RemoteRef.class}; - final Constructor rmiConnectionImplStubConstructor = - rmiConnectionImplStubClass.getConstructor(constrTypes); + final Constructor rmiConnectionImplStubConstructor = + rmiConnectionImplStubClass.getConstructor(RemoteRef.class); Object[] args = {proxyRef}; RMIConnection proxyStub = (RMIConnection) rmiConnectionImplStubConstructor.newInstance(args); @@ -2328,7 +2331,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable "com.sun.jmx.remote.internal.ProxyStub"; private static final String pInputStreamClassName = "com.sun.jmx.remote.internal.PInputStream"; - private static final Class proxyStubClass; + private static final Class proxyStubClass; static { final String proxyStubByteCodeString = "\312\376\272\276\0\0\0.\0)\12\0\14\0\26\7\0\27\12\0\14\0\30\12"+ diff --git a/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java b/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java index 2cbe315bf..e56020b47 100644 --- a/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java +++ b/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java @@ -423,7 +423,7 @@ public class RMIConnectorServer extends JMXConnectorServer { try { if (tracing) logger.trace("start", "binding to " + jndiUrl); - final Hashtable usemap = EnvHelp.mapToHashtable(attributes); + final Hashtable usemap = EnvHelp.mapToHashtable(attributes); bind(jndiUrl, usemap, objref, rebind); @@ -555,7 +555,7 @@ public class RMIConnectorServer extends JMXConnectorServer { logger.trace("stop", "unbind from external directory: " + boundJndiUrl); - final Hashtable usemap = EnvHelp.mapToHashtable(attributes); + final Hashtable usemap = EnvHelp.mapToHashtable(attributes); InitialContext ctx = new InitialContext(usemap); @@ -655,7 +655,7 @@ public class RMIConnectorServer extends JMXConnectorServer { * @param rmiServer The object to bind in the registry * @param rebind true if the object must be rebound. **/ - void bind(String jndiUrl, Hashtable attributes, + void bind(String jndiUrl, Hashtable attributes, RMIServer rmiServer, boolean rebind) throws NamingException, MalformedURLException { // if jndiURL is not null, we nust bind the stub to a @@ -692,7 +692,8 @@ public class RMIConnectorServer extends JMXConnectorServer { * @param attributes A Map containing environment parameters, * built from the Map specified at this object creation. **/ - private void encodeStubInAddress(RMIServer rmiServer, Map attributes) + private void encodeStubInAddress( + RMIServer rmiServer, Map attributes) throws IOException { final String protocol, host; @@ -735,14 +736,16 @@ public class RMIConnectorServer extends JMXConnectorServer { /** * Returns the IOR of the given rmiServer. **/ - static String encodeStub(RMIServer rmiServer, Map env) throws IOException { + static String encodeStub( + RMIServer rmiServer, Map env) throws IOException { if (rmiServer instanceof javax.rmi.CORBA.Stub) return "/ior/" + encodeIIOPStub(rmiServer, env); else return "/stub/" + encodeJRMPStub(rmiServer, env); } - static String encodeJRMPStub(RMIServer rmiServer, Map env) + static String encodeJRMPStub( + RMIServer rmiServer, Map env) throws IOException { ByteArrayOutputStream bout = new ByteArrayOutputStream(); ObjectOutputStream oout = new ObjectOutputStream(bout); @@ -752,7 +755,8 @@ public class RMIConnectorServer extends JMXConnectorServer { return byteArrayToBase64(bytes); } - static String encodeIIOPStub(RMIServer rmiServer, Map env) + static String encodeIIOPStub( + RMIServer rmiServer, Map env) throws IOException { try { javax.rmi.CORBA.Stub stub = @@ -767,7 +771,8 @@ public class RMIConnectorServer extends JMXConnectorServer { * Object that we will bind to the registry. * This object is a stub connected to our RMIServerImpl. **/ - private static RMIServer objectToBind(RMIServerImpl rmiServer, Map env) + private static RMIServer objectToBind( + RMIServerImpl rmiServer, Map env) throws IOException { return RMIConnector. connectStub((RMIServer)rmiServer.toStub(),env); diff --git a/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java b/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java index bc15562f5..d87b1d054 100644 --- a/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java +++ b/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java @@ -75,7 +75,7 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { * to an empty Map. */ public RMIServerImpl(Map env) { - this.env = (env == null) ? Collections.EMPTY_MAP : env; + this.env = (env == null) ? Collections.emptyMap() : env; } void setRMIConnectorServer(RMIConnectorServer connServer) @@ -337,8 +337,9 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { synchronized (clientList) { dropDeadReferences(); - for (Iterator it = clientList.iterator(); it.hasNext(); ) { - WeakReference wr = (WeakReference) it.next(); + for (Iterator> it = clientList.iterator(); + it.hasNext(); ) { + WeakReference wr = it.next(); if (wr.get() == client) { it.remove(); break; @@ -417,9 +418,10 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { dropDeadReferences(), this will usually be the first element of the list, but a garbage collection could have happened in between. */ - for (Iterator it = clientList.iterator(); it.hasNext(); ) { - WeakReference wr = (WeakReference) it.next(); - RMIConnection client = (RMIConnection) wr.get(); + for (Iterator> it = clientList.iterator(); + it.hasNext(); ) { + WeakReference wr = it.next(); + RMIConnection client = wr.get(); it.remove(); if (client != null) { try { @@ -475,10 +477,10 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { buf.append("//").append(clientHost); buf.append(" "); if (subject != null) { - Set principals = subject.getPrincipals(); + Set principals = subject.getPrincipals(); String sep = ""; - for (Iterator it = principals.iterator(); it.hasNext(); ) { - Principal p = (Principal) it.next(); + for (Iterator it = principals.iterator(); it.hasNext(); ) { + Principal p = it.next(); String name = p.getName().replace(' ', '_').replace(';', ':'); buf.append(sep).append(name); sep = ";"; @@ -492,8 +494,9 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { private void dropDeadReferences() { synchronized (clientList) { - for (Iterator it = clientList.iterator(); it.hasNext(); ) { - WeakReference wr = (WeakReference) it.next(); + for (Iterator> it = clientList.iterator(); + it.hasNext(); ) { + WeakReference wr = it.next(); if (wr.get() == null) it.remove(); } @@ -522,7 +525,7 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { private MBeanServer mbeanServer; - private final Map env; + private final Map env; private RMIConnectorServer connServer; diff --git a/src/share/classes/javax/management/timer/Timer.java b/src/share/classes/javax/management/timer/Timer.java index ea4d0b24a..909a1bbb0 100644 --- a/src/share/classes/javax/management/timer/Timer.java +++ b/src/share/classes/javax/management/timer/Timer.java @@ -248,8 +248,7 @@ public class Timer extends NotificationBroadcasterSupport */ public synchronized MBeanNotificationInfo[] getNotificationInfo() { Set notifTypes = new TreeSet(); - for (Iterator it = timerTable.values().iterator(); it.hasNext(); ) { - Object[] entry = (Object[]) it.next(); + for (Object[] entry : timerTable.values()) { TimerNotification notif = (TimerNotification) entry[TIMER_NOTIF_INDEX]; notifTypes.add(notif.getType()); -- GitLab