diff --git a/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Check.java b/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Check.java
index 4c7effa61..cfefeb27c 100644
--- a/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Check.java
+++ b/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Check.java
@@ -852,67 +852,26 @@ public class Check extends Update {
@Override
protected void populateSettings() throws BuildException {
super.populateSettings();
- if (autoUpdate != null) {
- Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- }
- if (suppressionFile != null && !suppressionFile.isEmpty()) {
- Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
- }
-
- if (jarAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
- }
- if (pyDistributionAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_PYTHON_DISTRIBUTION_ENABLED, pyDistributionAnalyzerEnabled);
- }
- if (pyPackageAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_PYTHON_PACKAGE_ENABLED, pyPackageAnalyzerEnabled);
- }
- if (rubygemsAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_RUBY_GEMSPEC_ENABLED, rubygemsAnalyzerEnabled);
- }
- if (opensslAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_OPENSSL_ENABLED, opensslAnalyzerEnabled);
- }
- if (cmakeAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_CMAKE_ENABLED, cmakeAnalyzerEnabled);
- }
- if (autoconfAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_AUTOCONF_ENABLED, autoconfAnalyzerEnabled);
- }
- if (composerAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_COMPOSER_LOCK_ENABLED, composerAnalyzerEnabled);
- }
- if (nodeAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NODE_PACKAGE_ENABLED, nodeAnalyzerEnabled);
- }
- if (nuspecAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
- }
- if (centralAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
- }
- if (nexusAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
- }
- if (archiveAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
- }
- if (assemblyAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
- }
- if (nexusUrl != null && !nexusUrl.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- }
- if (nexusUsesProxy != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
- }
- if (zipExtensions != null && !zipExtensions.isEmpty()) {
- Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
- }
- if (pathToMono != null && !pathToMono.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- }
+ Settings.setBooleanIfNotNull(Settings.KEYS.AUTO_UPDATE, autoUpdate);
+ Settings.setStringIfNotEmpty(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_PYTHON_DISTRIBUTION_ENABLED, pyDistributionAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_PYTHON_PACKAGE_ENABLED, pyPackageAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_RUBY_GEMSPEC_ENABLED, rubygemsAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_OPENSSL_ENABLED, opensslAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_CMAKE_ENABLED, cmakeAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_AUTOCONF_ENABLED, autoconfAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_COMPOSER_LOCK_ENABLED, composerAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NODE_PACKAGE_ENABLED, nodeAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
}
/**
diff --git a/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Update.java b/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Update.java
index c5bd4235a..b25979f67 100644
--- a/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Update.java
+++ b/dependency-check-ant/src/main/java/org/owasp/dependencycheck/taskdefs/Update.java
@@ -409,48 +409,20 @@ public class Update extends Purge {
@Override
protected void populateSettings() throws BuildException {
super.populateSettings();
- if (proxyServer != null && !proxyServer.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
- }
- if (proxyPort != null && !proxyPort.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
- }
- if (proxyUsername != null && !proxyUsername.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUsername);
- }
- if (proxyPassword != null && !proxyPassword.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
- }
- if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- }
- if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- }
- if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- }
- if (connectionString != null && !connectionString.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- }
- if (databaseUser != null && !databaseUser.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- }
- if (databasePassword != null && !databasePassword.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- }
- if (cveUrl12Modified != null && !cveUrl12Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
- }
- if (cveUrl20Modified != null && !cveUrl20Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
- }
- if (cveUrl12Base != null && !cveUrl12Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
- }
- if (cveUrl20Base != null && !cveUrl20Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_SERVER, proxyServer);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PORT, proxyPort);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_USERNAME, proxyUsername);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_USER, databaseUser);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_PASSWORD, databasePassword);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
if (cveValidForHours != null) {
if (cveValidForHours >= 0) {
Settings.setInt(Settings.KEYS.CVE_CHECK_VALID_FOR_HOURS, cveValidForHours);
diff --git a/dependency-check-cli/src/main/java/org/owasp/dependencycheck/App.java b/dependency-check-cli/src/main/java/org/owasp/dependencycheck/App.java
index c64ed5c97..06200458e 100644
--- a/dependency-check-cli/src/main/java/org/owasp/dependencycheck/App.java
+++ b/dependency-check-cli/src/main/java/org/owasp/dependencycheck/App.java
@@ -309,27 +309,13 @@ public class App {
Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDir.getAbsolutePath());
}
Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- if (proxyServer != null && !proxyServer.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
- }
- if (proxyPort != null && !proxyPort.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
- }
- if (proxyUser != null && !proxyUser.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUser);
- }
- if (proxyPass != null && !proxyPass.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPass);
- }
- if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- }
- if (suppressionFile != null && !suppressionFile.isEmpty()) {
- Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
- }
- if (cveValidForHours != null) {
- Settings.setInt(Settings.KEYS.CVE_CHECK_VALID_FOR_HOURS, cveValidForHours);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_SERVER, proxyServer);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PORT, proxyPort);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_USERNAME, proxyUser);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PASSWORD, proxyPass);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
+ Settings.setStringIfNotEmpty(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
+ Settings.setIntIfNotNull(Settings.KEYS.CVE_CHECK_VALID_FOR_HOURS, cveValidForHours);
//File Type Analyzer Settings
Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, !cli.isJarDisabled());
@@ -344,34 +330,18 @@ public class App {
Settings.setBoolean(Settings.KEYS.ANALYZER_COMPOSER_LOCK_ENABLED, !cli.isComposerDisabled());
Settings.setBoolean(Settings.KEYS.ANALYZER_NODE_PACKAGE_ENABLED, !cli.isNodeJsDisabled());
Settings.setBoolean(Settings.KEYS.ANALYZER_RUBY_GEMSPEC_ENABLED, !cli.isRubyGemspecDisabled());
-
Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, !cli.isCentralDisabled());
Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, !cli.isNexusDisabled());
- if (nexusUrl != null && !nexusUrl.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
- if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- }
- if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- }
- if (connectionString != null && !connectionString.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- }
- if (databaseUser != null && !databaseUser.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- }
- if (databasePassword != null && !databasePassword.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- }
- if (additionalZipExtensions != null && !additionalZipExtensions.isEmpty()) {
- Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, additionalZipExtensions);
- }
- if (pathToMono != null && !pathToMono.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_USER, databaseUser);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_PASSWORD, databasePassword);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, additionalZipExtensions);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
+
if (cveBase12 != null && !cveBase12.isEmpty()) {
Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveBase12);
Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveBase20);
diff --git a/dependency-check-core/src/main/java/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.java b/dependency-check-core/src/main/java/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.java
index 7b482fae4..4f2b702ce 100644
--- a/dependency-check-core/src/main/java/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.java
+++ b/dependency-check-core/src/main/java/org/owasp/dependencycheck/agent/DependencyCheckScanAgent.java
@@ -898,67 +898,28 @@ public class DependencyCheckScanAgent {
}
Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
-
- if (proxyServer != null && !proxyServer.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_SERVER, proxyServer);
- }
- if (proxyPort != null && !proxyPort.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PORT, proxyPort);
- }
- if (proxyUsername != null && !proxyUsername.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_USERNAME, proxyUsername);
- }
- if (proxyPassword != null && !proxyPassword.isEmpty()) {
- Settings.setString(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
- }
- if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- }
- if (suppressionFile != null && !suppressionFile.isEmpty()) {
- Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_SERVER, proxyServer);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PORT, proxyPort);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_USERNAME, proxyUsername);
+ Settings.setStringIfNotEmpty(Settings.KEYS.PROXY_PASSWORD, proxyPassword);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
+ Settings.setStringIfNotEmpty(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
- if (centralUrl != null && !centralUrl.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_CENTRAL_URL, centralUrl);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_CENTRAL_URL, centralUrl);
Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
- if (nexusUrl != null && !nexusUrl.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
- if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- }
- if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- }
- if (connectionString != null && !connectionString.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- }
- if (databaseUser != null && !databaseUser.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- }
- if (databasePassword != null && !databasePassword.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- }
- if (zipExtensions != null && !zipExtensions.isEmpty()) {
- Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
- }
- if (cveUrl12Modified != null && !cveUrl12Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
- }
- if (cveUrl20Modified != null && !cveUrl20Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
- }
- if (cveUrl12Base != null && !cveUrl12Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
- }
- if (cveUrl20Base != null && !cveUrl20Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
- }
- if (pathToMono != null && !pathToMono.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_USER, databaseUser);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_PASSWORD, databasePassword);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
}
/**
diff --git a/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/BaseDependencyCheckMojo.java b/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/BaseDependencyCheckMojo.java
index 04f0674cf..d82c41eee 100644
--- a/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/BaseDependencyCheckMojo.java
+++ b/dependency-check-maven/src/main/java/org/owasp/dependencycheck/maven/BaseDependencyCheckMojo.java
@@ -589,9 +589,8 @@ public abstract class BaseDependencyCheckMojo extends AbstractMojo implements Ma
}
}
}
- if (autoUpdate != null) {
- Settings.setBoolean(Settings.KEYS.AUTO_UPDATE, autoUpdate);
- }
+ Settings.setBooleanIfNotNull(Settings.KEYS.AUTO_UPDATE, autoUpdate);
+
if (externalReport != null) {
getLog().warn("The 'externalReport' option was set; this configuration option has been removed. "
+ "Please update the dependency-check-maven plugin's configuration");
@@ -606,91 +605,39 @@ public abstract class BaseDependencyCheckMojo extends AbstractMojo implements Ma
Settings.setString(Settings.KEYS.PROXY_PORT, Integer.toString(proxy.getPort()));
final String userName = proxy.getUsername();
final String password = proxy.getPassword();
- if (userName != null) {
- Settings.setString(Settings.KEYS.PROXY_USERNAME, userName);
- }
- if (password != null) {
- Settings.setString(Settings.KEYS.PROXY_PASSWORD, password);
- }
-
+ Settings.setStringIfNotNull(Settings.KEYS.PROXY_USERNAME, userName);
+ Settings.setStringIfNotNull(Settings.KEYS.PROXY_PASSWORD, password);
}
- if (connectionTimeout != null && !connectionTimeout.isEmpty()) {
- Settings.setString(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
- }
- if (suppressionFile != null && !suppressionFile.isEmpty()) {
- Settings.setString(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.CONNECTION_TIMEOUT, connectionTimeout);
+ Settings.setStringIfNotEmpty(Settings.KEYS.SUPPRESSION_FILE, suppressionFile);
//File Type Analyzer Settings
- if (jarAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
- }
- if (nuspecAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
- }
- if (centralAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
- }
- if (nexusAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
- }
- if (nexusUrl != null && !nexusUrl.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
- }
- if (nexusUsesProxy != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
- }
- if (assemblyAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
- }
- if (archiveAnalyzerEnabled != null) {
- Settings.setBoolean(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
- }
- if (zipExtensions != null && !zipExtensions.isEmpty()) {
- Settings.setString(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
- }
-
- if (pathToMono != null && !pathToMono.isEmpty()) {
- Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
- }
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_JAR_ENABLED, jarAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NUSPEC_ENABLED, nuspecAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_CENTRAL_ENABLED, centralAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NEXUS_ENABLED, nexusAnalyzerEnabled);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_NEXUS_URL, nexusUrl);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_NEXUS_USES_PROXY, nexusUsesProxy);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_ASSEMBLY_ENABLED, assemblyAnalyzerEnabled);
+ Settings.setBooleanIfNotNull(Settings.KEYS.ANALYZER_ARCHIVE_ENABLED, archiveAnalyzerEnabled);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ADDITIONAL_ZIP_EXTENSIONS, zipExtensions);
+ Settings.setStringIfNotEmpty(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
//Database configuration
- if (databaseDriverName != null && !databaseDriverName.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
- }
- if (databaseDriverPath != null && !databaseDriverPath.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
- }
- if (connectionString != null && !connectionString.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
- }
- if (databaseUser != null && !databaseUser.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_USER, databaseUser);
- }
- if (databasePassword != null && !databasePassword.isEmpty()) {
- Settings.setString(Settings.KEYS.DB_PASSWORD, databasePassword);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_NAME, databaseDriverName);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_DRIVER_PATH, databaseDriverPath);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_CONNECTION_STRING, connectionString);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_USER, databaseUser);
+ Settings.setStringIfNotEmpty(Settings.KEYS.DB_PASSWORD, databasePassword);
- if (dataDirectory != null && !dataDirectory.isEmpty()) {
- Settings.setString(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.DATA_DIRECTORY, dataDirectory);
- if (cveUrl12Modified != null && !cveUrl12Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
- }
- if (cveUrl20Modified != null && !cveUrl20Modified.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
- }
- if (cveUrl12Base != null && !cveUrl12Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
- }
- if (cveUrl20Base != null && !cveUrl20Base.isEmpty()) {
- Settings.setString(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
- }
- if (cveValidForHours != null) {
- Settings.setInt(Settings.KEYS.CVE_CHECK_VALID_FOR_HOURS, cveValidForHours);
- }
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_12_URL, cveUrl12Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_MODIFIED_20_URL, cveUrl20Modified);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_1_2, cveUrl12Base);
+ Settings.setStringIfNotEmpty(Settings.KEYS.CVE_SCHEMA_2_0, cveUrl20Base);
+ Settings.setIntIfNotNull(Settings.KEYS.CVE_CHECK_VALID_FOR_HOURS, cveValidForHours);
}
/**
diff --git a/dependency-check-utils/src/main/java/org/owasp/dependencycheck/utils/Settings.java b/dependency-check-utils/src/main/java/org/owasp/dependencycheck/utils/Settings.java
index 166800463..b294b04cf 100644
--- a/dependency-check-utils/src/main/java/org/owasp/dependencycheck/utils/Settings.java
+++ b/dependency-check-utils/src/main/java/org/owasp/dependencycheck/utils/Settings.java
@@ -444,6 +444,30 @@ public final class Settings {
LOGGER.debug("Setting: {}='{}'", key, value);
}
+ /**
+ * Sets a property value only if the value is not null.
+ *
+ * @param key the key for the property
+ * @param value the value for the property
+ */
+ public static void setStringIfNotNull(String key, String value) {
+ if (null != value) {
+ setString(key, value);
+ }
+ }
+
+ /**
+ * Sets a property value only if the value is not null and not empty.
+ *
+ * @param key the key for the property
+ * @param value the value for the property
+ */
+ public static void setStringIfNotEmpty(String key, String value) {
+ if (null != value && !value.isEmpty()) {
+ setString(key, value);
+ }
+ }
+
/**
* Sets a property value.
*
@@ -454,6 +478,18 @@ public final class Settings {
setString(key, Boolean.toString(value));
}
+ /**
+ * Sets a property value only if the value is not null.
+ *
+ * @param key the key for the property
+ * @param value the value for the property
+ */
+ public static void setBooleanIfNotNull(String key, Boolean value) {
+ if (null != value) {
+ setBoolean(key, value);
+ }
+ }
+
/**
* Sets a property value.
*
@@ -465,6 +501,18 @@ public final class Settings {
LOGGER.debug("Setting: {}='{}'", key, value);
}
+ /**
+ * Sets a property value only if the value is not null.
+ *
+ * @param key the key for the property
+ * @param value the value for the property
+ */
+ public static void setIntIfNotNull(String key, Integer value) {
+ if (null != value) {
+ setInt(key, value);
+ }
+ }
+
/**
* Merges a new properties file into the current properties. This method allows for the loading of a user provided properties
* file.
diff --git a/dependency-check-utils/src/test/java/org/owasp/dependencycheck/utils/SettingsTest.java b/dependency-check-utils/src/test/java/org/owasp/dependencycheck/utils/SettingsTest.java
index 63caba59a..03a545816 100644
--- a/dependency-check-utils/src/test/java/org/owasp/dependencycheck/utils/SettingsTest.java
+++ b/dependency-check-utils/src/test/java/org/owasp/dependencycheck/utils/SettingsTest.java
@@ -77,6 +77,32 @@ public class SettingsTest extends BaseTest {
Assert.assertEquals(expResults, value);
}
+ /**
+ * Test of setStringIfNotNull method, of class Settings.
+ */
+ @Test
+ public void testSetStringIfNotNull() {
+ String key = "nullableProperty";
+ String value = "someValue";
+ Settings.setString(key, value);
+ Settings.setStringIfNotNull(key, null); // NO-OP
+ String expResults = Settings.getString(key);
+ Assert.assertEquals(expResults, value);
+ }
+
+ /**
+ * Test of setStringIfNotNull method, of class Settings.
+ */
+ @Test
+ public void testSetStringIfNotEmpty() {
+ String key = "optionalProperty";
+ String value = "someValue";
+ Settings.setString(key, value);
+ Settings.setStringIfNotEmpty(key, ""); // NO-OP
+ String expResults = Settings.getString(key);
+ Assert.assertEquals(expResults, value);
+ }
+
/**
* Test of getString method, of class Settings.
*/