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