diff options
author | Alexander Kurtakov | 2017-11-13 11:00:43 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-11-13 11:00:43 +0000 |
commit | c51bc3e5f7a5378d3a315d48a96128d110d6a1da (patch) | |
tree | 6a90fabb6e29b39db2f981d6d0775dfc28ac66e4 | |
parent | 883f97fb788018824c666d5bedc3d952e25a90f6 (diff) | |
download | rt.equinox.bundles-c51bc3e5f7a5378d3a315d48a96128d110d6a1da.tar.gz rt.equinox.bundles-c51bc3e5f7a5378d3a315d48a96128d110d6a1da.tar.xz rt.equinox.bundles-c51bc3e5f7a5378d3a315d48a96128d110d6a1da.zip |
Bug 527189 - Move jsp.* bundles to Java 8
Bump BREE, minor version. Update the codebase to modernize it.
Change-Id: I8407f4437e865c0a26dcb80d21f6b035ec729222
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
15 files changed, 280 insertions, 144 deletions
diff --git a/bundles/org.eclipse.equinox.jsp.jasper.registry/.classpath b/bundles/org.eclipse.equinox.jsp.jasper.registry/.classpath index c2ce266a6..eca7bdba8 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/.classpath +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/.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.0%Foundation-1.0"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> <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.jsp.jasper.registry/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.jsp.jasper.registry/.settings/org.eclipse.jdt.core.prefs index 2cad04a30..6cf497422 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/.settings/org.eclipse.jdt.core.prefs +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,3 @@ -#Tue Feb 26 11:04:42 CST 2008 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.builder.resourceCopyExclusionFilter=*.launch 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.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.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.3 +org.eclipse.jdt.core.compiler.compliance=1.8 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=warning +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,41 +53,79 @@ org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error 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.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.8 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.jsp.jasper.registry/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.jsp.jasper.registry/META-INF/MANIFEST.MF index 87bcdeccb..b37ee5075 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: %bundleName Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper.registry -Bundle-Version: 1.0.300.qualifier +Bundle-Version: 1.1.0.qualifier Bundle-Activator: org.eclipse.equinox.internal.jsp.jasper.registry.Activator Import-Package: org.eclipse.equinox.jsp.jasper, org.osgi.framework;version="1.3.0", @@ -15,8 +15,5 @@ Import-Package: org.eclipse.equinox.jsp.jasper, Require-Bundle: org.eclipse.equinox.registry, org.eclipse.equinox.common Export-Package: org.eclipse.equinox.jsp.jasper.registry;version="1.0.0" -Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, - J2SE-1.3 -Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2 -Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy diff --git a/bundles/org.eclipse.equinox.jsp.jasper.registry/pom.xml b/bundles/org.eclipse.equinox.jsp.jasper.registry/pom.xml index 196ce9cc7..62ab5f1c2 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/pom.xml +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/pom.xml @@ -19,6 +19,6 @@ </parent> <groupId>org.eclipse.equinox</groupId> <artifactId>org.eclipse.equinox.jsp.jasper.registry</artifactId> - <version>1.0.300-SNAPSHOT</version> + <version>1.1.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project> diff --git a/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/internal/jsp/jasper/registry/Activator.java b/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/internal/jsp/jasper/registry/Activator.java index 493ff7944..7dc63b9eb 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/internal/jsp/jasper/registry/Activator.java +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/internal/jsp/jasper/registry/Activator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 IBM Corporation and others + * Copyright (c) 2007, 2017 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,30 +10,29 @@ *******************************************************************************/ package org.eclipse.equinox.internal.jsp.jasper.registry; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleActivator; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceReference; +import org.osgi.framework.*; import org.osgi.service.packageadmin.PackageAdmin; import org.osgi.util.tracker.ServiceTracker; import org.osgi.util.tracker.ServiceTrackerCustomizer; -public class Activator implements BundleActivator, ServiceTrackerCustomizer { +public class Activator implements BundleActivator, ServiceTrackerCustomizer<PackageAdmin, PackageAdmin> { - private ServiceTracker packageAdminTracker; + private ServiceTracker<?, PackageAdmin> packageAdminTracker; private static PackageAdmin packageAdmin; - private BundleContext context; + private BundleContext bundleContext; + @Override public void start(BundleContext context) throws Exception { - this.context = context; - packageAdminTracker = new ServiceTracker(context, PackageAdmin.class.getName(), this); + this.bundleContext = context; + packageAdminTracker = new ServiceTracker<>(context, PackageAdmin.class, this); packageAdminTracker.open(); } + @Override public void stop(BundleContext context) throws Exception { packageAdminTracker.close(); packageAdminTracker = null; - this.context = null; + this.bundleContext = null; } public static synchronized Bundle getBundle(String symbolicName) { @@ -52,19 +51,22 @@ public class Activator implements BundleActivator, ServiceTrackerCustomizer { return null; } - public Object addingService(ServiceReference reference) { + @Override + public PackageAdmin addingService(ServiceReference<PackageAdmin> reference) { synchronized (Activator.class) { - packageAdmin = (PackageAdmin) context.getService(reference); + packageAdmin = bundleContext.getService(reference); } return packageAdmin; } - public void modifiedService(ServiceReference reference, Object service) { + @Override + public void modifiedService(ServiceReference<PackageAdmin> reference, PackageAdmin service) { } - public void removedService(ServiceReference reference, Object service) { + @Override + public void removedService(ServiceReference<PackageAdmin> reference, PackageAdmin service) { synchronized (Activator.class) { - context.ungetService(reference); + bundleContext.ungetService(reference); packageAdmin = null; } } diff --git a/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/jsp/jasper/registry/JSPFactory.java b/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/jsp/jasper/registry/JSPFactory.java index ca653d099..30d0d22b0 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/jsp/jasper/registry/JSPFactory.java +++ b/bundles/org.eclipse.equinox.jsp.jasper.registry/src/org/eclipse/equinox/jsp/jasper/registry/JSPFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 IBM Corporation and others. + * Copyright (c) 2007, 2017 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 @@ -34,17 +34,19 @@ public class JSPFactory implements IExecutableExtensionFactory, IExecutableExten private IConfigurationElement config; private String bundleResourcePath; + @Override public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException { this.config = config; if (data != null) { if (data instanceof String) bundleResourcePath = (String) data; else if (data instanceof Hashtable) { - bundleResourcePath = (String) ((Hashtable) data).get("path"); //$NON-NLS-1$ + bundleResourcePath = ((Hashtable<String, String>) data).get("path"); //$NON-NLS-1$ } } } + @Override public Object create() throws CoreException { Bundle b = Activator.getBundle(config.getContributor().getName()); //check for null and illegal state exception String alias = config.getAttribute("alias"); //$NON-NLS-1$ diff --git a/bundles/org.eclipse.equinox.jsp.jasper/.classpath b/bundles/org.eclipse.equinox.jsp.jasper/.classpath index ce0c7a5d4..eca7bdba8 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/.classpath +++ b/bundles/org.eclipse.equinox.jsp.jasper/.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.8"/> <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.jsp.jasper/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.jsp.jasper/.settings/org.eclipse.jdt.core.prefs index f31f25003..5247d807e 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/.settings/org.eclipse.jdt.core.prefs +++ b/bundles/org.eclipse.equinox.jsp.jasper/.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,45 @@ org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch 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.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.8 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=warning +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 +52,80 @@ org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error 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.8 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 +197,12 @@ org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true 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.jsp.jasper/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF index 518e00737..5fbb4bd2d 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Bundle-Name: %bundleName Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-SymbolicName: org.eclipse.equinox.jsp.jasper -Bundle-Version: 1.0.500.qualifier +Bundle-Version: 1.1.0.qualifier Bundle-Activator: org.eclipse.equinox.internal.jsp.jasper.Activator Import-Package: javax.servlet;version="[2.4, 3.2)", javax.servlet.annotation;version="2.6";resolution:=optional, @@ -17,8 +17,5 @@ Import-Package: javax.servlet;version="[2.4, 3.2)", org.osgi.service.packageadmin;version="1.2.0", org.osgi.util.tracker;version="1.3.1" Export-Package: org.eclipse.equinox.jsp.jasper;version="1.0.0" -Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, - J2SE-1.3 -Comment-Header: Both Eclipse-LazyStart and Bundle-ActivationPolicy are specified for compatibility with 3.2 -Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy diff --git a/bundles/org.eclipse.equinox.jsp.jasper/pom.xml b/bundles/org.eclipse.equinox.jsp.jasper/pom.xml index 989420c4a..708c2e61b 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/pom.xml +++ b/bundles/org.eclipse.equinox.jsp.jasper/pom.xml @@ -19,6 +19,6 @@ </parent> <groupId>org.eclipse.equinox</groupId> <artifactId>org.eclipse.equinox.jsp.jasper</artifactId> - <version>1.0.500-SNAPSHOT</version> + <version>1.1.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project> diff --git a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/Activator.java b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/Activator.java index a7ebe116d..b07ad7945 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/Activator.java +++ b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/Activator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Cognos Incorporated, IBM Corporation and others. + * Copyright (c) 2005, 2017 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 @@ -14,58 +14,61 @@ package org.eclipse.equinox.internal.jsp.jasper; import org.osgi.framework.Bundle; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; import org.osgi.framework.ServiceReference; import org.osgi.service.packageadmin.ExportedPackage; import org.osgi.service.packageadmin.PackageAdmin; import org.osgi.util.tracker.ServiceTracker; import org.osgi.util.tracker.ServiceTrackerCustomizer; -public class Activator implements BundleActivator, ServiceTrackerCustomizer { +public class Activator implements BundleActivator, ServiceTrackerCustomizer<PackageAdmin, PackageAdmin> { - private ServiceTracker packageAdminTracker; + private ServiceTracker<?, PackageAdmin> packageAdminTracker; private static PackageAdmin packageAdmin; private volatile static Bundle thisBundle; - private BundleContext context; + private BundleContext bundleContext; + @Override public void start(BundleContext context) throws Exception { //disable the JSR99 compiler that does not work in OSGi; //This will convince jasper to use the JDTCompiler that invokes ecj (see JSP-21 on the glassfish bug-tracker) - System.setProperty("org.apache.jasper.compiler.disablejsr199", Boolean.TRUE.toString()); - this.context = context; + System.setProperty("org.apache.jasper.compiler.disablejsr199", Boolean.TRUE.toString()); //$NON-NLS-1$ + this.bundleContext = context; thisBundle = context.getBundle(); - packageAdminTracker = new ServiceTracker(context, PackageAdmin.class.getName(), this); + packageAdminTracker = new ServiceTracker<>(context, PackageAdmin.class, this); packageAdminTracker.open(); } + @Override public void stop(BundleContext context) throws Exception { packageAdminTracker.close(); packageAdminTracker = null; thisBundle = null; - this.context = null; + this.bundleContext = null; } - public Object addingService(ServiceReference reference) { + @Override + public PackageAdmin addingService(ServiceReference<PackageAdmin> reference) { synchronized (Activator.class) { - packageAdmin = (PackageAdmin) context.getService(reference); + packageAdmin = bundleContext.getService(reference); } return packageAdmin; } - public void modifiedService(ServiceReference reference, Object service) { + @Override + public void modifiedService(ServiceReference<PackageAdmin> reference, PackageAdmin service) { } - public void removedService(ServiceReference reference, Object service) { + @Override + public void removedService(ServiceReference<PackageAdmin> reference, PackageAdmin service) { synchronized (Activator.class) { - context.ungetService(reference); + bundleContext.ungetService(reference); packageAdmin = null; } } - public static synchronized Bundle getBundle(Class clazz) { - if (packageAdmin == null) - throw new IllegalStateException("Not started"); //$NON-NLS-1$ - - return packageAdmin.getBundle(clazz); + public static synchronized Bundle getBundle(Class<?> clazz) { + return FrameworkUtil.getBundle(clazz); } public static Bundle[] getFragments(Bundle bundle) { diff --git a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/BundleProxyClassLoader.java b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/BundleProxyClassLoader.java index 44ed66512..e2ee87db1 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/BundleProxyClassLoader.java +++ b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/BundleProxyClassLoader.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 Cognos Incorporated, IBM Corporation and others. + * Copyright (c) 2005, 2017 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 @@ -17,7 +17,6 @@ import java.util.Enumeration; import org.osgi.framework.Bundle; - /** * A BundleProxyClassLoader wraps a bundle and uses the various Bundle methods to produce a ClassLoader. */ @@ -35,24 +34,29 @@ public class BundleProxyClassLoader extends ClassLoader { this.bundle = bundle; } - public Enumeration findResources(String name) throws IOException { + @Override + public Enumeration<URL> findResources(String name) throws IOException { return bundle.getResources(name); } + @Override public URL findResource(String name) { return bundle.getResource(name); } - public Class findClass(String name) throws ClassNotFoundException { + @Override + public Class<?> findClass(String name) throws ClassNotFoundException { return bundle.loadClass(name); } + @Override public URL getResource(String name) { return (parent == null) ? findResource(name) : super.getResource(name); } - protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { - Class clazz = (parent == null) ? findClass(name) : super.loadClass(name, false); + @Override + protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { + Class<?> clazz = (parent == null) ? findClass(name) : super.loadClass(name, false); if (resolve) super.resolveClass(clazz); diff --git a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JSPContextFinder.java b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JSPContextFinder.java index 89acf1b86..8e2ba88c5 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JSPContextFinder.java +++ b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JSPContextFinder.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005-2007 IBM Corporation and others. + * Copyright (c) 2005, 2017 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 @@ -14,28 +14,31 @@ import java.io.IOException; import java.net.URL; import java.security.AccessController; import java.security.PrivilegedAction; -import java.util.*; - +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; // This class is a slightly augmented copy of org.eclipse.core.runtime.internal.adaptor.ContextFinder // in particular basicFindClassLoaders has been altered to use PackageAdmin to determine if a class originated from // a bundle and to skip over the various JspClassloader classes. -public class JSPContextFinder extends ClassLoader implements PrivilegedAction { +public class JSPContextFinder extends ClassLoader implements PrivilegedAction<ArrayList<ClassLoader>> { static final class Finder extends SecurityManager { - public Class[] getClassContext() { + @Override + public Class<?>[] getClassContext() { return super.getClassContext(); } } + //This is used to detect cycle that could be caused while delegating the loading to other classloaders //It keeps track on a thread basis of the set of requested classes and resources - private static ThreadLocal cycleDetector = new ThreadLocal(); + private static ThreadLocal<Set<String>> cycleDetector = new ThreadLocal<>(); static Finder contextFinder; static { - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - contextFinder = new Finder(); - return null; - } + AccessController.doPrivileged((PrivilegedAction<Object>) () -> { + contextFinder = new Finder(); + return null; }); } @@ -47,9 +50,9 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { // JSPContextFinder classloader nor the boot classloader. The last classloader // in the list is either a bundle classloader or the framework's classloader // We assume that the bootclassloader never uses the context classloader to find classes in itself. - ArrayList basicFindClassLoaders() { - Class[] stack = contextFinder.getClassContext(); - ArrayList result = new ArrayList(1); + ArrayList<ClassLoader> basicFindClassLoaders() { + Class<?>[] stack = contextFinder.getClassContext(); + ArrayList<ClassLoader> result = new ArrayList<>(1); ClassLoader previousLoader = null; for (int i = 1; i < stack.length; i++) { ClassLoader tmp = stack[i].getClassLoader(); @@ -68,10 +71,8 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { return result; } - private boolean checkClass(Class clazz) { - return clazz != JSPContextFinder.class && - clazz != BundleProxyClassLoader.class && - clazz != JspClassLoader.class; + private boolean checkClass(Class<?> clazz) { + return clazz != JSPContextFinder.class && clazz != BundleProxyClassLoader.class && clazz != JspClassLoader.class; } // ensures that a classloader does not have the JSPContextFinder as part of the @@ -86,25 +87,26 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { return true; } - private ArrayList findClassLoaders() { + private ArrayList<ClassLoader> findClassLoaders() { if (System.getSecurityManager() == null) return basicFindClassLoaders(); - return (ArrayList) AccessController.doPrivileged(this); + return AccessController.doPrivileged(this); } - public Object run() { + @Override + public ArrayList<ClassLoader> run() { return basicFindClassLoaders(); } //Return whether the request for loading "name" should proceed. //False is returned when a cycle is being detected private boolean startLoading(String name) { - Set classesAndResources = (Set) cycleDetector.get(); + Set<String> classesAndResources = cycleDetector.get(); if (classesAndResources != null && classesAndResources.contains(name)) return false; if (classesAndResources == null) { - classesAndResources = new HashSet(3); + classesAndResources = new HashSet<>(3); cycleDetector.set(classesAndResources); } classesAndResources.add(name); @@ -112,19 +114,20 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { } private void stopLoading(String name) { - ((Set) cycleDetector.get()).remove(name); + cycleDetector.get().remove(name); } - protected Class loadClass(String arg0, boolean arg1) throws ClassNotFoundException { + @Override + protected Class<?> loadClass(String arg0, boolean arg1) throws ClassNotFoundException { //Shortcut cycle if (startLoading(arg0) == false) throw new ClassNotFoundException(arg0); try { - ArrayList toConsult = findClassLoaders(); - for (Iterator loaders = toConsult.iterator(); loaders.hasNext();) + ArrayList<ClassLoader> toConsult = findClassLoaders(); + for (Iterator<ClassLoader> loaders = toConsult.iterator(); loaders.hasNext();) try { - return ((ClassLoader) loaders.next()).loadClass(arg0); + return loaders.next().loadClass(arg0); } catch (ClassNotFoundException e) { // go to the next class loader } @@ -134,14 +137,15 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { } } + @Override public URL getResource(String arg0) { //Shortcut cycle if (startLoading(arg0) == false) return null; try { - ArrayList toConsult = findClassLoaders(); - for (Iterator loaders = toConsult.iterator(); loaders.hasNext();) { - URL result = ((ClassLoader) loaders.next()).getResource(arg0); + ArrayList<ClassLoader> toConsult = findClassLoaders(); + for (Iterator<ClassLoader> loaders = toConsult.iterator(); loaders.hasNext();) { + URL result = loaders.next().getResource(arg0); if (result != null) return result; // go to the next class loader @@ -152,14 +156,15 @@ public class JSPContextFinder extends ClassLoader implements PrivilegedAction { } } - protected Enumeration findResources(String arg0) throws IOException { + @Override + protected Enumeration<URL> findResources(String arg0) throws IOException { //Shortcut cycle if (startLoading(arg0) == false) return null; try { - ArrayList toConsult = findClassLoaders(); - for (Iterator loaders = toConsult.iterator(); loaders.hasNext();) { - Enumeration result = ((ClassLoader) loaders.next()).getResources(arg0); + ArrayList<ClassLoader> toConsult = findClassLoaders(); + for (Iterator<ClassLoader> loaders = toConsult.iterator(); loaders.hasNext();) { + Enumeration<URL> result = loaders.next().getResources(arg0); if (result != null && result.hasMoreElements()) return result; // go to the next class loader diff --git a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java index cc1c97bad..d5501d15b 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java +++ b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/internal/jsp/jasper/JspClassLoader.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2010 Cognos Incorporated, IBM Corporation and others. + * Copyright (c) 2005, 2017 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 @@ -11,7 +11,6 @@ *******************************************************************************/ package org.eclipse.equinox.internal.jsp.jasper; -import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -40,23 +39,28 @@ public class JspClassLoader extends URLClassLoader { private static final ClassLoader PARENT = JspClassLoader.class.getClassLoader().getParent(); private static final String JAVA_PACKAGE = "java."; //$NON-NLS-1$ private static final ClassLoader EMPTY_CLASSLOADER = new ClassLoader() { + @Override public URL getResource(String name) { return null; } - public Enumeration findResources(String name) throws IOException { - return new Enumeration() { + @Override + public Enumeration<URL> findResources(String name) { + return new Enumeration<URL>() { + @Override public boolean hasMoreElements() { return false; } - public Object nextElement() { + @Override + public URL nextElement() { return null; } }; } - public Class loadClass(String name) throws ClassNotFoundException { + @Override + public Class<?> loadClass(String name) throws ClassNotFoundException { throw new ClassNotFoundException(name); } }; @@ -73,8 +77,8 @@ public class JspClassLoader extends URLClassLoader { } private void addBundleClassPathJars(Bundle bundle) { - Dictionary headers = bundle.getHeaders(); - String classPath = (String) headers.get(Constants.BUNDLE_CLASSPATH); + Dictionary<String, String> headers = bundle.getHeaders(); + String classPath = headers.get(Constants.BUNDLE_CLASSPATH); if (classPath != null) { StringTokenizer tokenizer = new StringTokenizer(classPath, ","); //$NON-NLS-1$ while (tokenizer.hasMoreTokens()) { @@ -95,14 +99,16 @@ public class JspClassLoader extends URLClassLoader { } } - protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { + @Override + protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { if (PARENT != null && name.startsWith(JAVA_PACKAGE)) return PARENT.loadClass(name); return super.loadClass(name, resolve); } // Classes should "not" be loaded by this classloader from the URLs - it is just used for TLD resource discovery. - protected Class findClass(String name) throws ClassNotFoundException { + @Override + protected Class<?> findClass(String name) throws ClassNotFoundException { throw new ClassNotFoundException(name); } } diff --git a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/jsp/jasper/JspServlet.java b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/jsp/jasper/JspServlet.java index 9adcfa9d6..7e8e9d383 100644 --- a/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/jsp/jasper/JspServlet.java +++ b/bundles/org.eclipse.equinox.jsp.jasper/src/org/eclipse/equinox/jsp/jasper/JspServlet.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2011 Cognos Incorporated, IBM Corporation and others. + * Copyright (c) 2005, 2017 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 @@ -77,16 +77,19 @@ public class JspServlet extends HttpServlet { super.setReadOnly(); } + @Override public void add(Permission permission) { throw new SecurityException(); } + @Override public boolean implies(Permission permission) { return bundle.hasPermission(permission); } - public Enumeration elements() { - return Collections.enumeration(Collections.EMPTY_LIST); + @Override + public Enumeration<Permission> elements() { + return Collections.enumeration(Collections.emptyList()); } } @@ -108,6 +111,7 @@ public class JspServlet extends HttpServlet { this(bundle, bundleResourcePath, null); } + @Override public void init(ServletConfig config) throws ServletException { ClassLoader original = Thread.currentThread().getContextClassLoader(); try { @@ -132,6 +136,7 @@ public class JspServlet extends HttpServlet { } } + @Override public void destroy() { ClassLoader original = Thread.currentThread().getContextClassLoader(); try { @@ -142,6 +147,7 @@ public class JspServlet extends HttpServlet { } } + @Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pathInfo = request.getPathInfo(); if (pathInfo != null && pathInfo.startsWith("/WEB-INF/")) { //$NON-NLS-1$ @@ -158,10 +164,12 @@ public class JspServlet extends HttpServlet { } } + @Override public ServletConfig getServletConfig() { return jspServlet.getServletConfig(); } + @Override public String getServletInfo() { return jspServlet.getServletInfo(); } @@ -181,35 +189,39 @@ public class JspServlet extends HttpServlet { return adaptor.createServletContext(); } + @Override public String getInitParameter(String arg0) { return config.getInitParameter(arg0); } - public Enumeration getInitParameterNames() { + @Override + public Enumeration<String> getInitParameterNames() { return config.getInitParameterNames(); } + @Override public ServletContext getServletContext() { return context; } + @Override public String getServletName() { return config.getServletName(); } } - final static Map contextToHandlerMethods; + final static Map<Method, Method> contextToHandlerMethods; static { contextToHandlerMethods = createContextToHandlerMethods(); } - private static Map createContextToHandlerMethods() { - Map methods = new HashMap(); + private static Map<Method, Method> createContextToHandlerMethods() { + Map<Method, Method> methods = new HashMap<>(); Method[] handlerMethods = ServletContextAdaptor.class.getDeclaredMethods(); for (int i = 0; i < handlerMethods.length; i++) { Method handlerMethod = handlerMethods[i]; String name = handlerMethod.getName(); - Class[] parameterTypes = handlerMethod.getParameterTypes(); + Class<?>[] parameterTypes = handlerMethod.getParameterTypes(); try { Method m = ServletContext.class.getMethod(name, parameterTypes); methods.put(m, handlerMethod); @@ -228,23 +240,19 @@ public class JspServlet extends HttpServlet { } public ServletContext createServletContext() { - Class clazz = getClass(); + Class<?> clazz = getClass(); ClassLoader classLoader = clazz.getClassLoader(); - Class[] interfaces = new Class[] {ServletContext.class}; + Class<?>[] interfaces = new Class[] {ServletContext.class}; InvocationHandler handler = createInvocationHandler(); return (ServletContext) Proxy.newProxyInstance(classLoader, interfaces, handler); } private InvocationHandler createInvocationHandler() { - return new InvocationHandler() { - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - return ServletContextAdaptor.this.invoke(proxy, method, args); - } - }; + return (proxy, method, args) -> ServletContextAdaptor.this.invoke(proxy, method, args); } Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - Method m = (Method) JspServlet.contextToHandlerMethods.get(method); + Method m = JspServlet.contextToHandlerMethods.get(method); if (m != null) { return m.invoke(this, args); } @@ -264,9 +272,9 @@ public class JspServlet extends HttpServlet { if (path.length() == 0) path = "/"; //$NON-NLS-1$ String file = sanitizeEntryName(resourceName.substring(lastSlash + 1)); - Enumeration entryPaths = bundle.findEntries(path, file, false); + Enumeration<URL> entryPaths = bundle.findEntries(path, file, false); if (entryPaths != null && entryPaths.hasMoreElements()) - return (URL) entryPaths.nextElement(); + return entryPaths.nextElement(); return delegate.getResource(name); } @@ -305,14 +313,14 @@ public class JspServlet extends HttpServlet { return null; } - public Set getResourcePaths(String name) { - Set result = delegate.getResourcePaths(name); - Enumeration e = bundle.findEntries(bundleResourcePath + name, null, false); + public Set<String> getResourcePaths(String name) { + Set<String> result = delegate.getResourcePaths(name); + Enumeration<URL> e = bundle.findEntries(bundleResourcePath + name, null, false); if (e != null) { if (result == null) - result = new HashSet(); + result = new HashSet<>(); while (e.hasMoreElements()) { - URL entryURL = (URL) e.nextElement(); + URL entryURL = e.nextElement(); result.add(entryURL.getFile().substring(bundleResourcePath.length())); } } |