This patch fixes a number of classes in javax.management, so they use generic collections:
ChangeLog: 2008-08-25 Andrew John Hughes <[EMAIL PROTECTED]> * javax/management/MBeanPermission.java, * javax/management/MBeanServerDelegate.java, * javax/management/MBeanServerFactory.java, * javax/management/MBeanServerInvocationHandler.java, * javax/management/MBeanServerPermission.java: Fix warnings due to use of non-generic collections. -- Andrew :) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
Index: javax/management/MBeanPermission.java =================================================================== RCS file: /sources/classpath/classpath/javax/management/MBeanPermission.java,v retrieving revision 1.2 diff -u -u -r1.2 MBeanPermission.java --- javax/management/MBeanPermission.java 7 Jan 2008 21:11:26 -0000 1.2 +++ javax/management/MBeanPermission.java 25 Aug 2008 21:25:58 -0000 @@ -37,6 +37,8 @@ package javax.management; +import gnu.java.lang.CPStringBuilder; + import java.security.Permission; import java.io.IOException; @@ -154,19 +156,19 @@ /** * The list of actions as an ordered set. */ - private transient Set actionSet; + private transient Set<String> actionSet; /** * The set of valid actions. */ - private static final Set validSet; + private static final Set<String> validSet; /** * Initialise the set of valid actions. */ static { - validSet = new HashSet(); + validSet = new HashSet<String>(); validSet.add("addNotificationListener"); validSet.add("getAttribute"); validSet.add("getClassLoader"); @@ -263,8 +265,8 @@ */ public String getActions() { - Iterator it = actionSet.iterator(); - StringBuilder builder = new StringBuilder(); + Iterator<String> it = actionSet.iterator(); + CPStringBuilder builder = new CPStringBuilder(); while (it.hasNext()) { builder.append(it.next()); @@ -323,10 +325,8 @@ NameHolder name = new NameHolder(getName()); if (!(name.equals(pName))) return false; - Iterator i = mp.getActionSet().iterator(); - while (i.hasNext()) + for (String nextAction : mp.actionSet) { - String nextAction = (String) i.next(); boolean found = actions.contains(nextAction); if (!found) if (nextAction.equals("queryNames")) @@ -502,23 +502,13 @@ } /** - * Returns the set of actions. - * - * @return the actions as an ordered set. - */ - Set getActionSet() - { - return actionSet; - } - - /** * Updates the action set from the current value of * the actions string. */ private void updateActionSet() { String[] actionsArray = actions.split(","); - actionSet = new TreeSet(); + actionSet = new TreeSet<String>(); for (int a = 0; a < actionsArray.length; ++a) actionSet.add(actionsArray[a].trim()); } @@ -548,10 +538,8 @@ */ private void checkActions() { - Iterator it = actionSet.iterator(); - while (it.hasNext()) + for (String action : actionSet) { - String action = (String) it.next(); if (!(validSet.contains(action))) throw new IllegalArgumentException("Invalid action " + action + " found."); Index: javax/management/MBeanServerDelegate.java =================================================================== RCS file: /sources/classpath/classpath/javax/management/MBeanServerDelegate.java,v retrieving revision 1.3 diff -u -u -r1.3 MBeanServerDelegate.java --- javax/management/MBeanServerDelegate.java 16 Feb 2007 17:47:09 -0000 1.3 +++ javax/management/MBeanServerDelegate.java 25 Aug 2008 21:25:58 -0000 @@ -69,7 +69,8 @@ /** * The listeners registered with the delegate. */ - private final List listeners = new ArrayList(); + private final List<ListenerData> listeners = + new ArrayList<ListenerData>(); /** * The sequence identifier used by the delegate. @@ -293,10 +294,8 @@ { if (notification.getSequenceNumber() <= 0) notification.setSequenceNumber(++seqNo); - Iterator it = listeners.iterator(); - while (it.hasNext()) + for (ListenerData ldata : listeners) { - ListenerData ldata = (ListenerData) it.next(); NotificationFilter filter = ldata.getFilter(); if (filter == null || filter.isNotificationEnabled(notification)) ldata.getListener().handleNotification(notification, ldata.getPassback()); Index: javax/management/MBeanServerFactory.java =================================================================== RCS file: /sources/classpath/classpath/javax/management/MBeanServerFactory.java,v retrieving revision 1.6 diff -u -u -r1.6 MBeanServerFactory.java --- javax/management/MBeanServerFactory.java 2 Apr 2007 18:24:30 -0000 1.6 +++ javax/management/MBeanServerFactory.java 25 Aug 2008 21:25:59 -0000 @@ -89,7 +89,8 @@ /** * The map of registered servers (identifiers to servers). */ - private static final Map<Object,MBeanServer> servers = new HashMap(); + private static final Map<Object,MBeanServer> servers = + new HashMap<Object,MBeanServer>(); /** * Private constructor to prevent instance creation. @@ -212,7 +213,7 @@ if (sm != null) sm.checkPermission(new MBeanServerPermission("findMBeanServer")); if (id == null) - return new ArrayList(servers.values()); + return new ArrayList<MBeanServer>(servers.values()); ArrayList<MBeanServer> list = new ArrayList<MBeanServer>(); MBeanServer server = servers.get(id); if (server != null) @@ -342,7 +343,7 @@ cl = MBeanServerFactory.class.getClassLoader(); try { - Class bClass = Class.forName(builderClass, true, cl); + Class<?> bClass = Class.forName(builderClass, true, cl); builder = (MBeanServerBuilder) bClass.newInstance(); } catch (ClassNotFoundException e) Index: javax/management/MBeanServerInvocationHandler.java =================================================================== RCS file: /sources/classpath/classpath/javax/management/MBeanServerInvocationHandler.java,v retrieving revision 1.1 diff -u -u -r1.1 MBeanServerInvocationHandler.java --- javax/management/MBeanServerInvocationHandler.java 5 Mar 2007 00:22:41 -0000 1.1 +++ javax/management/MBeanServerInvocationHandler.java 25 Aug 2008 21:25:59 -0000 @@ -204,7 +204,7 @@ throws Throwable { String mName = method.getName(); - Class proxyClass = proxy.getClass(); + Class<?> proxyClass = proxy.getClass(); if (mName.equals("toString")) { if (inInterface(mName, proxyClass)) @@ -352,6 +352,8 @@ * @return a proxy for the specified bean. * @see JMX#newMBeanProxy(MBeanServerConnection,ObjectName,Class) */ + // Suppress warnings as we know an instance of T will be returned. + @SuppressWarnings("unchecked") public static <T> T newProxyInstance(MBeanServerConnection conn, ObjectName name, Class<T> iface, boolean broadcaster) Index: javax/management/MBeanServerPermission.java =================================================================== RCS file: /sources/classpath/classpath/javax/management/MBeanServerPermission.java,v retrieving revision 1.1 diff -u -u -r1.1 MBeanServerPermission.java --- javax/management/MBeanServerPermission.java 10 Dec 2006 17:44:33 -0000 1.1 +++ javax/management/MBeanServerPermission.java 25 Aug 2008 21:26:00 -0000 @@ -280,6 +280,7 @@ * @see #isReadOnly() * @see #setReadOnly(boolean) */ + @Override public void add(Permission p) { if (isReadOnly()) @@ -327,7 +328,8 @@ * * @return an enumeration over the collection permission. */ - public Enumeration elements() + @Override + public Enumeration<Permission> elements() { return new MBeanServerPermissionEnumeration(collectionPermission); @@ -341,7 +343,7 @@ * @since 1.5 */ private class MBeanServerPermissionEnumeration - implements Enumeration + implements Enumeration<Permission> { /** @@ -381,7 +383,7 @@ * * @return the next capability. */ - public Object nextElement() + public Permission nextElement() { if (hasMoreElements()) { @@ -405,6 +407,7 @@ * @param p the permission to check for implication. * @return true if this permission implies <code>p</code>. */ + @Override public boolean implies(Permission p) { return collectionPermission.implies(p);