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);

Reply via email to