From Sergey.Bylokhov at oracle.com Mon Jun 2 09:15:16 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Mon, 02 Jun 2014 13:15:16 +0400 Subject: [9] Review Request: 8043979 Javadoc cleanup of javax.sound.sampled package Message-ID: <538C40A4.6020503@oracle.com> Hello. Please review another one javadoc "weekend cleanup" in jdk 9 in sound area: - @param, @return should not end with a dot, except a case when more than one sentences are used. - Description of the class/method/field should be followed by dot. - Broken links or typos should be fixed (ex. http://cr.openjdk.java.net/~serb/8043979/specdiff/FloatControl-report.html#method:getMaxLabel()) See the full specdiff: http://cr.openjdk.java.net/~serb/8043979/specdiff/package-summary.html - some broken merges from 1999(!!!) were fixed(ex. http://cr.openjdk.java.net/~serb/8043979/webrev.00/src/share/classes/javax/sound/sampled/LineListener.java.udiff.html) - 80 column limit. - empty line after description/before the first tag. - sets of spaces in the middle of text were deleted. - @param, @throws, @return now align, to be more readable. - should be replaced by {@tag }. - unnecessary imports should be removed. - @see tags can be simplified in some places. - unnecessary spaces and lines can be removed. - @Override should be added when necessary. Bug: https://bugs.openjdk.java.net/browse/JDK-8043979 Webrev can be found at: http://cr.openjdk.java.net/~serb/8043979/webrev.00 -- Best regards, Sergey. From joe.darcy at oracle.com Wed Jun 4 07:25:16 2014 From: joe.darcy at oracle.com (Joe Darcy) Date: Wed, 04 Jun 2014 00:25:16 -0700 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* Message-ID: <538EC9DC.3000403@oracle.com> Hello, Please review these changes to address JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* http://cr.openjdk.java.net/~darcy/8044553.0/ Patch below. Thanks, -Joe --- old/src/share/classes/javax/sound/midi/MidiFileFormat.java 2014-06-04 00:19:41.000000000 -0700 +++ new/src/share/classes/javax/sound/midi/MidiFileFormat.java 2014-06-04 00:19:41.000000000 -0700 @@ -266,6 +266,7 @@ * @see #getProperty(String) * @since 1.5 */ + @SuppressWarnings("unchecked") // Cast of result of clone public Map properties() { Map ret; if (properties == null) { --- old/src/share/classes/javax/sound/midi/MidiSystem.java 2014-06-04 00:19:41.000000000 -0700 +++ new/src/share/classes/javax/sound/midi/MidiSystem.java 2014-06-04 00:19:41.000000000 -0700 @@ -187,17 +187,17 @@ * an array of length 0 is returned. */ public static MidiDevice.Info[] getMidiDeviceInfo() { - List allInfos = new ArrayList(); - List providers = getMidiDeviceProviders(); + List allInfos = new ArrayList<>(); + List providers = getMidiDeviceProviders(); for(int i = 0; i < providers.size(); i++) { - MidiDeviceProvider provider = (MidiDeviceProvider) providers.get(i); + MidiDeviceProvider provider = providers.get(i); MidiDevice.Info[] tmpinfo = provider.getDeviceInfo(); for (int j = 0; j < tmpinfo.length; j++) { allInfos.add( tmpinfo[j] ); } } - MidiDevice.Info[] infosArray = (MidiDevice.Info[]) allInfos.toArray(new MidiDevice.Info[0]); + MidiDevice.Info[] infosArray = allInfos.toArray(new MidiDevice.Info[0]); return infosArray; } @@ -214,10 +214,10 @@ * @see #getMidiDeviceInfo */ public static MidiDevice getMidiDevice(MidiDevice.Info info) throws MidiUnavailableException { - List providers = getMidiDeviceProviders(); + List providers = getMidiDeviceProviders(); for(int i = 0; i < providers.size(); i++) { - MidiDeviceProvider provider = (MidiDeviceProvider) providers.get(i); + MidiDeviceProvider provider = providers.get(i); if (provider.isDeviceSupported(info)) { MidiDevice device = provider.getDevice(info); return device; @@ -528,10 +528,10 @@ SoundbankReader sp = null; Soundbank s = null; - List providers = getSoundbankReaders(); + List providers = getSoundbankReaders(); for(int i = 0; i < providers.size(); i++) { - sp = (SoundbankReader)providers.get(i); + sp = providers.get(i); s = sp.getSoundbank(stream); if( s!= null) { @@ -559,10 +559,10 @@ SoundbankReader sp = null; Soundbank s = null; - List providers = getSoundbankReaders(); + List providers = getSoundbankReaders(); for(int i = 0; i < providers.size(); i++) { - sp = (SoundbankReader)providers.get(i); + sp = providers.get(i); s = sp.getSoundbank(url); if( s!= null) { @@ -591,10 +591,10 @@ SoundbankReader sp = null; Soundbank s = null; - List providers = getSoundbankReaders(); + List providers = getSoundbankReaders(); for(int i = 0; i < providers.size(); i++) { - sp = (SoundbankReader)providers.get(i); + sp = providers.get(i); s = sp.getSoundbank(file); if( s!= null) { @@ -641,11 +641,11 @@ public static MidiFileFormat getMidiFileFormat(InputStream stream) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); MidiFileFormat format = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { format = reader.getMidiFileFormat( stream ); // throws IOException break; @@ -687,11 +687,11 @@ public static MidiFileFormat getMidiFileFormat(URL url) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); MidiFileFormat format = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { format = reader.getMidiFileFormat( url ); // throws IOException break; @@ -733,11 +733,11 @@ public static MidiFileFormat getMidiFileFormat(File file) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); MidiFileFormat format = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { format = reader.getMidiFileFormat( file ); // throws IOException break; @@ -788,11 +788,11 @@ public static Sequence getSequence(InputStream stream) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); Sequence sequence = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { sequence = reader.getSequence( stream ); // throws IOException break; @@ -832,11 +832,11 @@ public static Sequence getSequence(URL url) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); Sequence sequence = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { sequence = reader.getSequence( url ); // throws IOException break; @@ -876,11 +876,11 @@ public static Sequence getSequence(File file) throws InvalidMidiDataException, IOException { - List providers = getMidiFileReaders(); + List providers = getMidiFileReaders(); Sequence sequence = null; for(int i = 0; i < providers.size(); i++) { - MidiFileReader reader = (MidiFileReader) providers.get(i); + MidiFileReader reader = providers.get(i); try { sequence = reader.getSequence( file ); // throws IOException break; @@ -905,13 +905,13 @@ */ public static int[] getMidiFileTypes() { - List providers = getMidiFileWriters(); - Set allTypes = new HashSet(); + List providers = getMidiFileWriters(); + Set allTypes = new HashSet<>(); // gather from all the providers for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); int[] types = writer.getMidiFileTypes(); for (int j = 0; j < types.length; j++ ) { allTypes.add(new Integer(types[j])); @@ -919,9 +919,9 @@ } int resultTypes[] = new int[allTypes.size()]; int index = 0; - Iterator iterator = allTypes.iterator(); + Iterator iterator = allTypes.iterator(); while (iterator.hasNext()) { - Integer integer = (Integer) iterator.next(); + Integer integer = iterator.next(); resultTypes[index++] = integer.intValue(); } return resultTypes; @@ -937,10 +937,10 @@ */ public static boolean isFileTypeSupported(int fileType) { - List providers = getMidiFileWriters(); + List providers = getMidiFileWriters(); for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); if( writer.isFileTypeSupported(fileType)) { return true; } @@ -959,13 +959,13 @@ */ public static int[] getMidiFileTypes(Sequence sequence) { - List providers = getMidiFileWriters(); - Set allTypes = new HashSet(); + List providers = getMidiFileWriters(); + Set allTypes = new HashSet<>(); // gather from all the providers for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); int[] types = writer.getMidiFileTypes(sequence); for (int j = 0; j < types.length; j++ ) { allTypes.add(new Integer(types[j])); @@ -973,9 +973,9 @@ } int resultTypes[] = new int[allTypes.size()]; int index = 0; - Iterator iterator = allTypes.iterator(); + Iterator iterator = allTypes.iterator(); while (iterator.hasNext()) { - Integer integer = (Integer) iterator.next(); + Integer integer = iterator.next(); resultTypes[index++] = integer.intValue(); } return resultTypes; @@ -993,10 +993,10 @@ */ public static boolean isFileTypeSupported(int fileType, Sequence sequence) { - List providers = getMidiFileWriters(); + List providers = getMidiFileWriters(); for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); if( writer.isFileTypeSupported(fileType,sequence)) { return true; } @@ -1020,12 +1020,12 @@ */ public static int write(Sequence in, int fileType, OutputStream out) throws IOException { - List providers = getMidiFileWriters(); + List providers = getMidiFileWriters(); //$$fb 2002-04-17: Fix for 4635287: Standard MidiFileWriter cannot write empty Sequences int bytesWritten = -2; for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); if( writer.isFileTypeSupported( fileType, in ) ) { bytesWritten = writer.write(in, fileType, out); @@ -1054,12 +1054,12 @@ */ public static int write(Sequence in, int type, File out) throws IOException { - List providers = getMidiFileWriters(); + List providers = getMidiFileWriters(); //$$fb 2002-04-17: Fix for 4635287: Standard MidiFileWriter cannot write empty Sequences int bytesWritten = -2; for (int i = 0; i < providers.size(); i++ ) { - MidiFileWriter writer = (MidiFileWriter) providers.get(i); + MidiFileWriter writer = providers.get(i); if( writer.isFileTypeSupported( type, in ) ) { bytesWritten = writer.write(in, type, out); @@ -1075,24 +1075,24 @@ // HELPER METHODS - - private static List getMidiDeviceProviders() { - return getProviders(MidiDeviceProvider.class); + @SuppressWarnings("unchecked") + private static List getMidiDeviceProviders() { + return (List) getProviders(MidiDeviceProvider.class); } - - private static List getSoundbankReaders() { - return getProviders(SoundbankReader.class); + @SuppressWarnings("unchecked") + private static List getSoundbankReaders() { + return (List) getProviders(SoundbankReader.class); } - - private static List getMidiFileWriters() { - return getProviders(MidiFileWriter.class); + @SuppressWarnings("unchecked") + private static List getMidiFileWriters() { + return (List) getProviders(MidiFileWriter.class); } - - private static List getMidiFileReaders() { - return getProviders(MidiFileReader.class); + @SuppressWarnings("unchecked") + private static List getMidiFileReaders() { + return (List) getProviders(MidiFileReader.class); } @@ -1109,7 +1109,7 @@ * Sequencer.class, Receiver.class or Transmitter.class. * @throws MidiUnavalableException on failure. */ - private static MidiDevice getDefaultDeviceWrapper(Class deviceClass) + private static MidiDevice getDefaultDeviceWrapper(Class deviceClass) throws MidiUnavailableException{ try { return getDefaultDevice(deviceClass); @@ -1128,8 +1128,8 @@ * Sequencer.class, Receiver.class or Transmitter.class. * @throws IllegalArgumentException on failure. */ - private static MidiDevice getDefaultDevice(Class deviceClass) { - List providers = getMidiDeviceProviders(); + private static MidiDevice getDefaultDevice(Class deviceClass) { + List providers = getMidiDeviceProviders(); String providerClassName = JDK13Services.getDefaultProviderClassName(deviceClass); String instanceName = JDK13Services.getDefaultInstanceName(deviceClass); MidiDevice device; @@ -1179,9 +1179,10 @@ @return A MidiDeviceProvider of the requested class, or null if none is found. */ - private static MidiDeviceProvider getNamedProvider(String providerClassName, List providers) { + private static MidiDeviceProvider getNamedProvider(String providerClassName, + List providers) { for(int i = 0; i < providers.size(); i++) { - MidiDeviceProvider provider = (MidiDeviceProvider) providers.get(i); + MidiDeviceProvider provider = providers.get(i); if (provider.getClass().getName().equals(providerClassName)) { return provider; } @@ -1200,7 +1201,7 @@ */ private static MidiDevice getNamedDevice(String deviceName, MidiDeviceProvider provider, - Class deviceClass) { + Class deviceClass) { MidiDevice device; // try to get MIDI port device = getNamedDevice(deviceName, provider, deviceClass, @@ -1232,7 +1233,7 @@ */ private static MidiDevice getNamedDevice(String deviceName, MidiDeviceProvider provider, - Class deviceClass, + Class deviceClass, boolean allowSynthesizer, boolean allowSequencer) { MidiDevice.Info[] infos = provider.getDeviceInfo(); @@ -1259,8 +1260,8 @@ @return A Mixer matching the requirements, or null if none is found. */ private static MidiDevice getNamedDevice(String deviceName, - List providers, - Class deviceClass) { + List providers, + Class deviceClass) { MidiDevice device; // try to get MIDI port device = getNamedDevice(deviceName, providers, deviceClass, @@ -1292,12 +1293,12 @@ @return A Mixer matching the requirements, or null if none is found. */ private static MidiDevice getNamedDevice(String deviceName, - List providers, - Class deviceClass, + List providers, + Class deviceClass, boolean allowSynthesizer, boolean allowSequencer) { for(int i = 0; i < providers.size(); i++) { - MidiDeviceProvider provider = (MidiDeviceProvider) providers.get(i); + MidiDeviceProvider provider = providers.get(i); MidiDevice device = getNamedDevice(deviceName, provider, deviceClass, allowSynthesizer, @@ -1318,7 +1319,7 @@ appropriate device is found. */ private static MidiDevice getFirstDevice(MidiDeviceProvider provider, - Class deviceClass) { + Class deviceClass) { MidiDevice device; // try to get MIDI port device = getFirstDevice(provider, deviceClass, @@ -1348,7 +1349,7 @@ appropriate device is found. */ private static MidiDevice getFirstDevice(MidiDeviceProvider provider, - Class deviceClass, + Class deviceClass, boolean allowSynthesizer, boolean allowSequencer) { MidiDevice.Info[] infos = provider.getDeviceInfo(); @@ -1371,8 +1372,8 @@ @return A MidiDevice that is considered appropriate, or null if none is found. */ - private static MidiDevice getFirstDevice(List providers, - Class deviceClass) { + private static MidiDevice getFirstDevice(List providers, + Class deviceClass) { MidiDevice device; // try to get MIDI port device = getFirstDevice(providers, deviceClass, @@ -1402,12 +1403,12 @@ @return A MidiDevice that is considered appropriate, or null if none is found. */ - private static MidiDevice getFirstDevice(List providers, - Class deviceClass, + private static MidiDevice getFirstDevice(List providers, + Class deviceClass, boolean allowSynthesizer, boolean allowSequencer) { for(int i = 0; i < providers.size(); i++) { - MidiDeviceProvider provider = (MidiDeviceProvider) providers.get(i); + MidiDeviceProvider provider = providers.get(i); MidiDevice device = getFirstDevice(provider, deviceClass, allowSynthesizer, allowSequencer); @@ -1441,11 +1442,11 @@ rules given above, false otherwise. */ private static boolean isAppropriateDevice(MidiDevice device, - Class deviceClass, + Class deviceClass, boolean allowSynthesizer, boolean allowSequencer) { if (deviceClass.isInstance(device)) { - // This clause is for deviceClass being either Synthesizer + // This clause is for deviceClass being either Synthesizer // or Sequencer. return true; } else { @@ -1479,7 +1480,7 @@ * @return a List of instances of providers for the requested service. * If no providers are available, a List of length 0 will be returned. */ - private static List getProviders(Class providerClass) { - return JDK13Services.getProviders(providerClass); + private static List getProviders(Class providerClass) { + return JDK13Services.getProviders(providerClass); } } --- old/src/share/classes/javax/sound/midi/SoundbankResource.java 2014-06-04 00:19:42.000000000 -0700 +++ new/src/share/classes/javax/sound/midi/SoundbankResource.java 2014-06-04 00:19:42.000000000 -0700 @@ -83,7 +83,7 @@ /** * The class used to represent the sample's data. */ - private final Class dataClass; + private final Class dataClass; /** --- old/src/share/classes/javax/sound/midi/Track.java 2014-06-04 00:19:42.000000000 -0700 +++ new/src/share/classes/javax/sound/midi/Track.java 2014-06-04 00:19:42.000000000 -0700 @@ -66,10 +66,10 @@ // TODO: use arrays for faster access // the list containing the events - private ArrayList eventsList = new ArrayList(); + private ArrayList eventsList = new ArrayList<>(); // use a hashset to detect duplicate events in add(MidiEvent) - private HashSet set = new HashSet(); + private HashSet set = new HashSet<>(); private MidiEvent eotEvent; @@ -108,7 +108,7 @@ // get the last event MidiEvent lastEvent = null; if (eventsCount > 0) { - lastEvent = (MidiEvent) eventsList.get(eventsCount - 1); + lastEvent = eventsList.get(eventsCount - 1); } // sanity check that we have a correct end-of-track if (lastEvent != eotEvent) { @@ -148,7 +148,7 @@ // tick order int i = eventsCount; for ( ; i > 0; i--) { - if (event.getTick() >= ((MidiEvent)eventsList.get(i-1)).getTick()) { + if (event.getTick() >= (eventsList.get(i-1)).getTick()) { break; } } @@ -220,7 +220,7 @@ public MidiEvent get(int index) throws ArrayIndexOutOfBoundsException { try { synchronized(eventsList) { - return (MidiEvent)eventsList.get(index); + return eventsList.get(index); } } catch (IndexOutOfBoundsException ioobe) { throw new ArrayIndexOutOfBoundsException(ioobe.getMessage()); @@ -253,7 +253,7 @@ long ret = 0; synchronized (eventsList) { if (eventsList.size() > 0) { - ret = ((MidiEvent)eventsList.get(eventsList.size() - 1)).getTick(); + ret = (eventsList.get(eventsList.size() - 1)).getTick(); } } return ret; --- old/src/share/classes/javax/sound/sampled/AudioFileFormat.java 2014-06-04 00:19:43.000000000 -0700 +++ new/src/share/classes/javax/sound/sampled/AudioFileFormat.java 2014-06-04 00:19:43.000000000 -0700 @@ -244,10 +244,11 @@ * @see #getProperty(String) * @since 1.5 */ + @SuppressWarnings("unchecked") // Cast of result of clone public Map properties() { Map ret; if (properties == null) { - ret = new HashMap(0); + ret = new HashMap<>(0); } else { ret = (Map) (properties.clone()); } --- old/src/share/classes/javax/sound/sampled/AudioFormat.java 2014-06-04 00:19:43.000000000 -0700 +++ new/src/share/classes/javax/sound/sampled/AudioFormat.java 2014-06-04 00:19:43.000000000 -0700 @@ -396,10 +396,11 @@ * @see #getProperty(String) * @since 1.5 */ + @SuppressWarnings("unchecked") // Cast of result of clone. public Map properties() { Map ret; if (properties == null) { - ret = new HashMap(0); + ret = new HashMap<>(0); } else { ret = (Map) (properties.clone()); } --- old/src/share/classes/javax/sound/sampled/AudioSystem.java 2014-06-04 00:19:44.000000000 -0700 +++ new/src/share/classes/javax/sound/sampled/AudioSystem.java 2014-06-04 00:19:44.000000000 -0700 @@ -196,8 +196,8 @@ */ public static Mixer.Info[] getMixerInfo() { - List infos = getMixerInfoList(); - Mixer.Info[] allInfos = (Mixer.Info[]) infos.toArray(new Mixer.Info[infos.size()]); + List infos = getMixerInfoList(); + Mixer.Info[] allInfos = infos.toArray(new Mixer.Info[infos.size()]); return allInfos; } @@ -216,12 +216,12 @@ public static Mixer getMixer(Mixer.Info info) { Mixer mixer = null; - List providers = getMixerProviders(); + List providers = getMixerProviders(); for(int i = 0; i < providers.size(); i++ ) { try { - return ((MixerProvider)providers.get(i)).getMixer(info); + return providers.get(i).getMixer(info); } catch (IllegalArgumentException e) { } catch (NullPointerException e) { @@ -238,7 +238,7 @@ if (info == null) { for(int i = 0; i < providers.size(); i++ ) { try { - MixerProvider provider = (MixerProvider) providers.get(i); + MixerProvider provider = providers.get(i); Mixer.Info[] infos = provider.getMixerInfo(); // start from 0 to last device (do not reverse this order) for (int ii = 0; ii < infos.length; ii++) { @@ -274,7 +274,7 @@ */ public static Line.Info[] getSourceLineInfo(Line.Info info) { - Vector vector = new Vector(); + Vector vector = new Vector<>(); Line.Info[] currentInfoArray; Mixer mixer; @@ -294,7 +294,7 @@ Line.Info[] returnedArray = new Line.Info[vector.size()]; for (int i = 0; i < returnedArray.length; i++) { - returnedArray[i] = (Line.Info)vector.get(i); + returnedArray[i] = vector.get(i); } return returnedArray; @@ -314,7 +314,7 @@ */ public static Line.Info[] getTargetLineInfo(Line.Info info) { - Vector vector = new Vector(); + Vector vector = new Vector<>(); Line.Info[] currentInfoArray; Mixer mixer; @@ -334,7 +334,7 @@ Line.Info[] returnedArray = new Line.Info[vector.size()]; for (int i = 0; i < returnedArray.length; i++) { - returnedArray[i] = (Line.Info)vector.get(i); + returnedArray[i] = vector.get(i); } return returnedArray; @@ -408,7 +408,7 @@ */ public static Line getLine(Line.Info info) throws LineUnavailableException { LineUnavailableException lue = null; - List providers = getMixerProviders(); + List providers = getMixerProviders(); // 1: try from default mixer for this line class @@ -427,7 +427,7 @@ // 2: if that doesn't work, try to find any mixing mixer for(int i = 0; i < providers.size(); i++) { - MixerProvider provider = (MixerProvider) providers.get(i); + MixerProvider provider = providers.get(i); Mixer.Info[] infos = provider.getMixerInfo(); for (int j = 0; j < infos.length; j++) { @@ -449,7 +449,7 @@ // 3: if that didn't work, try to find any non-mixing mixer for(int i = 0; i < providers.size(); i++) { - MixerProvider provider = (MixerProvider) providers.get(i); + MixerProvider provider = providers.get(i); Mixer.Info[] infos = provider.getMixerInfo(); for (int j = 0; j < infos.length; j++) { try { @@ -764,14 +764,14 @@ */ public static AudioFormat.Encoding[] getTargetEncodings(AudioFormat.Encoding sourceEncoding) { - List codecs = getFormatConversionProviders(); - Vector encodings = new Vector(); + List codecs = getFormatConversionProviders(); + Vector encodings = new Vector<>(); AudioFormat.Encoding encs[] = null; // gather from all the codecs for(int i=0; i codecs = getFormatConversionProviders(); + Vector encodings = new Vector<>(); int size = 0; int index = 0; @@ -809,7 +809,7 @@ // gather from all the codecs for(int i=0; i codecs = getFormatConversionProviders(); for(int i=0; i codecs = getFormatConversionProviders(); for(int i = 0; i < codecs.size(); i++) { - FormatConversionProvider codec = (FormatConversionProvider) codecs.get(i); + FormatConversionProvider codec = codecs.get(i); if( codec.isConversionSupported( targetEncoding, sourceStream.getFormat() ) ) { return codec.getAudioInputStream( targetEncoding, sourceStream ); } @@ -890,8 +890,8 @@ */ public static AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat) { - List codecs = getFormatConversionProviders(); - Vector formats = new Vector(); + List codecs = getFormatConversionProviders(); + Vector formats = new Vector<>(); int size = 0; int index = 0; @@ -900,7 +900,7 @@ // gather from all the codecs for(int i=0; i codecs = getFormatConversionProviders(); for(int i=0; i codecs = getFormatConversionProviders(); for(int i = 0; i < codecs.size(); i++) { - FormatConversionProvider codec = (FormatConversionProvider) codecs.get(i); + FormatConversionProvider codec = codecs.get(i); if(codec.isConversionSupported(targetFormat,sourceStream.getFormat()) ) { return codec.getAudioInputStream(targetFormat,sourceStream); } @@ -995,11 +995,11 @@ public static AudioFileFormat getAudioFileFormat(InputStream stream) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioFileFormat format = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { format = reader.getAudioFileFormat( stream ); // throws IOException break; @@ -1028,11 +1028,11 @@ public static AudioFileFormat getAudioFileFormat(URL url) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioFileFormat format = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { format = reader.getAudioFileFormat( url ); // throws IOException break; @@ -1061,11 +1061,11 @@ public static AudioFileFormat getAudioFileFormat(File file) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioFileFormat format = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { format = reader.getAudioFileFormat( file ); // throws IOException break; @@ -1090,7 +1090,7 @@ * be able to mark the stream, read enough data to determine whether they * support the stream, and, if not, reset the stream's read pointer to its original * position. If the input stream does not support these operation, this method may fail - * with an IOException. + * with an IOExcEption. * @param stream the input stream from which the AudioInputStream should be * constructed * @return an AudioInputStream object based on the audio file data contained @@ -1104,11 +1104,11 @@ public static AudioInputStream getAudioInputStream(InputStream stream) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioInputStream audioStream = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { audioStream = reader.getAudioInputStream( stream ); // throws IOException break; @@ -1138,11 +1138,11 @@ public static AudioInputStream getAudioInputStream(URL url) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioInputStream audioStream = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { audioStream = reader.getAudioInputStream( url ); // throws IOException break; @@ -1172,11 +1172,11 @@ public static AudioInputStream getAudioInputStream(File file) throws UnsupportedAudioFileException, IOException { - List providers = getAudioFileReaders(); + List providers = getAudioFileReaders(); AudioInputStream audioStream = null; for(int i = 0; i < providers.size(); i++ ) { - AudioFileReader reader = (AudioFileReader) providers.get(i); + AudioFileReader reader = providers.get(i); try { audioStream = reader.getAudioInputStream( file ); // throws IOException break; @@ -1199,17 +1199,17 @@ * an array of length 0 is returned. */ public static AudioFileFormat.Type[] getAudioFileTypes() { - List providers = getAudioFileWriters(); - Set returnTypesSet = new HashSet(); + List providers = getAudioFileWriters(); + Set returnTypesSet = new HashSet<>(); for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); AudioFileFormat.Type[] fileTypes = writer.getAudioFileTypes(); for(int j=0; j < fileTypes.length; j++) { returnTypesSet.add(fileTypes[j]); } } - AudioFileFormat.Type returnTypes[] = (AudioFileFormat.Type[]) + AudioFileFormat.Type returnTypes[] = returnTypesSet.toArray(new AudioFileFormat.Type[0]); return returnTypes; } @@ -1224,10 +1224,10 @@ */ public static boolean isFileTypeSupported(AudioFileFormat.Type fileType) { - List providers = getAudioFileWriters(); + List providers = getAudioFileWriters(); for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); if (writer.isFileTypeSupported(fileType)) { return true; } @@ -1245,17 +1245,17 @@ * an array of length 0 is returned. */ public static AudioFileFormat.Type[] getAudioFileTypes(AudioInputStream stream) { - List providers = getAudioFileWriters(); - Set returnTypesSet = new HashSet(); + List providers = getAudioFileWriters(); + Set returnTypesSet = new HashSet<>(); for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); AudioFileFormat.Type[] fileTypes = writer.getAudioFileTypes(stream); for(int j=0; j < fileTypes.length; j++) { returnTypesSet.add(fileTypes[j]); } } - AudioFileFormat.Type returnTypes[] = (AudioFileFormat.Type[]) + AudioFileFormat.Type returnTypes[] = returnTypesSet.toArray(new AudioFileFormat.Type[0]); return returnTypes; } @@ -1272,10 +1272,10 @@ public static boolean isFileTypeSupported(AudioFileFormat.Type fileType, AudioInputStream stream) { - List providers = getAudioFileWriters(); + List providers = getAudioFileWriters(); for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); if(writer.isFileTypeSupported(fileType, stream)) { return true; } @@ -1306,12 +1306,12 @@ public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, OutputStream out) throws IOException { - List providers = getAudioFileWriters(); + List providers = getAudioFileWriters(); int bytesWritten = 0; boolean flag = false; for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); try { bytesWritten = writer.write( stream, fileType, out ); // throws IOException flag = true; @@ -1346,12 +1346,12 @@ public static int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out) throws IOException { - List providers = getAudioFileWriters(); + List providers = getAudioFileWriters(); int bytesWritten = 0; boolean flag = false; for(int i=0; i < providers.size(); i++) { - AudioFileWriter writer = (AudioFileWriter) providers.get(i); + AudioFileWriter writer = providers.get(i); try { bytesWritten = writer.write( stream, fileType, out ); // throws IOException flag = true; @@ -1374,8 +1374,9 @@ /** * Obtains the set of MixerProviders on the system. */ - private static List getMixerProviders() { - return getProviders(MixerProvider.class); + @SuppressWarnings("unchecked") + private static List getMixerProviders() { + return (List) getProviders(MixerProvider.class); } @@ -1389,8 +1390,9 @@ * converters readers are available on the system, an array of length 0 is * returned. */ - private static List getFormatConversionProviders() { - return getProviders(FormatConversionProvider.class); + @SuppressWarnings("unchecked") + private static List getFormatConversionProviders() { + return (List) getProviders(FormatConversionProvider.class); } @@ -1402,8 +1404,9 @@ * objects representing the installed audio file readers. If no audio file * readers are available on the system, an empty List is returned. */ - private static List getAudioFileReaders() { - return getProviders(AudioFileReader.class); + @SuppressWarnings("unchecked") + private static List getAudioFileReaders() { + return (List)getProviders(AudioFileReader.class); } @@ -1414,8 +1417,9 @@ * objects representing the available audio file writers. If no audio file * writers are available on the system, an empty List is returned. */ - private static List getAudioFileWriters() { - return getProviders(AudioFileWriter.class); + @SuppressWarnings("unchecked") + private static List getAudioFileWriters() { + return (List)getProviders(AudioFileWriter.class); } @@ -1428,8 +1432,8 @@ * TargetDataLine.class, Clip.class or Port.class. * @return a Mixer that matches the requirements, or null if no default mixer found */ - private static Mixer getDefaultMixer(List providers, Line.Info info) { - Class lineClass = info.getLineClass(); + private static Mixer getDefaultMixer(List providers, Line.Info info) { + Class lineClass = info.getLineClass(); String providerClassName = JDK13Services.getDefaultProviderClassName(lineClass); String instanceName = JDK13Services.getDefaultInstanceName(lineClass); Mixer mixer; @@ -1481,9 +1485,9 @@ found. */ private static MixerProvider getNamedProvider(String providerClassName, - List providers) { + List providers) { for(int i = 0; i < providers.size(); i++) { - MixerProvider provider = (MixerProvider) providers.get(i); + MixerProvider provider = providers.get(i); if (provider.getClass().getName().equals(providerClassName)) { return provider; } @@ -1526,10 +1530,10 @@ @return A Mixer matching the requirements, or null if none is found. */ private static Mixer getNamedMixer(String mixerName, - List providers, + List providers, Line.Info info) { for(int i = 0; i < providers.size(); i++) { - MixerProvider provider = (MixerProvider) providers.get(i); + MixerProvider provider = providers.get(i); Mixer mixer = getNamedMixer(mixerName, provider, info); if (mixer != null) { return mixer; @@ -1578,7 +1582,7 @@ if (! mixer.isLineSupported(lineInfo)) { return false; } - Class lineClass = lineInfo.getLineClass(); + Class lineClass = lineInfo.getLineClass(); if (isMixingRequired && (SourceDataLine.class.isAssignableFrom(lineClass) || Clip.class.isAssignableFrom(lineClass))) { @@ -1593,8 +1597,8 @@ /** * Like getMixerInfo, but return List */ - private static List getMixerInfoList() { - List providers = getMixerProviders(); + private static List getMixerInfoList() { + List providers = getMixerProviders(); return getMixerInfoList(providers); } @@ -1602,14 +1606,14 @@ /** * Like getMixerInfo, but return List */ - private static List getMixerInfoList(List providers) { - List infos = new ArrayList(); + private static List getMixerInfoList(List providers) { + List infos = new ArrayList<>(); Mixer.Info[] someInfos; // per-mixer Mixer.Info[] allInfos; // for all mixers for(int i = 0; i < providers.size(); i++ ) { - someInfos = ((MixerProvider)providers.get(i)).getMixerInfo(); + someInfos = providers.get(i).getMixerInfo(); for (int j = 0; j < someInfos.length; j++) { infos.add(someInfos[j]); @@ -1626,7 +1630,7 @@ * @return a List of instances of providers for the requested service. * If no providers are available, a vector of length 0 will be returned. */ - private static List getProviders(Class providerClass) { + private static List getProviders(Class providerClass) { return JDK13Services.getProviders(providerClass); } } --- old/src/share/classes/javax/sound/sampled/Line.java 2014-06-04 00:19:44.000000000 -0700 +++ new/src/share/classes/javax/sound/sampled/Line.java 2014-06-04 00:19:44.000000000 -0700 @@ -242,7 +242,7 @@ /** * The class of the line described by the info object. */ - private final Class lineClass; + private final Class lineClass; /** From Sergey.Bylokhov at oracle.com Wed Jun 4 14:10:40 2014 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 04 Jun 2014 18:10:40 +0400 Subject: [9] Review Request: 8039901 jdk/src/share/classes/com/sun/media/sound/services/ appear not to be used Message-ID: <538F28E0.8090804@oracle.com> Hello. Please review the fix for jdk 9. The old sound configuration files were removed, its were used in the old (beatnik) sound engine in old build system. Bug: https://bugs.openjdk.java.net/browse/JDK-8039901 Webrev can be found at: http://cr.openjdk.java.net/~serb/8039901/webrev.00 -- Best regards, Sergey. From alexey.menkov at oracle.com Thu Jun 5 16:02:25 2014 From: alexey.menkov at oracle.com (alexey menkov) Date: Thu, 05 Jun 2014 20:02:25 +0400 Subject: APPROVED - Re: [9] Review Request: 8039901 jdk/src/share/classes/com/sun/media/sound/services/ appear not to be used In-Reply-To: <538F28E0.8090804@oracle.com> References: <538F28E0.8090804@oracle.com> Message-ID: <53909491.2080705@oracle.com> looks good. regards Alex On 04.06.2014 18:10, Sergey Bylokhov wrote: > Hello. > Please review the fix for jdk 9. > The old sound configuration files were removed, its were used in the old > (beatnik) sound engine in old build system. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8039901 > Webrev can be found at: http://cr.openjdk.java.net/~serb/8039901/webrev.00 > From joe.darcy at oracle.com Thu Jun 5 22:06:50 2014 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 05 Jun 2014 15:06:50 -0700 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* In-Reply-To: <538EC9DC.3000403@oracle.com> References: <538EC9DC.3000403@oracle.com> Message-ID: <5390E9FA.50907@oracle.com> *ping* Thanks, -Joe On 06/04/2014 12:25 AM, Joe Darcy wrote: > Hello, > > Please review these changes to address > > JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* > http://cr.openjdk.java.net/~darcy/8044553.0/ > > Patch below. > > Thanks, > > -Joe > From philip.race at oracle.com Thu Jun 5 23:07:30 2014 From: philip.race at oracle.com (Phil Race) Date: Thu, 05 Jun 2014 16:07:30 -0700 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* In-Reply-To: <5390E9FA.50907@oracle.com> References: <538EC9DC.3000403@oracle.com> <5390E9FA.50907@oracle.com> Message-ID: <5390F832.4090907@oracle.com> Joe, you introduced a type in AudioSystem.java 1093 * with an IOExcEption. I don't see any problems but you can sanity test by running the reg. tests under test/javax/sound/ -phil On 6/5/14 3:06 PM, Joe Darcy wrote: > *ping* > > Thanks, > > -Joe > > On 06/04/2014 12:25 AM, Joe Darcy wrote: >> Hello, >> >> Please review these changes to address >> >> JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* >> http://cr.openjdk.java.net/~darcy/8044553.0/ >> >> Patch below. >> >> Thanks, >> >> -Joe >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From joe.darcy at oracle.com Thu Jun 5 23:54:25 2014 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 05 Jun 2014 16:54:25 -0700 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* In-Reply-To: <5390F832.4090907@oracle.com> References: <538EC9DC.3000403@oracle.com> <5390E9FA.50907@oracle.com> <5390F832.4090907@oracle.com> Message-ID: <53910331.6040400@oracle.com> Hi Phil, I've re-synced with client and corrected the typo: http://cr.openjdk.java.net/~darcy/8044553.1/ I'll push if the regression test run is clean. Thanks, -Joe On 06/05/2014 04:07 PM, Phil Race wrote: > Joe, > > you introduced a type in AudioSystem.java > > 1093 * with an IOExcEption. > > I don't see any problems but you can sanity test by running the reg. tests > under test/javax/sound/ > > -phil > > On 6/5/14 3:06 PM, Joe Darcy wrote: >> *ping* >> >> Thanks, >> >> -Joe >> >> On 06/04/2014 12:25 AM, Joe Darcy wrote: >>> Hello, >>> >>> Please review these changes to address >>> >>> JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* >>> http://cr.openjdk.java.net/~darcy/8044553.0/ >>> >>> Patch below. >>> >>> Thanks, >>> >>> -Joe >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From philip.race at oracle.com Fri Jun 6 00:34:19 2014 From: philip.race at oracle.com (Phil Race) Date: Thu, 05 Jun 2014 17:34:19 -0700 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* In-Reply-To: <53910331.6040400@oracle.com> References: <538EC9DC.3000403@oracle.com> <5390E9FA.50907@oracle.com> <5390F832.4090907@oracle.com> <53910331.6040400@oracle.com> Message-ID: <53910C8B.5080006@oracle.com> Sounds good. -phil. On 6/5/14 4:54 PM, Joe Darcy wrote: > Hi Phil, > > I've re-synced with client and corrected the typo: > > http://cr.openjdk.java.net/~darcy/8044553.1/ > > I'll push if the regression test run is clean. > > Thanks, > > -Joe > > On 06/05/2014 04:07 PM, Phil Race wrote: >> Joe, >> >> you introduced a type in AudioSystem.java >> >> 1093 * with an IOExcEption. >> >> I don't see any problems but you can sanity test by running the reg. tests >> under test/javax/sound/ >> >> -phil >> >> On 6/5/14 3:06 PM, Joe Darcy wrote: >>> *ping* >>> >>> Thanks, >>> >>> -Joe >>> >>> On 06/04/2014 12:25 AM, Joe Darcy wrote: >>>> Hello, >>>> >>>> Please review these changes to address >>>> >>>> JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* >>>> http://cr.openjdk.java.net/~darcy/8044553.0/ >>>> >>>> Patch below. >>>> >>>> Thanks, >>>> >>>> -Joe >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From danrollo at gmail.com Fri Jun 6 01:56:08 2014 From: danrollo at gmail.com (Dan Rollo) Date: Thu, 5 Jun 2014 21:56:08 -0400 Subject: JDK 9 RFR of JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* In-Reply-To: <53910C8B.5080006@oracle.com> References: <538EC9DC.3000403@oracle.com> <5390E9FA.50907@oracle.com> <5390F832.4090907@oracle.com> <53910331.6040400@oracle.com> <53910C8B.5080006@oracle.com> Message-ID: Hi, Just wanted to say Thanks for all the efforts on the javasound codebase. Nice to see it getting some attention. Dan On Jun 5, 2014, at 8:34 PM, Phil Race wrote: > Sounds good. > > -phil. > > On 6/5/14 4:54 PM, Joe Darcy wrote: >> Hi Phil, >> >> I've re-synced with client and corrected the typo: >> >> http://cr.openjdk.java.net/~darcy/8044553.1/ >> >> I'll push if the regression test run is clean. >> >> Thanks, >> >> -Joe >> >> On 06/05/2014 04:07 PM, Phil Race wrote: >>> Joe, >>> >>> you introduced a type in AudioSystem.java >>> >>> 1093 * with an IOExcEption. >>> >>> I don't see any problems but you can sanity test by running the reg. tests >>> under test/javax/sound/ >>> >>> -phil >>> >>> On 6/5/14 3:06 PM, Joe Darcy wrote: >>>> *ping* >>>> >>>> Thanks, >>>> >>>> -Joe >>>> >>>> On 06/04/2014 12:25 AM, Joe Darcy wrote: >>>>> Hello, >>>>> >>>>> Please review these changes to address >>>>> >>>>> JDK-8044553: Fix raw and unchecked lint warnings in javax.sound.* >>>>> http://cr.openjdk.java.net/~darcy/8044553.0/ >>>>> >>>>> Patch below. >>>>> >>>>> Thanks, >>>>> >>>>> -Joe >>>>> >>>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: