Bug 530071 - Update servletbridge bundles to Java 1.7

With code adapted to this java lang level.


Change-Id: I3722baffbd4d1203804ed840917b535317e96161
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/bundles/org.eclipse.equinox.http.servletbridge/.classpath b/bundles/org.eclipse.equinox.http.servletbridge/.classpath
index ce0c7a5..098194c 100644
--- a/bundles/org.eclipse.equinox.http.servletbridge/.classpath
+++ b/bundles/org.eclipse.equinox.http.servletbridge/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.equinox.http.servletbridge/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.http.servletbridge/.settings/org.eclipse.jdt.core.prefs
index f31f250..08095ac 100644
--- a/bundles/org.eclipse.equinox.http.servletbridge/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.http.servletbridge/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Tue Aug 21 11:27:47 CDT 2007
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
 org.eclipse.jdt.core.builder.duplicateResourceTask=warning
@@ -7,29 +6,46 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+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.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.7
 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.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=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=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=error
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
 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=ignore
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
@@ -37,42 +53,80 @@
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+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.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=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=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=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.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+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=warning
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
 org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
+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=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+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.3
+org.eclipse.jdt.core.compiler.source=1.7
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -144,7 +198,12 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
diff --git a/bundles/org.eclipse.equinox.http.servletbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.http.servletbridge/META-INF/MANIFEST.MF
index 32068a3..ad6f093 100644
--- a/bundles/org.eclipse.equinox.http.servletbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.http.servletbridge/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %bundleName
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.equinox.http.servletbridge;singleton:=true
-Bundle-Version: 1.0.400.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.equinox.http.servletbridge.internal.Activator
 Bundle-Localization: plugin
 Import-Package: javax.servlet;version="2.3",
@@ -12,6 +12,5 @@
  org.eclipse.equinox.servletbridge;version="1.0.0",
  org.osgi.framework;version="1.3.0",
  org.osgi.service.http;version="1.2.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0,
- J2SE-1.3
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Automatic-Module-Name: org.eclipse.equinox.http.servletbridge
diff --git a/bundles/org.eclipse.equinox.http.servletbridge/pom.xml b/bundles/org.eclipse.equinox.http.servletbridge/pom.xml
index c31fffa..d342280 100644
--- a/bundles/org.eclipse.equinox.http.servletbridge/pom.xml
+++ b/bundles/org.eclipse.equinox.http.servletbridge/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright (c) 2012 Eclipse Foundation.
+  Copyright (c) 2012, 2018 Eclipse Foundation.
   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Distribution License v1.0
   which accompanies this distribution, and is available at
@@ -19,7 +19,7 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.http.servletbridge</artifactId>
-  <version>1.0.400-SNAPSHOT</version>
+  <version>1.1.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
diff --git a/bundles/org.eclipse.equinox.http.servletbridge/src/org/eclipse/equinox/http/servletbridge/internal/Activator.java b/bundles/org.eclipse.equinox.http.servletbridge/src/org/eclipse/equinox/http/servletbridge/internal/Activator.java
index 97d35f3..fcf046f 100644
--- a/bundles/org.eclipse.equinox.http.servletbridge/src/org/eclipse/equinox/http/servletbridge/internal/Activator.java
+++ b/bundles/org.eclipse.equinox.http.servletbridge/src/org/eclipse/equinox/http/servletbridge/internal/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2007 Cognos Incorporated, IBM Corporation and others.
+ * Copyright (c) 2005, 2018 Cognos Incorporated, 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
@@ -20,11 +20,13 @@
 
 	private HttpServiceServlet httpServiceServlet;
 
+	@Override
 	public void start(BundleContext context) throws Exception {
 		httpServiceServlet = new HttpServiceServlet();
 		BridgeServlet.registerServletDelegate(httpServiceServlet);
 	}
 
