<AWT Dev> JDK 9 RFR of JDK-8039109 : Fix unchecked and raw lint warnings in java.awt
Petr Pchelko
petr.pchelko at oracle.com
Wed Apr 30 06:21:17 UTC 2014
Hello, Joe.
In RenderableImageOp.getRenderableSources only RenderableImage instances are added to the Vector.
So the method could return Vector<RenderableImage> to avoid the cast in getSources() method.
With best regards. Petr.
On 30.04.2014, at 0:26, Joe Darcy <joe.darcy at oracle.com> wrote:
> Hello,
>
> Now that Henry's fixes of raw and unchecked warnings in sun.awt has been pushed, please review this change to fix issues in java.awt:
>
> JDK-8039109 : Fix unchecked and raw lint warnings in java.awt
> http://cr.openjdk.java.net/~darcy/8039109.1/
>
> Full patch below. A few points of interest in the patch:
>
> * There is a change to the signature of a public method in java.awt.image.renderable.ParameterBlock.java (I believe that is the only such change in this patch; internally, a ccc request will be filed for this part of the fix.)
>
> * In my estimation the changes in java.awt.GraphicsEnvironment.java are a better use of generics and reflection.
>
> Thanks,
>
> -Joe
>
> --- old/src/share/classes/java/awt/AWTKeyStroke.java 2014-04-29 13:01:10.000000000 -0700
> +++ new/src/share/classes/java/awt/AWTKeyStroke.java 2014-04-29 13:01:10.000000000 -0700
> @@ -86,7 +86,8 @@
> * Must be called under locked AWTKeyStro
> */
> private static Class<AWTKeyStroke> getAWTKeyStrokeClass() {
> - Class<AWTKeyStroke> clazz = (Class)AppContext.getAppContext().get(AWTKeyStroke.class);
> + @SuppressWarnings("unchecked")
> + Class<AWTKeyStroke> clazz = (Class<AWTKeyStroke>)AppContext.getAppContext().get(AWTKeyStroke.class);
> if (clazz == null) {
> clazz = AWTKeyStroke.class;
> AppContext.getAppContext().put(AWTKeyStroke.class, AWTKeyStroke.class);
> @@ -182,6 +183,7 @@
> throw new IllegalArgumentException("subclass cannot be null");
> }
> synchronized (AWTKeyStroke.class) {
> + @SuppressWarnings("unchecked")
> Class<AWTKeyStroke> keyStrokeClass = (Class)AppContext.getAppContext().get(AWTKeyStroke.class);
> if (keyStrokeClass != null && keyStrokeClass.equals(subclass)){
> // Already registered
> @@ -192,7 +194,7 @@
> throw new ClassCastException("subclass is not derived from AWTKeyStroke");
> }
>
> - Constructor ctor = getCtor(subclass);
> + Constructor<?> ctor = getCtor(subclass);
>
> String couldNotInstantiate = "subclass could not be instantiated";
>
> @@ -227,12 +229,12 @@
> threat as accessible flag is set only for this Constructor object,
> not for Class constructor.
> */
> - private static Constructor getCtor(final Class clazz)
> + private static Constructor<?> getCtor(final Class<?> clazz)
> {
> - Constructor ctor = AccessController.doPrivileged(new PrivilegedAction<Constructor>() {
> - public Constructor run() {
> + Constructor<?> ctor = AccessController.doPrivileged(new PrivilegedAction<Constructor<?>>() {
> + public Constructor<?> run() {
> try {
> - Constructor ctor = clazz.getDeclaredConstructor((Class[]) null);
> + Constructor<?> ctor = clazz.getDeclaredConstructor((Class<?>[]) null);
> if (ctor != null) {
> ctor.setAccessible(true);
> }
> @@ -249,7 +251,9 @@
> private static synchronized AWTKeyStroke getCachedStroke
> (char keyChar, int keyCode, int modifiers, boolean onKeyRelease)
> {
> + @SuppressWarnings("unchecked")
> Map<AWTKeyStroke, AWTKeyStroke> cache = (Map)AppContext.getAppContext().get(APP_CONTEXT_CACHE_KEY);
> + @SuppressWarnings("unchecked")
> AWTKeyStroke cacheKey = (AWTKeyStroke)AppContext.getAppContext().get(APP_CONTEXT_KEYSTROKE_KEY);
>
> if (cache == null) {
> --- old/src/share/classes/java/awt/CardLayout.java 2014-04-29 13:01:11.000000000 -0700
> +++ new/src/share/classes/java/awt/CardLayout.java 2014-04-29 13:01:11.000000000 -0700
> @@ -560,6 +560,7 @@
> /**
> * Reads serializable fields from stream.
> */
> + @SuppressWarnings("unchecked")
> private void readObject(ObjectInputStream s)
> throws ClassNotFoundException, IOException
> {
> --- old/src/share/classes/java/awt/Component.java 2014-04-29 13:01:11.000000000 -0700
> +++ new/src/share/classes/java/awt/Component.java 2014-04-29 13:01:11.000000000 -0700
> @@ -6184,7 +6184,7 @@
> /**
> * Parameter types of coalesceEvents(AWTEvent,AWTEVent).
> */
> - private static final Class[] coalesceEventsParams = {
> + private static final Class<?>[] coalesceEventsParams = {
> AWTEvent.class, AWTEvent.class
> };
>
> --- old/src/share/classes/java/awt/GraphicsEnvironment.java 2014-04-29 13:01:12.000000000 -0700
> +++ new/src/share/classes/java/awt/GraphicsEnvironment.java 2014-04-29 13:01:12.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -95,18 +95,18 @@
> String nm = AccessController.doPrivileged(new GetPropertyAction("java.awt.graphicsenv", null));
> try {
> // long t0 = System.currentTimeMillis();
> - Class<GraphicsEnvironment> geCls;
> + Class<?> geCls;
> try {
> // First we try if the bootclassloader finds the requested
> // class. This way we can avoid to run in a privileged block.
> - geCls = (Class<GraphicsEnvironment>)Class.forName(nm);
> + geCls = Class.forName(nm);
> } catch (ClassNotFoundException ex) {
> // If the bootclassloader fails, we try again with the
> // application classloader.
> ClassLoader cl = ClassLoader.getSystemClassLoader();
> - geCls = (Class<GraphicsEnvironment>)Class.forName(nm, true, cl);
> + geCls = Class.forName(nm, true, cl);
> }
> - ge = geCls.newInstance();
> + ge = GraphicsEnvironment.class.cast(geCls.newInstance());
> // long t1 = System.currentTimeMillis();
> // System.out.println("GE creation took " + (t1-t0)+ "ms.");
> if (isHeadless()) {
> --- old/src/share/classes/java/awt/KeyboardFocusManager.java 2014-04-29 13:01:13.000000000 -0700
> +++ new/src/share/classes/java/awt/KeyboardFocusManager.java 2014-04-29 13:01:12.000000000 -0700
> @@ -348,6 +348,7 @@
> * Component of those Windows that has no such array of its own explicitly
> * set.
> */
> + @SuppressWarnings({"unchecked", "rawtypes"})
> private Set<AWTKeyStroke>[] defaultFocusTraversalKeys = new Set[4];
>
> /**
> @@ -422,7 +423,7 @@
> targetSet.add(AWTKeyStroke.getAWTKeyStroke(tokens.nextToken()));
> }
> return (targetSet.isEmpty())
> - ? Collections.EMPTY_SET
> + ? Collections.emptySet()
> : Collections.unmodifiableSet(targetSet);
> }
>
> @@ -436,7 +437,7 @@
> work_set.add(defaultFocusTraversalKeyStrokes[i][j]);
> }
> defaultFocusTraversalKeys[i] = (work_set.isEmpty())
> - ? Collections.EMPTY_SET
> + ? Collections.emptySet()
> : Collections.unmodifiableSet(work_set);
> }
> initPeer();
> @@ -1750,11 +1751,12 @@
> * @see #addKeyEventDispatcher
> * @see #removeKeyEventDispatcher
> */
> + @SuppressWarnings("unchecked") // Cast of result of clone
> protected synchronized java.util.List<KeyEventDispatcher>
> getKeyEventDispatchers()
> {
> return (keyEventDispatchers != null)
> - ? (java.util.List)keyEventDispatchers.clone()
> + ? (java.util.List<KeyEventDispatcher>)keyEventDispatchers.clone()
> : null;
> }
>
> @@ -1841,11 +1843,12 @@
> * @see #addKeyEventPostProcessor
> * @see #removeKeyEventPostProcessor
> */
> + @SuppressWarnings("unchecked") // Cast of result of clone
> protected java.util.List<KeyEventPostProcessor>
> getKeyEventPostProcessors()
> {
> return (keyEventPostProcessors != null)
> - ? (java.util.List)keyEventPostProcessors.clone()
> + ? (java.util.List<KeyEventPostProcessor>)keyEventPostProcessors.clone()
> : null;
> }
>
> @@ -1907,8 +1910,7 @@
> * javax.swing.JComponent.runInputVerifier() using reflection.
> */
> static synchronized Component getMostRecentFocusOwner(Window window) {
> - WeakReference<Component> weakValue =
> - (WeakReference)mostRecentFocusOwners.get(window);
> + WeakReference<Component> weakValue = mostRecentFocusOwners.get(window);
> return weakValue == null ? null : weakValue.get();
> }
>
> --- old/src/share/classes/java/awt/SystemTray.java 2014-04-29 13:01:13.000000000 -0700
> +++ new/src/share/classes/java/awt/SystemTray.java 2014-04-29 13:01:13.000000000 -0700
> @@ -259,7 +259,9 @@
> Vector<TrayIcon> icons = null;
> synchronized (this) {
> oldArray = systemTray.getTrayIcons();
> - icons = (Vector<TrayIcon>)AppContext.getAppContext().get(TrayIcon.class);
> + @SuppressWarnings("unchecked")
> + Vector<TrayIcon> tmp = (Vector<TrayIcon>)AppContext.getAppContext().get(TrayIcon.class);
> + icons = tmp;
> if (icons == null) {
> icons = new Vector<TrayIcon>(3);
> AppContext.getAppContext().put(TrayIcon.class, icons);
> @@ -304,6 +306,7 @@
> TrayIcon[] oldArray = null, newArray = null;
> synchronized (this) {
> oldArray = systemTray.getTrayIcons();
> + @SuppressWarnings("unchecked")
> Vector<TrayIcon> icons = (Vector<TrayIcon>)AppContext.getAppContext().get(TrayIcon.class);
> // TrayIcon with no peer is not contained in the array.
> if (icons == null || !icons.remove(trayIcon)) {
> @@ -335,6 +338,7 @@
> * @see TrayIcon
> */
> public TrayIcon[] getTrayIcons() {
> + @SuppressWarnings("unchecked")
> Vector<TrayIcon> icons = (Vector<TrayIcon>)AppContext.getAppContext().get(TrayIcon.class);
> if (icons != null) {
> return icons.toArray(new TrayIcon[icons.size()]);
> --- old/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java 2014-04-29 13:01:14.000000000 -0700
> +++ new/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java 2014-04-29 13:01:14.000000000 -0700
> @@ -296,14 +296,14 @@
> /**
> * @return a clone of this object
> */
> -
> + @SuppressWarnings("unchecked") // Cast from clone
> public Object clone() {
> MimeTypeParameterList newObj = null;
> try {
> newObj = (MimeTypeParameterList)super.clone();
> } catch (CloneNotSupportedException cannotHappen) {
> }
> - newObj.parameters = (Hashtable)parameters.clone();
> + newObj.parameters = (Hashtable<String, String>)parameters.clone();
> return newObj;
> }
>
> --- old/src/share/classes/java/awt/dnd/DragGestureEvent.java 2014-04-29 13:01:14.000000000 -0700
> +++ new/src/share/classes/java/awt/dnd/DragGestureEvent.java 2014-04-29 13:01:14.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -357,6 +357,7 @@
> action = newAction;
>
> // Pre-1.4 support. 'events' was previously non-transient
> + @SuppressWarnings("rawtypes")
> List newEvents;
> try {
> newEvents = (List)f.get("events", null);
> --- old/src/share/classes/java/awt/geom/Area.java 2014-04-29 13:01:15.000000000 -0700
> +++ new/src/share/classes/java/awt/geom/Area.java 2014-04-29 13:01:15.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -97,9 +97,9 @@
> * @since 1.2
> */
> public class Area implements Shape, Cloneable {
> - private static Vector EmptyCurves = new Vector();
> + private static Vector<Curve> EmptyCurves = new Vector<>();
>
> - private Vector curves;
> + private Vector<Curve> curves;
>
> /**
> * Default constructor which creates an empty area.
> @@ -127,8 +127,8 @@
> }
> }
>
> - private static Vector pathToCurves(PathIterator pi) {
> - Vector curves = new Vector();
> + private static Vector<Curve> pathToCurves(PathIterator pi) {
> + Vector<Curve> curves = new Vector<>();
> int windingRule = pi.getWindingRule();
> // coords array is big enough for holding:
> // coordinates returned from currentSegment (6)
> @@ -334,7 +334,7 @@
> * @since 1.2
> */
> public void reset() {
> - curves = new Vector();
> + curves = new Vector<>();
> invalidateBounds();
> }
>
> @@ -357,9 +357,9 @@
> * @since 1.2
> */
> public boolean isPolygonal() {
> - Enumeration enum_ = curves.elements();
> + Enumeration<Curve> enum_ = curves.elements();
> while (enum_.hasMoreElements()) {
> - if (((Curve) enum_.nextElement()).getOrder() > 1) {
> + if (enum_.nextElement().getOrder() > 1) {
> return false;
> }
> }
> @@ -381,8 +381,8 @@
> if (size > 3) {
> return false;
> }
> - Curve c1 = (Curve) curves.get(1);
> - Curve c2 = (Curve) curves.get(2);
> + Curve c1 = curves.get(1);
> + Curve c2 = curves.get(2);
> if (c1.getOrder() != 1 || c2.getOrder() != 1) {
> return false;
> }
> @@ -411,10 +411,10 @@
> if (curves.size() < 3) {
> return true;
> }
> - Enumeration enum_ = curves.elements();
> + Enumeration<Curve> enum_ = curves.elements();
> enum_.nextElement(); // First Order0 "moveto"
> while (enum_.hasMoreElements()) {
> - if (((Curve) enum_.nextElement()).getOrder() == 0) {
> + if (enum_.nextElement().getOrder() == 0) {
> return false;
> }
> }
> @@ -431,11 +431,11 @@
> }
> Rectangle2D r = new Rectangle2D.Double();
> if (curves.size() > 0) {
> - Curve c = (Curve) curves.get(0);
> + Curve c = curves.get(0);
> // First point is always an order 0 curve (moveto)
> r.setRect(c.getX0(), c.getY0(), 0, 0);
> for (int i = 1; i < curves.size(); i++) {
> - ((Curve) curves.get(i)).enlarge(r);
> + curves.get(i).enlarge(r);
> }
> }
> return (cachedBounds = r);
> @@ -507,7 +507,7 @@
> if (other == null) {
> return false;
> }
> - Vector c = new AreaOp.XorOp().calculate(this.curves, other.curves);
> + Vector<Curve> c = new AreaOp.XorOp().calculate(this.curves, other.curves);
> return c.isEmpty();
> }
>
> @@ -555,10 +555,10 @@
> if (!getCachedBounds().contains(x, y)) {
> return false;
> }
> - Enumeration enum_ = curves.elements();
> + Enumeration<Curve> enum_ = curves.elements();
> int crossings = 0;
> while (enum_.hasMoreElements()) {
> - Curve c = (Curve) enum_.nextElement();
> + Curve c = enum_.nextElement();
> crossings += c.crossingsFor(x, y);
> }
> return ((crossings & 1) == 1);
> @@ -658,16 +658,16 @@
>
> class AreaIterator implements PathIterator {
> private AffineTransform transform;
> - private Vector curves;
> + private Vector<Curve> curves;
> private int index;
> private Curve prevcurve;
> private Curve thiscurve;
>
> - public AreaIterator(Vector curves, AffineTransform at) {
> + public AreaIterator(Vector<Curve> curves, AffineTransform at) {
> this.curves = curves;
> this.transform = at;
> if (curves.size() >= 1) {
> - thiscurve = (Curve) curves.get(0);
> + thiscurve = curves.get(0);
> }
> }
>
> @@ -689,7 +689,7 @@
> prevcurve = thiscurve;
> index++;
> if (index < curves.size()) {
> - thiscurve = (Curve) curves.get(index);
> + thiscurve = curves.get(index);
> if (thiscurve.getOrder() != 0 &&
> prevcurve.getX1() == thiscurve.getX0() &&
> prevcurve.getY1() == thiscurve.getY0())
> --- old/src/share/classes/java/awt/image/BufferedImage.java 2014-04-29 13:01:15.000000000 -0700
> +++ new/src/share/classes/java/awt/image/BufferedImage.java 2014-04-29 13:01:15.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -76,7 +76,7 @@
> ColorModel colorModel;
> WritableRaster raster;
> OffScreenImageSource osis;
> - Hashtable properties;
> + Hashtable<?, ?> properties;
>
> boolean isAlphaPremultiplied;// If true, alpha has been premultiplied in
> // color channels
> @@ -1106,7 +1106,7 @@
> public ImageProducer getSource() {
> if (osis == null) {
> if (properties == null) {
> - properties = new Hashtable();
> + properties = new Hashtable<>();
> }
> osis = new OffScreenImageSource(this, properties);
> }
> --- old/src/share/classes/java/awt/image/CropImageFilter.java 2014-04-29 13:01:16.000000000 -0700
> +++ new/src/share/classes/java/awt/image/CropImageFilter.java 2014-04-29 13:01:16.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -79,6 +79,7 @@
> * with the filtering operation.
> */
> public void setProperties(Hashtable<?,?> props) {
> + @SuppressWarnings("unchecked")
> Hashtable<Object,Object> p = (Hashtable<Object,Object>)props.clone();
> p.put("croprect", new Rectangle(cropX, cropY, cropW, cropH));
> super.setProperties(p);
> --- old/src/share/classes/java/awt/image/FilteredImageSource.java 2014-04-29 13:01:16.000000000 -0700
> +++ new/src/share/classes/java/awt/image/FilteredImageSource.java 2014-04-29 13:01:16.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -68,7 +68,7 @@
> filter = imgf;
> }
>
> - private Hashtable proxies;
> + private Hashtable<ImageConsumer, ImageFilter> proxies;
>
> /**
> * Adds the specified <code>ImageConsumer</code>
> @@ -94,7 +94,7 @@
> */
> public synchronized void addConsumer(ImageConsumer ic) {
> if (proxies == null) {
> - proxies = new Hashtable();
> + proxies = new Hashtable<>();
> }
> if (!proxies.containsKey(ic)) {
> ImageFilter imgf = filter.getFilterInstance(ic);
> @@ -137,7 +137,7 @@
> */
> public synchronized void removeConsumer(ImageConsumer ic) {
> if (proxies != null) {
> - ImageFilter imgf = (ImageFilter) proxies.get(ic);
> + ImageFilter imgf = proxies.get(ic);
> if (imgf != null) {
> src.removeConsumer(imgf);
> proxies.remove(ic);
> @@ -173,9 +173,9 @@
> */
> public void startProduction(ImageConsumer ic) {
> if (proxies == null) {
> - proxies = new Hashtable();
> + proxies = new Hashtable<>();
> }
> - ImageFilter imgf = (ImageFilter) proxies.get(ic);
> + ImageFilter imgf = proxies.get(ic);
> if (imgf == null) {
> imgf = filter.getFilterInstance(ic);
> proxies.put(ic, imgf);
> @@ -200,7 +200,7 @@
> */
> public void requestTopDownLeftRightResend(ImageConsumer ic) {
> if (proxies != null) {
> - ImageFilter imgf = (ImageFilter) proxies.get(ic);
> + ImageFilter imgf = proxies.get(ic);
> if (imgf != null) {
> imgf.resendTopDownLeftRight(src);
> }
> --- old/src/share/classes/java/awt/image/ImageFilter.java 2014-04-29 13:01:17.000000000 -0700
> +++ new/src/share/classes/java/awt/image/ImageFilter.java 2014-04-29 13:01:17.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -104,6 +104,7 @@
> * @exception NullPointerException if <code>props</code> is null
> */
> public void setProperties(Hashtable<?,?> props) {
> + @SuppressWarnings("unchecked")
> Hashtable<Object,Object> p = (Hashtable<Object,Object>)props.clone();
> Object o = p.get("filters");
> if (o == null) {
> --- old/src/share/classes/java/awt/image/MemoryImageSource.java 2014-04-29 13:01:17.000000000 -0700
> +++ new/src/share/classes/java/awt/image/MemoryImageSource.java 2014-04-29 13:01:17.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -111,8 +111,8 @@
> Object pixels;
> int pixeloffset;
> int pixelscan;
> - Hashtable properties;
> - Vector theConsumers = new Vector();
> + Hashtable<?, ?> properties;
> + Vector<ImageConsumer> theConsumers = new Vector<>();
> boolean animating;
> boolean fullbuffers;
>
> @@ -197,7 +197,7 @@
> }
>
> private void initialize(int w, int h, ColorModel cm,
> - Object pix, int off, int scan, Hashtable props) {
> + Object pix, int off, int scan, Hashtable<?,?> props) {
> width = w;
> height = h;
> model = cm;
> @@ -205,7 +205,7 @@
> pixeloffset = off;
> pixelscan = scan;
> if (props == null) {
> - props = new Hashtable();
> + props = new Hashtable<>();
> }
> properties = props;
> }
> @@ -343,9 +343,9 @@
> public synchronized void setAnimated(boolean animated) {
> this.animating = animated;
> if (!animating) {
> - Enumeration enum_ = theConsumers.elements();
> + Enumeration<ImageConsumer> enum_ = theConsumers.elements();
> while (enum_.hasMoreElements()) {
> - ImageConsumer ic = (ImageConsumer) enum_.nextElement();
> + ImageConsumer ic = enum_.nextElement();
> ic.imageComplete(ImageConsumer.STATICIMAGEDONE);
> if (isConsumer(ic)) {
> ic.imageComplete(ImageConsumer.IMAGEERROR);
> @@ -376,9 +376,9 @@
> }
> this.fullbuffers = fullbuffers;
> if (animating) {
> - Enumeration enum_ = theConsumers.elements();
> + Enumeration<ImageConsumer> enum_ = theConsumers.elements();
> while (enum_.hasMoreElements()) {
> - ImageConsumer ic = (ImageConsumer) enum_.nextElement();
> + ImageConsumer ic = enum_.nextElement();
> ic.setHints(fullbuffers
> ? (ImageConsumer.TOPDOWNLEFTRIGHT |
> ImageConsumer.COMPLETESCANLINES)
> @@ -474,9 +474,9 @@
> if ((w <= 0 || h <= 0) && !framenotify) {
> return;
> }
> - Enumeration enum_ = theConsumers.elements();
> + Enumeration<ImageConsumer> enum_ = theConsumers.elements();
> while (enum_.hasMoreElements()) {
> - ImageConsumer ic = (ImageConsumer) enum_.nextElement();
> + ImageConsumer ic = enum_.nextElement();
> if (w > 0 && h > 0) {
> sendPixels(ic, x, y, w, h);
> }
> --- old/src/share/classes/java/awt/image/ReplicateScaleFilter.java 2014-04-29 13:01:18.000000000 -0700
> +++ new/src/share/classes/java/awt/image/ReplicateScaleFilter.java 2014-04-29 13:01:17.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -121,6 +121,7 @@
> * with the filtering operation.
> */
> public void setProperties(Hashtable<?,?> props) {
> + @SuppressWarnings("unchecked")
> Hashtable<Object,Object> p = (Hashtable<Object,Object>)props.clone();
> String key = "rescale";
> String val = destWidth + "x" + destHeight;
> --- old/src/share/classes/java/awt/image/renderable/ParameterBlock.java 2014-04-29 13:01:18.000000000 -0700
> +++ new/src/share/classes/java/awt/image/renderable/ParameterBlock.java 2014-04-29 13:01:18.000000000 -0700
> @@ -153,6 +153,7 @@
> *
> * @return an Object clone of the <code>ParameterBlock</code>.
> */
> + @SuppressWarnings("unchecked") // casts from clone
> public Object clone() {
> ParameterBlock theClone;
>
> @@ -164,10 +165,10 @@
> }
>
> if (sources != null) {
> - theClone.setSources((Vector)sources.clone());
> + theClone.setSources((Vector<Object>)sources.clone());
> }
> if (parameters != null) {
> - theClone.setParameters((Vector)parameters.clone());
> + theClone.setParameters((Vector<Object>)parameters.clone());
> }
> return (Object) theClone;
> }
> @@ -280,7 +281,7 @@
>
> /** Clears the list of source images. */
> public void removeSources() {
> - sources = new Vector();
> + sources = new Vector<>();
> }
>
> /**
> @@ -313,7 +314,7 @@
>
> /** Clears the list of parameters. */
> public void removeParameters() {
> - parameters = new Vector();
> + parameters = new Vector<>();
> }
>
> /**
> @@ -696,9 +697,9 @@
> * of the parameters.
> * @return an array of <code>Class</code> objects.
> */
> - public Class [] getParamClasses() {
> + public Class<?>[] getParamClasses() {
> int numParams = getNumParameters();
> - Class [] classes = new Class[numParams];
> + Class<?>[] classes = new Class<?>[numParams];
> int i;
>
> for (i = 0; i < numParams; i++) {
> --- old/src/share/classes/java/awt/image/renderable/RenderableImageOp.java 2014-04-29 13:01:19.000000000 -0700
> +++ new/src/share/classes/java/awt/image/renderable/RenderableImageOp.java 2014-04-29 13:01:18.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -83,15 +83,16 @@
> *
> * @return a (possibly empty) Vector of RenderableImages, or null.
> */
> + @SuppressWarnings("unchecked")
> public Vector<RenderableImage> getSources() {
> - return getRenderableSources();
> + return (Vector<RenderableImage>)(Vector)getRenderableSources();
> }
>
> - private Vector getRenderableSources() {
> - Vector sources = null;
> + private Vector<Object> getRenderableSources() {
> + Vector<Object> sources = null;
>
> if (paramBlock.getNumSources() > 0) {
> - sources = new Vector();
> + sources = new Vector<>();
> int i = 0;
> while (i < paramBlock.getNumSources()) {
> Object o = paramBlock.getSource(i);
> @@ -314,19 +315,19 @@
> // contains RenderableImage sources, they will be replaced by
> // RenderedImages.
> ParameterBlock renderedParamBlock = (ParameterBlock)paramBlock.clone();
> - Vector sources = getRenderableSources();
> + Vector<Object> sources = getRenderableSources();
>
> try {
> // This assumes that if there is no renderable source, that there
> // is a rendered source in paramBlock
>
> if (sources != null) {
> - Vector renderedSources = new Vector();
> + Vector<Object> renderedSources = new Vector<>();
> for (int i = 0; i < sources.size(); i++) {
> rcOut = myCRIF.mapRenderContext(i, renderContext,
> paramBlock, this);
> RenderedImage rdrdImage =
> - ((RenderableImage)sources.elementAt(i)).createRendering(rcOut);
> + ((RenderableImage)sources.elementAt(i)).createRendering(rcOut);
> if (rdrdImage == null) {
> return null;
> }
> --- old/src/share/classes/java/awt/image/renderable/RenderableImageProducer.java 2014-04-29 13:01:19.000000000 -0700
> +++ new/src/share/classes/java/awt/image/renderable/RenderableImageProducer.java 2014-04-29 13:01:19.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -68,7 +68,7 @@
> RenderContext rc;
>
> /** A Vector of image consumers. */
> - Vector ics = new Vector();
> + Vector<ImageConsumer> ics = new Vector<>();
>
> /**
> * Constructs a new RenderableImageProducer from a RenderableImage
> @@ -177,12 +177,12 @@
> int width = raster.getWidth();
> int height = raster.getHeight();
>
> - Enumeration icList;
> + Enumeration<ImageConsumer> icList;
> ImageConsumer ic;
> // Set up the ImageConsumers
> icList = ics.elements();
> while (icList.hasMoreElements()) {
> - ic = (ImageConsumer)icList.nextElement();
> + ic = icList.nextElement();
> ic.setDimensions(width,height);
> ic.setHints(ImageConsumer.TOPDOWNLEFTRIGHT |
> ImageConsumer.COMPLETESCANLINES |
> @@ -204,7 +204,7 @@
> // Now send the scanline to the Consumers
> icList = ics.elements();
> while (icList.hasMoreElements()) {
> - ic = (ImageConsumer)icList.nextElement();
> + ic = icList.nextElement();
> ic.setPixels(0, j, width, 1, colorModel, pix, 0, width);
> }
> }
> @@ -212,7 +212,7 @@
> // Now tell the consumers we're done.
> icList = ics.elements();
> while (icList.hasMoreElements()) {
> - ic = (ImageConsumer)icList.nextElement();
> + ic = icList.nextElement();
> ic.imageComplete(ImageConsumer.STATICIMAGEDONE);
> }
> }
> --- old/src/share/classes/java/awt/print/Book.java 2014-04-29 13:01:19.000000000 -0700
> +++ new/src/share/classes/java/awt/print/Book.java 2014-04-29 13:01:19.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -47,7 +47,7 @@
> /**
> * The set of pages that make up the Book.
> */
> - private Vector mPages;
> + private Vector<BookPage> mPages;
>
> /* Instance Methods */
>
> @@ -55,7 +55,7 @@
> * Creates a new, empty <code>Book</code>.
> */
> public Book() {
> - mPages = new Vector();
> + mPages = new Vector<BookPage>();
> }
>
> /**
> @@ -167,7 +167,7 @@
> private BookPage getPage(int pageIndex)
> throws ArrayIndexOutOfBoundsException
> {
> - return (BookPage) mPages.elementAt(pageIndex);
> + return mPages.elementAt(pageIndex);
> }
>
> /**
> --- old/src/share/classes/java/awt/print/PrinterJob.java 2014-04-29 13:01:20.000000000 -0700
> +++ new/src/share/classes/java/awt/print/PrinterJob.java 2014-04-29 13:01:20.000000000 -0700
> @@ -1,5 +1,5 @@
> /*
> - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
> + * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
> *
> * This code is free software; you can redistribute it and/or modify it
> @@ -74,9 +74,9 @@
> if (security != null) {
> security.checkPrintJobAccess();
> }
> - return (PrinterJob) java.security.AccessController.doPrivileged(
> - new java.security.PrivilegedAction() {
> - public Object run() {
> + return java.security.AccessController.doPrivileged(
> + new java.security.PrivilegedAction<PrinterJob>() {
> + public PrinterJob run() {
> String nm = System.getProperty("java.awt.printerjob", null);
> try {
> return (PrinterJob)Class.forName(nm).newInstance();
>
>
More information about the awt-dev
mailing list