Bug 488901 - Enable per project compile warnings and fix them

Enable per project compiler warnings and fix them.

Change-Id: Ic26b09263220b6d03e0172a9bbad625ab3e4608b
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tests/org.eclipse.swt.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.swt.tests/.settings/org.eclipse.jdt.core.prefs
index 7341ab1..6027027 100644
--- a/tests/org.eclipse.swt.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.swt.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,13 @@
 eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -6,6 +15,89 @@
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.7
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Cursor.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Cursor.java
index 0baf1ba..de00abf 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Cursor.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Cursor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -139,15 +139,13 @@
 	for (int i=0; i<numFormats; i++) {
 		String format = SwtTestUtil.imageFormats[i];
 		ImageLoader loader = new ImageLoader();
-		InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format);
-		ImageData source = loader.load(stream)[0];
-		ImageData mask = source.getTransparencyMask();
-		if (mask != null && (source.depth == 1)) {
-			Cursor cursor = new Cursor(display, source, mask, 0, 0);
-			cursor.dispose();
-		}
-		try {
-			stream.close();
+		try (InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format)) {
+			ImageData source = loader.load(stream)[0];
+			ImageData mask = source.getTransparencyMask();
+			if (mask != null && (source.depth == 1)) {
+				Cursor cursor = new Cursor(display, source, mask, 0, 0);
+				cursor.dispose();
+			}
 		} catch (IOException e) {
 			// continue;
 		}
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java
index bd5df47..32379e5 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_Image.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -874,15 +874,13 @@
 	String fileName = SwtTestUtil.imageFilenames[0];
 	for (int i=0; i<numFormats; i++) {
 		String format = SwtTestUtil.imageFormats[i];
-		InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format);
-		ImageData data1 = new ImageData(stream);
-		Image image = new Image(display, data1);
-		ImageData data2 = image.getImageData();
-		image.dispose();
-		assertEquals("Image width should be the same", data1.width, data2.width);
-		assertEquals("Image height should be the same", data1.height, data2.height);
-		try {
-			stream.close();
+		try (InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format)) {
+			ImageData data1 = new ImageData(stream);
+			Image image = new Image(display, data1);
+			ImageData data2 = image.getImageData();
+			image.dispose();
+			assertEquals("Image width should be the same", data1.width, data2.width);
+			assertEquals("Image height should be the same", data1.height, data2.height);
 		} catch (IOException e) {
 			// continue;
 		}
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageData.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageData.java
index 63c7898..ae9cbed 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageData.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -151,34 +151,28 @@
 
 @Test
 public void test_ConstructorLjava_io_InputStream() {
-	InputStream stream = null;
-	try {
-		try {
+		try (InputStream stream = null){
 			new ImageData(stream);
 			fail("No exception thrown for InputStream == null");
-		} catch (IllegalArgumentException e) {
+		} catch (IllegalArgumentException|IOException e) {
 		}
 		
-		stream = SwtTestUtil.class.getResourceAsStream("empty.txt");
-		try {
+		
+		try (InputStream stream = SwtTestUtil.class.getResourceAsStream("empty.txt")){
 			new ImageData(stream);
 			fail("No exception thrown for invalid InputStream");
-		} catch (SWTException e) {
+		} catch (SWTException|IOException e) {
 		}
 	
 		int numFormats = SwtTestUtil.imageFormats.length;
 		String fileName = SwtTestUtil.imageFilenames[0];
 		for (int i=0; i<numFormats; i++) {
 			String format = SwtTestUtil.imageFormats[i];
-			stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format);
-			new ImageData(stream);
+			try (InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format)) {
+				new ImageData(stream);
+			} catch (IOException e) {
+			}
 		}
-	} finally {
-		try {
-			stream.close();
-		} catch (Exception e) {
-		}
-	}
 }
 
 @Test
