6763639: Remove "rawtypes" warnings from JMX code
Reviewed-by: dfuchs
This commit is contained in:
parent
1465cf8909
commit
d3972610f4
jdk
make/netbeans/jmx
src/share/classes
com/sun/jmx
event
interceptor
mbeanserver
ClassLoaderRepositorySupport.javaConvertingMethod.javaDefaultMXBeanMappingFactory.javaIntrospector.javaJmxMBeanServer.javaMBeanInstantiator.javaMXBeanIntrospector.javaObjectInputStreamWithLoader.javaSecureClassLoaderRepository.javaUtil.javaWeakIdentityHashMap.java
remote
javax/management
AttributeList.javaDefaultLoaderRepository.javaJMRuntimeException.javaJMX.javaMBeanAttributeInfo.javaMBeanConstructorInfo.javaMBeanInfo.javaMBeanOperationInfo.javaMBeanServerFactory.javaMBeanServerInvocationHandler.javaStandardMBean.java
event
loading
modelmbean
openmbean
ArrayType.javaCompositeDataInvocationHandler.javaCompositeType.javaOpenMBeanAttributeInfoSupport.javaOpenMBeanParameterInfoSupport.javaOpenType.javaSimpleType.javaTabularDataSupport.javaTabularType.java
relation
MBeanServerNotificationFilter.javaRelationService.javaRelationSupport.javaRole.javaRoleList.javaRoleResult.javaRoleUnresolved.javaRoleUnresolvedList.java
remote
timer
@ -44,13 +44,13 @@
|
||||
<!-- because they depend on the values of BUILD_DATE and BUILD_DATE_SIMPLE -->
|
||||
<!-- At this time, ./build.properties has not been loaded yet. -->
|
||||
<property name="project.build.name" value="openjdk-bXX"/>
|
||||
<property name="project.build.fulltag"
|
||||
<property name="project.build.fulltag"
|
||||
value="${ant.project.name}-${project.build.name}-${BUILD_DATE}" />
|
||||
|
||||
<!-- unchecked warnings will be fixed in JMX 2.0 as part of the work
|
||||
being done on JSR 255 new features -->
|
||||
<property name="javac.options"
|
||||
value="-Xlint -Xlint:-unchecked -Xlint:-deprecation"/>
|
||||
<property name="javac.options"
|
||||
value="-Xlint -Xlint:-deprecation"/>
|
||||
</target>
|
||||
|
||||
|
||||
@ -58,13 +58,13 @@
|
||||
<!-- Dir to keep generated stub source -->
|
||||
<mkdir dir="${gensrc.dir}" />
|
||||
</target>
|
||||
|
||||
|
||||
|
||||
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ -->
|
||||
<!-- Call rmic-jmx subtargets -->
|
||||
|
||||
<target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
|
||||
description="Calls -init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
|
||||
description="Calls -init,-rmic-jmx-jrmp,-rmic-jmx-iiop"
|
||||
/>
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@
|
||||
|
||||
<target name="-rmic-jmx-iiop" depends="-init,-check-jmx-iiop-uptodate" unless="jmx-iiop-uptodate"
|
||||
description="Generate RMI IIOP stub class files for remote objects. Do not keep generated java files." >
|
||||
|
||||
|
||||
<rmic base="${classes.dir}"
|
||||
includeAntRuntime="no"
|
||||
includeJavaRuntime="no"
|
||||
@ -115,11 +115,11 @@
|
||||
|
||||
<target name="-check-jmx-iiop-uptodate" depends="-init">
|
||||
|
||||
<uptodate property="jmx-iiop-uptodate"
|
||||
<uptodate property="jmx-iiop-uptodate"
|
||||
srcfile="${classes.dir}/javax/management/remote/rmi/RMIConnectionImpl.class"
|
||||
targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIConnectionImpl_Tie.class"
|
||||
/>
|
||||
<uptodate property="jmx-iiop-uptodate"
|
||||
<uptodate property="jmx-iiop-uptodate"
|
||||
srcfile="${classes.dir}/javax/management/remote/rmi/RMIServerImpl.class"
|
||||
targetfile="${classes.dir}/org/omg/stub/javax/management/remote/rmi/_RMIServerImpl_Tie.class"
|
||||
/>
|
||||
@ -131,7 +131,7 @@
|
||||
<target name="-post-compile" depends="-init,-rmic-jmx"
|
||||
description="Jar JMX class files (including RMI stubs)" >
|
||||
<mkdir dir="${dist.dir}/lib"/>
|
||||
<jar jarfile="${dist.dir}/lib/${jar.jmx.name}"
|
||||
<jar jarfile="${dist.dir}/lib/${jar.jmx.name}"
|
||||
update="true"
|
||||
index="false"
|
||||
duplicate="fail">
|
||||
@ -144,7 +144,7 @@
|
||||
<attribute name="Specification-Version" value="${jar.jmx.spec.version}" />
|
||||
<attribute name="Specification-Vendor" value="${jar.jmx.spec.vendor}" />
|
||||
<attribute name="Implementation-Title" value="${jar.jmx.impl.title}" />
|
||||
<attribute name="Implementation-Version" value="${project.build.fulltag}" />
|
||||
<attribute name="Implementation-Version" value="${project.build.fulltag}" />
|
||||
<attribute name="Implementation-Vendor" value="${jar.jmx.impl.vendor}" />
|
||||
</section>
|
||||
</manifest>
|
||||
|
@ -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,
|
||||
|
@ -128,7 +128,7 @@ public class LeaseRenewer {
|
||||
};
|
||||
|
||||
private final Callable<Long> doRenew;
|
||||
private ScheduledFuture future;
|
||||
private ScheduledFuture<?> future;
|
||||
private boolean closed = false;
|
||||
private long nextRenewTime;
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -136,14 +136,14 @@ final class ClassLoaderRepositorySupport
|
||||
new Hashtable<ObjectName,ClassLoader>(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<size; i++) {
|
||||
|
@ -68,12 +68,12 @@ final class ConvertingMethod {
|
||||
return method.getName();
|
||||
}
|
||||
|
||||
OpenType getOpenReturnType() {
|
||||
OpenType<?> 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;
|
||||
|
@ -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 <T extends Enum<T>>.
|
||||
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 <T extends Enum<T>> MXBeanMapping
|
||||
makeEnumMapping(Class enumClass, Class<T> fake) {
|
||||
makeEnumMapping(Class<?> enumClass, Class<T> fake) {
|
||||
return new EnumMapping<T>(Util.<Class<T>>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<String,Method> 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<? extends Collection> collectionClass;
|
||||
private final Class<? extends Collection<?>> collectionClass;
|
||||
private final MXBeanMapping elementMapping;
|
||||
}
|
||||
|
||||
@ -794,8 +796,8 @@ public class DefaultMXBeanMappingFactory extends MXBeanMappingFactory {
|
||||
@Override
|
||||
final Object toNonNullOpenValue(Object value) throws OpenDataException {
|
||||
final Map<Object, Object> 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<Object, Object> 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<ConstructorProperties> 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<Method> 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 " +
|
||||
|
@ -115,7 +115,7 @@ public class Introspector {
|
||||
* Dynamic MBeans, <code>false</code> 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.
|
||||
|
@ -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<Attribute> 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));
|
||||
}
|
||||
|
@ -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<String, Class<?>> 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);
|
||||
}
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ class MXBeanIntrospector extends MBeanIntrospector<ConvertingMethod> {
|
||||
// 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<ConvertingMethod> {
|
||||
}
|
||||
}
|
||||
|
||||
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<ConvertingMethod> {
|
||||
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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -669,7 +669,7 @@ public class Util {
|
||||
}
|
||||
|
||||
public static <T> Set<T> cloneSet(Set<T> set) {
|
||||
if (set instanceof SortedSet) {
|
||||
if (set instanceof SortedSet<?>) {
|
||||
@SuppressWarnings("unchecked")
|
||||
SortedSet<T> sset = (SortedSet<T>) set;
|
||||
set = new TreeSet<T>(sset.comparator());
|
||||
@ -680,7 +680,7 @@ public class Util {
|
||||
}
|
||||
|
||||
public static <T> Set<T> equivalentEmptySet(Set<T> set) {
|
||||
if (set instanceof SortedSet) {
|
||||
if (set instanceof SortedSet<?>) {
|
||||
@SuppressWarnings("unchecked")
|
||||
SortedSet<T> sset = (SortedSet<T>) set;
|
||||
set = new TreeSet<T>(sset.comparator());
|
||||
|
@ -118,9 +118,9 @@ class WeakIdentityHashMap<K, V> {
|
||||
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());
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public class ArrayNotificationBuffer implements NotificationBuffer {
|
||||
private final Collection<ShareBuffer> sharers = new HashSet<ShareBuffer>(1);
|
||||
|
||||
public static NotificationBuffer getNotificationBuffer(
|
||||
MBeanServer mbs, Map env) {
|
||||
MBeanServer mbs, Map<String, ?> env) {
|
||||
|
||||
if (env == null)
|
||||
env = Collections.emptyMap();
|
||||
|
@ -54,7 +54,7 @@ import com.sun.jmx.remote.util.EnvHelp;
|
||||
|
||||
|
||||
public abstract class ClientNotifForwarder {
|
||||
public ClientNotifForwarder(Map env) {
|
||||
public ClientNotifForwarder(Map<String, ?> 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<String, ?> env) {
|
||||
maxNotifications = EnvHelp.getMaxFetchNotifNumber(env);
|
||||
timeout = EnvHelp.getFetchTimeout(env);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -59,7 +59,7 @@ public class ServerNotifForwarder {
|
||||
|
||||
|
||||
public ServerNotifForwarder(MBeanServer mbeanServer,
|
||||
Map env,
|
||||
Map<String, ?> env,
|
||||
NotificationBuffer notifBuffer,
|
||||
String connectionId) {
|
||||
this.mbeanServer = mbeanServer;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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<String, ?> sharedState;
|
||||
private Map options;
|
||||
private Map<String, Object> sharedState;
|
||||
private Map<String, ?> 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
|
||||
|
@ -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;
|
||||
|
@ -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<Principal> 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)) {
|
||||
|
@ -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) {
|
||||
|
@ -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.
|
||||
|
@ -117,7 +117,7 @@ public class EnvHelp {
|
||||
* <code>jmx.remote.default.class.loader.name</code> is specified
|
||||
* and the ClassLoader MBean is not found in <var>mbs</var>.
|
||||
*/
|
||||
public static ClassLoader resolveServerClassLoader(Map env,
|
||||
public static ClassLoader resolveServerClassLoader(Map<String, ?> env,
|
||||
MBeanServer mbs)
|
||||
throws InstanceNotFoundException {
|
||||
|
||||
@ -194,7 +194,7 @@ public class EnvHelp {
|
||||
* <code>jmx.remote.default.class.loader</code> is specified
|
||||
* and is not an instance of {@link ClassLoader}.
|
||||
*/
|
||||
public static ClassLoader resolveClientClassLoader(Map env) {
|
||||
public static ClassLoader resolveClientClassLoader(Map<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> env) {
|
||||
return (env == null) ? null :
|
||||
(NotificationAccessController) env.get(NOTIF_ACCESS_CONTROLLER);
|
||||
}
|
||||
@ -378,7 +378,7 @@ public class EnvHelp {
|
||||
* an entry for <code>name</code> but it does not meet the
|
||||
* constraints above.
|
||||
*/
|
||||
public static long getIntegerAttribute(Map env, String name,
|
||||
public static long getIntegerAttribute(Map<String, ?> 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<String> keyIterator = map.keySet().iterator();
|
||||
Iterator<String> stringIterator = hiddenStrings.iterator();
|
||||
Iterator<String> 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<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> 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 <K, V> Hashtable<K, V> mapToHashtable(Map<K, V> map) {
|
||||
HashMap<K, V> m = new HashMap<K, V>(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<K, V>(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<String, ?> 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<String, ?> env) {
|
||||
return computeBooleanFromString(env,
|
||||
JMXConnectorServer.DELEGATE_TO_EVENT_SERVICE, true, true);
|
||||
}
|
||||
|
@ -138,8 +138,8 @@ public class EventClientConnection implements InvocationHandler,
|
||||
Class<T> interfaceClass, Callable<EventClient> 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;
|
||||
|
@ -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) {
|
||||
|
@ -159,7 +159,7 @@ public class AttributeList extends ArrayList<Object> {
|
||||
checkTypeSafe(this);
|
||||
typeSafe = true;
|
||||
}
|
||||
return (List<Attribute>) (List) this;
|
||||
return (List<Attribute>) (List<?>) this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ public class MBeanConstructorInfo extends MBeanFeatureInfo implements Cloneable
|
||||
* @param constructor The <CODE>java.lang.reflect.Constructor</CODE>
|
||||
* 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);
|
||||
}
|
||||
|
@ -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<Class, Boolean> arrayGettersSafeMap =
|
||||
new WeakHashMap<Class, Boolean>();
|
||||
private static final Map<Class<?>, Boolean> arrayGettersSafeMap =
|
||||
new WeakHashMap<Class<?>, Boolean>();
|
||||
|
||||
/**
|
||||
* Return true if <code>subclass</code> 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) {
|
||||
|
@ -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];
|
||||
|
@ -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...
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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<Class, Boolean> mbeanInfoSafeMap =
|
||||
new WeakHashMap<Class, Boolean>();
|
||||
private static final Map<Class<?>, Boolean> mbeanInfoSafeMap =
|
||||
new WeakHashMap<Class<?>, 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<Boolean> {
|
||||
|
||||
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;
|
||||
}
|
||||
|
@ -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<EventClientDelegate> 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++)
|
||||
|
@ -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) {
|
||||
|
@ -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<MBeanServer> 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);
|
||||
|
@ -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));
|
||||
|
@ -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 {
|
||||
|
@ -589,7 +589,7 @@ public class DescriptorSupport
|
||||
int numberOfEntries = descriptorMap.size();
|
||||
|
||||
String[] responseFields = new String[numberOfEntries];
|
||||
Set returnedSet = descriptorMap.entrySet();
|
||||
Set<Map.Entry<String, Object>> 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<Map.Entry<String, Object>> iter = returnedSet.iterator();
|
||||
iter.hasNext(); i++) {
|
||||
Map.Entry<String, Object> 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<Map.Entry<String, Object>> 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<Map.Entry<String, Object>> iter = returnedSet.iterator();
|
||||
iter.hasNext(); i++) {
|
||||
Map.Entry<String, Object> 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<Map.Entry<String, Object>> 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<String, Object> 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("<Descriptor>");
|
||||
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<Map.Entry<String, Object>> returnedSet = descriptorMap.entrySet();
|
||||
for (Map.Entry<String, Object> 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 + ">");
|
||||
|
@ -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)
|
||||
{
|
||||
|
||||
|
@ -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<String,Class<?>>();
|
||||
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);
|
||||
|
@ -296,7 +296,7 @@ public class ArrayType<T> extends OpenType<T> {
|
||||
// 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<T> extends OpenType<T> {
|
||||
|
||||
/* 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<T> extends OpenType<T> {
|
||||
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<T> extends OpenType<T> {
|
||||
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<T> extends OpenType<T> {
|
||||
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<T> extends OpenType<T> {
|
||||
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<T> extends OpenType<T> {
|
||||
}
|
||||
|
||||
@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<T> extends OpenType<T> {
|
||||
|
||||
// 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<T> extends OpenType<T> {
|
||||
// Build primitive array
|
||||
//
|
||||
try {
|
||||
@SuppressWarnings("rawtypes")
|
||||
ArrayType at = new ArrayType(simpleType, true);
|
||||
if (n > 1)
|
||||
at = new ArrayType<T>(n - 1, at);
|
||||
@ -934,7 +935,7 @@ public class ArrayType<T> extends OpenType<T> {
|
||||
}
|
||||
}
|
||||
|
||||
private ArrayType convertFromWrapperToPrimitiveTypes() {
|
||||
private <T> ArrayType<T> convertFromWrapperToPrimitiveTypes() {
|
||||
String cn = getClassName();
|
||||
String tn = getTypeName();
|
||||
String d = getDescription();
|
||||
@ -952,8 +953,8 @@ public class ArrayType<T> extends OpenType<T> {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return new ArrayType(cn, tn, d,
|
||||
dimension, elementType, primitiveArray);
|
||||
return new ArrayType<T>(cn, tn, d,
|
||||
dimension, elementType, primitiveArray);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1002,7 +1003,7 @@ public class ArrayType<T> extends OpenType<T> {
|
||||
}
|
||||
}
|
||||
|
||||
private ArrayType convertFromPrimitiveToWrapperTypes() {
|
||||
private <T> ArrayType<T> convertFromPrimitiveToWrapperTypes() {
|
||||
String cn = getClassName();
|
||||
String tn = getTypeName();
|
||||
String d = getDescription();
|
||||
@ -1020,7 +1021,7 @@ public class ArrayType<T> extends OpenType<T> {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return new ArrayType(cn, tn, d,
|
||||
dimension, elementType, primitiveArray);
|
||||
return new ArrayType<T>(cn, tn, d,
|
||||
dimension, elementType, primitiveArray);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -329,7 +329,7 @@ public class CompositeType extends OpenType<CompositeData> {
|
||||
* @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<CompositeData> {
|
||||
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<CompositeData> {
|
||||
result.append(getTypeName());
|
||||
result.append(",items=(");
|
||||
int i=0;
|
||||
Iterator k=nameToType.keySet().iterator();
|
||||
Iterator<String> 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);
|
||||
|
@ -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 <T> Comparable comparableValueFrom(Descriptor d, String name,
|
||||
OpenType<T> openType) {
|
||||
static <T> Comparable<?> comparableValueFrom(Descriptor d, String name,
|
||||
OpenType<T> 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;
|
||||
|
@ -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
|
||||
|
@ -206,7 +206,7 @@ public abstract class OpenType<T> implements Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean overridesGetClassName(final Class<? extends OpenType> c) {
|
||||
private static boolean overridesGetClassName(final Class<?> c) {
|
||||
return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
|
||||
public Boolean run() {
|
||||
try {
|
||||
|
@ -163,7 +163,7 @@ public final class SimpleType<T> extends OpenType<T> {
|
||||
public static final SimpleType<ObjectName> OBJECTNAME =
|
||||
new SimpleType<ObjectName>(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<T> extends OpenType<T> {
|
||||
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<T> extends OpenType<T> {
|
||||
return myToString;
|
||||
}
|
||||
|
||||
private static final Map<SimpleType,SimpleType> canonicalTypes =
|
||||
new HashMap<SimpleType,SimpleType>();
|
||||
private static final Map<SimpleType<?>,SimpleType<?>> canonicalTypes =
|
||||
new HashMap<SimpleType<?>,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<T> extends OpenType<T> {
|
||||
* 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);
|
||||
|
@ -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<Object> 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<Map.Entry<Object,Object>> 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;
|
||||
|
||||
|
@ -237,7 +237,7 @@ public class TabularType extends OpenType<TabularData> {
|
||||
}
|
||||
|
||||
@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<TabularData> {
|
||||
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<TabularData> {
|
||||
.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();
|
||||
|
@ -354,7 +354,7 @@ public class MBeanServerNotificationFilter extends NotificationFilterSupport {
|
||||
|
||||
// Checks the type first
|
||||
String ntfType = notif.getType();
|
||||
Vector enabledTypes = getEnabledTypes();
|
||||
Vector<String> 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
|
||||
|
@ -1111,7 +1111,7 @@ public class RelationService extends NotificationBroadcasterSupport
|
||||
throw new IllegalArgumentException(excMsg);
|
||||
}
|
||||
|
||||
if (!(oldValue instanceof ArrayList))
|
||||
if (!(oldValue instanceof ArrayList<?>))
|
||||
oldValue = new ArrayList<ObjectName>(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<ObjectName>(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<String,List<String>> mbeanRefMap =
|
||||
(myRefedMBeanObjName2RelIdsMap.get(objectName));
|
||||
|
||||
if (mbeanRefMap == null) {
|
||||
@ -2796,11 +2796,11 @@ public class RelationService extends NotificationBroadcasterSupport
|
||||
return true;
|
||||
}
|
||||
|
||||
ArrayList roleNames = new ArrayList();
|
||||
List<String> 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<ObjectName> newRefList,
|
||||
List<ObjectName> 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<RoleInfo> roleInfoList = new ArrayList<RoleInfo>(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<ObjectName> 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<ObjectName> dummyList = new ArrayList<ObjectName>();
|
||||
@ -3191,7 +3174,7 @@ public class RelationService extends NotificationBroadcasterSupport
|
||||
// -exception IllegalArgumentException if null parameter
|
||||
private Integer checkRoleInt(int chkType,
|
||||
String roleName,
|
||||
List roleValue,
|
||||
List<ObjectName> 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<RoleInfo> 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<String> 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
|
||||
|
@ -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<String,Role> myRoleName2ValueMap = new HashMap<String,Role>();
|
||||
private final Map<String,Role> myRoleName2ValueMap = new HashMap<String,Role>();
|
||||
|
||||
// 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<ObjectName> 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<ObjectName>(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)) {
|
||||
|
@ -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<ObjectName> 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
|
||||
|
@ -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<Object> {
|
||||
checkTypeSafe(this);
|
||||
typeSafe = true;
|
||||
}
|
||||
return (List<Role>) (List) this;
|
||||
return Util.cast(this);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -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());
|
||||
|
@ -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<ObjectName> 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();
|
||||
}
|
||||
|
@ -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<Object> {
|
||||
checkTypeSafe(this);
|
||||
typeSafe = true;
|
||||
}
|
||||
return (List<RoleUnresolved>) (List) this;
|
||||
return Util.cast(this);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -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<String, ?> env)
|
||||
throws JMXProviderException {
|
||||
|
||||
Object pkgsObject = null;
|
||||
|
||||
@ -521,7 +522,7 @@ public class JMXConnectorFactory {
|
||||
return null;
|
||||
}
|
||||
|
||||
static ClassLoader resolveClassLoader(Map environment) {
|
||||
static ClassLoader resolveClassLoader(Map<String, ?> environment) {
|
||||
ClassLoader loader = null;
|
||||
|
||||
if (environment != null) {
|
||||
|
@ -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,
|
||||
|
@ -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 {
|
||||
/**
|
||||
* <p>Returns the connection ID. This string is different for
|
||||
|
@ -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<ObjectInstance>
|
||||
queryMBeans(ObjectName name,
|
||||
MarshalledObject query,
|
||||
@ -527,6 +530,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes") // MarshalledObject
|
||||
public Set<ObjectName>
|
||||
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> T unwrap(final MarshalledObject mo,
|
||||
private static <T> T unwrap(final MarshalledObject<?> mo,
|
||||
final ClassLoader cl,
|
||||
final Class<T> wrappedClass)
|
||||
throws IOException {
|
||||
@ -1847,7 +1857,7 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static <T> T unwrap(final MarshalledObject mo,
|
||||
private static <T> T unwrap(final MarshalledObject<?> mo,
|
||||
final ClassLoader cl1,
|
||||
final ClassLoader cl2,
|
||||
final Class<T> wrappedClass)
|
||||
|
@ -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<NotificationFilter> 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<NotificationFilter>[] 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<NotificationFilter>[] 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<String, ?> 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<NotificationFilter>[] 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<NotificationFilter>[] mFilters =
|
||||
Util.cast(new MarshalledObject<?>[len]);
|
||||
final Object[] handbacks = new Object[len];
|
||||
|
||||
for (i=0;i<len;i++) {
|
||||
@ -1742,7 +1745,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable
|
||||
* @exception IOException if the connection to the ORB failed.
|
||||
**/
|
||||
static RMIServer connectStub(RMIServer rmiServer,
|
||||
Map environment)
|
||||
Map<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> 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("<clinit>",
|
||||
"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"+
|
||||
|
@ -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<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> 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<String, ?> env)
|
||||
throws IOException {
|
||||
return RMIConnector.
|
||||
connectStub((RMIServer)rmiServer.toStub(),env);
|
||||
|
@ -75,7 +75,7 @@ public abstract class RMIServerImpl implements Closeable, RMIServer {
|
||||
* to an empty Map.
|
||||
*/
|
||||
public RMIServerImpl(Map<String,?> env) {
|
||||
this.env = (env == null) ? Collections.EMPTY_MAP : env;
|
||||
this.env = (env == null) ? Collections.<String,Object>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<WeakReference<RMIConnection>> it = clientList.iterator();
|
||||
it.hasNext(); ) {
|
||||
WeakReference<RMIConnection> 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<WeakReference<RMIConnection>> it = clientList.iterator();
|
||||
it.hasNext(); ) {
|
||||
WeakReference<RMIConnection> 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<Principal> principals = subject.getPrincipals();
|
||||
String sep = "";
|
||||
for (Iterator it = principals.iterator(); it.hasNext(); ) {
|
||||
Principal p = (Principal) it.next();
|
||||
for (Iterator<Principal> 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<WeakReference<RMIConnection>> it = clientList.iterator();
|
||||
it.hasNext(); ) {
|
||||
WeakReference<RMIConnection> 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<String, ?> env;
|
||||
|
||||
private RMIConnectorServer connServer;
|
||||
|
||||
|
@ -248,8 +248,7 @@ public class Timer extends NotificationBroadcasterSupport
|
||||
*/
|
||||
public synchronized MBeanNotificationInfo[] getNotificationInfo() {
|
||||
Set<String> notifTypes = new TreeSet<String>();
|
||||
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());
|
||||
|
Loading…
x
Reference in New Issue
Block a user