Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2016-08-23 15:30:37 +0000
committerAlexander Kurtakov2016-08-23 15:30:37 +0000
commit5fab68ea7d7b1beafdc4b492495d8a596acb22df (patch)
tree1a35c4f5ea039dadc5aa29116ff6b87208e6cd3c
parent13c830c52c10111f4e49972e9468bcb3e19b9860 (diff)
downloadeclipse.platform.ua-5fab68ea7d7b1beafdc4b492495d8a596acb22df.tar.gz
eclipse.platform.ua-5fab68ea7d7b1beafdc4b492495d8a596acb22df.tar.xz
eclipse.platform.ua-5fab68ea7d7b1beafdc4b492495d8a596acb22df.zip
Bug 500144 - More compiler warnings by default in o.e.help Y20160825-1000I20160824-1429I20160823-1359
Enabld the following warnings and fix them: * empty statement * indirect static access * try-with-resources not used * raw types usage * few others for which the codebase was already clean Change-Id: I24e50a01af56f098bc2228b62eec0ac98a98d48d Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
-rw-r--r--org.eclipse.help/.settings/org.eclipse.jdt.core.prefs31
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/CachedEntityResolver.java28
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/UAElementFactory.java8
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/context/ContextFileProvider.java17
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/context/ContextManager.java4
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionHandler.java10
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionResolver.java9
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/dynamic/IncludeResolver.java11
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/dynamic/ValidationHandler.java14
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionFileParser.java4
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionManager.java2
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/index/IndexAssembler.java2
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/index/IndexFileParser.java18
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/index/IndexSee.java2
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/toc/DocumentFinder.java15
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/toc/TocAssembler.java18
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/toc/TocFileParser.java16
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/toc/TocManager.java6
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/util/ProductPreferences.java19
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/util/ResourceLocator.java20
-rw-r--r--org.eclipse.help/src/org/eclipse/help/internal/util/SequenceResolver.java8
21 files changed, 111 insertions, 151 deletions
diff --git a/org.eclipse.help/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.help/.settings/org.eclipse.jdt.core.prefs
index 8e317e687..91a068010 100644
--- a/org.eclipse.help/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.help/.settings/org.eclipse.jdt.core.prefs
@@ -9,8 +9,13 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
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.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.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -20,9 +25,9 @@ org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
@@ -33,14 +38,14 @@ 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=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=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
@@ -48,20 +53,22 @@ org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
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=ignore
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=ignore
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=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=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=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
@@ -79,9 +86,9 @@ org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=error
@@ -93,7 +100,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/CachedEntityResolver.java b/org.eclipse.help/src/org/eclipse/help/internal/CachedEntityResolver.java
index da40d3f1f..ac10bab81 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/CachedEntityResolver.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/CachedEntityResolver.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -42,20 +42,18 @@ public class CachedEntityResolver implements EntityResolver {
if (!cachedCopy.exists()) {
try {
URL system = new URL(systemId);
- URLConnection sc = system.openConnection();
- BufferedReader in = new BufferedReader(
- new InputStreamReader(
- sc.getInputStream()));
- String inputLine;
- BufferedWriter out = new BufferedWriter(new FileWriter(cachedCopy));
- while ((inputLine = in.readLine()) != null) {
- out.write(inputLine);
- out.newLine();
- }
- in.close();
- out.flush();
- out.close();
- } catch (IOException e) {}
+ URLConnection sc = system.openConnection();
+ String inputLine;
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(sc.getInputStream()));
+ BufferedWriter out = new BufferedWriter(new FileWriter(cachedCopy))) {
+ while ((inputLine = in.readLine()) != null) {
+ out.write(inputLine);
+ out.newLine();
+ }
+ out.flush();
+ }
+ } catch (IOException e) {
+ }
}
try {
InputSource is = new InputSource(new FileReader(cachedCopy));
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/UAElementFactory.java b/org.eclipse.help/src/org/eclipse/help/internal/UAElementFactory.java
index a5a545543..838f1532e 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/UAElementFactory.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/UAElementFactory.java
@@ -52,7 +52,7 @@ import org.w3c.dom.Element;
*/
public class UAElementFactory {
- private static final Class[][] interfaceTable = new Class[][] {
+ private static final Class<?>[][] interfaceTable = new Class[][] {
{ ITopic.class, Topic.class },
{ IIndexEntry.class, IndexEntry.class },
{ IContext.class, Context.class },
@@ -71,10 +71,10 @@ public class UAElementFactory {
{ ICriterionValueDefinition.class, CriterionValueDefinition.class },
};
- private static final Map<String, Class> classByElementName;
+ private static final Map<String, Class<?>> classByElementName;
static {
- classByElementName = Collections.synchronizedMap(new HashMap<String, Class>());
+ classByElementName = Collections.synchronizedMap(new HashMap<String, Class<?>>());
classByElementName.put(Anchor.NAME, Anchor.class);
classByElementName.put(Include.NAME, Include.class);
classByElementName.put(Toc.NAME, Toc.class);
@@ -118,7 +118,7 @@ public class UAElementFactory {
Class<?> clazz = interfaceTable[i][1];
if (interfaze.isAssignableFrom(src.getClass())) {
try {
- Constructor constructor = clazz.getConstructor(interfaze);
+ Constructor<?> constructor = clazz.getConstructor(interfaze);
return (UAElement) constructor.newInstance(src);
}
catch (Exception e) {
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/context/ContextFileProvider.java b/org.eclipse.help/src/org/eclipse/help/internal/context/ContextFileProvider.java
index bfcddd435..ed7aed0f9 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/context/ContextFileProvider.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/context/ContextFileProvider.java
@@ -192,21 +192,14 @@ public class ContextFileProvider extends AbstractContextProvider {
* (shortContextId -> Context).
*/
private Map<String, Context> loadContexts(ContextFile descriptor, String locale) {
- try {
- // load the file
- InputStream in = ResourceLocator.openFromPlugin(descriptor.getBundleId(), descriptor.getFile(), locale);
+ // load the file
+ try (InputStream in = ResourceLocator.openFromPlugin(descriptor.getBundleId(), descriptor.getFile(), locale)) {
if (in != null) {
- try {
- return loadContextsFromInputStream(descriptor, locale, in);
- } finally {
- in.close();
- }
- }
- else {
+ return loadContextsFromInputStream(descriptor, locale, in);
+ } else {
throw new FileNotFoundException();
}
- }
- catch (Throwable t) {
+ } catch (Throwable t) {
String msg = "Error reading context-sensitive help file /\"" + getErrorPath(descriptor, locale) + "\" (skipping file)"; //$NON-NLS-1$ //$NON-NLS-2$
HelpPlugin.logError(msg, t);
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/context/ContextManager.java b/org.eclipse.help/src/org/eclipse/help/internal/context/ContextManager.java
index f4f54342d..6863c5fb1 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/context/ContextManager.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/context/ContextManager.java
@@ -58,9 +58,9 @@ public class ContextManager {
int index = contextId.lastIndexOf('.');
if (index != -1) {
String pluginId = contextId.substring(0, index);
- Iterator iter = getContextProviders(pluginId).iterator();
+ Iterator<AbstractContextProvider> iter = getContextProviders(pluginId).iterator();
while (iter.hasNext()) {
- AbstractContextProvider provider = (AbstractContextProvider)iter.next();
+ AbstractContextProvider provider = iter.next();
try {
IContext context = provider.getContext(contextId, locale);
if (context != null) {
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionHandler.java b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionHandler.java
index f310d381b..a9684d3b3 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionHandler.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2015 IBM Corporation and others.
+ * Copyright (c) 2006, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -10,10 +10,10 @@
*******************************************************************************/
package org.eclipse.help.internal.dynamic;
+import org.eclipse.help.IContentExtension;
import org.eclipse.help.internal.Anchor;
import org.eclipse.help.internal.UAElement;
import org.eclipse.help.internal.UAElementFactory;
-import org.eclipse.help.internal.extension.ContentExtension;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -41,10 +41,10 @@ public class ExtensionHandler extends ProcessorHandler {
@Override
public short handle(UAElement element, String path) {
if (element instanceof Anchor) {
- return handleExtension(element, path, ContentExtension.CONTRIBUTION);
+ return handleExtension(element, path, IContentExtension.CONTRIBUTION);
}
if (element.getAttribute(ATTRIBUTE_ID) != null) {
- return handleExtension(element, path, ContentExtension.REPLACEMENT);
+ return handleExtension(element, path, IContentExtension.REPLACEMENT);
}
return UNHANDLED;
}
@@ -80,7 +80,7 @@ public class ExtensionHandler extends ProcessorHandler {
}
}
// always remove anchors, even invalid ones
- if (type == ContentExtension.CONTRIBUTION) {
+ if (type == IContentExtension.CONTRIBUTION) {
uaElement.getParentElement().removeChild(uaElement);
return HANDLED_SKIP;
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionResolver.java b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionResolver.java
index be9e6c9d4..3ef57ce4f 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionResolver.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ExtensionResolver.java
@@ -128,8 +128,7 @@ public class ExtensionResolver {
*/
private Node[] getContent(String bundleId, String relativePath, String nodeId) throws IOException, SAXException, ParserConfigurationException {
String href = '/' + bundleId + '/' + relativePath;
- InputStream in = HelpSystem.getHelpContent(href, locale);
- try {
+ try (InputStream in = HelpSystem.getHelpContent(href, locale)) {
if (nodeId != null) {
Element element = findElement(in, nodeId);
processor.process(new UAElement(element), href);
@@ -147,12 +146,6 @@ public class ExtensionResolver {
}
return children.toArray(new Node[children.size()]);
}
- finally {
- try {
- in.close();
- }
- catch (IOException e) {}
- }
}
/*
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/IncludeResolver.java b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/IncludeResolver.java
index 5826ed402..5a53f1fcc 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/IncludeResolver.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/IncludeResolver.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2015 IBM Corporation and others.
+ * Copyright (c) 2006, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -43,18 +43,11 @@ public class IncludeResolver {
*/
public UAElement resolve(String bundleId, String relativePath, String elementId) throws IOException, SAXException, ParserConfigurationException {
String href = '/' + bundleId + '/' + relativePath;
- InputStream in = HelpSystem.getHelpContent(href, locale);
- try {
+ try (InputStream in = HelpSystem.getHelpContent(href, locale)) {
UAElement element = findElement(in, elementId);
processor.process(element, href);
return element;
}
- finally {
- try {
- in.close();
- }
- catch (IOException e) {}
- }
}
/*
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ValidationHandler.java b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ValidationHandler.java
index cc67509f8..4a4739fb6 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ValidationHandler.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/dynamic/ValidationHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2015 IBM Corporation and others.
+ * Copyright (c) 2006, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,14 +22,14 @@ import org.eclipse.help.internal.UAElement;
*/
public class ValidationHandler extends ProcessorHandler {
- private Map requiredAttributes;
- private Map deprecatedElements;
+ private Map<String, String[]> requiredAttributes;
+ private Map<String, String> deprecatedElements;
/*
* Creates a new validator that looks for the given mapping of
* element names to required attribute names.
*/
- public ValidationHandler(Map requiredAttributes) {
+ public ValidationHandler(Map<String, String[]> requiredAttributes) {
this(requiredAttributes, null);
}
@@ -38,7 +38,7 @@ public class ValidationHandler extends ProcessorHandler {
* element names to required attribute names, as well as a mapping
* of deprecated element names to suggested new element names.
*/
- public ValidationHandler(Map requiredAttributes, Map deprecatedElements) {
+ public ValidationHandler(Map<String, String[]> requiredAttributes, Map<String, String> deprecatedElements) {
this.requiredAttributes = requiredAttributes;
this.deprecatedElements = deprecatedElements;
}
@@ -46,13 +46,13 @@ public class ValidationHandler extends ProcessorHandler {
@Override
public short handle(UAElement element, String id) {
if (deprecatedElements != null) {
- String suggestion = (String)deprecatedElements.get(element.getElementName());
+ String suggestion = deprecatedElements.get(element.getElementName());
if (suggestion != null) {
String msg = "The \"" + element.getElementName() + "\" element is deprecated in \"" + id + "\"; use \"" + suggestion + "\" instead."; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
HelpPlugin.logWarning(msg);
}
}
- String[] attributes = (String[])requiredAttributes.get(element.getElementName());
+ String[] attributes = requiredAttributes.get(element.getElementName());
if (attributes != null) {
for (int i=0;i<attributes.length;++i) {
if (element.getAttribute(attributes[i]) == null) {
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionFileParser.java b/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionFileParser.java
index 38347f22c..0d42945d1 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionFileParser.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionFileParser.java
@@ -68,7 +68,7 @@ public class ContentExtensionFileParser extends DefaultHandler {
}
}
- private Map getRequiredAttributes() {
+ private Map<String, String[]> getRequiredAttributes() {
if (requiredAttributes == null) {
requiredAttributes = new HashMap<>();
requiredAttributes.put(ContentExtension.NAME_CONTRIBUTION, new String[] { ContentExtension.ATTRIBUTE_CONTENT, ContentExtension.ATTRIBUTE_PATH });
@@ -79,7 +79,7 @@ public class ContentExtensionFileParser extends DefaultHandler {
return requiredAttributes;
}
- private Map getDeprecatedElements() {
+ private Map<String, String> getDeprecatedElements() {
if (deprecatedElements == null) {
deprecatedElements = new HashMap<>();
deprecatedElements.put(ContentExtension.NAME_CONTRIBUTION_LEGACY, ContentExtension.NAME_CONTRIBUTION);
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionManager.java b/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionManager.java
index dda528931..f7029ea17 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionManager.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/extension/ContentExtensionManager.java
@@ -66,7 +66,7 @@ public class ContentExtensionManager {
if (extensionsByPath == null) {
loadExtensions(locale);
}
- Map<String, List<ContentExtension>> map = (type == ContentExtension.CONTRIBUTION ? extensionsByPath
+ Map<String, List<ContentExtension>> map = (type == IContentExtension.CONTRIBUTION ? extensionsByPath
: replacesByPath);
List<ContentExtension> extensions = map.get(path);
if (extensions != null) {
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexAssembler.java b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexAssembler.java
index 0db0362bb..7b87888d3 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexAssembler.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexAssembler.java
@@ -310,5 +310,5 @@ public class IndexAssembler {
}
return null;
}
- };
+ }
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexFileParser.java b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexFileParser.java
index d179a574a..911a6faa0 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexFileParser.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexFileParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 Intel Corporation and others.
+ * Copyright (c) 2005, 2016 Intel 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
@@ -30,21 +30,17 @@ public class IndexFileParser {
if (reader == null) {
reader = new IndexDocumentReader();
}
- InputStream in = indexFile.getInputStream();
- if (in != null) {
- try {
- Index index = (Index)reader.read(in);
+ try (InputStream in = indexFile.getInputStream()) {
+ if (in != null) {
+ Index index = (Index) reader.read(in);
IndexContribution contrib = new IndexContribution();
- contrib.setId('/' + indexFile.getPluginId() + '/' + indexFile.getFile());
+ contrib.setId('/' + indexFile.getPluginId() + '/' + indexFile.getFile());
contrib.setIndex(index);
contrib.setLocale(indexFile.getLocale());
return contrib;
- } finally {
- in.close();
+ } else {
+ throw new FileNotFoundException();
}
}
- else {
- throw new FileNotFoundException();
- }
}
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexSee.java b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexSee.java
index b5d68375b..53b07bcd7 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/index/IndexSee.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/index/IndexSee.java
@@ -18,7 +18,7 @@ import org.w3c.dom.Element;
import com.ibm.icu.text.Collator;
-public class IndexSee extends UAElement implements IIndexSee, Comparable {
+public class IndexSee extends UAElement implements IIndexSee, Comparable<Object> {
public static final String NAME = "see"; //$NON-NLS-1$
public static final String ATTRIBUTE_KEYWORD = "keyword"; //$NON-NLS-1$
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/toc/DocumentFinder.java b/org.eclipse.help/src/org/eclipse/help/internal/toc/DocumentFinder.java
index 07ff4fe4f..4113a26fe 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/toc/DocumentFinder.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/toc/DocumentFinder.java
@@ -64,10 +64,10 @@ public class DocumentFinder {
}
// Find topics in plugin
- Set paths = ResourceLocator.findTopicPaths(pluginDesc, directory,
+ Set<String> paths = ResourceLocator.findTopicPaths(pluginDesc, directory,
locale);
- for (Iterator it = paths.iterator(); it.hasNext();) {
- String href = "/" + pluginID + "/" + (String) it.next(); //$NON-NLS-1$//$NON-NLS-2$
+ for (Iterator<String> it = paths.iterator(); it.hasNext();) {
+ String href = "/" + pluginID + "/" + it.next(); //$NON-NLS-1$//$NON-NLS-2$
href = HrefUtil.normalizeDirectoryPath(href);
result.add(href);
}
@@ -89,11 +89,8 @@ public class DocumentFinder {
+ url.toString() + ".", ioe); //$NON-NLS-1$
return result;
}
- ZipFile zipFile;
- try {
- zipFile = new ZipFile(realZipURL.getFile());
+ try (ZipFile zipFile = new ZipFile(realZipURL.getFile())) {
result = createExtraTopicsFromZipFile(pluginID, zipFile, directory);
- zipFile.close();
} catch (IOException ioe) {
HelpPlugin.logError(
"IOException occurred, when accessing Zip file " //$NON-NLS-1$
@@ -108,8 +105,8 @@ public class DocumentFinder {
String directory) {
String constantHrefSegment = "/" + pluginID + "/"; //$NON-NLS-1$ //$NON-NLS-2$
List<String> result = new ArrayList<>();
- for (Enumeration entriesEnum = zipFile.entries(); entriesEnum.hasMoreElements();) {
- ZipEntry zEntry = (ZipEntry) entriesEnum.nextElement();
+ for (Enumeration<? extends ZipEntry> entriesEnum = zipFile.entries(); entriesEnum.hasMoreElements();) {
+ ZipEntry zEntry = entriesEnum.nextElement();
if (zEntry.isDirectory()) {
continue;
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocAssembler.java b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocAssembler.java
index 249971d30..457bc368b 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocAssembler.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocAssembler.java
@@ -50,14 +50,14 @@ public class TocAssembler {
private Map<String, ITocContribution[]> contributionsByLinkTo;
private Set<ITocContribution> processedContributions;
private Map<String, String[]> requiredAttributes;
- private Set tocsToFilter;
+ private Set<String> tocsToFilter;
public TocAssembler() {
- this.tocsToFilter = new HashSet();
+ this.tocsToFilter = new HashSet<>();
}
- public TocAssembler(Set tocsToFilter) {
+ public TocAssembler(Set<String> tocsToFilter) {
this.tocsToFilter = tocsToFilter;
}
@@ -92,7 +92,7 @@ public class TocAssembler {
* 3. No other toc has a link to this contribution (via "link" element).
*/
private List<TocContribution> getBooks() {
- Map linkedContributionIds = getLinkedContributionIds(contributions);
+ Map<String, String> linkedContributionIds = getLinkedContributionIds(contributions);
List<TocContribution> books = new ArrayList<>();
Iterator<TocContribution> iter = contributions.iterator();
while (iter.hasNext()) {
@@ -139,7 +139,7 @@ public class TocAssembler {
* contributions, i.e. at least one other contribution has a link element
* pointing to it.
*/
- private Map getLinkedContributionIds(List contributions) {
+ private Map<String, String> getLinkedContributionIds(List<TocContribution> contributions) {
if (processor == null) {
processor = new DocumentProcessor();
}
@@ -162,9 +162,9 @@ public class TocAssembler {
}
};
processor.setHandlers(linkFinder);
- ListIterator iter = contributions.listIterator();
+ ListIterator<TocContribution> iter = contributions.listIterator();
while (iter.hasNext()) {
- TocContribution contrib = (TocContribution)iter.next();
+ TocContribution contrib = iter.next();
try {
String id = contrib.getId();
if (!tocsToFilter.contains(id)) {
@@ -189,7 +189,7 @@ public class TocAssembler {
if (contrib != null) {
process(contrib);
if (anchorsByContributionId != null) {
- Set anchors = anchorsByContributionId.get(tocContributionId);
+ Set<String> anchors = anchorsByContributionId.get(tocContributionId);
if (anchors != null) {
return anchors.contains(anchorId);
}
@@ -312,7 +312,7 @@ public class TocAssembler {
return contributions;
}
- private Map getRequiredAttributes() {
+ private Map<String, String[]> getRequiredAttributes() {
if (requiredAttributes == null) {
requiredAttributes = new HashMap<>();
requiredAttributes.put(Toc.NAME, new String[] { Toc.ATTRIBUTE_LABEL });
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocFileParser.java b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocFileParser.java
index b08509d4c..ebd5a938b 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocFileParser.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocFileParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
+ * Copyright (c) 2000, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,9 +28,8 @@ public class TocFileParser extends DefaultHandler {
if (reader == null) {
reader = new DocumentReader();
}
- InputStream in = tocFile.getInputStream();
- if (in != null) {
- try {
+ try (InputStream in = tocFile.getInputStream()) {
+ if (in != null) {
Toc toc = (Toc) reader.read(in);
TocContribution contribution = new TocContribution();
contribution.setCategoryId(tocFile.getCategory());
@@ -41,12 +40,9 @@ public class TocFileParser extends DefaultHandler {
contribution.setToc(toc);
contribution.setPrimary(tocFile.isPrimary());
return contribution;
- } finally {
- in.close();
+ } else {
+ throw new FileNotFoundException();
}
- }
- else {
- throw new FileNotFoundException();
- }
+ }
}
}
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocManager.java b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocManager.java
index 6fbcab5d5..18edf3745 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/toc/TocManager.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/toc/TocManager.java
@@ -64,7 +64,7 @@ public class TocManager {
if (HelpPlugin.DEBUG_TOC) {
System.out.println("Start to build toc for locale " + locale); //$NON-NLS-1$
}
- Set tocsToFilter = getIgnoredTocContributions();
+ Set<String> tocsToFilter = getIgnoredTocContributions();
TocContribution[] raw = getRootTocContributions(locale, tocsToFilter);
TocContribution[] filtered = filterTocContributions(raw, tocsToFilter);
ITocContribution[] ordered = new TocSorter().orderTocContributions(filtered);
@@ -292,7 +292,7 @@ public class TocManager {
* either the contribution's id or its category's id is listed in the
* ignoredTocs, filter the contribution.
*/
- private TocContribution[] filterTocContributions(TocContribution[] unfiltered, Set tocsToFilter) {
+ private TocContribution[] filterTocContributions(TocContribution[] unfiltered, Set<String> tocsToFilter) {
List<TocContribution> filtered = new ArrayList<>();
for (int i=0;i<unfiltered.length;++i) {
if (!tocsToFilter.contains(unfiltered[i].getId()) &&
@@ -303,7 +303,7 @@ public class TocManager {
return filtered.toArray(new TocContribution[filtered.size()]);
}
- private TocContribution[] getRootTocContributions(String locale, Set tocsToFilter) {
+ private TocContribution[] getRootTocContributions(String locale, Set<String> tocsToFilter) {
TocContribution[] contributions = getTocContributionsForToc(locale);
List<TocContribution> unassembled = new ArrayList<>(Arrays.asList(contributions));
TocAssembler assembler = new TocAssembler(tocsToFilter);
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/util/ProductPreferences.java b/org.eclipse.help/src/org/eclipse/help/internal/util/ProductPreferences.java
index ef91601a7..6ac8a72e2 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/util/ProductPreferences.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/util/ProductPreferences.java
@@ -189,7 +189,7 @@ public class ProductPreferences {
* but not present are skipped, and items present but not ordered are added
* at the end.
*/
- public static List getOrderedList(List<String> items, List<String> order) {
+ public static List<String> getOrderedList(List<String> items, List<String> order) {
return getOrderedList(items, order, null, null);
}
@@ -338,27 +338,14 @@ public class ProductPreferences {
if (bundle != null) {
URL url = bundle.getEntry(path);
if (url != null) {
- InputStream in = null;
- try {
- in = url.openStream();
+ try (InputStream in = url.openStream()) {
Properties properties = new Properties();
properties.load(in);
return properties;
- }
- catch (IOException e) {
+ } catch (IOException e) {
// log the fact that it couldn't load it
HelpPlugin.logError("Error opening product's plugin customization file: " + bundleId + "/" + path, e); //$NON-NLS-1$ //$NON-NLS-2$
}
- finally {
- if (in != null) {
- try {
- in.close();
- }
- catch (IOException e) {
- // nothing we can do here
- }
- }
- }
}
}
return null;
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/util/ResourceLocator.java b/org.eclipse.help/src/org/eclipse/help/internal/util/ResourceLocator.java
index fe49730eb..4f7df6833 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/util/ResourceLocator.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/util/ResourceLocator.java
@@ -201,7 +201,7 @@ public class ResourceLocator {
private static ProducerDescriptor findContentProducer(IConfigurationElement [] elements, String refId) {
// try existing ones
- for (Iterator iter = contentProducers.values().iterator(); iter.hasNext();) {
+ for (Iterator<Object> iter = contentProducers.values().iterator(); iter.hasNext();) {
Object obj = iter.next();
if (obj instanceof ProducerDescriptor) {
ProducerDescriptor desc = (ProducerDescriptor) obj;
@@ -284,7 +284,7 @@ public class ResourceLocator {
String pluginID = pluginDesc.getSymbolicName();
Map<String, Object> cache = zipCache;
- ArrayList pathPrefix = getPathPrefix(locale);
+ ArrayList<String> pathPrefix = getPathPrefix(locale);
for (int i = 0; i < pathPrefix.size(); i++) {
@@ -344,7 +344,7 @@ public class ResourceLocator {
*/
public static InputStream openFromPlugin(Bundle pluginDesc, String file, String locale) {
- ArrayList pathPrefix = getPathPrefix(locale);
+ ArrayList<String> pathPrefix = getPathPrefix(locale);
URL flatFileURL = find(pluginDesc, new Path(file), pathPrefix);
if (flatFileURL != null)
try {
@@ -361,11 +361,11 @@ public class ResourceLocator {
* Search the ws, os then nl for a resource. Platform.find can't be used directly with $nl$,
* $os$ or $ws$ becuase the root directory will be searched too early.
*/
- public static URL find(Bundle pluginDesc, IPath flatFilePath, ArrayList pathPrefix) {
+ public static URL find(Bundle pluginDesc, IPath flatFilePath, ArrayList<String> pathPrefix) {
// try to find the actual file.
for (int i = 0; i < pathPrefix.size(); i++) {
- URL url = FileLocator.find(pluginDesc, new Path((String) pathPrefix.get(i) + flatFilePath), null);
+ URL url = FileLocator.find(pluginDesc, new Path(pathPrefix.get(i) + flatFilePath), null);
if (url != null)
return url;
}
@@ -383,7 +383,7 @@ public class ResourceLocator {
* @return an ArrayList that has path prefixes that need to be search. The returned ArrayList
* will have an entry for the root of the plugin.
*/
- public static ArrayList getPathPrefix(String locale) {
+ public static ArrayList<String> getPathPrefix(String locale) {
ArrayList<String> pathPrefix = new ArrayList<>(5);
// TODO add override for ws and os similar to how it's done with locale
// now
@@ -438,15 +438,15 @@ public class ResourceLocator {
private static void findTopicPaths(Bundle pluginDesc, String directory, String locale, Set<String> paths) {
if (directory.endsWith("/")) //$NON-NLS-1$
directory = directory.substring(0, directory.length() - 1);
- ArrayList pathPrefix = getPathPrefix(locale);
+ ArrayList<String> pathPrefix = getPathPrefix(locale);
for (int i = 0; i < pathPrefix.size(); i++) {
String path = pathPrefix.get(i) + directory;
if (path.length() == 0)
path = "/"; //$NON-NLS-1$
- Enumeration entries = pluginDesc.getEntryPaths(path);
+ Enumeration<String> entries = pluginDesc.getEntryPaths(path);
if (entries != null) {
while (entries.hasMoreElements()) {
- String topicPath = (String) entries.nextElement();
+ String topicPath = entries.nextElement();
if (topicPath.endsWith("/")) { //$NON-NLS-1$
findTopicPaths(pluginDesc, topicPath, locale, paths);
} else {
@@ -466,7 +466,7 @@ public class ResourceLocator {
public static String getErrorPath(String pluginId, String file, String locale) {
String resolvedPath = pluginId + '/' + file;
try {
- ArrayList pathPrefix = ResourceLocator.getPathPrefix(locale);
+ ArrayList<String> pathPrefix = ResourceLocator.getPathPrefix(locale);
Bundle bundle = Platform.getBundle(pluginId);
URL rawURL = ResourceLocator.find(bundle, new Path(file), pathPrefix);
URL resolvedURL = FileLocator.resolve(rawURL);
diff --git a/org.eclipse.help/src/org/eclipse/help/internal/util/SequenceResolver.java b/org.eclipse.help/src/org/eclipse/help/internal/util/SequenceResolver.java
index a2eadc339..b6578e9e6 100644
--- a/org.eclipse.help/src/org/eclipse/help/internal/util/SequenceResolver.java
+++ b/org.eclipse.help/src/org/eclipse/help/internal/util/SequenceResolver.java
@@ -230,7 +230,7 @@ public class SequenceResolver<T> {
candidateItems.add(candidates[i].item);
}
for (int i=0;i<candidates.length;++i) {
- Candidate c = candidates[i];
+ Candidate<T> c = candidates[i];
for (int j=0;j<candidates.length;++j) {
c.rank += countPrecedingItems(c.item, candidates[j].src, candidateItems);
}
@@ -241,9 +241,9 @@ public class SequenceResolver<T> {
* Counts the number of elements from the given set that come before
* the given item in the given list.
*/
- private int countPrecedingItems(Object item, List list, Set set) {
+ private int countPrecedingItems(Object item, List<?> list, Set<?> set) {
int count = 0;
- Iterator iter = list.iterator();
+ Iterator<?> iter = list.iterator();
while (iter.hasNext()) {
Object next = iter.next();
if (next.equals(item)) {
@@ -291,7 +291,7 @@ public class SequenceResolver<T> {
public T item;
public boolean isPrimary;
public int rank;
- public List src;
+ public List<?> src;
@Override
public boolean equals(Object obj) {

Back to the top