--- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2014-02-20 12:53:19.073935118 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2014-02-20 12:53:18.923935112 -0800 @@ -680,7 +680,7 @@ gotHeader = true; } - public Iterator getImageTypes(int imageIndex) + public Iterator getImageTypes(int imageIndex) throws IOException { checkIndex(imageIndex); try { @@ -688,7 +688,7 @@ } catch (IllegalArgumentException e) { throw new IIOException(I18N.getString("BMPImageReader6"), e); } - ArrayList list = new ArrayList(1); + ArrayList list = new ArrayList<>(1); list.add(new ImageTypeSpecifier(originalColorModel, originalSampleModel)); return list.iterator(); @@ -912,6 +912,7 @@ throw new IIOException(I18N.getString("BMPImageReader1")); } + break; case VERSION_4_8_BIT: switch((int)compression) { --- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java 2014-02-20 12:53:20.033935158 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java 2014-02-20 12:53:19.887268485 -0800 @@ -51,7 +51,7 @@ entensions, mimeType, "com.sun.imageio.plugins.bmp.BMPImageReader", - new Class[] { ImageInputStream.class }, + new Class[] { ImageInputStream.class }, writerSpiNames, false, null, null, null, null, --- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java 2014-02-20 12:53:20.970601863 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java 2014-02-20 12:53:20.817268524 -0800 @@ -1325,10 +1325,11 @@ ImageWriteParam bmpParam) throws IOException { String format = compressionType == BI_JPEG ? "jpeg" : "png"; - Iterator iterator = ImageIO.getImageWritersByFormatName(format); + Iterator iterator = + ImageIO.getImageWritersByFormatName(format); ImageWriter writer = null; if (iterator.hasNext()) - writer = (ImageWriter)iterator.next(); + writer = iterator.next(); if (writer != null) { if (embedded_stream == null) { throw new RuntimeException("No stream for writing embedded image!"); --- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java 2014-02-20 12:53:21.923935236 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java 2014-02-20 12:53:21.773935230 -0800 @@ -56,7 +56,7 @@ entensions, mimeType, "com.sun.imageio.plugins.bmp.BMPImageWriter", - new Class[] { ImageOutputStream.class }, + new Class[] { ImageOutputStream.class }, readerSpiNames, false, null, null, null, null, --- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java 2014-02-20 12:53:22.857268608 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java 2014-02-20 12:53:22.697268602 -0800 @@ -91,10 +91,6 @@ public int green; public int blue; - // Fields from CommentExtension - // List of byte[] - public List comments = null; // new ArrayList(); - public BMPMetadata() { super(true, nativeMetadataFormatName, --- old/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java 2014-02-20 12:53:23.793935313 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java 2014-02-20 12:53:23.643935307 -0800 @@ -42,7 +42,7 @@ public StandardMetadataFormat() { super(standardMetadataFormatName, CHILD_POLICY_SOME); - List values; + List values; // root -> Chroma addElement("Chroma", standardMetadataFormatName, @@ -52,7 +52,7 @@ addElement("ColorSpaceType", "Chroma", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("XYZ"); values.add("Lab"); values.add("Luv"); @@ -164,7 +164,7 @@ // root -> Data -> PlanarConfiguration addElement("PlanarConfiguration", "Data", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("PixelInterleaved"); values.add("PlaneInterleaved"); values.add("LineInterleaved"); @@ -178,7 +178,7 @@ // root -> Data -> SampleFormat addElement("SampleFormat", "Data", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("SignedIntegral"); values.add("UnsignedIntegral"); values.add("Real"); @@ -225,7 +225,7 @@ addElement("ImageOrientation", "Dimension", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("Normal"); values.add("Rotate90"); values.add("Rotate180"); @@ -306,7 +306,7 @@ // root -> Document -> SubimageInterpretation addElement("SubimageInterpretation", "Document", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("Standalone"); values.add("SinglePage"); values.add("FullResolution"); @@ -418,7 +418,7 @@ false, null); - values = new ArrayList(); + values = new ArrayList<>(); values.add("none"); values.add("lzw"); values.add("zip"); @@ -437,7 +437,7 @@ // root -> Transparency -> Alpha addElement("Alpha", "Transparency", CHILD_POLICY_EMPTY); - values = new ArrayList(); + values = new ArrayList<>(); values.add("none"); values.add("premultiplied"); values.add("nonpremultiplied"); --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java 2014-02-20 12:53:24.727268686 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFImageMetadata.java 2014-02-20 12:53:24.573935346 -0800 @@ -84,17 +84,17 @@ // Fields from ApplicationExtension // List of byte[] - public List applicationIDs = null; // new ArrayList(); + public List applicationIDs = null; // List of byte[] - public List authenticationCodes = null; // new ArrayList(); + public List authenticationCodes = null; // List of byte[] - public List applicationData = null; // new ArrayList(); + public List applicationData = null; // Fields from CommentExtension // List of byte[] - public List comments = null; // new ArrayList(); + public List comments = null; protected GIFImageMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, @@ -225,13 +225,13 @@ for (int i = 0; i < numAppExtensions; i++) { IIOMetadataNode appExtNode = new IIOMetadataNode("ApplicationExtension"); - byte[] applicationID = (byte[])applicationIDs.get(i); + byte[] applicationID = applicationIDs.get(i); appExtNode.setAttribute("applicationID", toISO8859(applicationID)); - byte[] authenticationCode = (byte[])authenticationCodes.get(i); + byte[] authenticationCode = authenticationCodes.get(i); appExtNode.setAttribute("authenticationCode", toISO8859(authenticationCode)); - byte[] appData = (byte[])applicationData.get(i); + byte[] appData = applicationData.get(i); appExtNode.setUserObject(appData.clone()); node.appendChild(appExtNode); } @@ -246,7 +246,7 @@ for (int i = 0; i < numComments; i++) { IIOMetadataNode commentNode = new IIOMetadataNode("CommentExtension"); - byte[] comment = (byte[])comments.get(i); + byte[] comment = comments.get(i); commentNode.setAttribute("value", toISO8859(comment)); node.appendChild(commentNode); } @@ -374,7 +374,7 @@ if (comments == null) { return null; } - Iterator commentIter = comments.iterator(); + Iterator commentIter = comments.iterator(); if (!commentIter.hasNext()) { return null; } @@ -383,7 +383,7 @@ IIOMetadataNode node = null; // scratch node while (commentIter.hasNext()) { - byte[] comment = (byte[])commentIter.next(); + byte[] comment = commentIter.next(); String s = null; try { s = new String(comment, "ISO-8859-1"); --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java 2014-02-20 12:53:25.657268724 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java 2014-02-20 12:53:25.503935384 -0800 @@ -72,7 +72,7 @@ // A List of Longs indicating the stream positions of the // start of the metadata for each image. Entries are added // as needed. - List imageStartPosition = new ArrayList(); + List imageStartPosition = new ArrayList<>(); // Length of metadata for image at 'currIndex', valid only if // imageMetadata != null. @@ -227,7 +227,8 @@ return new ImageTypeSpecifier(colorModel, sampleModel); } - public Iterator getImageTypes(int imageIndex) throws IIOException { + public Iterator getImageTypes(int imageIndex) + throws IIOException { checkIndex(imageIndex); int index = locateImage(imageIndex); @@ -236,7 +237,7 @@ } readMetadata(); - List l = new ArrayList(1); + List l = new ArrayList<>(1); byte[] colorTable; if (imageMetadata.localColorTable != null) { @@ -605,7 +606,7 @@ int index = Math.min(imageIndex, imageStartPosition.size() - 1); // Seek to that position - Long l = (Long)imageStartPosition.get(index); + Long l = imageStartPosition.get(index); stream.seek(l.longValue()); // Skip images until at desired index or last image found @@ -731,7 +732,7 @@ } else if (label == 0xfe) { // Comment extension byte[] comment = concatenateBlocks(); if (imageMetadata.comments == null) { - imageMetadata.comments = new ArrayList(); + imageMetadata.comments = new ArrayList<>(); } imageMetadata.comments.add(comment); } else if (label == 0xff) { // Application extension @@ -762,10 +763,10 @@ // Init lists if necessary if (imageMetadata.applicationIDs == null) { - imageMetadata.applicationIDs = new ArrayList(); + imageMetadata.applicationIDs = new ArrayList<>(); imageMetadata.authenticationCodes = - new ArrayList(); - imageMetadata.applicationData = new ArrayList(); + new ArrayList<>(); + imageMetadata.applicationData = new ArrayList<>(); } imageMetadata.applicationIDs.add(applicationID); imageMetadata.authenticationCodes.add(authCode); @@ -868,7 +869,7 @@ } // Initialize the destination image - Iterator imageTypes = getImageTypes(imageIndex); + Iterator imageTypes = getImageTypes(imageIndex); this.theImage = getDestination(param, imageTypes, imageMetadata.imageWidth, @@ -1031,7 +1032,7 @@ streamMetadata = null; currIndex = -1; imageMetadata = null; - imageStartPosition = new ArrayList(); + imageStartPosition = new ArrayList<>(); numImages = -1; // No need to reinitialize 'block' --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java 2014-02-20 12:53:26.610602097 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java 2014-02-20 12:53:26.460602091 -0800 @@ -60,7 +60,7 @@ suffixes, MIMETypes, readerClassName, - new Class[] { ImageInputStream.class }, + new Class[] { ImageInputStream.class }, writerSpiNames, true, GIFStreamMetadata.nativeMetadataFormatName, --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java 2014-02-20 12:53:27.540602135 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriter.java 2014-02-20 12:53:27.390602129 -0800 @@ -1204,9 +1204,9 @@ private void writeApplicationExtension(GIFWritableImageMetadata im) throws IOException { if (im.applicationIDs != null) { - Iterator iterIDs = im.applicationIDs.iterator(); - Iterator iterCodes = im.authenticationCodes.iterator(); - Iterator iterData = im.applicationData.iterator(); + Iterator iterIDs = im.applicationIDs.iterator(); + Iterator iterCodes = im.authenticationCodes.iterator(); + Iterator iterData = im.applicationData.iterator(); while (iterIDs.hasNext()) { try { @@ -1214,10 +1214,10 @@ stream.write(0xff); stream.write(11); - stream.write((byte[])iterIDs.next(), 0, 8); - stream.write((byte[])iterCodes.next(), 0, 3); + stream.write(iterIDs.next(), 0, 8); + stream.write(iterCodes.next(), 0, 3); - writeBlocks((byte[])iterData.next()); + writeBlocks(iterData.next()); stream.write(0x00); } catch (IOException e) { @@ -1231,11 +1231,11 @@ throws IOException { if (im.comments != null) { try { - Iterator iter = im.comments.iterator(); + Iterator iter = im.comments.iterator(); while (iter.hasNext()) { stream.write(0x21); stream.write(0xfe); - writeBlocks((byte[])iter.next()); + writeBlocks(iter.next()); stream.write(0x00); } } catch (IOException e) { --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java 2014-02-20 12:53:28.483935507 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java 2014-02-20 12:53:28.337268835 -0800 @@ -60,7 +60,7 @@ suffixes, MIMETypes, writerClassName, - new Class[] { ImageOutputStream.class }, + new Class[] { ImageOutputStream.class }, readerSpiNames, true, GIFWritableStreamMetadata.NATIVE_FORMAT_NAME, --- old/src/share/classes/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java 2014-02-20 12:53:29.413935546 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java 2014-02-20 12:53:29.263935540 -0800 @@ -258,14 +258,14 @@ } if (applicationIDs == null) { - applicationIDs = new ArrayList(); - authenticationCodes = new ArrayList(); - applicationData = new ArrayList(); + applicationIDs = new ArrayList<>(); + authenticationCodes = new ArrayList<>(); + applicationData = new ArrayList<>(); } applicationIDs.add(fromISO8859(applicationIDString)); authenticationCodes.add(fromISO8859(authenticationCodeString)); - applicationData.add(applicationExtensionData); + applicationData.add((byte[]) applicationExtensionData); } else if (name.equals("CommentExtensions")) { Node commentExtension = node.getFirstChild(); if (commentExtension != null) { @@ -276,7 +276,7 @@ } if (comments == null) { - comments = new ArrayList(); + comments = new ArrayList<>(); } String comment = @@ -367,7 +367,7 @@ String value = getAttribute(childNode, "value"); byte[] comment = fromISO8859(value); if (comments == null) { - comments = new ArrayList(); + comments = new ArrayList<>(); } comments.add(comment); } --- old/src/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java 2014-02-20 12:53:30.347268918 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/DHTMarkerSegment.java 2014-02-20 12:53:30.197268912 -0800 @@ -43,7 +43,7 @@ * A DHT (Define Huffman Table) marker segment. */ class DHTMarkerSegment extends MarkerSegment { - List tables = new ArrayList(); + List tables = new ArrayList<>(); DHTMarkerSegment(boolean needFour) { super(JPEG.DHT); @@ -93,11 +93,11 @@ protected Object clone() { DHTMarkerSegment newGuy = (DHTMarkerSegment) super.clone(); - newGuy.tables = new ArrayList(tables.size()); - Iterator iter = tables.iterator(); + newGuy.tables = new ArrayList<>(tables.size()); + Iterator iter = tables.iterator(); while (iter.hasNext()) { - Htable table = (Htable) iter.next(); - newGuy.tables.add(table.clone()); + Htable table = iter.next(); + newGuy.tables.add((Htable) table.clone()); } return newGuy; } @@ -105,7 +105,7 @@ IIOMetadataNode getNativeNode() { IIOMetadataNode node = new IIOMetadataNode("dht"); for (int i= 0; i tables = new ArrayList<>(); // Could be 1 to 4 DQTMarkerSegment(float quality, boolean needTwo) { super(JPEG.DQT); @@ -86,11 +86,11 @@ protected Object clone() { DQTMarkerSegment newGuy = (DQTMarkerSegment) super.clone(); - newGuy.tables = new ArrayList(tables.size()); - Iterator iter = tables.iterator(); + newGuy.tables = new ArrayList<>(tables.size()); + Iterator iter = tables.iterator(); while (iter.hasNext()) { - Qtable table = (Qtable) iter.next(); - newGuy.tables.add(table.clone()); + Qtable table = iter.next(); + newGuy.tables.add((Qtable) table.clone()); } return newGuy; } @@ -98,7 +98,7 @@ IIOMetadataNode getNativeNode() { IIOMetadataNode node = new IIOMetadataNode("dqt"); for (int i= 0; i extSegments = new ArrayList<>(); ICCMarkerSegment iccSegment = null; // optional ICC private static final int THUMB_JPEG = 0x10; private static final int THUMB_PALETTE = 0x11; @@ -157,11 +157,11 @@ protected Object clone() { JFIFMarkerSegment newGuy = (JFIFMarkerSegment) super.clone(); if (!extSegments.isEmpty()) { // Clone the list with a deep copy - newGuy.extSegments = new ArrayList(); - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) iter.next(); - newGuy.extSegments.add(jfxx.clone()); + newGuy.extSegments = new ArrayList<>(); + for (Iterator iter = + extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment jfxx = iter.next(); + newGuy.extSegments.add((JFIFExtensionMarkerSegment) jfxx.clone()); } } if (iccSegment != null) { @@ -230,9 +230,9 @@ if (!extSegments.isEmpty()) { IIOMetadataNode JFXXnode = new IIOMetadataNode("JFXX"); node.appendChild(JFXXnode); - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment seg = - (JFIFExtensionMarkerSegment) iter.next(); + for (Iterator iter = + extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment seg = iter.next(); JFXXnode.appendChild(seg.getNativeNode()); } } @@ -312,8 +312,7 @@ } index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); return jfxx.thumb.getWidth(); } @@ -324,8 +323,7 @@ } index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); return jfxx.thumb.getHeight(); } @@ -340,8 +338,7 @@ if (thumb != null) { index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); ret = jfxx.thumb.getThumbnail(iis, reader); } reader.thumbnailComplete(); @@ -436,13 +433,13 @@ * default encoding is used for the extra thumbnails. */ void writeWithThumbs(ImageOutputStream ios, - List thumbnails, + List thumbnails, JPEGImageWriter writer) throws IOException { if (thumbnails != null) { JFIFExtensionMarkerSegment jfxx = null; if (thumbnails.size() == 1) { if (!extSegments.isEmpty()) { - jfxx = (JFIFExtensionMarkerSegment) extSegments.get(0); + jfxx = extSegments.get(0); } writeThumb(ios, (BufferedImage) thumbnails.get(0), @@ -456,7 +453,7 @@ for (int i = 0; i < thumbnails.size(); i++) { jfxx = null; if (i < extSegments.size()) { - jfxx = (JFIFExtensionMarkerSegment) extSegments.get(i); + jfxx = extSegments.get(i); } writeThumb(ios, (BufferedImage) thumbnails.get(i), @@ -605,7 +602,7 @@ * marker segments as necessary. */ static void writeDefaultJFIF(ImageOutputStream ios, - List thumbnails, + List thumbnails, ICC_Profile iccProfile, JPEGImageWriter writer) throws IOException { @@ -637,9 +634,9 @@ System.out.print("Thumbnail Height: "); System.out.println(thumbHeight); if (!extSegments.isEmpty()) { - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment extSegment = - (JFIFExtensionMarkerSegment) iter.next(); + for (Iterator iter = + extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment extSegment = iter.next(); extSegment.print(); } } @@ -1373,7 +1370,7 @@ * combining chunks as necessary. */ class ICCMarkerSegment extends MarkerSegment { - ArrayList chunks = null; + ArrayList chunks = null; byte [] profile = null; // The complete profile when it's fully read // May remain null when writing private static final int ID_SIZE = 12; @@ -1428,7 +1425,7 @@ // two chunk numbering bytes length -= 2; buffer.readData(profileData); - chunks = new ArrayList(); + chunks = new ArrayList<>(); chunks.add(profileData); chunksRead = 1; inICC = true; @@ -1518,7 +1515,7 @@ for (int i = 1; i <= numChunks; i++) { boolean foundIt = false; for (int chunk = 0; chunk < chunks.size(); chunk++) { - byte [] chunkData = (byte []) chunks.get(chunk); + byte [] chunkData = chunks.get(chunk); if (chunkData[0] == i) { // Right one System.arraycopy(chunkData, 2, profile, index, --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageMetadataFormat.java 2014-02-20 12:53:33.177269035 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageMetadataFormat.java 2014-02-20 12:53:33.030602362 -0800 @@ -82,7 +82,7 @@ "2", "0", "255", true, true); - List resUnits = new ArrayList(); + List resUnits = new ArrayList<>(); resUnits.add("0"); resUnits.add("1"); resUnits.add("2"); @@ -125,7 +125,7 @@ addElement("JFIFthumbPalette", "app0JFXX", CHILD_POLICY_EMPTY); addElement("JFIFthumbRGB", "app0JFXX", CHILD_POLICY_EMPTY); - List codes = new ArrayList(); + List codes = new ArrayList<>(); codes.add("16"); // Hex 10 codes.add("17"); // Hex 11 codes.add("19"); // Hex 13 @@ -192,7 +192,7 @@ "0", "65535", true, true); - List transforms = new ArrayList(); + List transforms = new ArrayList<>(); transforms.add("0"); transforms.add("1"); transforms.add("2"); @@ -205,7 +205,7 @@ addElement("componentSpec", "sof", CHILD_POLICY_EMPTY); - List procs = new ArrayList(); + List procs = new ArrayList<>(); procs.add("0"); procs.add("1"); procs.add("2"); @@ -234,7 +234,7 @@ null, "0", "65535", true, true); - List comps = new ArrayList(); + List comps = new ArrayList<>(); comps.add("1"); comps.add("2"); comps.add("3"); @@ -267,7 +267,7 @@ null, "1", "255", true, true); - List tabids = new ArrayList(); + List tabids = new ArrayList<>(); tabids.add("0"); tabids.add("1"); tabids.add("2"); --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2014-02-20 12:53:34.117269074 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java 2014-02-20 12:53:33.967269068 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -78,7 +78,7 @@ * List of stream positions for images, reinitialized every time * a new input source is set. */ - private List imagePositions = null; + private List imagePositions = null; /** * The number of images in the stream, or 0. @@ -223,9 +223,9 @@ private DisposerRecord disposerRecord; /** Sets up static C structures. */ - private static native void initReaderIDs(Class iisClass, - Class qTableClass, - Class huffClass); + private static native void initReaderIDs(Class iisClass, + Class qTableClass, + Class huffClass); public JPEGImageReader(ImageReaderSpi originator) { super(originator); @@ -375,7 +375,7 @@ currentImage = 0; } if (seekForwardOnly) { - Long pos = (Long) imagePositions.get(imagePositions.size()-1); + Long pos = imagePositions.get(imagePositions.size()-1); iis.flushBefore(pos.longValue()); } tablesOnlyChecked = true; @@ -392,6 +392,7 @@ } } + @SuppressWarnings("fallthrough") private int getNumImagesOnThread(boolean allowSearch) throws IOException { if (numImages != 0) { @@ -481,12 +482,12 @@ checkTablesOnly(); } if (imageIndex < imagePositions.size()) { - iis.seek(((Long)(imagePositions.get(imageIndex))).longValue()); + iis.seek(imagePositions.get(imageIndex).longValue()); } else { // read to start of image, saving positions // First seek to the last position we already have, and skip the // entire image - Long pos = (Long) imagePositions.get(imagePositions.size()-1); + Long pos = imagePositions.get(imagePositions.size()-1); iis.seek(pos.longValue()); skipImage(); // Now add all intervening positions, skipping images @@ -766,7 +767,7 @@ } } - public Iterator getImageTypes(int imageIndex) + public Iterator getImageTypes(int imageIndex) throws IOException { setThreadLock(); try { @@ -776,7 +777,7 @@ } } - private Iterator getImageTypesOnThread(int imageIndex) + private Iterator getImageTypesOnThread(int imageIndex) throws IOException { if (currentImage != imageIndex) { cbLock.check(); @@ -1063,7 +1064,7 @@ if (!wantRaster){ // Can we read this image? - Iterator imageTypes = getImageTypes(imageIndex); + Iterator imageTypes = getImageTypes(imageIndex); if (imageTypes.hasNext() == false) { throw new IIOException("Unsupported Image Type"); } @@ -1187,8 +1188,8 @@ // and set knownPassCount if (imageIndex == imageMetadataIndex) { // We have metadata knownPassCount = 0; - for (Iterator iter = imageMetadata.markerSequence.iterator(); - iter.hasNext();) { + for (Iterator iter = + imageMetadata.markerSequence.iterator(); iter.hasNext();) { if (iter.next() instanceof SOSMarkerSegment) { knownPassCount++; } @@ -1565,7 +1566,7 @@ // reset local Java structures numImages = 0; - imagePositions = new ArrayList(); + imagePositions = new ArrayList<>(); currentImage = -1; image = null; raster = null; --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java 2014-02-20 12:53:35.067269113 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReaderSpi.java 2014-02-20 12:53:34.920602440 -0800 @@ -46,7 +46,7 @@ JPEG.suffixes, JPEG.MIMETypes, "com.sun.imageio.plugins.jpeg.JPEGImageReader", - new Class[] { ImageInputStream.class }, + new Class[] { ImageInputStream.class }, writerSpiNames, true, JPEG.nativeStreamMetadataFormatName, --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2014-02-20 12:53:35.997269152 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java 2014-02-20 12:53:35.847269146 -0800 @@ -107,7 +107,7 @@ /** * If there are thumbnails to be written, this is the list. */ - private List thumbnails = null; + private List thumbnails = null; /** * If metadata should include an icc profile, store it here. @@ -1394,14 +1394,14 @@ */ private int [] collectScans(JPEGMetadata metadata, SOFMarkerSegment sof) { - List segments = new ArrayList(); + List segments = new ArrayList<>(); int SCAN_SIZE = 9; int MAX_COMPS_PER_SCAN = 4; - for (Iterator iter = metadata.markerSequence.iterator(); + for (Iterator iter = metadata.markerSequence.iterator(); iter.hasNext();) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof SOSMarkerSegment) { - segments.add(seg); + segments.add((SOSMarkerSegment) seg); } } int [] retval = null; @@ -1411,7 +1411,7 @@ retval = new int [numScans*SCAN_SIZE]; int index = 0; for (int i = 0; i < numScans; i++) { - SOSMarkerSegment sos = (SOSMarkerSegment) segments.get(i); + SOSMarkerSegment sos = segments.get(i); retval[index++] = sos.componentSpecs.length; // num comps for (int j = 0; j < MAX_COMPS_PER_SCAN; j++) { if (j < sos.componentSpecs.length) { @@ -1441,10 +1441,10 @@ */ private JPEGQTable [] collectQTablesFromMetadata (JPEGMetadata metadata) { - ArrayList tables = new ArrayList(); - Iterator iter = metadata.markerSequence.iterator(); + ArrayList tables = new ArrayList<>(); + Iterator iter = metadata.markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof DQTMarkerSegment) { DQTMarkerSegment dqt = (DQTMarkerSegment) seg; @@ -1456,7 +1456,7 @@ retval = new JPEGQTable[tables.size()]; for (int i = 0; i < retval.length; i++) { retval[i] = - new JPEGQTable(((DQTMarkerSegment.Qtable)tables.get(i)).data); + new JPEGQTable(tables.get(i).data); } } return retval; @@ -1471,16 +1471,14 @@ */ private JPEGHuffmanTable[] collectHTablesFromMetadata (JPEGMetadata metadata, boolean wantDC) throws IIOException { - ArrayList tables = new ArrayList(); - Iterator iter = metadata.markerSequence.iterator(); + ArrayList tables = new ArrayList<>(); + Iterator iter = metadata.markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof DHTMarkerSegment) { - DHTMarkerSegment dht = - (DHTMarkerSegment) seg; + DHTMarkerSegment dht = (DHTMarkerSegment) seg; for (int i = 0; i < dht.tables.size(); i++) { - DHTMarkerSegment.Htable htable = - (DHTMarkerSegment.Htable) dht.tables.get(i); + DHTMarkerSegment.Htable htable = dht.tables.get(i); if (htable.tableClass == (wantDC ? 0 : 1)) { tables.add(htable); } @@ -1553,6 +1551,7 @@ retval = JPEG.JCS_YCC; } } + break; case ColorSpace.TYPE_CMYK: retval = JPEG.JCS_CMYK; break; @@ -1592,6 +1591,7 @@ retval = JPEG.JCS_YCC; } } + break; case ColorSpace.TYPE_CMYK: retval = JPEG.JCS_CMYK; break; @@ -1638,6 +1638,7 @@ retval = JPEG.JCS_YCC; } } + break; case ColorSpace.TYPE_CMYK: retval = JPEG.JCS_YCCK; break; @@ -1662,8 +1663,8 @@ ////////////// Native methods and callbacks /** Sets up static native structures. */ - private static native void initWriterIDs(Class qTableClass, - Class huffClass); + private static native void initWriterIDs(Class qTableClass, + Class huffClass); /** Sets up per-writer native structure and returns a pointer to it. */ private native long initJPEGImageWriter(); --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java 2014-02-20 12:53:36.963935858 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriterSpi.java 2014-02-20 12:53:36.813935852 -0800 @@ -50,7 +50,7 @@ JPEG.suffixes, JPEG.MIMETypes, "com.sun.imageio.plugins.jpeg.JPEGImageWriter", - new Class[] { ImageOutputStream.class }, + new Class[] { ImageOutputStream.class }, readerSpiNames, true, JPEG.nativeStreamMetadataFormatName, --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java 2014-02-20 12:53:37.897269230 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadata.java 2014-02-20 12:53:37.743935890 -0800 @@ -52,6 +52,7 @@ import java.awt.color.ICC_Profile; import java.awt.color.ICC_ColorSpace; import java.awt.color.ColorSpace; +import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.Point; @@ -69,7 +70,7 @@ * markerSequence is modified. This is used by reset * to restore the original state. */ - private List resetSequence = null; + private List resetSequence = null; /** * Set to true when reading a thumbnail stored as @@ -100,7 +101,7 @@ * list is package visible so that the writer can access it. * @see #MarkerSegment */ - List markerSequence = new ArrayList(); + List markerSequence = new ArrayList<>(); /** * Indicates whether this object represents stream or image @@ -645,9 +646,9 @@ * with the given tag, or null if none is found. */ MarkerSegment findMarkerSegment(int tag) { - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment)iter.next(); + MarkerSegment seg = iter.next(); if (seg.tag == tag) { return seg; } @@ -659,19 +660,20 @@ * Returns the first or last MarkerSegment object in the list * of the given class, or null if none is found. */ - MarkerSegment findMarkerSegment(Class cls, boolean first) { + MarkerSegment findMarkerSegment(Class cls, boolean first) { if (first) { - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment)iter.next(); + MarkerSegment seg = iter.next(); if (cls.isInstance(seg)) { return seg; } } } else { - ListIterator iter = markerSequence.listIterator(markerSequence.size()); + ListIterator iter = + markerSequence.listIterator(markerSequence.size()); while (iter.hasPrevious()) { - MarkerSegment seg = (MarkerSegment)iter.previous(); + MarkerSegment seg = iter.previous(); if (cls.isInstance(seg)) { return seg; } @@ -684,19 +686,21 @@ * Returns the index of the first or last MarkerSegment in the list * of the given class, or -1 if none is found. */ - private int findMarkerSegmentPosition(Class cls, boolean first) { + private int findMarkerSegmentPosition(Class cls, + boolean first) { if (first) { - ListIterator iter = markerSequence.listIterator(); + ListIterator iter = markerSequence.listIterator(); for (int i = 0; iter.hasNext(); i++) { - MarkerSegment seg = (MarkerSegment)iter.next(); + MarkerSegment seg = iter.next(); if (cls.isInstance(seg)) { return i; } } } else { - ListIterator iter = markerSequence.listIterator(markerSequence.size()); + ListIterator iter = + markerSequence.listIterator(markerSequence.size()); for (int i = markerSequence.size()-1; iter.hasPrevious(); i--) { - MarkerSegment seg = (MarkerSegment)iter.previous(); + MarkerSegment seg = iter.previous(); if (cls.isInstance(seg)) { return i; } @@ -706,9 +710,10 @@ } private int findLastUnknownMarkerSegmentPosition() { - ListIterator iter = markerSequence.listIterator(markerSequence.size()); + ListIterator iter = + markerSequence.listIterator(markerSequence.size()); for (int i = markerSequence.size()-1; iter.hasPrevious(); i--) { - MarkerSegment seg = (MarkerSegment)iter.previous(); + MarkerSegment seg = iter.previous(); if (seg.unknown == true) { return i; } @@ -733,15 +738,15 @@ /** * Returns a deep copy of the current marker sequence. */ - private List cloneSequence() { + private List cloneSequence() { if (markerSequence == null) { return null; } - List retval = new ArrayList(markerSequence.size()); - Iterator iter = markerSequence.iterator(); + List retval = new ArrayList<>(markerSequence.size()); + Iterator iter = markerSequence.iterator(); while(iter.hasNext()) { - MarkerSegment seg = (MarkerSegment)iter.next(); - retval.add(seg.clone()); + MarkerSegment seg = iter.next(); + retval.add((MarkerSegment) seg.clone()); } return retval; @@ -774,7 +779,7 @@ IIOMetadataNode getNativeTree() { IIOMetadataNode root; IIOMetadataNode top; - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); if (isStream) { root = new IIOMetadataNode(JPEG.nativeStreamMetadataFormatName); top = root; @@ -797,7 +802,7 @@ top = sequence; } while(iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); top.appendChild(seg.getNativeNode()); } return root; @@ -961,9 +966,9 @@ // NumProgressiveScans - count sos segments int sosCount = 0; - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment ms = (MarkerSegment) iter.next(); + MarkerSegment ms = iter.next(); if (ms.tag == JPEG.SOS) { sosCount++; } @@ -1028,9 +1033,9 @@ // Add a text entry for each COM Marker Segment if (findMarkerSegment(JPEG.COM) != null) { text = new IIOMetadataNode("Text"); - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg.tag == JPEG.COM) { COMMarkerSegment com = (COMMarkerSegment) seg; IIOMetadataNode entry = new IIOMetadataNode("TextEntry"); @@ -1068,7 +1073,7 @@ if (root == null) { throw new IllegalArgumentException("null root!"); } - List copy = null; + List copy = null; if (resetSequence == null) { resetSequence = cloneSequence(); // Deep copy copy = resetSequence; // Avoid cloning twice @@ -1181,12 +1186,12 @@ */ private void mergeDQTNode(Node node) throws IIOInvalidTreeException { // First collect any existing DQT nodes into a local list - ArrayList oldDQTs = new ArrayList(); - Iterator iter = markerSequence.iterator(); + ArrayList oldDQTs = new ArrayList<>(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof DQTMarkerSegment) { - oldDQTs.add(seg); + oldDQTs.add((DQTMarkerSegment) seg); } } if (!oldDQTs.isEmpty()) { @@ -1201,10 +1206,9 @@ DQTMarkerSegment dqt = null; int tableIndex = -1; for (int j = 0; j < oldDQTs.size(); j++) { - DQTMarkerSegment testDQT = (DQTMarkerSegment) oldDQTs.get(j); + DQTMarkerSegment testDQT = oldDQTs.get(j); for (int k = 0; k < testDQT.tables.size(); k++) { - DQTMarkerSegment.Qtable testTable = - (DQTMarkerSegment.Qtable) testDQT.tables.get(k); + DQTMarkerSegment.Qtable testTable = testDQT.tables.get(k); if (childID == testTable.tableID) { dqt = testDQT; tableIndex = k; @@ -1216,7 +1220,7 @@ if (dqt != null) { dqt.tables.set(tableIndex, dqt.getQtableFromNode(child)); } else { - dqt = (DQTMarkerSegment) oldDQTs.get(oldDQTs.size()-1); + dqt = oldDQTs.get(oldDQTs.size()-1); dqt.tables.add(dqt.getQtableFromNode(child)); } } @@ -1257,12 +1261,12 @@ */ private void mergeDHTNode(Node node) throws IIOInvalidTreeException { // First collect any existing DQT nodes into a local list - ArrayList oldDHTs = new ArrayList(); - Iterator iter = markerSequence.iterator(); + ArrayList oldDHTs = new ArrayList<>(); + Iterator iter = markerSequence.iterator(); while (iter.hasNext()) { - MarkerSegment seg = (MarkerSegment) iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof DHTMarkerSegment) { - oldDHTs.add(seg); + oldDHTs.add((DHTMarkerSegment) seg); } } if (!oldDHTs.isEmpty()) { @@ -1283,10 +1287,9 @@ DHTMarkerSegment dht = null; int tableIndex = -1; for (int j = 0; j < oldDHTs.size(); j++) { - DHTMarkerSegment testDHT = (DHTMarkerSegment) oldDHTs.get(j); + DHTMarkerSegment testDHT = oldDHTs.get(j); for (int k = 0; k < testDHT.tables.size(); k++) { - DHTMarkerSegment.Htable testTable = - (DHTMarkerSegment.Htable) testDHT.tables.get(k); + DHTMarkerSegment.Htable testTable = testDHT.tables.get(k); if ((childID == testTable.tableID) && (childClass == testTable.tableClass)) { dht = testDHT; @@ -1299,7 +1302,7 @@ if (dht != null) { dht.tables.set(tableIndex, dht.getHtableFromNode(child)); } else { - dht = (DHTMarkerSegment) oldDHTs.get(oldDHTs.size()-1); + dht = oldDHTs.get(oldDHTs.size()-1); dht.tables.add(dht.getHtableFromNode(child)); } } @@ -1735,8 +1738,9 @@ } if (idsDiffer) { // update the ids in each SOS marker segment - for (Iterator iter = markerSequence.iterator(); iter.hasNext();) { - MarkerSegment seg = (MarkerSegment) iter.next(); + for (Iterator iter = markerSequence.iterator(); + iter.hasNext();) { + MarkerSegment seg = iter.next(); if (seg instanceof SOSMarkerSegment) { SOSMarkerSegment target = (SOSMarkerSegment) seg; for (int i = 0; i < target.componentSpecs.length; i++) { @@ -1788,11 +1792,12 @@ } if (updateQtables) { - List tableSegments = new ArrayList(); - for (Iterator iter = markerSequence.iterator(); iter.hasNext();) { - MarkerSegment seg = (MarkerSegment) iter.next(); + List tableSegments = new ArrayList<>(); + for (Iterator iter = markerSequence.iterator(); + iter.hasNext();) { + MarkerSegment seg = iter.next(); if (seg instanceof DQTMarkerSegment) { - tableSegments.add(seg); + tableSegments.add((DQTMarkerSegment) seg); } } // If there are no tables, don't add them, as the metadata encodes an @@ -1806,12 +1811,12 @@ // Find the table with selector 1. boolean found = false; - for (Iterator iter = tableSegments.iterator(); iter.hasNext();) { - DQTMarkerSegment testdqt = (DQTMarkerSegment) iter.next(); - for (Iterator tabiter = testdqt.tables.iterator(); - tabiter.hasNext();) { - DQTMarkerSegment.Qtable tab = - (DQTMarkerSegment.Qtable) tabiter.next(); + for (Iterator iter = tableSegments.iterator(); + iter.hasNext();) { + DQTMarkerSegment testdqt = iter.next(); + for (Iterator tabiter = + testdqt.tables.iterator(); tabiter.hasNext();) { + DQTMarkerSegment.Qtable tab = tabiter.next(); if (tab.tableID == 1) { found = true; } @@ -1820,12 +1825,12 @@ if (!found) { // find the table with selector 0. There should be one. DQTMarkerSegment.Qtable table0 = null; - for (Iterator iter = tableSegments.iterator(); iter.hasNext();) { - DQTMarkerSegment testdqt = (DQTMarkerSegment) iter.next(); - for (Iterator tabiter = testdqt.tables.iterator(); - tabiter.hasNext();) { - DQTMarkerSegment.Qtable tab = - (DQTMarkerSegment.Qtable) tabiter.next(); + for (Iterator iter = + tableSegments.iterator(); iter.hasNext();) { + DQTMarkerSegment testdqt = iter.next(); + for (Iterator tabiter = + testdqt.tables.iterator(); tabiter.hasNext();) { + DQTMarkerSegment.Qtable tab = tabiter.next(); if (tab.tableID == 0) { table0 = tab; } @@ -1835,19 +1840,19 @@ // Assuming that the table with id 0 is a luminance table, // compute a new chrominance table of the same quality and // add it to the last DQT segment - DQTMarkerSegment dqt = - (DQTMarkerSegment) tableSegments.get(tableSegments.size()-1); + DQTMarkerSegment dqt = tableSegments.get(tableSegments.size()-1); dqt.tables.add(dqt.getChromaForLuma(table0)); } } } if (updateHtables) { - List tableSegments = new ArrayList(); - for (Iterator iter = markerSequence.iterator(); iter.hasNext();) { - MarkerSegment seg = (MarkerSegment) iter.next(); + List tableSegments = new ArrayList<>(); + for (Iterator iter = markerSequence.iterator(); + iter.hasNext();) { + MarkerSegment seg = iter.next(); if (seg instanceof DHTMarkerSegment) { - tableSegments.add(seg); + tableSegments.add((DHTMarkerSegment) seg); } } // If there are no tables, don't add them, as the metadata encodes an @@ -1860,12 +1865,12 @@ // find a table with selector 1. AC/DC is irrelevant boolean found = false; - for (Iterator iter = tableSegments.iterator(); iter.hasNext();) { - DHTMarkerSegment testdht = (DHTMarkerSegment) iter.next(); - for (Iterator tabiter = testdht.tables.iterator(); - tabiter.hasNext();) { - DHTMarkerSegment.Htable tab = - (DHTMarkerSegment.Htable) tabiter.next(); + for (Iterator iter = tableSegments.iterator(); + iter.hasNext();) { + DHTMarkerSegment testdht = iter.next(); + for (Iterator tabiter = + testdht.tables.iterator(); tabiter.hasNext();) { + DHTMarkerSegment.Htable tab = tabiter.next(); if (tab.tableID == 1) { found = true; } @@ -1875,7 +1880,7 @@ // Create new standard dc and ac chrominance tables and add them // to the last DHT segment DHTMarkerSegment lastDHT = - (DHTMarkerSegment) tableSegments.get(tableSegments.size()-1); + tableSegments.get(tableSegments.size()-1); lastDHT.addHtable(JPEGHuffmanTable.StdDCLuminance, true, 1); lastDHT.addHtable(JPEGHuffmanTable.StdACLuminance, true, 1); } @@ -2181,7 +2186,7 @@ if (resetSequence == null) { resetSequence = markerSequence; } - markerSequence = new ArrayList(); + markerSequence = new ArrayList<>(); // Build a whole new marker sequence from the tree @@ -2310,10 +2315,10 @@ * segments, including 0 if there are no SOS marker segments. */ private int countScanBands() { - List ids = new ArrayList(); - Iterator iter = markerSequence.iterator(); + List ids = new ArrayList<>(); + Iterator iter = markerSequence.iterator(); while(iter.hasNext()) { - MarkerSegment seg = (MarkerSegment)iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof SOSMarkerSegment) { SOSMarkerSegment sos = (SOSMarkerSegment) seg; SOSMarkerSegment.ScanComponentSpec [] specs = sos.componentSpecs; @@ -2334,7 +2339,7 @@ void writeToStream(ImageOutputStream ios, boolean ignoreJFIF, boolean forceJFIF, - List thumbnails, + List thumbnails, ICC_Profile iccProfile, boolean ignoreAdobe, int newAdobeTransform, @@ -2360,9 +2365,9 @@ } } // Iterate over each MarkerSegment - Iterator iter = markerSequence.iterator(); + Iterator iter = markerSequence.iterator(); while(iter.hasNext()) { - MarkerSegment seg = (MarkerSegment)iter.next(); + MarkerSegment seg = iter.next(); if (seg instanceof JFIFMarkerSegment) { if (ignoreJFIF == false) { JFIFMarkerSegment jfif = (JFIFMarkerSegment) seg; @@ -2409,7 +2414,7 @@ public void print() { for (int i = 0; i < markerSequence.size(); i++) { - MarkerSegment seg = (MarkerSegment) markerSequence.get(i); + MarkerSegment seg = markerSequence.get(i); seg.print(); } } --- old/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadataFormat.java 2014-02-20 12:53:38.887269271 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGMetadataFormat.java 2014-02-20 12:53:38.737269265 -0800 @@ -56,7 +56,7 @@ DATATYPE_INTEGER, false, "0"); - List tabids = new ArrayList(); + List tabids = new ArrayList<>(); tabids.add("0"); tabids.add("1"); tabids.add("2"); @@ -74,7 +74,7 @@ addElement("dht", parentName, 1, 4); addElement("dhtable", "dht", CHILD_POLICY_EMPTY); - List classes = new ArrayList(); + List classes = new ArrayList<>(); classes.add("0"); classes.add("1"); addAttribute("dhtable", --- old/src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java 2014-02-20 12:53:39.813935976 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/png/PNGImageReaderSpi.java 2014-02-20 12:53:39.667269303 -0800 @@ -60,7 +60,7 @@ suffixes, MIMETypes, readerClassName, - new Class[] { ImageInputStream.class }, + new Class[] { ImageInputStream.class }, writerSpiNames, false, null, null, --- old/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java 2014-02-20 12:53:40.737269348 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java 2014-02-20 12:53:40.583936008 -0800 @@ -656,16 +656,16 @@ } private void write_tEXt() throws IOException { - Iterator keywordIter = metadata.tEXt_keyword.iterator(); - Iterator textIter = metadata.tEXt_text.iterator(); + Iterator keywordIter = metadata.tEXt_keyword.iterator(); + Iterator textIter = metadata.tEXt_text.iterator(); while (keywordIter.hasNext()) { ChunkStream cs = new ChunkStream(PNGImageReader.tEXt_TYPE, stream); - String keyword = (String)keywordIter.next(); + String keyword = keywordIter.next(); cs.writeBytes(keyword); cs.writeByte(0); - String text = (String)textIter.next(); + String text = textIter.next(); cs.writeBytes(text); cs.finish(); } @@ -717,33 +717,33 @@ } private void write_zTXt() throws IOException { - Iterator keywordIter = metadata.zTXt_keyword.iterator(); - Iterator methodIter = metadata.zTXt_compressionMethod.iterator(); - Iterator textIter = metadata.zTXt_text.iterator(); + Iterator keywordIter = metadata.zTXt_keyword.iterator(); + Iterator methodIter = metadata.zTXt_compressionMethod.iterator(); + Iterator textIter = metadata.zTXt_text.iterator(); while (keywordIter.hasNext()) { ChunkStream cs = new ChunkStream(PNGImageReader.zTXt_TYPE, stream); - String keyword = (String)keywordIter.next(); + String keyword = keywordIter.next(); cs.writeBytes(keyword); cs.writeByte(0); - int compressionMethod = ((Integer)methodIter.next()).intValue(); + int compressionMethod = (methodIter.next()).intValue(); cs.writeByte(compressionMethod); - String text = (String)textIter.next(); + String text = textIter.next(); cs.write(deflate(text.getBytes("ISO-8859-1"))); cs.finish(); } } private void writeUnknownChunks() throws IOException { - Iterator typeIter = metadata.unknownChunkType.iterator(); - Iterator dataIter = metadata.unknownChunkData.iterator(); + Iterator typeIter = metadata.unknownChunkType.iterator(); + Iterator dataIter = metadata.unknownChunkData.iterator(); while (typeIter.hasNext() && dataIter.hasNext()) { - String type = (String)typeIter.next(); + String type = typeIter.next(); ChunkStream cs = new ChunkStream(chunkType(type), stream); - byte[] data = (byte[])dataIter.next(); + byte[] data = dataIter.next(); cs.write(data); cs.finish(); } --- old/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java 2014-02-20 12:53:41.677269387 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriterSpi.java 2014-02-20 12:53:41.523936047 -0800 @@ -62,7 +62,7 @@ suffixes, MIMETypes, writerClassName, - new Class[] { ImageOutputStream.class }, + new Class[] { ImageOutputStream.class }, readerSpiNames, false, null, null, --- old/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReader.java 2014-02-20 12:53:42.607269425 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReader.java 2014-02-20 12:53:42.453936086 -0800 @@ -152,14 +152,14 @@ gotHeader = true; } - public Iterator getImageTypes(int imageIndex) + public Iterator getImageTypes(int imageIndex) throws IOException { checkIndex(imageIndex); readHeader(); BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_BYTE_BINARY); - ArrayList list = new ArrayList(1); + ArrayList list = new ArrayList<>(1); list.add(new ImageTypeSpecifier(bi)); return list.iterator(); } --- old/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java 2014-02-20 12:53:43.537269464 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java 2014-02-20 12:53:43.387269457 -0800 @@ -55,7 +55,7 @@ entensions, mimeType, "com.sun.imageio.plugins.wbmp.WBMPImageReader", - new Class[] { ImageInputStream.class }, + new Class[] { ImageInputStream.class }, writerSpiNames, true, null, null, null, null, --- old/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java 2014-02-20 12:53:44.467269502 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java 2014-02-20 12:53:44.317269496 -0800 @@ -55,7 +55,7 @@ entensions, mimeType, "com.sun.imageio.plugins.wbmp.WBMPImageWriter", - new Class[] { ImageOutputStream.class }, + new Class[] { ImageOutputStream.class }, readerSpiNames, true, null, null, null, null, --- old/src/share/classes/com/sun/imageio/spi/FileImageInputStreamSpi.java 2014-02-20 12:53:45.390602873 -0800 +++ new/src/share/classes/com/sun/imageio/spi/FileImageInputStreamSpi.java 2014-02-20 12:53:45.240602867 -0800 @@ -37,7 +37,7 @@ private static final String version = "1.0"; - private static final Class inputClass = File.class; + private static final Class inputClass = File.class; public FileImageInputStreamSpi() { super(vendorName, version, inputClass); --- old/src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java 2014-02-20 12:53:46.320602912 -0800 +++ new/src/share/classes/com/sun/imageio/spi/FileImageOutputStreamSpi.java 2014-02-20 12:53:46.173936240 -0800 @@ -37,7 +37,7 @@ private static final String version = "1.0"; - private static final Class outputClass = File.class; + private static final Class outputClass = File.class; public FileImageOutputStreamSpi() { super(vendorName, version, outputClass); --- old/src/share/classes/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java 2014-02-20 12:53:47.267269618 -0800 +++ new/src/share/classes/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java 2014-02-20 12:53:47.110602945 -0800 @@ -40,7 +40,7 @@ private static final String version = "1.0"; - private static final Class inputClass = InputStream.class; + private static final Class inputClass = InputStream.class; public InputStreamImageInputStreamSpi() { super(vendorName, version, inputClass); --- old/src/share/classes/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java 2014-02-20 12:53:48.193936323 -0800 +++ new/src/share/classes/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java 2014-02-20 12:53:48.043936317 -0800 @@ -40,7 +40,7 @@ private static final String version = "1.0"; - private static final Class outputClass = OutputStream.class; + private static final Class outputClass = OutputStream.class; public OutputStreamImageOutputStreamSpi() { super(vendorName, version, outputClass); --- old/src/share/classes/com/sun/imageio/spi/RAFImageInputStreamSpi.java 2014-02-20 12:53:49.123936362 -0800 +++ new/src/share/classes/com/sun/imageio/spi/RAFImageInputStreamSpi.java 2014-02-20 12:53:48.970603022 -0800 @@ -38,7 +38,7 @@ private static final String version = "1.0"; - private static final Class inputClass = RandomAccessFile.class; + private static final Class inputClass = RandomAccessFile.class; public RAFImageInputStreamSpi() { super(vendorName, version, inputClass); --- old/src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java 2014-02-20 12:53:50.047269733 -0800 +++ new/src/share/classes/com/sun/imageio/spi/RAFImageOutputStreamSpi.java 2014-02-20 12:53:49.897269727 -0800 @@ -38,7 +38,7 @@ private static final String version = "1.0"; - private static final Class outputClass = RandomAccessFile.class; + private static final Class outputClass = RandomAccessFile.class; public RAFImageOutputStreamSpi() { super(vendorName, version, outputClass); --- old/src/share/classes/com/sun/imageio/stream/StreamCloser.java 2014-02-20 12:53:50.977269771 -0800 +++ new/src/share/classes/com/sun/imageio/stream/StreamCloser.java 2014-02-20 12:53:50.823936432 -0800 @@ -82,7 +82,7 @@ }; java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction() { + new java.security.PrivilegedAction() { public Object run() { /* The thread must be a member of a thread group * which will not get GCed before VM exit.