+	@Override
 	public void stop(BundleContext context) throws Exception {
 		BridgeServlet.unregisterServletDelegate(httpServiceServlet);
 		httpServiceServlet = null;
diff --git a/bundles/org.eclipse.equinox.servletbridge/.classpath b/bundles/org.eclipse.equinox.servletbridge/.classpath
index 6f3b481..098194c 100644
--- a/bundles/org.eclipse.equinox.servletbridge/.classpath
+++ b/bundles/org.eclipse.equinox.servletbridge/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.servletbridge/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.servletbridge/.settings/org.eclipse.jdt.core.prefs
index 1ba978e..870b2a4 100644
--- a/bundles/org.eclipse.equinox.servletbridge/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.servletbridge/.settings/org.eclipse.jdt.core.prefs
@@ -6,29 +6,45 @@
 org.eclipse.jdt.core.circularClasspath=error
 org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
 org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+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
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.compliance=1.7
 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.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=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=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=error
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
 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=ignore
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
@@ -36,42 +52,80 @@
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+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.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=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=warning
+org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=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.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+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=ignore
+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=warning
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 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=warning
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
 org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
+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=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+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.3
+org.eclipse.jdt.core.compiler.source=1.7
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
diff --git a/bundles/org.eclipse.equinox.servletbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.servletbridge/META-INF/MANIFEST.MF
index 97d6ed4..639e5a9 100644
--- a/bundles/org.eclipse.equinox.servletbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.servletbridge/META-INF/MANIFEST.MF
@@ -3,11 +3,10 @@
 Bundle-Name: %bundleName
 Bundle-Vendor: %providerName
 Bundle-SymbolicName: org.eclipse.equinox.servletbridge;singleton:=true
-Bundle-Version: 1.3.300.qualifier
+Bundle-Version: 1.4.0.qualifier
 Bundle-Localization: plugin
 Import-Package: javax.servlet;version="2.3.0",
  javax.servlet.http;version="2.3.0"
 Export-Package: org.eclipse.equinox.servletbridge;version="1.1.0"
-Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
- J2SE-1.4
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Automatic-Module-Name: org.eclipse.equinox.servletbridge
diff --git a/bundles/org.eclipse.equinox.servletbridge/pom.xml b/bundles/org.eclipse.equinox.servletbridge/pom.xml
index ef68acd..717e1d1 100644
--- a/bundles/org.eclipse.equinox.servletbridge/pom.xml
+++ b/bundles/org.eclipse.equinox.servletbridge/pom.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Copyright (c) 2012 Eclipse Foundation.
+  Copyright (c) 2012, 2018 Eclipse Foundation.
   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Distribution License v1.0
   which accompanies this distribution, and is available at
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.servletbridge</artifactId>
-  <version>1.3.300-SNAPSHOT</version>
+  <version>1.4.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/BridgeServlet.java b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/BridgeServlet.java
index 025ea4a..ea051e0 100644
--- a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/BridgeServlet.java
+++ b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/BridgeServlet.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2014 Cognos Incorporated, IBM Corporation and others.
+ * Copyright (c) 2005, 2018 Cognos Incorporated, 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
@@ -41,6 +41,7 @@
 	 * init() is called by the Servlet Container and used to instantiate the frameworkLauncher which MUST be an instance of FrameworkLauncher.
 	 * After instantiating the framework init, deploy, and start are called.
 	 */
+	@Override
 	public void init() throws ServletException {
 		super.init();
 
@@ -68,9 +69,9 @@
 		String initSSLSocketFactory = getServletConfig().getInitParameter("_initSSLSocketFactory"); //$NON-NLS-1$
 		if (!"false".equals(initSSLSocketFactory)) { //$NON-NLS-1$
 			try {
-				Class clazz = this.getClass().getClassLoader().loadClass("javax.net.ssl.SSLSocketFactory"); //$NON-NLS-1$
-				Method getDefaultMethod = clazz.getMethod("getDefault", null); //$NON-NLS-1$
-				getDefaultMethod.invoke(null, null);
+				Class<?> clazz = this.getClass().getClassLoader().loadClass("javax.net.ssl.SSLSocketFactory"); //$NON-NLS-1$
+				Method getDefaultMethod = clazz.getMethod("getDefault"); //$NON-NLS-1$
+				getDefaultMethod.invoke(null);
 			} catch (Exception e) {
 				// best effort -- log problems
 				getServletContext().log("Bridge Servlet _initSSLSocketFactory - failed - " + e.getMessage()); //$NON-NLS-1$
@@ -80,7 +81,7 @@
 		String frameworkLauncherClassParameter = getServletConfig().getInitParameter("frameworkLauncherClass"); //$NON-NLS-1$
 		if (frameworkLauncherClassParameter != null) {
 			try {
-				Class frameworkLauncherClass = this.getClass().getClassLoader().loadClass(frameworkLauncherClassParameter);
+				Class<?> frameworkLauncherClass = this.getClass().getClassLoader().loadClass(frameworkLauncherClassParameter);
 				framework = (FrameworkLauncher) frameworkLauncherClass.newInstance();
 			} catch (Exception e) {
 				throw new ServletException(e);
@@ -105,6 +106,7 @@
 	/**
 	 * destroy() is called by the Servlet Container and used to first stop and then destroy the framework.
 	 */
+	@Override
 	public void destroy() {
 		framework.stop();
 		framework.destroy();
@@ -117,6 +119,7 @@
 	 * framework control and will otherwise try to delegate to the registered servlet delegate
 	 *  
 	 */
+	@Override
 	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 		String pathInfo = req.getPathInfo();
 		// Check if this is being handled by an extension mapping
@@ -301,10 +304,12 @@
 			super(req);
 		}
 
+		@Override
 		public String getPathInfo() {
 			return super.getServletPath();
 		}
 
+		@Override
 		public String getServletPath() {
 			return ""; //$NON-NLS-1$
 		}
@@ -316,6 +321,7 @@
 			super(req);
 		}
 
+		@Override
 		public Object getAttribute(String attributeName) {
 			if (attributeName.equals(INCLUDE_SERVLET_PATH_ATTRIBUTE)) {
 				return ""; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/CloseableURLClassLoader.java b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/CloseableURLClassLoader.java
index beffba6..4a30310 100644
--- a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/CloseableURLClassLoader.java
+++ b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/CloseableURLClassLoader.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2015 IBM Corporation and others.
+ * Copyright (c) 2008, 2018 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
@@ -53,9 +53,9 @@
 	private static final String SCHEME_FILE = "file"; //$NON-NLS-1$
 
 	// @GuardedBy("loaders")
-	final ArrayList loaders = new ArrayList(); // package private to avoid synthetic access.
+	final ArrayList<CloseableJarFileLoader> loaders = new ArrayList<>(); // package private to avoid synthetic access.
 	// @GuardedBy("loaders")
-	private final ArrayList loaderURLs = new ArrayList(); // note: protected by loaders
+	private final ArrayList<URL> loaderURLs = new ArrayList<>(); // note: protected by loaders
 	// @GuardedBy("loaders")
 	boolean closed = false; // note: protected by loaders, package private to avoid synthetic access.
 
@@ -73,6 +73,7 @@
 			this.jarFile = jarFile;
 		}
 
+		@Override
 		public void connect() throws IOException {
 			internalGetEntry();
 		}
@@ -86,6 +87,7 @@
 			return entry;
 		}
 
+		@Override
 		public InputStream getInputStream() throws IOException {
 			return jarFile.getInputStream(internalGetEntry());
 		}
@@ -94,10 +96,12 @@
 		 * @throws IOException
 		 * Documented to avoid warning
 		 */
+		@Override
 		public JarFile getJarFile() throws IOException {
 			return jarFile;
 		}
 
+		@Override
 		public JarEntry getJarEntry() throws IOException {
 			return internalGetEntry();
 		}
@@ -110,10 +114,12 @@
 			this.jarFile = jarFile;
 		}
 
+		@Override
 		protected URLConnection openConnection(URL u) throws IOException {
 			return new CloseableJarURLConnection(u, jarFile);
 		}
 
+		@Override
 		protected void parseURL(URL u, String spec, int start, int limit) {
 			setURL(u, JAR, null, 0, null, null, spec.substring(start, limit), null, null);
 		}
@@ -243,12 +249,12 @@
 	}
 
 	private static URL[] excludeFileJarURLS(URL[] urls) {
-		ArrayList urlList = new ArrayList();
+		ArrayList<URL> urlList = new ArrayList<>();
 		for (int i = 0; i < urls.length; i++) {
 			if (!isFileJarURL(urls[i]))
 				urlList.add(urls[i]);
 		}
-		return (URL[]) urlList.toArray(new URL[urlList.size()]);
+		return urlList.toArray(new URL[urlList.size()]);
 	}
 
 	private static boolean isFileJarURL(URL url) {
@@ -262,12 +268,11 @@
 		return true;
 	}
 
-	/* (non-Javadoc)
-	 * @see java.net.URLClassLoader#findClass(java.lang.String)
-	 */
-	protected Class findClass(final String name) throws ClassNotFoundException {
+	@Override
+	protected Class<?> findClass(final String name) throws ClassNotFoundException {
 		try {
-			Class clazz = (Class) AccessController.doPrivileged(new PrivilegedExceptionAction() {
+			Class<?> clazz = (Class<?>) AccessController.doPrivileged(new PrivilegedExceptionAction() {
+				@Override
 				public Object run() throws ClassNotFoundException {
 					String resourcePath = name.replace('.', '/') + DOT_CLASS;
 					CloseableJarFileLoader loader = null;
@@ -275,8 +280,8 @@
 					synchronized (loaders) {
 						if (closed)
 							return null;
-						for (Iterator iterator = loaders.iterator(); iterator.hasNext();) {
-							loader = (CloseableJarFileLoader) iterator.next();
+						for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
+							loader = iterator.next();
 							resourceURL = loader.getURL(resourcePath);
 							if (resourceURL != null)
 								break;
@@ -301,7 +306,7 @@
 	}
 
 	// package private to avoid synthetic access.
-	Class defineClass(String name, URL resourceURL, Manifest manifest) throws IOException {
+	Class<?> defineClass(String name, URL resourceURL, Manifest manifest) throws IOException {
 		JarURLConnection connection = (JarURLConnection) resourceURL.openConnection();
 		int lastDot = name.lastIndexOf('.');
 		if (lastDot != -1) {
@@ -326,7 +331,7 @@
 			if (isRegisteredAsParallel()) {
 				boolean initialLock = lockClassName(name);
 				try {
-					Class clazz = findLoadedClass(name);
+					Class<?> clazz = findLoadedClass(name);
 					if (clazz != null) {
 						return clazz;
 					}
@@ -375,17 +380,16 @@
 		}
 	}
 
-	/* (non-Javadoc)
-	 * @see java.net.URLClassLoader#findResource(java.lang.String)
-	 */
+	@Override
 	public URL findResource(final String name) {
 		URL url = (URL) AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
 			public Object run() {
 				synchronized (loaders) {
 					if (closed)
 						return null;
-					for (Iterator iterator = loaders.iterator(); iterator.hasNext();) {
-						CloseableJarFileLoader loader = (CloseableJarFileLoader) iterator.next();
+					for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
+						CloseableJarFileLoader loader = iterator.next();
 						URL resourceURL = loader.getURL(name);
 						if (resourceURL != null)
 							return resourceURL;
@@ -399,18 +403,17 @@
 		return super.findResource(name);
 	}
 
-	/* (non-Javadoc)
-	 * @see java.net.URLClassLoader#findResources(java.lang.String)
-	 */
-	public Enumeration findResources(final String name) throws IOException {
-		final List resources = new ArrayList();
+	@Override
+	public Enumeration<URL> findResources(final String name) throws IOException {
+		final List<URL> resources = new ArrayList<>();
 		AccessController.doPrivileged(new PrivilegedAction() {
+			@Override
 			public Object run() {
 				synchronized (loaders) {
 					if (closed)
 						return null;
-					for (Iterator iterator = loaders.iterator(); iterator.hasNext();) {
-						CloseableJarFileLoader loader = (CloseableJarFileLoader) iterator.next();
+					for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
+						CloseableJarFileLoader loader = iterator.next();
 						URL resourceURL = loader.getURL(name);
 						if (resourceURL != null)
 							resources.add(resourceURL);
@@ -419,7 +422,7 @@
 				return null;
 			}
 		}, context);
-		Enumeration e = super.findResources(name);
+		Enumeration<URL> e = super.findResources(name);
 		while (e.hasMoreElements())
 			resources.add(e.nextElement());
 
@@ -430,21 +433,20 @@
 	 * The "close" method is called when the class loader is no longer needed and we should close any open resources.
 	 * In particular this method will close the jar files associated with this class loader.
 	 */
+	@Override
 	public void close() {
 		synchronized (loaders) {
 			if (closed)
 				return;
-			for (Iterator iterator = loaders.iterator(); iterator.hasNext();) {
-				CloseableJarFileLoader loader = (CloseableJarFileLoader) iterator.next();
+			for (Iterator<CloseableJarFileLoader> iterator = loaders.iterator(); iterator.hasNext();) {
+				CloseableJarFileLoader loader = iterator.next();
 				loader.close();
 			}
 			closed = true;
 		}
 	}
 
-	/* (non-Javadoc)
-	 * @see java.net.URLClassLoader#addURL(java.net.URL)
-	 */
+	@Override
 	protected void addURL(URL url) {
 		synchronized (loaders) {
 			if (isFileJarURL(url)) {
@@ -458,19 +460,17 @@
 		super.addURL(url);
 	}
 
-	/* (non-Javadoc)
-	 * @see java.net.URLClassLoader#getURLs()
-	 */
+	@Override
 	public URL[] getURLs() {
-		List result = new ArrayList();
+		List<URL> result = new ArrayList<>();
 		synchronized (loaders) {
 			result.addAll(loaderURLs);
 		}
 		result.addAll(Arrays.asList(super.getURLs()));
-		return (URL[]) result.toArray(new URL[result.size()]);
+		return result.toArray(new URL[result.size()]);
 	}
 
-	private final Map classNameLocks = new HashMap(5);
+	private final Map<String, Thread> classNameLocks = new HashMap<>(5);
 	private final Object pkgLock = new Object();
 
 	private boolean lockClassName(String classname) {
diff --git a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/FrameworkLauncher.java b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/FrameworkLauncher.java
index 64bac66..65555cd 100644
--- a/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/FrameworkLauncher.java
+++ b/bundles/org.eclipse.equinox.servletbridge/src/org/eclipse/equinox/servletbridge/FrameworkLauncher.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2015 Cognos Incorporated, IBM Corporation and others.
+ * Copyright (c) 2005, 2018 Cognos Incorporated, 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
@@ -76,23 +76,28 @@
 		Permission allPermission = new AllPermission();
 
 		// A simple PermissionCollection that only has AllPermission
+		@Override
 		public void add(Permission permission) {
 			// do nothing
 		}
 
+		@Override
 		public boolean implies(Permission permission) {
 			return true;
 		}
 
-		public Enumeration elements() {
-			return new Enumeration() {
+		@Override
+		public Enumeration<Permission> elements() {
+			return new Enumeration<Permission>() {
 				int cur = 0;
 
+				@Override
 				public boolean hasMoreElements() {
 					return cur < 1;
 				}
 
-				public Object nextElement() {
+				@Override
+				public Permission nextElement() {
 					if (cur == 0) {
 						cur = 1;
 						return allPermission;
@@ -212,6 +217,7 @@
 
 	private File findExtensionBundleFile(File plugins, final String extensionBundleBSN) {
 		FileFilter extensionBundleFilter = new FileFilter() {
+			@Override
 			public boolean accept(File candidate) {
 				return candidate.getName().startsWith(extensionBundleBSN + "_"); //$NON-NLS-1$
 			}
@@ -372,7 +378,7 @@
 			return;
 		}
 
-		Map initialPropertyMap = buildInitialPropertyMap();
+		Map<String, String> initialPropertyMap = buildInitialPropertyMap();
 		String[] args = buildCommandLineArguments();
 
 		// Handle commandline -D properties
@@ -398,18 +404,20 @@
 
 			URL[] frameworkURLs = findFrameworkURLs(initialPropertyMap);
 			frameworkClassLoader = new ChildFirstURLClassLoader(frameworkURLs, this.getClass().getClassLoader());
-			Class clazz = frameworkClassLoader.loadClass(STARTER);
+			Class<?> clazz = frameworkClassLoader.loadClass(STARTER);
 
-			Method setInitialProperties = clazz.getMethod("setInitialProperties", new Class[] {Map.class}); //$NON-NLS-1$
-			setInitialProperties.invoke(null, new Object[] {initialPropertyMap});
+			Method setInitialProperties = clazz.getMethod("setInitialProperties", Map.class); //$NON-NLS-1$
+			setInitialProperties.invoke(null, initialPropertyMap);
 
 			registerRestartHandler(clazz);
 
-			Method runMethod = clazz.getMethod("startup", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
-			runMethod.invoke(null, new Object[] {args, null});
+			Method runMethod = clazz.getMethod("startup", String[].class, Runnable.class); //$NON-NLS-1$
+			runMethod.invoke(null, args, null);
 
 			frameworkContextClassLoader = Thread.currentThread().getContextClassLoader();
-		} catch (InvocationTargetException ite) {
+		} catch (
+
+		InvocationTargetException ite) {
 			Throwable t = ite.getTargetException();
 			if (t == null)
 				t = ite;
@@ -423,16 +431,16 @@
 		}
 	}
 
-	private URL[] findFrameworkURLs(Map initialPropertyMap) {
-		List frameworkURLs = new ArrayList();
-		String installArea = (String) initialPropertyMap.get(OSGI_INSTALL_AREA);
+	private URL[] findFrameworkURLs(Map<String, String> initialPropertyMap) {
+		List<URL> frameworkURLs = new ArrayList<>();
+		String installArea = initialPropertyMap.get(OSGI_INSTALL_AREA);
 		if (installArea.startsWith(FILE_SCHEME)) {
 			installArea = installArea.substring(FILE_SCHEME.length());
 		}
 		File installBase = new File(installArea);
 
 		// OSGi framework
-		String osgiFramework = (String) initialPropertyMap.get(OSGI_FRAMEWORK);
+		String osgiFramework = initialPropertyMap.get(OSGI_FRAMEWORK);
 		File osgiFrameworkFile = null;
 		if (osgiFramework == null) {
 			// search for osgi.framework in osgi.install.area
@@ -461,9 +469,9 @@
 		}
 
 		// OSGi framework extensions
-		String osgiFrameworkExtensions = (String) initialPropertyMap.get(OSGI_FRAMEWORK_EXTENSIONS);
+		String osgiFrameworkExtensions = initialPropertyMap.get(OSGI_FRAMEWORK_EXTENSIONS);
 		if (osgiFrameworkExtensions != null) {
-			StringTokenizer tokenizer = new StringTokenizer(osgiFrameworkExtensions, ",");
+			StringTokenizer tokenizer = new StringTokenizer(osgiFrameworkExtensions, ","); //$NON-NLS-1$
 			while (tokenizer.hasMoreTokens()) {
 				String extension = tokenizer.nextToken().trim();
 				if (extension.length() == 0)
@@ -475,7 +483,7 @@
 				}
 			}
 		}
-		return (URL[]) frameworkURLs.toArray(new URL[frameworkURLs.size()]);
+		return frameworkURLs.toArray(new URL[frameworkURLs.size()]);
 	}
 
 	private URL findExtensionURL(String extension, File osgiFrameworkFile) {
@@ -502,15 +510,15 @@
 		}
 	}
 
-	private void registerRestartHandler(Class starterClazz) throws NoSuchMethodException, ClassNotFoundException, IllegalAccessException, InvocationTargetException {
+	private void registerRestartHandler(Class<?> starterClazz) throws IllegalAccessException, InvocationTargetException {
 		Method registerFrameworkShutdownHandler = null;
 		try {
-			registerFrameworkShutdownHandler = starterClazz.getDeclaredMethod("internalAddFrameworkShutdownHandler", new Class[] {Runnable.class}); //$NON-NLS-1$
+			registerFrameworkShutdownHandler = starterClazz.getDeclaredMethod("internalAddFrameworkShutdownHandler", Runnable.class); //$NON-NLS-1$
 			if (!registerFrameworkShutdownHandler.isAccessible()) {
 				registerFrameworkShutdownHandler.setAccessible(true);
 			}
 			Runnable restartHandler = createRestartHandler(starterClazz);
-			registerFrameworkShutdownHandler.invoke(null, new Object[] {restartHandler});
+			registerFrameworkShutdownHandler.invoke(null, restartHandler);
 		} catch (NoSuchMethodException e) {
 			// Ok. However we will not support restart events. Log this as info
 			context.log(starterClazz.getName() + " does not support setting a shutdown handler. Restart handling is disabled."); //$NON-NLS-1$
@@ -519,15 +527,16 @@
 
 	}
 
-	private Runnable createRestartHandler(Class starterClazz) throws ClassNotFoundException, NoSuchMethodException {
-		final Method getProperty = starterClazz.getDeclaredMethod("getProperty", new Class[] {String.class}); //$NON-NLS-1$
+	private Runnable createRestartHandler(Class<?> starterClazz) throws NoSuchMethodException {
+		final Method getProperty = starterClazz.getDeclaredMethod("getProperty", String.class); //$NON-NLS-1$
 		if (!getProperty.isAccessible()) {
 			getProperty.setAccessible(true);
 		}
 		Runnable restartHandler = new Runnable() {
+			@Override
 			public void run() {
 				try {
-					String forcedRestart = (String) getProperty.invoke(null, new Object[] {OSGI_FORCED_RESTART});
+					String forcedRestart = (String) getProperty.invoke(null, OSGI_FORCED_RESTART);
 					if (Boolean.valueOf(forcedRestart).booleanValue()) {
 						stop();
 						start();
@@ -550,8 +559,8 @@
 	 * The value '@null' will set the map value to null.
 	 * @return a map containing the initial properties
 	 */
-	protected Map buildInitialPropertyMap() {
-		Map initialPropertyMap = new HashMap();
+	protected Map<String, String> buildInitialPropertyMap() {
+		Map<String, String> initialPropertyMap = new HashMap<>();
 		Properties launchProperties = loadProperties(resourceBase + LAUNCH_INI);
 		for (Iterator it = launchProperties.entrySet().iterator(); it.hasNext();) {
 			Map.Entry entry = (Map.Entry) it.next();
@@ -607,7 +616,7 @@
 		return initialPropertyMap;
 	}
 
-	private void setInitialProperty(Map initialPropertyMap, String key, String value) {
+	private void setInitialProperty(Map<String, String> initialPropertyMap, String key, String value) {
 		if (key.endsWith("*")) { //$NON-NLS-1$
 			if (value.equals(NULL_IDENTIFIER)) {
 				clearPrefixedSystemProperties(key.substring(0, key.length() - 1), initialPropertyMap);
@@ -618,16 +627,16 @@
 			initialPropertyMap.put(key, value);
 	}
 
-	private Properties loadConfigurationFile(Map initialPropertyMap) {
+	private Properties loadConfigurationFile(Map<String, String> initialPropertyMap) {
 		InputStream is = null;
 		try {
-			String installArea = (String) initialPropertyMap.get(OSGI_INSTALL_AREA);
+			String installArea = initialPropertyMap.get(OSGI_INSTALL_AREA);
 			if (installArea.startsWith(FILE_SCHEME)) {
 				installArea = installArea.substring(FILE_SCHEME.length());
 			}
 			File installBase = new File(installArea);
 
-			String configurationArea = (String) initialPropertyMap.get(OSGI_CONFIGURATION_AREA);
+			String configurationArea = initialPropertyMap.get(OSGI_CONFIGURATION_AREA);
 			if (configurationArea.startsWith(FILE_SCHEME)) {
 				configurationArea = configurationArea.substring(FILE_SCHEME.length());
 			}
@@ -660,7 +669,7 @@
 	/**
 	 * clearPrefixedSystemProperties clears System Properties by writing null properties in the targetPropertyMap that match a prefix
 	 */
-	private static void clearPrefixedSystemProperties(String prefix, Map targetPropertyMap) {
+	private static void clearPrefixedSystemProperties(String prefix, Map<String, String> targetPropertyMap) {
 		for (Iterator it = System.getProperties().keySet().iterator(); it.hasNext();) {
 			String propertyName = (String) it.next();
 			if (propertyName.startsWith(prefix) && !targetPropertyMap.containsKey(propertyName)) {
@@ -674,7 +683,7 @@
 	 * @return an array of String containing the commandline arguments
 	 */
 	protected String[] buildCommandLineArguments() {
-		List args = new ArrayList();
+		List<String> args = new ArrayList<>();
 
 		String commandLine = config.getInitParameter(CONFIG_COMMANDLINE);
 		if (commandLine != null) {
@@ -718,7 +727,7 @@
 				args.add(arg);
 			}
 		}
-		return (String[]) args.toArray(new String[] {});
+		return args.toArray(new String[] {});
 	}
 
 	/**
@@ -739,17 +748,17 @@
 
 		ClassLoader original = Thread.currentThread().getContextClassLoader();
 		try {
-			Class clazz = frameworkClassLoader.loadClass(STARTER);
-			Method method = clazz.getDeclaredMethod("shutdown", (Class[]) null); //$NON-NLS-1$
+			Class<?> clazz = frameworkClassLoader.loadClass(STARTER);
+			Method method = clazz.getDeclaredMethod("shutdown"); //$NON-NLS-1$
 			Thread.currentThread().setContextClassLoader(frameworkContextClassLoader);
-			method.invoke(clazz, (Object[]) null);
+			method.invoke(clazz);
 
 			// ACL keys its loggers off of the ContextClassLoader which prevents GC without calling release. 
 			// This section explicitly calls release if ACL is used.
 			try {
 				clazz = this.getClass().getClassLoader().loadClass("org.apache.commons.logging.LogFactory"); //$NON-NLS-1$
-				method = clazz.getDeclaredMethod("release", new Class[] {ClassLoader.class}); //$NON-NLS-1$
-				method.invoke(clazz, new Object[] {frameworkContextClassLoader});
+				method = clazz.getDeclaredMethod("release", ClassLoader.class); //$NON-NLS-1$
+				method.invoke(clazz, frameworkContextClassLoader);
 			} catch (ClassNotFoundException e) {
 				// ignore, ACL is not being used
 			}
@@ -775,11 +784,11 @@
 	protected void copyResource(String resourcePath, File target) {
 		if (resourcePath.endsWith("/")) { //$NON-NLS-1$
 			target.mkdir();
-			Set paths = context.getResourcePaths(resourcePath);
+			Set<String> paths = context.getResourcePaths(resourcePath);
 			if (paths == null)
 				return;
-			for (Iterator it = paths.iterator(); it.hasNext();) {
-				String path = (String) it.next();
+			for (Iterator<String> it = paths.iterator(); it.hasNext();) {
+				String path = it.next();
 				File newFile = new File(target, path.substring(resourcePath.length()));
 				copyResource(path, newFile);
 			}
@@ -896,6 +905,7 @@
 	 */
 	protected String searchFor(final String target, String start) {
 		FileFilter filter = new FileFilter() {
+			@Override
 			public boolean accept(File candidate) {
 				return candidate.getName().equals(target) || candidate.getName().startsWith(target + "_"); //$NON-NLS-1$
 			}
@@ -1021,6 +1031,7 @@
 			super(urls, parent, false);
 		}
 
+		@Override
 		public URL getResource(String name) {
 			URL resource = findResource(name);
 			if (resource == null) {
@@ -1031,7 +1042,8 @@
 			return resource;
 		}
 
-		protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
+		@Override
+		protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
 			if (isRegisteredAsParallel()) {
 				return loadClass0(name, resolve);
 			}
@@ -1040,8 +1052,8 @@
 			}
 		}
 
-		private Class loadClass0(String name, boolean resolve) throws ClassNotFoundException {
-			Class clazz = findLoadedClass(name);
+		private Class<?> loadClass0(String name, boolean resolve) throws ClassNotFoundException {
+			Class<?> clazz = findLoadedClass(name);
 			if (clazz == null) {
 				try {
 					clazz = findClass(name);
@@ -1061,10 +1073,12 @@
 		}
 
 		// we want to ensure that the framework has AllPermissions
+		@Override
 		protected PermissionCollection getPermissions(CodeSource codesource) {
 			return allPermissions;
 		}
 
+		@Override
 		protected boolean isRegisteredAsParallel() {
 			return CHILDFIRST_REGISTERED_AS_PARALLEL;
 		}