@@ -193,9 +187,7 @@
 
 @Test
 public void test_clone() {
-	InputStream stream = null;
-	try {
-		stream = SwtTestUtil.class.getResourceAsStream(SwtTestUtil.imageFilenames[0] + "." + SwtTestUtil.imageFormats[0]);
+	try (InputStream stream = SwtTestUtil.class.getResourceAsStream(SwtTestUtil.imageFilenames[0] + "." + SwtTestUtil.imageFormats[0])) {
 		ImageData data1 = new ImageData(stream);
 		ImageData data2 = (ImageData) data1.clone();
 		// imageData does not implement an equals(Object) method
@@ -216,11 +208,7 @@
 		assertEquals(":o:", data1.width, data2.width);
 		assertEquals(":p:", data1.x, data2.x);
 		assertEquals(":q:", data1.y, data2.y);
-	} finally {
-		try {
-			stream.close();
-		} catch (Exception e) {
-		}
+	} catch (IOException e) {
 	}
 }
 
@@ -725,15 +713,13 @@
 //	Bug 71472 - transparency mask should be null	
 //	assertNull(":a:", imageData.getTransparencyMask());
 
-	InputStream stream = getClass().getResourceAsStream(SwtTestUtil.transparentImageFilenames[0]);
-	Image image = new Image(Display.getDefault(), stream);
-	try {
-		stream.close();
+	try (InputStream stream = getClass().getResourceAsStream(SwtTestUtil.transparentImageFilenames[0])) {
+		Image image = new Image(Display.getDefault(), stream);
+		imageData = image.getImageData();
+		ImageData maskData = imageData.getTransparencyMask();
+		assertNotNull(":b:", maskData);
+		image.dispose();
 	} catch (IOException e) {}
-	imageData = image.getImageData();
-	ImageData maskData = imageData.getTransparencyMask();
-	assertNotNull(":b:", maskData);
-	image.dispose();
 
 //	Bug 71472 - transparency mask should be null	
 /*	image = new Image(Display.getDefault(), getClass().getResourceAsStream(imageFilenames[0] + '.' + imageFormats[imageFormats.length-1]));
@@ -747,23 +733,19 @@
 public void test_getTransparencyType() {
 	assertEquals(":a:", SWT.TRANSPARENCY_NONE, imageData.getTransparencyType());
 
-	InputStream stream = getClass().getResourceAsStream(SwtTestUtil.transparentImageFilenames[0]);
-	Image image = new Image(Display.getDefault(), stream);
-	try {
-		stream.close();
+	try (InputStream stream = getClass().getResourceAsStream(SwtTestUtil.transparentImageFilenames[0])) {
+		Image image = new Image(Display.getDefault(), stream);
+		imageData = image.getImageData();
+		assertFalse(":b:", SWT.TRANSPARENCY_NONE == imageData.getTransparencyType());
+		image.dispose();
 	} catch (IOException e) {}
-	imageData = image.getImageData();
-	assertFalse(":b:", SWT.TRANSPARENCY_NONE == imageData.getTransparencyType());
-	image.dispose();
 	
-	stream = getClass().getResourceAsStream(SwtTestUtil.imageFilenames[0] + '.' + SwtTestUtil.imageFormats[SwtTestUtil.imageFormats.length-1]);
-	image = new Image(Display.getDefault(), stream);
-	try {
-		stream.close();
+	try (InputStream stream = getClass().getResourceAsStream(SwtTestUtil.imageFilenames[0] + '.' + SwtTestUtil.imageFormats[SwtTestUtil.imageFormats.length-1])) {
+		Image image = new Image(Display.getDefault(), stream);
+		imageData = image.getImageData();
+		assertEquals(":c:", SWT.TRANSPARENCY_NONE, imageData.getTransparencyType());
+		image.dispose();
 	} catch (IOException e) {}
-	imageData = image.getImageData();
-	assertEquals(":c:", SWT.TRANSPARENCY_NONE, imageData.getTransparencyType());
-	image.dispose();
 }
 
 @Test
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoader.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoader.java
index 5b02421..7d0ff7c 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoader.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_ImageLoader.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -59,18 +59,14 @@
 	assertTrue(":b:", loader.hasListeners());
 
 	loaderListenerCalled = false;
-	InputStream stream = SwtTestUtil.class.getResourceAsStream("interlaced_target.png");	
-	loader.load(stream);
-	try {
-		stream.close();
+	try (InputStream stream = SwtTestUtil.class.getResourceAsStream("interlaced_target.png")) {
+		loader.load(stream);
 	} catch (IOException e) {}
 	assertTrue(":c:", loaderListenerCalled);
 
 	loaderListenerCalled = false;
-	stream = SwtTestUtil.class.getResourceAsStream("target.png");	
-	loader.load(stream);
-	try {
-		stream.close();
+	try (InputStream stream = SwtTestUtil.class.getResourceAsStream("target.png")) {
+		loader.load(stream);
 	} catch (IOException e) {}
 	assertFalse(":d:", loaderListenerCalled);
 
@@ -84,41 +80,28 @@
 
 @Test
 public void test_loadLjava_io_InputStream() {
-	ImageLoader loader = new ImageLoader();
-	InputStream stream = null;
-	try {
-		try {
+		ImageLoader loader = new ImageLoader();
+		try (InputStream stream = null) {
 			loader.load(stream);
 			fail("No exception thrown for load inputStream == null");
-		} catch (IllegalArgumentException e) {
+		} catch (IllegalArgumentException | IOException e) {
 		}
-		
-		stream = SwtTestUtil.class.getResourceAsStream("empty.txt");
-		try {
+
+		try (InputStream stream = SwtTestUtil.class.getResourceAsStream("empty.txt")) {
 			loader.load(stream);
-			try {
-				stream.close();
-			} catch (IOException e) {}
 			fail("No exception thrown for load from invalid inputStream");
-		} catch (SWTException e) {
+		} catch (IOException|SWTException e) {
 		}
-	
+
 		int numFormats = SwtTestUtil.imageFormats.length;
 		String fileName = SwtTestUtil.imageFilenames[0];
-		for (int i=0; i<numFormats; i++) {
+		for (int i = 0; i < numFormats; i++) {
 			String format = SwtTestUtil.imageFormats[i];
-			stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format);
-			loader.load(stream);
-			try {
-				stream.close();
-			} catch (IOException e) {}
+			try (InputStream stream = SwtTestUtil.class.getResourceAsStream(fileName + "." + format)) {
+				loader.load(stream);
+			} catch (IOException e) {
+			}
 		}
-	} finally {
-		try {
-			stream.close();
-		} catch (Exception e) {
-		}
-	}
 }
 
 @Test
@@ -136,7 +119,6 @@
 public void test_saveLjava_io_OutputStreamI() {
 	ImageLoader loader = new ImageLoader();
 	ByteArrayOutputStream outStream = null;
-	InputStream inStream = null;
 	try {
 		try {
 			loader.save(outStream, 0);
@@ -161,10 +143,8 @@
 			String filename = SwtTestUtil.imageFilenames[0];
 			// must use jpg since save is not implemented yet in png format		
 			String filetype = "jpg";
-			inStream = SwtTestUtil.class.getResourceAsStream(filename + "." + filetype);	
-			loader.load(inStream);
-			try {
-				inStream.close();
+			try (InputStream inStream = SwtTestUtil.class.getResourceAsStream(filename + "." + filetype)) {
+				loader.load(inStream);
 			} catch (IOException e) {}
 			for (int i = 0; i < SwtTestUtil.imageFormats.length; i++) {
 				if (SwtTestUtil.imageFormats[i].equals(filetype)) {
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Decorations.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Decorations.java
index f006111..8732ef4 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Decorations.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Decorations.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -205,10 +205,8 @@
 		int index = i*numFiles;
 		for (int j=0; j<numFiles; j++){
 			String fileName = SwtTestUtil.imageFilenames[j];
-			InputStream  resource = this.getClass().getResourceAsStream(fileName + "." + format);
-			images [index+j] = new Image (shell.getDisplay(), resource);
-			try {
-				resource.close();
+			try (InputStream  resource = this.getClass().getResourceAsStream(fileName + "." + format)) {
+				images [index+j] = new Image (shell.getDisplay(), resource);
 			} catch (IOException e) {
 				// continue;
 			}
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Item.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Item.java
index a8a7875..50565ba 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Item.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_Item.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -83,10 +83,8 @@
 		int index = i*numFiles;
 		for (int j=0; j<numFiles; j++){
 			String fileName = SwtTestUtil.imageFilenames[j];
-			InputStream  resource = this.getClass().getResourceAsStream(fileName + "." + format);
-			images [index+j] = new Image (shell.getDisplay(), resource);
-			try {
-				resource.close();
+			try (InputStream  resource = this.getClass().getResourceAsStream(fileName + "." + format)) {
+				images [index+j] = new Image (shell.getDisplay(), resource);
 			} catch (IOException e) {
 				// continue;
 			}
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_List.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_List.java
index 21f840e..8f3260d 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_List.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_widgets_List.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -1315,9 +1315,9 @@
 	list.deselectAll();
 	items = list.getItems();
 
-	select$I_helper(items, 0, 3, new int[] { 0, 1, 2, 3 });
-	select$I_helper(items, -1, 3, new int[] { 0, 1, 2, 3 });
-	select$I_helper(items, -1, 30, new int[] { 0, 1, 2, 3, 4 });
+	select$I_helper(0, 3, new int[] { 0, 1, 2, 3 });
+	select$I_helper(-1, 3, new int[] { 0, 1, 2, 3 });
+	select$I_helper(-1, 30, new int[] { 0, 1, 2, 3, 4 });
 
 	
 	/*--- Single-select ---*/
@@ -2386,7 +2386,6 @@
  * will be filled all integers from start to end inclusive, in order.
  */
 protected void select$I_helper(
-	String[] items,
 	int start,
 	int end,
 	int[] expectedIndices) {
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
index f168a99..71226f6 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/browser/Test_BrowserSuite.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -119,14 +119,14 @@
 }
 
 @Before
-public void setUp() throws Exception {
+public void setUp() {
 	System.out.println("Browser#setUp(): " + name.getMethodName());
 	Display display = Display.getCurrent();
 	if (display != null) display.dispose();
 }
 
 @After
-public void tearDown() throws Exception {
+public void tearDown() {
 	Display display = Display.getCurrent();
 	if (display != null) display.dispose();
 }
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java
index 96ddb55..e67bc5d 100644
--- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java
+++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/performance/Test_situational.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,17 +10,37 @@
  *******************************************************************************/
 package org.eclipse.swt.tests.junit.performance;
 
-import junit.framework.*;
-import junit.textui.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.ProgressBar;
+import org.eclipse.swt.widgets.Scale;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Slider;
+import org.eclipse.swt.widgets.TabFolder;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.Tree;
 import org.eclipse.test.performance.Dimension;
 import org.eclipse.test.performance.Performance;
 import org.eclipse.test.performance.PerformanceMeter;
 
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
 /**
  * Automated Performance Test Suite for class org.eclipse.swt.graphics.Color
  *
@@ -403,7 +423,7 @@
 	return methodNames;
 }
 @Override
-protected void runTest() throws Throwable {
+protected void runTest() {
 	if (getName().equals("test_createComposites")) test_createComposites();
 	else if (getName().equals("test_createWidgets")) test_createWidgets();
 	else if (getName().equals("test_layout")) test_layout();