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.da...@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(); > >