<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
Thu May 1 04:50:51 UTC 2014


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