diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java index 25a1105e3..4d6f93f02 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AbstractFileTypeAnalyzer.java @@ -41,7 +41,7 @@ public abstract class AbstractFileTypeAnalyzer extends AbstractAnalyzer implemen * enabled. */ public AbstractFileTypeAnalyzer() { - String key = Settings.KEYS.getFileAnalyzerEnabledKey(getAnalyzerSettingKey()); + final String key = getAnalyzerEnabledSettingKey(); try { enabled = Settings.getBoolean(key, true); } catch (InvalidSettingException ex) { @@ -82,10 +82,13 @@ public abstract class AbstractFileTypeAnalyzer extends AbstractAnalyzer implemen this.filesMatched = filesMatched; } + /** + * A flag indicating whether or not the analyzer is enabled. + */ private boolean enabled = true; /** - * Get the value of enabled + * Get the value of enabled. * * @return the value of enabled */ @@ -94,7 +97,7 @@ public abstract class AbstractFileTypeAnalyzer extends AbstractAnalyzer implemen } /** - * Set the value of enabled + * Set the value of enabled. * * @param enabled new value of enabled */ @@ -139,14 +142,13 @@ public abstract class AbstractFileTypeAnalyzer extends AbstractAnalyzer implemen /** *

- * Returns the key used in the properties file to reference the analyzer. An example would be the JarAnalyzer where - * the key is "jar". One of the associated properties would be 'analyzer.jar.enabled. + * Returns the setting key to determine if the analyzer is enabled.

* - * @return a short string used to look up configuration properties + * @return the key for the analyzer's enabled property */ - protected abstract String getAnalyzerSettingKey(); -// + protected abstract String getAnalyzerEnabledSettingKey(); +// // /** * Initializes the analyzer. @@ -188,13 +190,14 @@ public abstract class AbstractFileTypeAnalyzer extends AbstractAnalyzer implemen if (!enabled) { return false; } - Set ext = getSupportedExtensions(); + final Set ext = getSupportedExtensions(); if (ext == null) { - String msg = String.format("The '%s%' analyzer is misconfigured and does not have any file extensions; it will be disabled", getName()); + final String msg = String.format("The '%s' analyzer is misconfigured and does not have any file extensions;" + + " it will be disabled", getName()); Logger.getLogger(AbstractFileTypeAnalyzer.class.getName()).log(Level.SEVERE, msg); return false; } else { - boolean match = ext.contains(extension); + final boolean match = ext.contains(extension); if (match) { filesMatched = match; } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java index ed8cddd0d..a36914e11 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/ArchiveAnalyzer.java @@ -140,13 +140,13 @@ public class ArchiveAnalyzer extends AbstractFileTypeAnalyzer { // /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "archive"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_ARCHIVE_ENABLED; } /** diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java index 1a5611d92..4857e8f5d 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzer.java @@ -258,12 +258,12 @@ public class AssemblyAnalyzer extends AbstractFileTypeAnalyzer { } /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "assembly"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED; } } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java index e1f888eff..93d448073 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JarAnalyzer.java @@ -223,13 +223,13 @@ public class JarAnalyzer extends AbstractFileTypeAnalyzer { // /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "jar"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_JAR_ENABLED; } /** @@ -1022,7 +1022,7 @@ public class JarAnalyzer extends AbstractFileTypeAnalyzer { */ private boolean isImportPackage(String key, String value) { final Pattern packageRx = Pattern.compile("^([a-zA-Z0-9_#\\$\\*\\.]+\\s*[,;]\\s*)+([a-zA-Z0-9_#\\$\\*\\.]+\\s*)?$"); - boolean matches = packageRx.matcher(value).matches(); + final boolean matches = packageRx.matcher(value).matches(); return matches && (key.contains("import") || key.contains("include") || value.length() > 10); } diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java index bf059f593..8798978ef 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/JavaScriptAnalyzer.java @@ -29,6 +29,7 @@ import java.util.regex.Pattern; import org.owasp.dependencycheck.Engine; import org.owasp.dependencycheck.analyzer.exception.AnalysisException; import org.owasp.dependencycheck.dependency.Dependency; +import org.owasp.dependencycheck.utils.Settings; /** * @@ -88,13 +89,13 @@ public class JavaScriptAnalyzer extends AbstractFileTypeAnalyzer { } // /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "javascript"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_JAVASCRIPT_ENABLED; } /** diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NexusAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NexusAnalyzer.java index 8babfa92e..648ab7835 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NexusAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NexusAnalyzer.java @@ -111,13 +111,13 @@ public class NexusAnalyzer extends AbstractFileTypeAnalyzer { } /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "nexus"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_NEXUS_ENABLED; } /** diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java index 529d25fac..14109dede 100644 --- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java +++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/analyzer/NuspecAnalyzer.java @@ -31,6 +31,7 @@ import org.owasp.dependencycheck.data.nuget.NuspecParser; import org.owasp.dependencycheck.data.nuget.XPathNuspecParser; import org.owasp.dependencycheck.dependency.Confidence; import org.owasp.dependencycheck.dependency.Dependency; +import org.owasp.dependencycheck.utils.Settings; /** * Analyzer which will parse a Nuspec file to gather module information. @@ -79,13 +80,13 @@ public class NuspecAnalyzer extends AbstractFileTypeAnalyzer { } /** - * Returns the key used in the properties file to reference the analyzer. + * Returns the key used in the properties file to reference the analyzer's enabled property. * - * @return a short string used to look up configuration properties + * @return the analyzer's enabled property setting key */ @Override - protected String getAnalyzerSettingKey() { - return "nexus"; + protected String getAnalyzerEnabledSettingKey() { + return Settings.KEYS.ANALYZER_NUSPEC_ENABLED; } /** diff --git a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java index 7e300bf35..19c1f57ed 100644 --- a/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java +++ b/dependency-check-core/src/test/java/org/owasp/dependencycheck/analyzer/AssemblyAnalyzerTest.java @@ -54,7 +54,7 @@ public class AssemblyAnalyzerTest { public void setUp() { try { analyzer = new AssemblyAnalyzer(); - analyzer.setEnabled(true); + analyzer.supportsExtension("dll"); analyzer.initialize(); } catch (Exception e) { LOGGER.log(Level.WARNING, "Exception setting up AssemblyAnalyzer. Tests will be incomplete", e);