<Sound Dev> JDK 9 RFR of JDK-8042256: Fix raw and unchecked lint warnings in com.sun.media.sound
Joe Darcy
joe.darcy at oracle.com
Mon May 5 16:02:04 UTC 2014
* ping*
-Joe
On 4/30/2014 9:50 PM, Joe Darcy wrote:
> Hello,
>
> Please review this change to address the raw and unchecked warnings in
> com.sun.media.sound:
>
> JDK-8042256: Fix raw and unchecked lint warnings in
> com.sun.media.sound
> http://cr.openjdk.java.net/~darcy/8042256.0/
>
> Patch below.
>
> Thanks,
>
> -Joe
>
> --- old/src/share/classes/com/sun/media/sound/AbstractLine.java
> 2014-04-30 18:30:06.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/AbstractLine.java
> 2014-04-30 18:30:06.000000000 -0700
> @@ -48,7 +48,7 @@
> protected Control[] controls;
> AbstractMixer mixer;
> private boolean open = false;
> - private final Vector listeners = new Vector();
> + private final Vector<Object> listeners = new Vector<>();
>
> /**
> * Contains event dispatcher per thread group.
> --- old/src/share/classes/com/sun/media/sound/AbstractMidiDevice.java
> 2014-04-30 18:30:07.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/AbstractMidiDevice.java
> 2014-04-30 18:30:07.000000000 -0700
> @@ -70,7 +70,7 @@
>
> /** List of Receivers and Transmitters that opened the device
> implicitely.
> */
> - private List openKeepingObjects;
> + private List<Object> openKeepingObjects;
>
> /**
> * This is the device handle returned from native code
> @@ -284,6 +284,7 @@
> }
>
>
> + @SuppressWarnings("unchecked") // Cast of result of clone
> public final List<Receiver> getReceivers() {
> List<Receiver> recs;
> synchronized (traRecLock) {
> @@ -313,6 +314,7 @@
> }
>
>
> + @SuppressWarnings("unchecked") // Cast of result of clone
> public final List<Transmitter> getTransmitters() {
> List<Transmitter> tras;
> synchronized (traRecLock) {
> @@ -372,9 +374,9 @@
>
> /** Return the list of objects that have opened the device
> implicitely.
> */
> - private synchronized List getOpenKeepingObjects() {
> + private synchronized List<Object> getOpenKeepingObjects() {
> if (openKeepingObjects == null) {
> - openKeepingObjects = new ArrayList();
> + openKeepingObjects = new ArrayList<>();
> }
> return openKeepingObjects;
> }
> --- old/src/share/classes/com/sun/media/sound/AbstractMixer.java
> 2014-04-30 18:30:07.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/AbstractMixer.java
> 2014-04-30 18:30:07.000000000 -0700
> @@ -90,13 +90,13 @@
> /**
> * Source lines (ports) currently open
> */
> - private final Vector sourceLines = new Vector();
> + private final Vector<Line> sourceLines = new Vector<>();
>
>
> /**
> * Target lines currently open.
> */
> - private final Vector targetLines = new Vector();
> + private final Vector<Line> targetLines = new Vector<>();
>
>
> /**
> @@ -151,7 +151,7 @@
> public final Line.Info[] getSourceLineInfo(Line.Info info) {
>
> int i;
> - Vector vec = new Vector();
> + Vector<Line.Info> vec = new Vector<>();
>
> for (i = 0; i < sourceLineInfo.length; i++) {
>
> @@ -162,7 +162,7 @@
>
> Line.Info[] returnedArray = new Line.Info[vec.size()];
> for (i = 0; i < returnedArray.length; i++) {
> - returnedArray[i] = (Line.Info)vec.elementAt(i);
> + returnedArray[i] = vec.elementAt(i);
> }
>
> return returnedArray;
> @@ -172,7 +172,7 @@
> public final Line.Info[] getTargetLineInfo(Line.Info info) {
>
> int i;
> - Vector vec = new Vector();
> + Vector<Line.Info> vec = new Vector<>();
>
> for (i = 0; i < targetLineInfo.length; i++) {
>
> @@ -183,7 +183,7 @@
>
> Line.Info[] returnedArray = new Line.Info[vec.size()];
> for (i = 0; i < returnedArray.length; i++) {
> - returnedArray[i] = (Line.Info)vec.elementAt(i);
> + returnedArray[i] = vec.elementAt(i);
> }
>
> return returnedArray;
> @@ -231,7 +231,7 @@
> localLines = new Line[sourceLines.size()];
>
> for (int i = 0; i < localLines.length; i++) {
> - localLines[i] = (Line)sourceLines.elementAt(i);
> + localLines[i] = sourceLines.elementAt(i);
> }
> }
>
> @@ -248,7 +248,7 @@
> localLines = new Line[targetLines.size()];
>
> for (int i = 0; i < localLines.length; i++) {
> - localLines[i] = (Line)targetLines.elementAt(i);
> + localLines[i] = targetLines.elementAt(i);
> }
> }
>
> @@ -453,7 +453,8 @@
> return;
> }
>
> - Vector localSourceLines = (Vector)sourceLines.clone();
> + @SuppressWarnings("unchecked")
> + Vector<Line> localSourceLines =
> (Vector<Line>)sourceLines.clone();
> for (int i = 0; i < localSourceLines.size(); i++) {
>
> // if any other open line is running, return
> @@ -468,7 +469,8 @@
> }
> }
>
> - Vector localTargetLines = (Vector)targetLines.clone();
> + @SuppressWarnings("unchecked")
> + Vector<Line> localTargetLines =
> (Vector<Line>)targetLines.clone();
> for (int i = 0; i < localTargetLines.size(); i++) {
>
> // if any other open line is running, return
> --- old/src/share/classes/com/sun/media/sound/AlawCodec.java
> 2014-04-30 18:30:08.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/AlawCodec.java
> 2014-04-30 18:30:08.000000000 -0700
> @@ -213,7 +213,7 @@
> private AudioFormat[] getOutputFormats(AudioFormat inputFormat) {
>
>
> - Vector formats = new Vector();
> + Vector<AudioFormat> formats = new Vector<>();
> AudioFormat format;
>
> if (
> AudioFormat.Encoding.PCM_SIGNED.equals(inputFormat.getEncoding())) {
> @@ -248,7 +248,7 @@
>
> AudioFormat[] formatArray = new AudioFormat[formats.size()];
> for (int i = 0; i < formatArray.length; i++) {
> - formatArray[i] = (AudioFormat)(formats.elementAt(i));
> + formatArray[i] = formats.elementAt(i);
> }
> return formatArray;
> }
> ---
> old/src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java
> 2014-04-30 18:30:08.000000000 -0700
> +++
> new/src/share/classes/com/sun/media/sound/AudioSynthesizerPropertyInfo.java
> 2014-04-30 18:30:08.000000000 -0700
> @@ -68,7 +68,7 @@
> * The <code>valueClass</code> field specifies class
> * used in <code>value</code> field.
> */
> - public Class valueClass = null;
> + public Class<?> valueClass = null;
> /**
> * An array of possible values if the value for the field
> * <code>AudioSynthesizerPropertyInfo.value</code> may be selected
> --- old/src/share/classes/com/sun/media/sound/DirectAudioDevice.java
> 2014-04-30 18:30:09.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/DirectAudioDevice.java
> 2014-04-30 18:30:09.000000000 -0700
> @@ -94,7 +94,7 @@
> }
>
> private DirectDLI createDataLineInfo(boolean isSource) {
> - Vector formats = new Vector();
> + Vector<AudioFormat> formats = new Vector<>();
> AudioFormat[] hardwareFormatArray = null;
> AudioFormat[] formatArray = null;
>
> @@ -107,7 +107,7 @@
> int formatArraySize = size;
> hardwareFormatArray = new AudioFormat[size];
> for (int i = 0; i < size; i++) {
> - AudioFormat format =
> (AudioFormat)formats.elementAt(i);
> + AudioFormat format = formats.elementAt(i);
> hardwareFormatArray[i] = format;
> int bits = format.getSampleSizeInBits();
> boolean isSigned =
> format.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED);
> @@ -265,7 +265,7 @@
> return ((DirectAudioDeviceProvider.DirectAudioDeviceInfo)
> getMixerInfo()).getMaxSimulLines();
> }
>
> - private static void addFormat(Vector v, int bits, int
> frameSizeInBytes, int channels, float sampleRate,
> + private static void addFormat(Vector<AudioFormat> v, int bits,
> int frameSizeInBytes, int channels, float sampleRate,
> int encoding, boolean signed,
> boolean bigEndian) {
> AudioFormat.Encoding enc = null;
> switch (encoding) {
> @@ -338,7 +338,7 @@
> private static final class DirectDLI extends DataLine.Info {
> final AudioFormat[] hardwareFormats;
>
> - private DirectDLI(Class clazz, AudioFormat[] formatArray,
> + private DirectDLI(Class<?> clazz, AudioFormat[] formatArray,
> AudioFormat[] hardwareFormatArray,
> int minBuffer, int maxBuffer) {
> super(clazz, formatArray, minBuffer, maxBuffer);
> @@ -1457,7 +1457,7 @@
>
> } // class DirectBAOS
>
> -
> + @SuppressWarnings("rawtypes")
> private static native void nGetFormats(int mixerIndex, int deviceID,
> boolean isSource, Vector
> formats);
>
> --- old/src/share/classes/com/sun/media/sound/EventDispatcher.java
> 2014-04-30 18:30:09.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/EventDispatcher.java
> 2014-04-30 18:30:09.000000000 -0700
> @@ -57,7 +57,7 @@
> /**
> * List of events
> */
> - private final ArrayList eventQueue = new ArrayList();
> + private final ArrayList<EventInfo> eventQueue = new ArrayList<>();
>
>
> /**
> @@ -186,7 +186,7 @@
> }
> if (eventQueue.size() > 0) {
> // Remove the event from the queue and dispatch it to
> the listeners.
> - eventInfo = (EventInfo) eventQueue.remove(0);
> + eventInfo = eventQueue.remove(0);
> }
>
> } // end of synchronized
> @@ -230,7 +230,7 @@
> /**
> * Send audio and MIDI events.
> */
> - void sendAudioEvents(Object event, List listeners) {
> + void sendAudioEvents(Object event, List<Object> listeners) {
> if ((listeners == null)
> || (listeners.size() == 0)) {
> // nothing to do
> @@ -392,7 +392,7 @@
> * @param event the event to be dispatched
> * @param listeners listener list; will be copied
> */
> - EventInfo(Object event, List listeners) {
> + EventInfo(Object event, List<Object> listeners) {
> this.event = event;
> this.listeners = listeners.toArray();
> }
> --- old/src/share/classes/com/sun/media/sound/JDK13Services.java
> 2014-04-30 18:30:10.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/JDK13Services.java
> 2014-04-30 18:30:09.000000000 -0700
> @@ -118,7 +118,7 @@
> (the part before the hash sign), if available. If the
> property is
> not set or the value has no provider class name part, null is
> returned.
> */
> - public static synchronized String
> getDefaultProviderClassName(Class typeClass) {
> + public static synchronized String
> getDefaultProviderClassName(Class<?> typeClass) {
> String value = null;
> String defaultProviderSpec = getDefaultProvider(typeClass);
> if (defaultProviderSpec != null) {
> @@ -144,7 +144,7 @@
> part after the hash sign), if available. If the property is
> not set
> or the value has no instance name part, null is returned.
> */
> - public static synchronized String getDefaultInstanceName(Class
> typeClass) {
> + public static synchronized String getDefaultInstanceName(Class<?>
> typeClass) {
> String value = null;
> String defaultProviderSpec = getDefaultProvider(typeClass);
> if (defaultProviderSpec != null) {
> @@ -165,7 +165,7 @@
> @return The complete value of the property, if available.
> If the property is not set, null is returned.
> */
> - private static synchronized String getDefaultProvider(Class
> typeClass) {
> + private static synchronized String getDefaultProvider(Class<?>
> typeClass) {
> if (!SourceDataLine.class.equals(typeClass)
> && !TargetDataLine.class.equals(typeClass)
> && !Clip.class.equals(typeClass)
> ---
> old/src/share/classes/com/sun/media/sound/MidiInDeviceProvider.java
> 2014-04-30 18:30:10.000000000 -0700
> +++
> new/src/share/classes/com/sun/media/sound/MidiInDeviceProvider.java
> 2014-04-30 18:30:10.000000000 -0700
> @@ -106,9 +106,9 @@
> * the new instance will not reflect that state...
> */
> static final class MidiInDeviceInfo extends
> AbstractMidiDeviceProvider.Info {
> - private final Class providerClass;
> + private final Class<?> providerClass;
>
> - private MidiInDeviceInfo(int index, Class providerClass) {
> + private MidiInDeviceInfo(int index, Class<?> providerClass) {
> super(nGetName(index), nGetVendor(index),
> nGetDescription(index), nGetVersion(index), index);
> this.providerClass = providerClass;
> }
> ---
> old/src/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java
> 2014-04-30 18:30:10.000000000 -0700
> +++
> new/src/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java
> 2014-04-30 18:30:10.000000000 -0700
> @@ -104,9 +104,9 @@
> * the new instance will not reflect that state...
> */
> static final class MidiOutDeviceInfo extends
> AbstractMidiDeviceProvider.Info {
> - private final Class providerClass;
> + private final Class<?> providerClass;
>
> - private MidiOutDeviceInfo(int index, Class providerClass) {
> + private MidiOutDeviceInfo(int index, Class<?> providerClass) {
> super(nGetName(index), nGetVendor(index),
> nGetDescription(index), nGetVersion(index), index);
> this.providerClass = providerClass;
> }
> --- old/src/share/classes/com/sun/media/sound/MidiUtils.java
> 2014-04-30 18:30:11.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/MidiUtils.java
> 2014-04-30 18:30:11.000000000 -0700
> @@ -295,7 +295,7 @@
>
>
> public synchronized void refresh(Sequence seq) {
> - ArrayList list = new ArrayList();
> + ArrayList<MidiEvent> list = new ArrayList<>();
> Track[] tracks = seq.getTracks();
> if (tracks.length > 0) {
> // tempo events only occur in track 0
> @@ -313,7 +313,7 @@
> int size = list.size() + 1;
> firstTempoIsFake = true;
> if ((size > 1)
> - && (((MidiEvent) list.get(0)).getTick() == 0)) {
> + && (list.get(0).getTick() == 0)) {
> // do not need to add an initial tempo event at the
> beginning
> size--;
> firstTempoIsFake = false;
> @@ -328,7 +328,7 @@
> e++;
> }
> for (int i = 0; i < list.size(); i++, e++) {
> - MidiEvent evt = (MidiEvent) list.get(i);
> + MidiEvent evt = list.get(i);
> ticks[e] = evt.getTick();
> tempos[e] = getTempoMPQ(evt.getMessage());
> }
> --- old/src/share/classes/com/sun/media/sound/PCMtoPCMCodec.java
> 2014-04-30 18:30:11.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/PCMtoPCMCodec.java
> 2014-04-30 18:30:11.000000000 -0700
> @@ -91,7 +91,7 @@
> // filter out targetEncoding from the old getOutputFormats(
> sourceFormat ) method
>
> AudioFormat[] formats = getOutputFormats( sourceFormat );
> - Vector newFormats = new Vector();
> + Vector<AudioFormat> newFormats = new Vector<>();
> for(int i=0; i<formats.length; i++ ) {
> if( formats[i].getEncoding().equals( targetEncoding ) ) {
> newFormats.addElement( formats[i] );
> @@ -101,7 +101,7 @@
> AudioFormat[] formatArray = new AudioFormat[newFormats.size()];
>
> for (int i = 0; i < formatArray.length; i++) {
> - formatArray[i] = (AudioFormat)(newFormats.elementAt(i));
> + formatArray[i] = newFormats.elementAt(i);
> }
>
> return formatArray;
> @@ -181,7 +181,7 @@
> /* public AudioFormat[] getOutputFormats(AudioFormat
> inputFormat) { */
> private AudioFormat[] getOutputFormats(AudioFormat inputFormat) {
>
> - Vector formats = new Vector();
> + Vector<AudioFormat> formats = new Vector<>();
> AudioFormat format;
>
> int sampleSize = inputFormat.getSampleSizeInBits();
> @@ -335,7 +335,7 @@
>
> for (int i = 0; i < formatArray.length; i++) {
>
> - formatArray[i] = (AudioFormat)(formats.elementAt(i));
> + formatArray[i] = formats.elementAt(i);
> }
> }
>
> --- old/src/share/classes/com/sun/media/sound/PortMixer.java
> 2014-04-30 18:30:12.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/PortMixer.java
> 2014-04-30 18:30:12.000000000 -0700
> @@ -253,12 +253,12 @@
> long newID = ((PortMixer) mixer).getID();
> if ((id == 0) || (newID != id) || (controls.length == 0)) {
> id = newID;
> - Vector vector = new Vector();
> + Vector<Control> vector = new Vector<>();
> synchronized (vector) {
> nGetControls(id, portIndex, vector);
> controls = new Control[vector.size()];
> for (int i = 0; i < controls.length; i++) {
> - controls[i] = (Control) vector.elementAt(i);
> + controls[i] = vector.elementAt(i);
> }
> }
> } else {
> @@ -494,6 +494,7 @@
> private static native String nGetPortName(long id, int portIndex);
>
> // fills the vector with the controls for this port
> + @SuppressWarnings("rawtypes")
> private static native void nGetControls(long id, int portIndex,
> Vector vector);
>
> // getters/setters for controls
> --- old/src/share/classes/com/sun/media/sound/RealTimeSequencer.java
> 2014-04-30 18:30:12.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/RealTimeSequencer.java
> 2014-04-30 18:30:12.000000000 -0700
> @@ -122,7 +122,7 @@
> /**
> * List of tracks to which we're recording
> */
> - private final List recordingTracks = new ArrayList();
> + private final List<RecordingTrack> recordingTracks = new
> ArrayList<>();
>
>
> private long loopStart = 0;
> @@ -133,13 +133,13 @@
> /**
> * Meta event listeners
> */
> - private final ArrayList metaEventListeners = new ArrayList();
> + private final ArrayList<Object> metaEventListeners = new
> ArrayList<>();
>
>
> /**
> * Control change listeners
> */
> - private final ArrayList controllerEventListeners = new ArrayList();
> + private final ArrayList<ControllerListElement>
> controllerEventListeners = new ArrayList<>();
>
>
> /** automatic connection support */
> @@ -645,7 +645,7 @@
> boolean flag = false;
> for(int i=0; i < controllerEventListeners.size(); i++) {
>
> - cve = (ControllerListElement)
> controllerEventListeners.get(i);
> + cve = controllerEventListeners.get(i);
>
> if (cve.listener.equals(listener)) {
> cve.addControllers(controllers);
> @@ -669,7 +669,7 @@
> ControllerListElement cve = null;
> boolean flag = false;
> for (int i=0; i < controllerEventListeners.size(); i++) {
> - cve = (ControllerListElement)
> controllerEventListeners.get(i);
> + cve = controllerEventListeners.get(i);
> if (cve.listener.equals(listener)) {
> cve.removeControllers(controllers);
> flag = true;
> @@ -940,9 +940,9 @@
> }
> ShortMessage msg = (ShortMessage) message;
> int controller = msg.getData1();
> - List sendToListeners = new ArrayList();
> + List<Object> sendToListeners = new ArrayList<>();
> for (int i = 0; i < size; i++) {
> - ControllerListElement cve = (ControllerListElement)
> controllerEventListeners.get(i);
> + ControllerListElement cve = controllerEventListeners.get(i);
> for(int j = 0; j < cve.controllers.length; j++) {
> if (cve.controllers[j] == controller) {
> sendToListeners.add(cve.listener);
> @@ -1213,13 +1213,13 @@
> this.channel = channel;
> }
>
> - static RecordingTrack get(List recordingTracks, Track track) {
> + static RecordingTrack get(List<RecordingTrack>
> recordingTracks, Track track) {
>
> synchronized(recordingTracks) {
> int size = recordingTracks.size();
>
> for (int i = 0; i < size; i++) {
> - RecordingTrack current =
> (RecordingTrack)recordingTracks.get(i);
> + RecordingTrack current = recordingTracks.get(i);
> if (current.track == track) {
> return current;
> }
> @@ -1228,12 +1228,12 @@
> return null;
> }
>
> - static Track get(List recordingTracks, int channel) {
> + static Track get(List<RecordingTrack> recordingTracks, int
> channel) {
>
> synchronized(recordingTracks) {
> int size = recordingTracks.size();
> for (int i = 0; i < size; i++) {
> - RecordingTrack current =
> (RecordingTrack)recordingTracks.get(i);
> + RecordingTrack current = recordingTracks.get(i);
> if ((current.channel == channel) ||
> (current.channel == -1)) {
> return current.track;
> }
> --- old/src/share/classes/com/sun/media/sound/SoftSynthesizer.java
> 2014-04-30 18:30:13.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/SoftSynthesizer.java
> 2014-04-30 18:30:13.000000000 -0700
> @@ -949,7 +949,7 @@
> Object v = (info == null) ? null : info.get(item2.name);
> v = (v != null) ? v :
> storedProperties.getProperty(item2.name);
> if (v != null) {
> - Class c = (item2.valueClass);
> + Class<?> c = (item2.valueClass);
> if (c.isInstance(v))
> item2.value = v;
> else if (v instanceof String) {
> --- old/src/share/classes/com/sun/media/sound/UlawCodec.java
> 2014-04-30 18:30:13.000000000 -0700
> +++ new/src/share/classes/com/sun/media/sound/UlawCodec.java
> 2014-04-30 18:30:13.000000000 -0700
> @@ -198,7 +198,7 @@
> /* public AudioFormat[] getOutputFormats(AudioFormat
> inputFormat) { */
> private AudioFormat[] getOutputFormats(AudioFormat inputFormat) {
>
> - Vector formats = new Vector();
> + Vector<AudioFormat> formats = new Vector<>();
> AudioFormat format;
>
> if ((inputFormat.getSampleSizeInBits() == 16)
> @@ -235,7 +235,7 @@
>
> AudioFormat[] formatArray = new AudioFormat[formats.size()];
> for (int i = 0; i < formatArray.length; i++) {
> - formatArray[i] = (AudioFormat)(formats.elementAt(i));
> + formatArray[i] = formats.elementAt(i);
> }
> return formatArray;
> }
>
More information about the sound-dev
mailing list