Fix new null warnings
authorAlexandre Montplaisir <alexmonthy@efficios.com>
Fri, 11 Mar 2016 05:09:44 +0000 (00:09 -0500)
committerAlexandre Montplaisir <alexmonthy@efficios.com>
Fri, 25 Mar 2016 18:31:14 +0000 (14:31 -0400)
Recent 4.6 JDT emits null warnings in a few more places.
Some un-annotated generic types are now implied to be nullable.

Change-Id: I37349ba28ce6d88a60cb44c5df7d4f8f5d7c439c
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/68227
Reviewed-by: Hudson CI
common/org.eclipse.tracecompass.common.core.tests/src/org/eclipse/tracecompass/common/core/tests/collect/BufferedBlockingQueueTest.java
tmf/org.eclipse.tracecompass.tmf.core/src/org/eclipse/tracecompass/tmf/core/util/Pair.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/tracepkg/AbstractTracePackageOperation.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageExtractManifestOperation.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/wizards/tracepkg/importexport/TracePackageImportOperation.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/uml2sd/core/Frame.java
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/Utils.java

index d0b3095d514fcd8dadae06b8fb802dd959271616..01c67fa25bb22d4778f098351f6c8005c75fd31a 100644 (file)
@@ -346,7 +346,7 @@ public class BufferedBlockingQueueTest {
      */
     @Test
     public void testConcurrentIteration() {
-        final BufferedBlockingQueue<String> queue = new BufferedBlockingQueue<>(15, 15);
+        final BufferedBlockingQueue<@NonNull String> queue = new BufferedBlockingQueue<>(15, 15);
         final String poisonPill = "That's all folks!";
 
         /*
@@ -388,7 +388,7 @@ public class BufferedBlockingQueueTest {
      *            Number of observer threads. It should be >= 0.
      * @return The consumed elements, as seen by each consumer thread.
      */
-    private static <T> Iterable<Iterable<T>> runConcurrencyTest(final BufferedBlockingQueue<T> queue,
+    private static <T> Iterable<Iterable<T>> runConcurrencyTest(final BufferedBlockingQueue<@NonNull T> queue,
             final List<T> testBuffer,
             final @NonNull T poisonPill,
             int nbProducerThreads,
index c805ece46e26e00b0648cb2cd68e71c427df6fc0..a27e152c660780e31f482fa0eb077188ca0d62d2 100644 (file)
@@ -15,6 +15,7 @@
 package org.eclipse.tracecompass.tmf.core.util;
 
 import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.tracecompass.common.core.NonNullUtils;
 
 /**
  * Pair utility class, encapsulates a pair of objects.
@@ -68,35 +69,36 @@ public class Pair<A, B> {
         return fSecond;
     }
 
+
     @Override
     public int hashCode() {
         final int prime = 31;
         int result = 1;
-        result = prime * result + fFirst.hashCode();
-        result = prime * result + fSecond.hashCode();
+        result = prime * result + hashFromNullable(fFirst);
+        result = prime * result + hashFromNullable(fSecond);
         return result;
     }
 
+    private static int hashFromNullable(@Nullable Object o) {
+        return o == null ? 0 : o.hashCode();
+    }
+
     @Override
     public boolean equals(@Nullable Object obj) {
         if (this == obj) {
             return true;
         }
-
         if (obj == null) {
             return false;
         }
-
         if (getClass() != obj.getClass()) {
             return false;
         }
-
         Pair<?, ?> other = (Pair<?, ?>) obj;
-
-        if (!fFirst.equals(other.fFirst)) {
+        if (!NonNullUtils.equalsNullable(other.fFirst, fFirst)) {
             return false;
         }
-        if (!fSecond.equals(other.fSecond)) {
+        if (!NonNullUtils.equalsNullable(other.fSecond, fSecond)) {
             return false;
         }
         return true;
@@ -106,5 +108,4 @@ public class Pair<A, B> {
     public String toString() {
         return "(" + fFirst + ", " + fSecond + ")";  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
     }
-
 }
\ No newline at end of file
index c3585f31ff98cd55607e8aa64b981d54314f1899..e5470dff33a64b9e301dd38834fb3a14d8c5d7bb 100644 (file)
@@ -21,6 +21,7 @@ import java.util.zip.ZipFile;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.ui.internal.wizards.datatransfer.TarEntry;
 import org.eclipse.ui.internal.wizards.datatransfer.TarException;
 import org.eclipse.ui.internal.wizards.datatransfer.TarFile;
@@ -196,7 +197,7 @@ public abstract class AbstractTracePackageOperation {
          *
          * @return enumeration of all files in the archive
          */
-        Enumeration<? extends ArchiveEntry> entries();
+        Enumeration<@NonNull ? extends ArchiveEntry> entries();
 
         /**
          * Close the file input stream.
@@ -235,8 +236,8 @@ public abstract class AbstractTracePackageOperation {
         }
 
         @Override
-        public Enumeration<? extends ArchiveEntry> entries() {
-            Vector<ArchiveEntry> v = new Vector<>();
+        public Enumeration<@NonNull ? extends ArchiveEntry> entries() {
+            Vector<@NonNull ArchiveEntry> v = new Vector<>();
             for (Enumeration<?> e = fTarFile.entries(); e.hasMoreElements();) {
                 v.add(new TarArchiveEntry((TarEntry) e.nextElement()));
             }
@@ -346,8 +347,8 @@ public abstract class AbstractTracePackageOperation {
         }
 
         @Override
-        public Enumeration<? extends ArchiveEntry> entries() {
-            Vector<ArchiveEntry> v = new Vector<>();
+        public Enumeration<@NonNull ? extends ArchiveEntry> entries() {
+            Vector<@NonNull ArchiveEntry> v = new Vector<>();
             for (Enumeration<?> e = fZipFile.entries(); e.hasMoreElements();) {
                 v.add(new ZipAchiveEntry((ZipEntry) e.nextElement()));
             }
index b31e01fc416c630d5f122752ca76cd334740fc40..ab3079bd9492b2b6575fd23d7f19d97859b2778e 100644 (file)
@@ -25,6 +25,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jface.operation.ModalContext;
 import org.eclipse.tracecompass.internal.tmf.ui.Activator;
 import org.eclipse.tracecompass.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
@@ -71,7 +72,7 @@ public class TracePackageExtractManifestOperation extends AbstractTracePackageOp
                 return;
             }
 
-            Enumeration<?> entries = archiveFile.entries();
+            Enumeration<@NonNull ?> entries = archiveFile.entries();
 
             boolean found = false;
             while (entries.hasMoreElements()) {
@@ -118,7 +119,7 @@ public class TracePackageExtractManifestOperation extends AbstractTracePackageOp
 
     private TracePackageElement[] generateElementsFromArchive() {
         ArchiveFile archiveFile = getSpecifiedArchiveFile();
-        Enumeration<?> entries = archiveFile.entries();
+        Enumeration<@NonNull ?> entries = archiveFile.entries();
         Set<String> traceFileNames = new HashSet<>();
         while (entries.hasMoreElements()) {
             ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
index 9b2acfe255ef2c290f618b15bf27ae033b7bd36f..a4ae99b4068e06b1adb5cc16279dc9fe5b02bb59 100644 (file)
@@ -39,6 +39,7 @@ import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.SubMonitor;
 import org.eclipse.core.runtime.URIUtil;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jface.operation.ModalContext;
 import org.eclipse.tracecompass.internal.tmf.ui.Activator;
 import org.eclipse.tracecompass.internal.tmf.ui.project.wizards.tracepkg.AbstractTracePackageOperation;
@@ -428,7 +429,7 @@ public class TracePackageImportOperation extends AbstractTracePackageOperation i
 
     private IStatus importFiles(ArchiveFile archiveFile, List<Pair<String, String>> fileNameAndLabelPairs, IPath destinationContainerPath, IPath baseSourcePath, IProgressMonitor monitor) {
         List<ArchiveProviderElement> objects = new ArrayList<>();
-        Enumeration<?> entries = archiveFile.entries();
+        Enumeration<@NonNull ?> entries = archiveFile.entries();
         while (entries.hasMoreElements()) {
             ArchiveEntry entry = (ArchiveEntry) entries.nextElement();
             String entryName = entry.getName();
index 6dd290d2e545e026afd05e1cd35dd6ddc8c62d06..76c98ca514face1fa37ce1111e205357efecaa5a 100755 (executable)
@@ -491,8 +491,9 @@ public class Frame extends BasicFrame {
      */
     public void reorder(List<?> list) {
         for (int i = 0; i < list.size(); i++) {
-            if (list.get(i) instanceof Lifeline[]) {
-                Lifeline temp[] = (Lifeline[]) list.get(i);
+            Object o = list.get(i);
+            if (o instanceof Lifeline[]) {
+                Lifeline temp[] = (Lifeline[]) o;
                 if (temp.length == 2) {
                     if (temp[1] == null) {
                         insertLifelineAfter(temp[0], getLifeline(lifeLinesCount() - 1));
index 6881af53c87a6db613688bb104b9ee5e1499bf63..dbd565a0f6b943709ec369e446634083313fd213 100644 (file)
@@ -22,6 +22,7 @@ import java.util.Iterator;
 import java.util.TimeZone;
 import java.util.concurrent.TimeUnit;
 
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Device;
 import org.eclipse.swt.graphics.GC;
@@ -606,7 +607,7 @@ public class Utils {
         if (null == entry || ! entry.hasTimeEvents()) {
             return null;
         }
-        Iterator<? extends ITimeEvent> iterator = entry.getTimeEventsIterator();
+        Iterator<@NonNull ? extends ITimeEvent> iterator = entry.getTimeEventsIterator();
         if (iterator == null) {
             return null;
         }
This page took 0.029659 seconds and 5 git commands to generate.