diff --git a/build.gradle b/build.gradle
index ec8f7242..46d7cd78 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ plugins {
}
group = "com.marklogic"
-version = "4.3.1"
+version = "4.3.2"
sourceCompatibility = "8"
targetCompatibility = "8"
@@ -20,13 +20,12 @@ repositories {
dependencies {
api 'com.marklogic:ml-javaclient-util:4.3.0'
- api 'org.springframework:spring-web:5.3.9'
- // Match the version of what Java Client 5.5.0 expects
- api 'com.fasterxml.jackson.core:jackson-databind:2.11.1'
+ api 'org.springframework:spring-web:5.3.18'
+ api 'com.fasterxml.jackson.core:jackson-databind:2.13.2.2'
implementation 'jaxen:jaxen:1.2.0'
implementation 'org.apache.httpcomponents:httpclient:4.5.13'
- implementation 'org.jdom:jdom2:2.0.6'
+ implementation 'org.jdom:jdom2:2.0.6.1'
// Forcing httpclient to use this to address https://snyk.io/vuln/SNYK-JAVA-COMMONSCODEC-561518
implementation 'commons-codec:commons-codec:1.15'
@@ -35,7 +34,7 @@ dependencies {
implementation "org.apache.commons:commons-lang3:3.12.0"
// For PreviewInterceptor; can be excluded if that feature is not used
- implementation("com.flipkart.zjsonpatch:zjsonpatch:0.4.11") {
+ implementation("com.flipkart.zjsonpatch:zjsonpatch:0.4.12") {
// Prefer the api version declared above
exclude module: "jackson-databind"
}
@@ -43,21 +42,21 @@ dependencies {
// Required for Java 11
implementation "javax.xml.bind:jaxb-api:2.3.1"
implementation "com.sun.xml.bind:jaxb-core:2.3.0.1"
- implementation "com.sun.xml.bind:jaxb-impl:2.3.3"
+ implementation "com.sun.xml.bind:jaxb-impl:2.3.6"
// Don't want to include this in the published jar, just the executable jar
- compileOnly "com.beust:jcommander:1.78"
- compileOnly "ch.qos.logback:logback-classic:1.2.4"
+ compileOnly "com.beust:jcommander:1.82"
+ compileOnly "ch.qos.logback:logback-classic:1.2.11"
testImplementation "org.junit.jupiter:junit-jupiter:5.7.2"
- testImplementation 'org.springframework:spring-test:5.3.9'
+ testImplementation 'org.springframework:spring-test:5.3.18'
testImplementation 'commons-io:commons-io:2.11.0'
testImplementation 'xmlunit:xmlunit:1.6'
// Forcing Spring to use logback for testing instead of commons-logging
- testImplementation "ch.qos.logback:logback-classic:1.2.4"
- testImplementation "org.slf4j:jcl-over-slf4j:1.7.31"
- testImplementation "org.slf4j:slf4j-api:1.7.31"
+ testImplementation "ch.qos.logback:logback-classic:1.2.11"
+ testImplementation "org.slf4j:jcl-over-slf4j:1.7.36"
+ testImplementation "org.slf4j:slf4j-api:1.7.36"
}
// This ensures that Gradle includes in the published jar any non-java files under src/main/java
diff --git a/pom.xml b/pom.xml
index f90821b9..a9ad26fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@ It is not intended to be used to build this project.
4.0.0
com.marklogic
ml-app-deployer
- 4.3.1
+ 4.3.2
com.marklogic:ml-app-deployer
Java client for the MarkLogic REST Management API and for deploying applications to MarkLogic
https://github.com/marklogic-community/ml-app-deployer
@@ -46,13 +46,13 @@ It is not intended to be used to build this project.
org.springframework
spring-web
- 5.3.9
+ 5.3.18
compile
com.fasterxml.jackson.core
jackson-databind
- 2.11.1
+ 2.13.2.2
compile
@@ -70,7 +70,7 @@ It is not intended to be used to build this project.
org.jdom
jdom2
- 2.0.6
+ 2.0.6.1
runtime
@@ -88,7 +88,7 @@ It is not intended to be used to build this project.
com.flipkart.zjsonpatch
zjsonpatch
- 0.4.11
+ 0.4.12
runtime
@@ -112,7 +112,7 @@ It is not intended to be used to build this project.
com.sun.xml.bind
jaxb-impl
- 2.3.3
+ 2.3.6
runtime
diff --git a/src/main/java/com/marklogic/appdeployer/DefaultAppConfigFactory.java b/src/main/java/com/marklogic/appdeployer/DefaultAppConfigFactory.java
index a50da63d..23a75bc7 100644
--- a/src/main/java/com/marklogic/appdeployer/DefaultAppConfigFactory.java
+++ b/src/main/java/com/marklogic/appdeployer/DefaultAppConfigFactory.java
@@ -457,9 +457,7 @@ public void initialize() {
logger.info("Databases that will have their forest(s) created on a single host: " + prop);
String[] names = prop.split(",");
Set set = new HashSet<>();
- for (String name : names) {
- set.add(name);
- }
+ set.addAll(Arrays.asList(names));
config.setDatabasesWithForestsOnOneHost(set);
});
@@ -904,9 +902,7 @@ protected Map> buildMapOfListsFromDelimitedString(String st
String dbName = tokens[i];
String[] hostNames = tokens[i + 1].split("\\|");
List names = new ArrayList<>();
- for (String name : hostNames) {
- names.add(name);
- }
+ names.addAll(Arrays.asList(hostNames));
map.put(dbName, names);
}
return map;
diff --git a/src/main/java/com/marklogic/appdeployer/cli/Main.java b/src/main/java/com/marklogic/appdeployer/cli/Main.java
index 7aabe942..7dfe8f15 100644
--- a/src/main/java/com/marklogic/appdeployer/cli/Main.java
+++ b/src/main/java/com/marklogic/appdeployer/cli/Main.java
@@ -102,11 +102,8 @@ private static PropertySource buildPropertySource(Options options) throws IOExce
if (logger.isInfoEnabled()) {
logger.info("Reading properties from file path: " + propertiesFilePath);
}
- FileInputStream fis = new FileInputStream(propertiesFilePath);
- try {
+ try (FileInputStream fis = new FileInputStream(propertiesFilePath)) {
props.load(fis);
- } finally {
- fis.close();
}
// Dynamic params override what's in the properties file
diff --git a/src/main/java/com/marklogic/appdeployer/command/AbstractCommand.java b/src/main/java/com/marklogic/appdeployer/command/AbstractCommand.java
index d7fce93b..39f12ccc 100644
--- a/src/main/java/com/marklogic/appdeployer/command/AbstractCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/AbstractCommand.java
@@ -75,9 +75,7 @@ public void setFilenamesToIgnore(String... filenames) {
} else {
set = new HashSet<>();
}
- for (String f : filenames) {
- set.add(f);
- }
+ set.addAll(Arrays.asList(filenames));
rff.setFilenamesToIgnore(set);
} else {
logger.warn("resourceFilenameFilter is not an instanceof ResourceFilenameFilter, so unable to set resource filenames to ignore");
@@ -509,7 +507,10 @@ protected void setIncrementalMode(boolean incrementalMode) {
* within the directory should be associated with. But starting in 3.16.0, if the name of the directory doesn't
* match that of an existing database, then a check is made to see if there's a database file in the given ConfigDir
* that has the same name, minus its extension, as the database directory name. If so, then the database-name is
- * extracted from that file and used as the database name. If not, an exception is thrown.
+ * extracted from that file and used as the database name. If not, a warning is logged and null is returned.
+ * Previously, an exception was thrown if the database-name could not be determined, but this raised problems for
+ * users that had directory names like ".svn" that they could not easily remove (and we can't eagerly ignore certain
+ * names since something like ".svn" is a valid ML database name).
*
* @param context
* @param configDir
@@ -538,8 +539,10 @@ protected String determineDatabaseNameForDatabaseResourceDirectory(CommandContex
}
}
- throw new RuntimeException("Could not determine database to associate with database resource directory: " +
- databaseResourceDir);
+ logger.warn("Could not determine database to associate with database resource directory: " +
+ databaseResourceDir + "; will not process any resource files in that directory");
+
+ return null;
}
public void setPayloadTokenReplacer(PayloadTokenReplacer payloadTokenReplacer) {
diff --git a/src/main/java/com/marklogic/appdeployer/command/CommandMapBuilder.java b/src/main/java/com/marklogic/appdeployer/command/CommandMapBuilder.java
index 5373a2d8..6a3cf7b3 100644
--- a/src/main/java/com/marklogic/appdeployer/command/CommandMapBuilder.java
+++ b/src/main/java/com/marklogic/appdeployer/command/CommandMapBuilder.java
@@ -92,7 +92,7 @@ public List getCommandsForReplicaCluster() {
}
private void addCommandsThatDoNotWriteToDatabases(Map> map) {
- List clusterCommands = new ArrayList();
+ List clusterCommands = new ArrayList<>();
clusterCommands.add(new ModifyLocalClusterCommand());
map.put("mlClusterCommands", clusterCommands);
@@ -100,27 +100,27 @@ private void addCommandsThatDoNotWriteToDatabases(Map> map
configurationCommands.add(new DeployConfigurationsCommand());
map.put("mlConfigurationCommands", configurationCommands);
- List dbCommands = new ArrayList();
+ List dbCommands = new ArrayList<>();
dbCommands.add(new DeployOtherDatabasesCommand());
map.put("mlDatabaseCommands", dbCommands);
- List forestCommands = new ArrayList();
+ List forestCommands = new ArrayList<>();
forestCommands.add(new DeployCustomForestsCommand());
map.put("mlForestCommands", forestCommands);
- List replicaCommands = new ArrayList();
+ List replicaCommands = new ArrayList<>();
replicaCommands.add(new ConfigureForestReplicasCommand());
map.put("mlForestReplicaCommands", replicaCommands);
- List groupCommands = new ArrayList();
+ List groupCommands = new ArrayList<>();
groupCommands.add(new DeployGroupsCommand());
map.put("mlGroupCommands", groupCommands);
- List hostCommands = new ArrayList();
+ List hostCommands = new ArrayList<>();
hostCommands.add(new AssignHostsToGroupsCommand());
map.put("mlHostCommands", hostCommands);
- List mimetypeCommands = new ArrayList();
+ List mimetypeCommands = new ArrayList<>();
mimetypeCommands.add(new DeployMimetypesCommand());
map.put("mlMimetypeCommands", mimetypeCommands);
@@ -137,7 +137,7 @@ private void addCommandsThatDoNotWriteToDatabases(Map> map
restApiCommands.add(new DeployRestApiServersCommand());
map.put("mlRestApiCommands", restApiCommands);
- List securityCommands = new ArrayList();
+ List securityCommands = new ArrayList<>();
securityCommands.add(new DeployRolesCommand());
securityCommands.add(new DeployUsersCommand());
securityCommands.add(new DeployAmpsCommand());
@@ -157,20 +157,20 @@ private void addCommandsThatDoNotWriteToDatabases(Map> map
serverCommands.add(new UpdateRestApiServersCommand());
map.put("mlServerCommands", serverCommands);
- List taskCommands = new ArrayList();
+ List taskCommands = new ArrayList<>();
taskCommands.add(new DeployScheduledTasksCommand());
taskCommands.add(new UpdateTaskServerCommand());
map.put("mlTaskCommands", taskCommands);
}
private void addCommandsThatWriteToDatabases(Map> map) {
- List alertCommands = new ArrayList();
+ List alertCommands = new ArrayList<>();
alertCommands.add(new DeployAlertConfigsCommand());
alertCommands.add(new DeployAlertActionsCommand());
alertCommands.add(new DeployAlertRulesCommand());
map.put("mlAlertCommands", alertCommands);
- List cpfCommands = new ArrayList();
+ List cpfCommands = new ArrayList<>();
cpfCommands.add(new DeployCpfConfigsCommand());
cpfCommands.add(new DeployDomainsCommand());
cpfCommands.add(new DeployPipelinesCommand());
@@ -180,7 +180,7 @@ private void addCommandsThatWriteToDatabases(Map> map) {
dataCommands.add(new LoadDataCommand());
map.put("mlDataCommands", dataCommands);
- List flexrepCommands = new ArrayList();
+ List flexrepCommands = new ArrayList<>();
flexrepCommands.add(new DeployConfigsCommand());
flexrepCommands.add(new DeployTargetsCommand());
flexrepCommands.add(new DeployFlexrepCommand());
@@ -201,11 +201,11 @@ private void addCommandsThatWriteToDatabases(Map> map) {
temporalCommands.add(new DeployTemporalCollectionsLSQTCommand());
map.put("mlTemporalCommands", temporalCommands);
- List triggerCommands = new ArrayList();
+ List triggerCommands = new ArrayList<>();
triggerCommands.add(new DeployTriggersCommand());
map.put("mlTriggerCommands", triggerCommands);
- List viewCommands = new ArrayList();
+ List viewCommands = new ArrayList<>();
viewCommands.add(new DeployViewSchemasCommand());
map.put("mlViewCommands", viewCommands);
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/ResourceFilenameFilter.java b/src/main/java/com/marklogic/appdeployer/command/ResourceFilenameFilter.java
index d554b51c..0021afa6 100644
--- a/src/main/java/com/marklogic/appdeployer/command/ResourceFilenameFilter.java
+++ b/src/main/java/com/marklogic/appdeployer/command/ResourceFilenameFilter.java
@@ -3,6 +3,7 @@
import com.marklogic.client.ext.helper.LoggingObject;
import java.io.File;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Pattern;
@@ -38,9 +39,7 @@ public ResourceFilenameFilter(ResourceFileManager resourceFileManager) {
public ResourceFilenameFilter(String... filenamesToIgnore) {
this();
this.filenamesToIgnore = new HashSet<>();
- for (String f : filenamesToIgnore) {
- this.filenamesToIgnore.add(f);
- }
+ this.filenamesToIgnore.addAll(Arrays.asList(filenamesToIgnore));
}
public ResourceFilenameFilter(Set filenamesToIgnore) {
diff --git a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertActionsCommand.java b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertActionsCommand.java
index 277a5951..306c22c2 100644
--- a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertActionsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertActionsCommand.java
@@ -35,7 +35,9 @@ public void execute(CommandContext context) {
deployActions(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployActions(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployActions(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertConfigsCommand.java b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertConfigsCommand.java
index f4986353..95fd13fa 100644
--- a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertConfigsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertConfigsCommand.java
@@ -26,7 +26,9 @@ public void execute(CommandContext context) {
deployAlertConfigs(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployAlertConfigs(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployAlertConfigs(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertRulesCommand.java b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertRulesCommand.java
index 6911c56f..9b40002d 100644
--- a/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertRulesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/alert/DeployAlertRulesCommand.java
@@ -1,7 +1,5 @@
package com.marklogic.appdeployer.command.alert;
-import java.io.File;
-
import com.marklogic.appdeployer.AppConfig;
import com.marklogic.appdeployer.ConfigDir;
import com.marklogic.appdeployer.command.AbstractCommand;
@@ -28,7 +26,9 @@ public void execute(CommandContext context) {
deployRules(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployRules(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployRules(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/databases/DeployDatabaseCommand.java b/src/main/java/com/marklogic/appdeployer/command/databases/DeployDatabaseCommand.java
index f6fdfa31..5d60138e 100644
--- a/src/main/java/com/marklogic/appdeployer/command/databases/DeployDatabaseCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/databases/DeployDatabaseCommand.java
@@ -8,7 +8,6 @@
import com.marklogic.appdeployer.command.UndoableCommand;
import com.marklogic.appdeployer.command.forests.DeployForestsCommand;
import com.marklogic.mgmt.PayloadParser;
-import com.marklogic.mgmt.SaveReceipt;
import com.marklogic.mgmt.api.database.Database;
import com.marklogic.mgmt.resource.databases.DatabaseManager;
diff --git a/src/main/java/com/marklogic/appdeployer/command/databases/DeployOtherDatabasesCommand.java b/src/main/java/com/marklogic/appdeployer/command/databases/DeployOtherDatabasesCommand.java
index 75fd9119..36ead363 100644
--- a/src/main/java/com/marklogic/appdeployer/command/databases/DeployOtherDatabasesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/databases/DeployOtherDatabasesCommand.java
@@ -249,7 +249,7 @@ protected List mergeDatabasePlanFiles(CommandContext context, Data
ObjectReader objectReader = ObjectMapperFactory.getObjectMapper().readerFor(Database.class);
List databasePlanList = new ArrayList<>();
- databasePlans.getDatabasePlanMap().values().forEach(ref -> databasePlanList.add(ref));
+ databasePlanList.addAll(databasePlans.getDatabasePlanMap().values());
DatabasePlan testDatabasePlan = null;
diff --git a/src/main/java/com/marklogic/appdeployer/command/databases/DeploySubDatabasesCommand.java b/src/main/java/com/marklogic/appdeployer/command/databases/DeploySubDatabasesCommand.java
index e14c6aa3..63d8f075 100644
--- a/src/main/java/com/marklogic/appdeployer/command/databases/DeploySubDatabasesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/databases/DeploySubDatabasesCommand.java
@@ -37,7 +37,7 @@ public void execute(CommandContext context) {
}
if (subdbDir.exists()) {
- List subDbNames = new ArrayList();
+ List subDbNames = new ArrayList<>();
for (File subDatabaseFile : listFilesInDirectory(subdbDir)) {
logger.info(format("Processing sub-database for %s found in file: %s", superDatabaseName, subDatabaseFile.getAbsolutePath()));
diff --git a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployConfigsCommand.java b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployConfigsCommand.java
index df89f96f..4fd913e0 100644
--- a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployConfigsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployConfigsCommand.java
@@ -33,7 +33,9 @@ public void execute(CommandContext context) {
deployConfigs(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployConfigs(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployConfigs(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployPullsCommand.java b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployPullsCommand.java
index 32f66291..057aec7e 100644
--- a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployPullsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployPullsCommand.java
@@ -35,7 +35,9 @@ public void execute(CommandContext context) {
deployFlexRepPulls(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployFlexRepPulls(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployFlexRepPulls(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployTargetsCommand.java b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployTargetsCommand.java
index 0d9e6ed0..1ea36baa 100644
--- a/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployTargetsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/flexrep/DeployTargetsCommand.java
@@ -1,18 +1,14 @@
package com.marklogic.appdeployer.command.flexrep;
-import java.io.File;
-
import com.marklogic.appdeployer.AppConfig;
import com.marklogic.appdeployer.ConfigDir;
import com.marklogic.appdeployer.command.AbstractCommand;
import com.marklogic.appdeployer.command.CommandContext;
import com.marklogic.appdeployer.command.SortOrderConstants;
-import com.marklogic.mgmt.ManageClient;
import com.marklogic.mgmt.SaveReceipt;
import com.marklogic.mgmt.resource.flexrep.TargetManager;
import java.io.File;
-import java.net.URI;
/**
* The directory structure for this is a bit different from most command. Since targets belong to a certain flexrep
@@ -37,7 +33,9 @@ public void execute(CommandContext context) {
deployTargets(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployTargets(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployTargets(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/forests/DistributedReplicaBuilderStrategy.java b/src/main/java/com/marklogic/appdeployer/command/forests/DistributedReplicaBuilderStrategy.java
index 556b66eb..0b402eaf 100644
--- a/src/main/java/com/marklogic/appdeployer/command/forests/DistributedReplicaBuilderStrategy.java
+++ b/src/main/java/com/marklogic/appdeployer/command/forests/DistributedReplicaBuilderStrategy.java
@@ -20,7 +20,7 @@ public void buildReplicas(List forests, ForestPlan forestPlan, AppConfig
final List hostNames = forestPlan.getReplicaHostNames();
final int replicaCount = forestPlan.getReplicaCount();
- HashMap> hostToForests = new HashMap>();
+ HashMap> hostToForests = new HashMap<>();
for (Forest f : forests) {
String host = f.getHost();
@@ -28,7 +28,7 @@ public void buildReplicas(List forests, ForestPlan forestPlan, AppConfig
hostToForests.get(host).add(f);
}
else {
- ArrayList hostForests = new ArrayList();
+ ArrayList hostForests = new ArrayList<>();
hostForests.add(f);
hostToForests.put(host, hostForests);
}
@@ -41,7 +41,7 @@ public void buildReplicas(List forests, ForestPlan forestPlan, AppConfig
// the forest lives. We also want to have the hosts in different order as we assign replicas to hosts, so
// that we don't overload any of them. So if we have five hosts, and we're looking to build replicas for
// the forests on host 2, this list will be [host3, host4, host5, host1].
- List availableHosts = new ArrayList();
+ List availableHosts = new ArrayList<>();
int hostIndex = hostNames.indexOf(host);
if (hostIndex != -1 && hostIndex < hostNames.size()) {
availableHosts.addAll(hostNames.subList(hostIndex + 1, hostNames.size()));
diff --git a/src/main/java/com/marklogic/appdeployer/command/forests/ForestBuilder.java b/src/main/java/com/marklogic/appdeployer/command/forests/ForestBuilder.java
index 6d4888c7..990494b4 100644
--- a/src/main/java/com/marklogic/appdeployer/command/forests/ForestBuilder.java
+++ b/src/main/java/com/marklogic/appdeployer/command/forests/ForestBuilder.java
@@ -125,17 +125,9 @@ protected Map>> existingForestsMap(ForestPlan f
dataDirectory = "";
}
- Map> dataDirectoryMap = existingForestsMap.get(host);
- if (dataDirectoryMap == null) {
- dataDirectoryMap = new LinkedHashMap<>();
- existingForestsMap.put(host, dataDirectoryMap);
- }
+ Map> dataDirectoryMap = existingForestsMap.computeIfAbsent(host, k -> new LinkedHashMap<>());
- List list = dataDirectoryMap.get(dataDirectory);
- if (list == null) {
- list = new ArrayList<>();
- dataDirectoryMap.put(dataDirectory, list);
- }
+ List list = dataDirectoryMap.computeIfAbsent(dataDirectory, k -> new ArrayList<>());
list.add(f);
}
return existingForestsMap;
@@ -236,8 +228,7 @@ protected List determineReplicaDataDirectories(ForestPlan forestPlan, Ap
Map> replicaDataDirectoryMap = appConfig.getDatabaseReplicaDataDirectories();
final String databaseName = forestPlan.getDatabaseName();
if (replicaDataDirectoryMap != null && replicaDataDirectoryMap.containsKey(databaseName)) {
- replicaDataDirectories = new ArrayList<>();
- replicaDataDirectories.addAll(replicaDataDirectoryMap.get(databaseName));
+ replicaDataDirectories = new ArrayList<>(replicaDataDirectoryMap.get(databaseName));
}
return replicaDataDirectories;
diff --git a/src/main/java/com/marklogic/appdeployer/command/forests/ForestNamingStrategy.java b/src/main/java/com/marklogic/appdeployer/command/forests/ForestNamingStrategy.java
index bc2397e5..ca66b3ea 100644
--- a/src/main/java/com/marklogic/appdeployer/command/forests/ForestNamingStrategy.java
+++ b/src/main/java/com/marklogic/appdeployer/command/forests/ForestNamingStrategy.java
@@ -1,7 +1,6 @@
package com.marklogic.appdeployer.command.forests;
import com.marklogic.appdeployer.AppConfig;
-import com.marklogic.mgmt.api.forest.Forest;
public interface ForestNamingStrategy {
diff --git a/src/main/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsCommand.java b/src/main/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsCommand.java
index 35e3b679..6164daa5 100644
--- a/src/main/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsCommand.java
@@ -5,10 +5,6 @@
import com.marklogic.appdeployer.command.AbstractUndoableCommand;
import com.marklogic.appdeployer.command.CommandContext;
import com.marklogic.appdeployer.command.SortOrderConstants;
-import com.marklogic.mgmt.api.server.AppServicesServer;
-import com.marklogic.mgmt.api.server.ManageServer;
-import com.marklogic.mgmt.api.server.Server;
-import com.marklogic.mgmt.resource.appservers.ServerManager;
import com.marklogic.mgmt.resource.hosts.HostManager;
public class AssignHostsToGroupsCommand extends AbstractUndoableCommand {
diff --git a/src/main/java/com/marklogic/appdeployer/command/modules/DeleteModulesCommand.java b/src/main/java/com/marklogic/appdeployer/command/modules/DeleteModulesCommand.java
index dc2da42e..90e1adc7 100644
--- a/src/main/java/com/marklogic/appdeployer/command/modules/DeleteModulesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/modules/DeleteModulesCommand.java
@@ -4,7 +4,6 @@
import com.marklogic.appdeployer.command.AbstractCommand;
import com.marklogic.appdeployer.command.CommandContext;
import com.marklogic.client.DatabaseClient;
-import com.marklogic.client.DatabaseClientFactory;
public class DeleteModulesCommand extends AbstractCommand {
diff --git a/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionQueriesCommand.java b/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionQueriesCommand.java
index 1ecc0a92..0e277b3d 100644
--- a/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionQueriesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionQueriesCommand.java
@@ -27,7 +27,9 @@ public void execute(CommandContext context) {
for (ConfigDir configDir : appConfig.getConfigDirs()) {
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployPartitionQueries(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployPartitionQueries(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionsCommand.java b/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionsCommand.java
index 60bbafff..f23e2c9b 100644
--- a/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/rebalancer/DeployPartitionsCommand.java
@@ -27,7 +27,9 @@ public void execute(CommandContext context) {
for (ConfigDir configDir : appConfig.getConfigDirs()) {
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployPartitions(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployPartitions(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalAxesCommand.java b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalAxesCommand.java
index d262a2d7..80e761c0 100644
--- a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalAxesCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalAxesCommand.java
@@ -28,7 +28,9 @@ public void execute(CommandContext context) {
deployTemporalAxes(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployTemporalAxes(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployTemporalAxes(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsCommand.java b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsCommand.java
index b1d3ae33..45aeaa35 100644
--- a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsCommand.java
@@ -6,7 +6,6 @@
import com.marklogic.appdeployer.command.CommandContext;
import com.marklogic.appdeployer.command.SortOrderConstants;
import com.marklogic.mgmt.resource.ResourceManager;
-import com.marklogic.mgmt.resource.temporal.TemporalAxesManager;
import com.marklogic.mgmt.resource.temporal.TemporalCollectionManager;
import java.io.File;
@@ -29,7 +28,9 @@ public void execute(CommandContext context) {
deployTemporalCollections(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployTemporalCollections(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployTemporalCollections(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsLSQTCommand.java b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsLSQTCommand.java
index 74ec671e..152efa23 100644
--- a/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsLSQTCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsLSQTCommand.java
@@ -20,7 +20,9 @@ public void execute(CommandContext context) {
deployTemporalCollectionsLsqt(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployTemporalCollectionsLsqt(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployTemporalCollectionsLsqt(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/triggers/DeployTriggersCommand.java b/src/main/java/com/marklogic/appdeployer/command/triggers/DeployTriggersCommand.java
index 1bc6241f..0b8b79ec 100644
--- a/src/main/java/com/marklogic/appdeployer/command/triggers/DeployTriggersCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/triggers/DeployTriggersCommand.java
@@ -5,9 +5,7 @@
import com.marklogic.appdeployer.command.AbstractResourceCommand;
import com.marklogic.appdeployer.command.CommandContext;
import com.marklogic.appdeployer.command.SortOrderConstants;
-import com.marklogic.mgmt.PayloadParser;
import com.marklogic.mgmt.resource.ResourceManager;
-import com.marklogic.mgmt.resource.databases.DatabaseManager;
import com.marklogic.mgmt.resource.triggers.TriggerManager;
import java.io.File;
@@ -37,7 +35,9 @@ public void execute(CommandContext context) {
deployTriggers(context, configDir, initialTriggersDatabaseName);
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployTriggers(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployTriggers(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/command/viewschemas/DeployViewSchemasCommand.java b/src/main/java/com/marklogic/appdeployer/command/viewschemas/DeployViewSchemasCommand.java
index dc0303c5..541a49b0 100644
--- a/src/main/java/com/marklogic/appdeployer/command/viewschemas/DeployViewSchemasCommand.java
+++ b/src/main/java/com/marklogic/appdeployer/command/viewschemas/DeployViewSchemasCommand.java
@@ -1,7 +1,5 @@
package com.marklogic.appdeployer.command.viewschemas;
-import java.io.File;
-
import com.marklogic.appdeployer.AppConfig;
import com.marklogic.appdeployer.ConfigDir;
import com.marklogic.appdeployer.command.AbstractResourceCommand;
@@ -41,7 +39,9 @@ public void execute(CommandContext context) {
deployViewSchemas(context, configDir, appConfig.getContentDatabaseName());
for (File dir : configDir.getDatabaseResourceDirectories()) {
String databaseName = determineDatabaseNameForDatabaseResourceDirectory(context, configDir, dir);
- deployViewSchemas(context, new ConfigDir(dir), databaseName);
+ if (databaseName != null) {
+ deployViewSchemas(context, new ConfigDir(dir), databaseName);
+ }
}
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/export/Exporter.java b/src/main/java/com/marklogic/appdeployer/export/Exporter.java
index a8d29536..a7918548 100644
--- a/src/main/java/com/marklogic/appdeployer/export/Exporter.java
+++ b/src/main/java/com/marklogic/appdeployer/export/Exporter.java
@@ -6,7 +6,6 @@
import com.marklogic.appdeployer.export.cpf.PipelineExporter;
import com.marklogic.appdeployer.export.databases.DatabaseExporter;
import com.marklogic.appdeployer.export.groups.GroupExporter;
-import com.marklogic.appdeployer.export.impl.AbstractNamedResourceExporter;
import com.marklogic.appdeployer.export.impl.CompositeResourceExporter;
import com.marklogic.appdeployer.export.security.AmpExporter;
import com.marklogic.appdeployer.export.security.PrivilegeExporter;
diff --git a/src/main/java/com/marklogic/appdeployer/export/impl/CompositeResourceExporter.java b/src/main/java/com/marklogic/appdeployer/export/impl/CompositeResourceExporter.java
index 74a7e710..aded49ac 100644
--- a/src/main/java/com/marklogic/appdeployer/export/impl/CompositeResourceExporter.java
+++ b/src/main/java/com/marklogic/appdeployer/export/impl/CompositeResourceExporter.java
@@ -7,6 +7,7 @@
import java.io.File;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
@@ -21,9 +22,7 @@ public class CompositeResourceExporter extends LoggingObject implements Resource
public CompositeResourceExporter(ResourceExporter... resourceExporters) {
this.resourceExporters = new ArrayList<>();
- for (ResourceExporter exporter : resourceExporters) {
- this.resourceExporters.add(exporter);
- }
+ this.resourceExporters.addAll(Arrays.asList(resourceExporters));
}
public void add(ResourceExporter exporter) {
diff --git a/src/main/java/com/marklogic/appdeployer/impl/AbstractAppDeployer.java b/src/main/java/com/marklogic/appdeployer/impl/AbstractAppDeployer.java
index 79e40c98..0f9866bc 100644
--- a/src/main/java/com/marklogic/appdeployer/impl/AbstractAppDeployer.java
+++ b/src/main/java/com/marklogic/appdeployer/impl/AbstractAppDeployer.java
@@ -122,7 +122,7 @@ public void undeploy(AppConfig appConfig) {
List commands = getCommands();
- List undoableCommands = new ArrayList();
+ List undoableCommands = new ArrayList<>();
for (Command command : commands) {
if (command instanceof UndoableCommand) {
undoableCommands.add((UndoableCommand) command);
diff --git a/src/main/java/com/marklogic/appdeployer/impl/SimpleAppDeployer.java b/src/main/java/com/marklogic/appdeployer/impl/SimpleAppDeployer.java
index 9613bdd2..312a1d27 100644
--- a/src/main/java/com/marklogic/appdeployer/impl/SimpleAppDeployer.java
+++ b/src/main/java/com/marklogic/appdeployer/impl/SimpleAppDeployer.java
@@ -5,6 +5,7 @@
import com.marklogic.mgmt.admin.AdminManager;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
@@ -35,12 +36,10 @@ public SimpleAppDeployer(ManageClient manageClient, AdminManager adminManager, C
*/
protected void buildModifiableCommandList(Command... commandArray) {
if (commandArray != null) {
- commands = new ArrayList(commandArray.length);
- for (Command c : commandArray) {
- commands.add(c);
- }
+ commands = new ArrayList<>(commandArray.length);
+ commands.addAll(Arrays.asList(commandArray));
} else {
- commands = new ArrayList();
+ commands = new ArrayList<>();
}
}
diff --git a/src/main/java/com/marklogic/appdeployer/util/ModulesWatcher.java b/src/main/java/com/marklogic/appdeployer/util/ModulesWatcher.java
index f4e55083..c73adde4 100644
--- a/src/main/java/com/marklogic/appdeployer/util/ModulesWatcher.java
+++ b/src/main/java/com/marklogic/appdeployer/util/ModulesWatcher.java
@@ -12,7 +12,6 @@
import com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader;
import com.marklogic.mgmt.util.SystemPropertySource;
-import java.io.File;
import java.util.List;
/**
diff --git a/src/main/java/com/marklogic/mgmt/ManageClient.java b/src/main/java/com/marklogic/mgmt/ManageClient.java
index 18cb67f7..7a937a14 100644
--- a/src/main/java/com/marklogic/mgmt/ManageClient.java
+++ b/src/main/java/com/marklogic/mgmt/ManageClient.java
@@ -145,11 +145,11 @@ public ResponseEntity postForm(String path, String... params) {
logRequest(path, "form", "POST");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- MultiValueMap map = new LinkedMultiValueMap();
+ MultiValueMap map = new LinkedMultiValueMap<>();
for (int i = 0; i < params.length; i += 2) {
map.add(params[i], params[i + 1]);
}
- HttpEntity> entity = new HttpEntity>(map, headers);
+ HttpEntity> entity = new HttpEntity<>(map, headers);
return restTemplate.exchange(buildUri(path), HttpMethod.POST, entity, String.class);
}
@@ -160,7 +160,7 @@ public String getXmlString(String path) {
public Fragment getXml(String path, String... namespacePrefixesAndUris) {
String xml = getXmlString(path);
- List list = new ArrayList();
+ List list = new ArrayList<>();
for (int i = 0; i < namespacePrefixesAndUris.length; i += 2) {
list.add(Namespace.getNamespace(namespacePrefixesAndUris[i], namespacePrefixesAndUris[i + 1]));
}
@@ -174,7 +174,7 @@ public String getXmlStringAsSecurityUser(String path) {
public Fragment getXmlAsSecurityUser(String path, String... namespacePrefixesAndUris) {
String xml = getXmlStringAsSecurityUser(path);
- List list = new ArrayList();
+ List list = new ArrayList<>();
for (int i = 0; i < namespacePrefixesAndUris.length; i += 2) {
list.add(Namespace.getNamespace(namespacePrefixesAndUris[i], namespacePrefixesAndUris[i + 1]));
}
@@ -235,7 +235,7 @@ public HttpEntity buildJsonEntity(String json) {
if (manageConfig != null && manageConfig.isCleanJsonPayloads()) {
json = cleanJsonPayload(json);
}
- return new HttpEntity(json, headers);
+ return new HttpEntity<>(json, headers);
}
/**
@@ -261,7 +261,7 @@ protected String cleanJsonPayload(String payload) {
public HttpEntity buildXmlEntity(String xml) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_XML);
- return new HttpEntity(xml, headers);
+ return new HttpEntity<>(xml, headers);
}
protected void logRequest(String path, String contentType, String method) {
diff --git a/src/main/java/com/marklogic/mgmt/admin/AdminManager.java b/src/main/java/com/marklogic/mgmt/admin/AdminManager.java
index e38c0c3b..6f412280 100644
--- a/src/main/java/com/marklogic/mgmt/admin/AdminManager.java
+++ b/src/main/java/com/marklogic/mgmt/admin/AdminManager.java
@@ -63,7 +63,7 @@ public void init(String licenseKey, String licensee) {
public boolean execute() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity entity = new HttpEntity(payload, headers);
+ HttpEntity entity = new HttpEntity<>(payload, headers);
try {
ResponseEntity response = restTemplate.exchange(uri, HttpMethod.POST, entity, String.class);
logger.info("Initialization response: " + response);
@@ -113,7 +113,7 @@ public void installAdmin(String username, String password, String realm) {
public boolean execute() {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
- HttpEntity entity = new HttpEntity(payload, headers);
+ HttpEntity entity = new HttpEntity<>(payload, headers);
try {
ResponseEntity response = restTemplate.exchange(uri, HttpMethod.POST, entity, String.class);
logger.info("Admin installation response: " + response);
@@ -193,10 +193,10 @@ public boolean execute() {
adminConfig.getUsername(), adminConfig.getPassword());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- MultiValueMap map = new LinkedMultiValueMap();
+ MultiValueMap map = new LinkedMultiValueMap<>();
map.add("xquery", xquery);
- HttpEntity> entity = new HttpEntity>(map,
- headers);
+ HttpEntity> entity = new HttpEntity<>(map,
+ headers);
String url = format("http://%s:%d/v1/eval", adminConfig.getHost(), appServicesPort);
if (logger.isInfoEnabled()) {
logger.info("Setting SSL FIPS enabled: " + enabled);
@@ -242,14 +242,14 @@ public byte[] postJoiningHostConfig(Fragment joiningHostConfig, String group, St
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- MultiValueMap map = new LinkedMultiValueMap();
+ MultiValueMap map = new LinkedMultiValueMap<>();
map.add("group", group);
if(zone != null && !zone.isEmpty()){
map.add("zone", zone);
}
map.add("server-config", joiningHostConfig.getPrettyXml());
- HttpEntity> entity = new HttpEntity>(map, headers);
+ HttpEntity> entity = new HttpEntity<>(map, headers);
URI url = adminConfig.buildUri("/admin/v1/cluster-config");
ResponseEntity bytes = restTemplate.exchange(url, HttpMethod.POST, entity, byte[].class);
@@ -268,7 +268,7 @@ public void postClustConfigToJoiningHost(byte[] clusterConfigZipBytes) {
URI clusterConfigUri = adminConfig.buildUri("/admin/v1/cluster-config");
- HttpEntity resourceEntity = new HttpEntity(new ByteArrayResource(clusterConfigZipBytes), headers);
+ HttpEntity resourceEntity = new HttpEntity<>(new ByteArrayResource(clusterConfigZipBytes), headers);
ResponseEntity response = restTemplate.exchange(clusterConfigUri, HttpMethod.POST, resourceEntity, String.class);
if(response.getStatusCode().value() == 202){
waitForRestart();
diff --git a/src/main/java/com/marklogic/mgmt/admin/DefaultAdminConfigFactory.java b/src/main/java/com/marklogic/mgmt/admin/DefaultAdminConfigFactory.java
index 531034d5..06c2a836 100644
--- a/src/main/java/com/marklogic/mgmt/admin/DefaultAdminConfigFactory.java
+++ b/src/main/java/com/marklogic/mgmt/admin/DefaultAdminConfigFactory.java
@@ -1,6 +1,5 @@
package com.marklogic.mgmt.admin;
-import com.marklogic.mgmt.ManageConfig;
import com.marklogic.mgmt.util.PropertySource;
import com.marklogic.mgmt.util.PropertySourceFactory;
diff --git a/src/main/java/com/marklogic/mgmt/api/API.java b/src/main/java/com/marklogic/mgmt/api/API.java
index 353342df..04a10ff0 100644
--- a/src/main/java/com/marklogic/mgmt/api/API.java
+++ b/src/main/java/com/marklogic/mgmt/api/API.java
@@ -34,6 +34,7 @@
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
@@ -243,9 +244,7 @@ public ProtectedPath protectedPath(String pathExpression) {
public QueryRoleset queryRoleset(String... roleNames) {
List names = new ArrayList<>();
- for (String name : roleNames) {
- names.add(name);
- }
+ names.addAll(Arrays.asList(roleNames));
QueryRoleset roleset = new QueryRoleset();
roleset.setApi(this);
roleset.setRoleName(names);
diff --git a/src/main/java/com/marklogic/mgmt/api/group/Group.java b/src/main/java/com/marklogic/mgmt/api/group/Group.java
index f55fbe44..ef63cd2e 100644
--- a/src/main/java/com/marklogic/mgmt/api/group/Group.java
+++ b/src/main/java/com/marklogic/mgmt/api/group/Group.java
@@ -232,9 +232,7 @@ public void addEvents(String... events) {
if (event == null) {
event = new ArrayList<>();
}
- for (String e : events) {
- event.add(e);
- }
+ event.addAll(Arrays.asList(events));
}
public void removeEvents(String... events) {
diff --git a/src/main/java/com/marklogic/mgmt/api/security/Amp.java b/src/main/java/com/marklogic/mgmt/api/security/Amp.java
index b3c144ad..8dcf1c07 100644
--- a/src/main/java/com/marklogic/mgmt/api/security/Amp.java
+++ b/src/main/java/com/marklogic/mgmt/api/security/Amp.java
@@ -53,7 +53,7 @@ public String[] getResourceUrlParams() {
public void addRole(String r) {
if (role == null) {
- role = new ArrayList();
+ role = new ArrayList<>();
}
role.add(r);
}
diff --git a/src/main/java/com/marklogic/mgmt/api/security/Role.java b/src/main/java/com/marklogic/mgmt/api/security/Role.java
index 35758e54..0f417206 100644
--- a/src/main/java/com/marklogic/mgmt/api/security/Role.java
+++ b/src/main/java/com/marklogic/mgmt/api/security/Role.java
@@ -107,7 +107,7 @@ public void addExternalName(String name) {
public void addRole(String r) {
if (role == null) {
- role = new ArrayList();
+ role = new ArrayList<>();
}
role.add(r);
}
@@ -128,7 +128,7 @@ public void addPrivilege(RolePrivilege priv) {
public void addCollection(String c) {
if (collection == null) {
- collection = new ArrayList();
+ collection = new ArrayList<>();
}
collection.add(c);
}
diff --git a/src/main/java/com/marklogic/mgmt/api/security/User.java b/src/main/java/com/marklogic/mgmt/api/security/User.java
index 40367a24..430af721 100644
--- a/src/main/java/com/marklogic/mgmt/api/security/User.java
+++ b/src/main/java/com/marklogic/mgmt/api/security/User.java
@@ -59,7 +59,7 @@ public void addExternalName(String name) {
public void addRole(String r) {
if (role == null) {
- role = new ArrayList();
+ role = new ArrayList<>();
}
role.add(r);
}
@@ -73,7 +73,7 @@ public void addPermission(Permission p) {
public void addCollection(String c) {
if (collection == null) {
- collection = new ArrayList();
+ collection = new ArrayList<>();
}
collection.add(c);
}
diff --git a/src/main/java/com/marklogic/mgmt/resource/AbstractResourceManager.java b/src/main/java/com/marklogic/mgmt/resource/AbstractResourceManager.java
index 12683822..73a4d12a 100644
--- a/src/main/java/com/marklogic/mgmt/resource/AbstractResourceManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/AbstractResourceManager.java
@@ -200,22 +200,24 @@ public void deleteAtPath(String path) {
*/
protected String appendParamsAndValuesToPath(String path, String... paramsAndValues) {
if (paramsAndValues != null && paramsAndValues.length > 0) {
+ StringBuilder pathBuilder = new StringBuilder(path);
if (path.contains("?")) {
- path += "&";
+ pathBuilder.append("&");
} else {
- path += "?";
+ pathBuilder.append("?");
}
- for (int i = 0; i < paramsAndValues.length; i += 2) {
+ for (int i = 0; i < paramsAndValues.length; i += 2) {
String name = paramsAndValues[i];
String value = paramsAndValues[i + 1];
if (name != null && value != null) {
if (i > 0) {
- path += "&";
+ pathBuilder.append("&");
}
- path += name + "=" + value;
+ pathBuilder.append(name).append("=").append(value);
}
}
- }
+ path = pathBuilder.toString();
+ }
return path;
}
diff --git a/src/main/java/com/marklogic/mgmt/resource/appservers/ServerManager.java b/src/main/java/com/marklogic/mgmt/resource/appservers/ServerManager.java
index c669e74d..3e74973a 100644
--- a/src/main/java/com/marklogic/mgmt/resource/appservers/ServerManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/appservers/ServerManager.java
@@ -1,6 +1,5 @@
package com.marklogic.mgmt.resource.appservers;
-import com.marklogic.mgmt.SaveReceipt;
import com.marklogic.mgmt.resource.AbstractResourceManager;
import com.marklogic.mgmt.ManageClient;
import com.marklogic.rest.util.Fragment;
diff --git a/src/main/java/com/marklogic/mgmt/resource/databases/DatabaseManager.java b/src/main/java/com/marklogic/mgmt/resource/databases/DatabaseManager.java
index f119b9a0..fc276803 100644
--- a/src/main/java/com/marklogic/mgmt/resource/databases/DatabaseManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/databases/DatabaseManager.java
@@ -101,14 +101,14 @@ public void detachSubDatabases(String databaseIdOrName){
* @param subDbNames
*/
public void attachSubDatabases(String databaseIdOrName, List subDbNames){
- String payload = format("{\"database-name\":\"%s\", \"subdatabase\": [", databaseIdOrName);
+ StringBuilder payload = new StringBuilder(format("{\"database-name\":\"%s\", \"subdatabase\": [", databaseIdOrName));
for(int index = 0; index < subDbNames.size(); index++){
- if(index > 0){ payload += ","; }
- payload += format("{\"database-name\":\"%s\"}", subDbNames.get(index));
+ if(index > 0){ payload.append(","); }
+ payload.append(format("{\"database-name\":\"%s\"}", subDbNames.get(index)));
}
- payload += "]}";
+ payload.append("]}");
logger.info("Attaching sub-databases to database: " + databaseIdOrName + ", using configured payload: " + payload);
- save(payload);
+ save(payload.toString());
logger.info("Finished attaching sub-databases to database: " + databaseIdOrName);
}
diff --git a/src/main/java/com/marklogic/mgmt/resource/forests/ForestManager.java b/src/main/java/com/marklogic/mgmt/resource/forests/ForestManager.java
index 9150a4bf..d81cf8d7 100644
--- a/src/main/java/com/marklogic/mgmt/resource/forests/ForestManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/forests/ForestManager.java
@@ -4,7 +4,6 @@
import com.marklogic.mgmt.resource.AbstractResourceManager;
import com.marklogic.mgmt.ManageClient;
import com.marklogic.rest.util.Fragment;
-import org.springframework.web.client.HttpClientErrorException;
import java.util.HashMap;
import java.util.Iterator;
@@ -141,21 +140,21 @@ public String getHostId(String forestIdOrName) {
* A map where each key is a replica forest name, and its value is the host ID of that forest
*/
public void setReplicas(String forestIdOrName, Map replicaNamesAndHostIds) {
- String json = "{\"forest-replica\":[";
+ StringBuilder json = new StringBuilder("{\"forest-replica\":[");
boolean firstOne = true;
for (String replicaName : replicaNamesAndHostIds.keySet()) {
if (!firstOne) {
- json += ",";
+ json.append(",");
}
String hostId = replicaNamesAndHostIds.get(replicaName);
- json += format("{\"replica-name\":\"%s\", \"host\":\"%s\"}", replicaName, hostId);
+ json.append(format("{\"replica-name\":\"%s\", \"host\":\"%s\"}", replicaName, hostId));
firstOne = false;
}
- json += "]}";
+ json.append("]}");
if (logger.isInfoEnabled()) {
- logger.info(format("Setting replicas for forest %s, JSON: %s", forestIdOrName, json));
+ logger.info(format("Setting replicas for forest %s, JSON: %s", forestIdOrName, json.toString()));
}
- getManageClient().putJson(getPropertiesPath(forestIdOrName), json);
+ getManageClient().putJson(getPropertiesPath(forestIdOrName), json.toString());
if (logger.isInfoEnabled()) {
logger.info(format("Finished setting replicas for forest %s", forestIdOrName));
}
@@ -168,7 +167,7 @@ public void setReplicas(String forestIdOrName, Map replicaNamesA
* @param forestIdOrName
*/
public void setReplicasToNone(String forestIdOrName) {
- setReplicas(forestIdOrName, new HashMap());
+ setReplicas(forestIdOrName, new HashMap<>());
}
/**
diff --git a/src/main/java/com/marklogic/mgmt/resource/groups/GroupManager.java b/src/main/java/com/marklogic/mgmt/resource/groups/GroupManager.java
index d29e87d3..9f5bd995 100644
--- a/src/main/java/com/marklogic/mgmt/resource/groups/GroupManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/groups/GroupManager.java
@@ -26,7 +26,7 @@ protected boolean useSecurityUser() {
@Override
public DeleteReceipt delete(String payload, String... resourceUrlParams) {
String resourceId = getResourceId(payload);
- if (resourceId != null && resourceId.toUpperCase().equals("DEFAULT")) {
+ if (resourceId != null && resourceId.equalsIgnoreCase("DEFAULT")) {
return new DeleteReceipt(resourceId, null, false);
}
return super.delete(payload);
diff --git a/src/main/java/com/marklogic/mgmt/resource/security/AmpManager.java b/src/main/java/com/marklogic/mgmt/resource/security/AmpManager.java
index 6c0236d2..672ca8cb 100644
--- a/src/main/java/com/marklogic/mgmt/resource/security/AmpManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/security/AmpManager.java
@@ -96,7 +96,7 @@ public boolean ampExists(ResourcesFragment resources, String localName, String d
@Override
protected String[] getUpdateResourceParams(String payload) {
- List params = new ArrayList();
+ List params = new ArrayList<>();
AmpParams ampParams = getAmpParams(payload);
params.add("document-uri");
params.add(ampParams.documentUri);
@@ -121,7 +121,7 @@ protected String[] getUpdateResourceParams(String payload) {
*/
@Override
protected String[] getDeleteResourceParams(String payload) {
- List params = new ArrayList();
+ List params = new ArrayList<>();
AmpParams ampParams = getAmpParams(payload);
params.add("document-uri");
params.add(ampParams.documentUri);
diff --git a/src/main/java/com/marklogic/mgmt/resource/security/CertificateAuthorityManager.java b/src/main/java/com/marklogic/mgmt/resource/security/CertificateAuthorityManager.java
index 4d1e1b9c..3ad27b90 100644
--- a/src/main/java/com/marklogic/mgmt/resource/security/CertificateAuthorityManager.java
+++ b/src/main/java/com/marklogic/mgmt/resource/security/CertificateAuthorityManager.java
@@ -24,7 +24,7 @@ public ResponseEntity create(String payload) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);
- HttpEntity entity = new HttpEntity(payload, headers);
+ HttpEntity entity = new HttpEntity<>(payload, headers);
ResponseEntity response = t.exchange(manageClient.buildUri("/manage/v2/certificate-authorities"),
HttpMethod.POST, entity, String.class);
return response;
diff --git a/src/main/java/com/marklogic/mgmt/selector/MapResourceSelection.java b/src/main/java/com/marklogic/mgmt/selector/MapResourceSelection.java
index b0acb2bf..e1b5698a 100644
--- a/src/main/java/com/marklogic/mgmt/selector/MapResourceSelection.java
+++ b/src/main/java/com/marklogic/mgmt/selector/MapResourceSelection.java
@@ -1,7 +1,5 @@
package com.marklogic.mgmt.selector;
-import com.marklogic.mgmt.api.security.Amp;
-
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -21,11 +19,7 @@ public class MapResourceSelection implements ResourceSelection {
* @param value
*/
public void select(String type, String value) {
- List names = selections.get(type);
- if (names == null) {
- names = new ArrayList<>();
- selections.put(type, names);
- }
+ List names = selections.computeIfAbsent(type, k -> new ArrayList<>());
names.add(value);
}
diff --git a/src/main/java/com/marklogic/mgmt/template/group/GroupTemplateBuilder.java b/src/main/java/com/marklogic/mgmt/template/group/GroupTemplateBuilder.java
index f1d045d0..395accc4 100644
--- a/src/main/java/com/marklogic/mgmt/template/group/GroupTemplateBuilder.java
+++ b/src/main/java/com/marklogic/mgmt/template/group/GroupTemplateBuilder.java
@@ -1,6 +1,5 @@
package com.marklogic.mgmt.template.group;
-import com.marklogic.mgmt.api.Resource;
import com.marklogic.mgmt.api.group.Group;
import com.marklogic.mgmt.template.GenericTemplateBuilder;
diff --git a/src/main/java/com/marklogic/mgmt/template/security/AmpTemplateBuilder.java b/src/main/java/com/marklogic/mgmt/template/security/AmpTemplateBuilder.java
index c3e1296d..89281e53 100644
--- a/src/main/java/com/marklogic/mgmt/template/security/AmpTemplateBuilder.java
+++ b/src/main/java/com/marklogic/mgmt/template/security/AmpTemplateBuilder.java
@@ -1,6 +1,5 @@
package com.marklogic.mgmt.template.security;
-import com.marklogic.mgmt.api.Resource;
import com.marklogic.mgmt.api.security.Amp;
import com.marklogic.mgmt.template.GenericTemplateBuilder;
diff --git a/src/main/java/com/marklogic/rest/util/Fragment.java b/src/main/java/com/marklogic/rest/util/Fragment.java
index c837467e..e9a35dc0 100644
--- a/src/main/java/com/marklogic/rest/util/Fragment.java
+++ b/src/main/java/com/marklogic/rest/util/Fragment.java
@@ -12,6 +12,7 @@
import java.io.StringReader;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -28,7 +29,7 @@ public Fragment(Fragment other) {
public Fragment(String xml, Namespace... namespaces) {
try {
internalDoc = new SAXBuilder().build(new StringReader(xml));
- List list = new ArrayList();
+ List list = new ArrayList<>();
list.add(Namespace.getNamespace("arp", "http://marklogic.com/manage/alert-rule/properties"));
list.add(Namespace.getNamespace("c", "http://marklogic.com/manage/clusters"));
list.add(Namespace.getNamespace("cert", "http://marklogic.com/xdmp/x509"));
@@ -47,9 +48,7 @@ public Fragment(String xml, Namespace... namespaces) {
list.add(Namespace.getNamespace("sec", "http://marklogic.com/xdmp/security"));
list.add(Namespace.getNamespace("ts", "http://marklogic.com/manage/task-server"));
list.add(Namespace.getNamespace("t", "http://marklogic.com/manage/tasks"));
- for (Namespace n : namespaces) {
- list.add(n);
- }
+ list.addAll(Arrays.asList(namespaces));
this.namespaces = list.toArray(new Namespace[] {});
} catch (Exception e) {
throw new RuntimeException(String.format("Unable to parse XML, cause: %s; XML: %s", e.getMessage(), xml), e);
@@ -69,7 +68,7 @@ public boolean elementExists(String xpath) {
}
public List getElementValues(String xpath) {
- List values = new ArrayList();
+ List values = new ArrayList<>();
for (Element el : evaluateForElements(xpath)) {
values.add(el.getText());
}
@@ -87,7 +86,7 @@ public List getElements(String xpath) {
protected List evaluateForElements(String xpath) {
XPathFactory f = XPathFactory.instance();
- XPathExpression expr = f.compile(xpath, Filters.element(), new HashMap(), namespaces);
+ XPathExpression expr = f.compile(xpath, Filters.element(), new HashMap<>(), namespaces);
return expr.evaluate(internalDoc);
}
diff --git a/src/main/java/com/marklogic/rest/util/ResourcesFragment.java b/src/main/java/com/marklogic/rest/util/ResourcesFragment.java
index 01d58233..a7407212 100644
--- a/src/main/java/com/marklogic/rest/util/ResourcesFragment.java
+++ b/src/main/java/com/marklogic/rest/util/ResourcesFragment.java
@@ -1,7 +1,5 @@
package com.marklogic.rest.util;
-import java.util.List;
-
import org.jdom2.Element;
import org.jdom2.Namespace;
diff --git a/src/test/java/com/marklogic/appdeployer/command/ReplaceTokensTest.java b/src/test/java/com/marklogic/appdeployer/command/ReplaceTokensTest.java
index c9908f6a..43f95f23 100644
--- a/src/test/java/com/marklogic/appdeployer/command/ReplaceTokensTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/ReplaceTokensTest.java
@@ -8,7 +8,6 @@
import com.marklogic.client.DatabaseClient;
import com.marklogic.client.ext.modulesloader.impl.DefaultModulesLoader;
import com.marklogic.client.io.BytesHandle;
-import com.marklogic.client.io.StringHandle;
import org.junit.jupiter.api.Test;
import java.io.File;
diff --git a/src/test/java/com/marklogic/appdeployer/command/alert/ManageAlertConfigsTest.java b/src/test/java/com/marklogic/appdeployer/command/alert/ManageAlertConfigsTest.java
index a259bfad..48629a47 100644
--- a/src/test/java/com/marklogic/appdeployer/command/alert/ManageAlertConfigsTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/alert/ManageAlertConfigsTest.java
@@ -8,6 +8,11 @@
import java.io.File;
+/**
+ * This test is also expected to verify the fix for #442, which is that when a database resource directory - in this
+ * case, sample-app/alert-configs/databases/unknown-database - cannot be associated with an existing ML database, an
+ * exception is NOT thrown but rather a warning is logged. The fact that the test succeeds is evidence of this.
+ */
public class ManageAlertConfigsTest extends AbstractManageResourceTest {
@Override
diff --git a/src/test/java/com/marklogic/appdeployer/command/databases/ClearDatabaseTest.java b/src/test/java/com/marklogic/appdeployer/command/databases/ClearDatabaseTest.java
index c427993a..72da509a 100644
--- a/src/test/java/com/marklogic/appdeployer/command/databases/ClearDatabaseTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/databases/ClearDatabaseTest.java
@@ -7,6 +7,7 @@
import com.marklogic.appdeployer.command.restapis.DeployRestApiServersCommand;
import com.marklogic.mgmt.resource.databases.DatabaseManager;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class ClearDatabaseTest extends AbstractAppDeployerTest {
@@ -34,6 +35,6 @@ public void modulesDatabase() {
mgr.clearDatabase(appConfig.getModulesDatabaseName());
String uris = newModulesXccTemplate().executeAdhocQuery("cts:uris((), (), cts:and-query(()))");
- assertTrue(uris.length() == 0, "The modules database should have been cleared");
+ assertEquals(0, uris.length(), "The modules database should have been cleared");
}
}
diff --git a/src/test/java/com/marklogic/appdeployer/command/forests/CreateForestsOnSpecificHostsTest.java b/src/test/java/com/marklogic/appdeployer/command/forests/CreateForestsOnSpecificHostsTest.java
index 198a1cdb..ded65891 100644
--- a/src/test/java/com/marklogic/appdeployer/command/forests/CreateForestsOnSpecificHostsTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/forests/CreateForestsOnSpecificHostsTest.java
@@ -6,7 +6,6 @@
import com.marklogic.mgmt.util.SimplePropertySource;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
-import org.springframework.core.env.PropertiesPropertySource;
import java.util.*;
diff --git a/src/test/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsTest.java b/src/test/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsTest.java
index 8abede47..3100b5f1 100644
--- a/src/test/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/hosts/AssignHostsToGroupsTest.java
@@ -27,7 +27,7 @@ public void assignSingleHostToExistingGroup() {
final String otherGroup = "sample-app-other-group";
final String hostname = hostManager.getHostNames().get(0);
- Map hostGroups = new HashMap();
+ Map hostGroups = new HashMap<>();
hostGroups.put(hostname, otherGroup);
appConfig.setHostGroups(hostGroups);
diff --git a/src/test/java/com/marklogic/appdeployer/command/security/DontUndeployCertainRolesTest.java b/src/test/java/com/marklogic/appdeployer/command/security/DontUndeployCertainRolesTest.java
index 9134d2b4..b5f955f3 100644
--- a/src/test/java/com/marklogic/appdeployer/command/security/DontUndeployCertainRolesTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/security/DontUndeployCertainRolesTest.java
@@ -2,7 +2,6 @@
import com.marklogic.appdeployer.AbstractAppDeployerTest;
import com.marklogic.mgmt.resource.security.RoleManager;
-import com.marklogic.mgmt.resource.security.UserManager;
import org.junit.jupiter.api.Test;
import java.io.File;
diff --git a/src/test/java/com/marklogic/appdeployer/command/security/ManageAmpsTest.java b/src/test/java/com/marklogic/appdeployer/command/security/ManageAmpsTest.java
index 267ff3bf..9b15fda5 100644
--- a/src/test/java/com/marklogic/appdeployer/command/security/ManageAmpsTest.java
+++ b/src/test/java/com/marklogic/appdeployer/command/security/ManageAmpsTest.java
@@ -8,7 +8,6 @@
import com.marklogic.client.DatabaseClient;
import com.marklogic.client.DatabaseClientFactory;
import com.marklogic.mgmt.ManageClient;
-import com.marklogic.mgmt.ManageConfig;
import com.marklogic.mgmt.resource.ResourceManager;
import com.marklogic.mgmt.resource.security.AmpManager;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/marklogic/junit/CustomDifferenceListener.java b/src/test/java/com/marklogic/junit/CustomDifferenceListener.java
index d698921d..278078ca 100644
--- a/src/test/java/com/marklogic/junit/CustomDifferenceListener.java
+++ b/src/test/java/com/marklogic/junit/CustomDifferenceListener.java
@@ -15,7 +15,7 @@
*/
public class CustomDifferenceListener extends LoggingObject implements DifferenceListener {
- private List differences = new ArrayList();
+ private List differences = new ArrayList<>();
@Override
public int differenceFound(Difference difference) {
diff --git a/src/test/java/com/marklogic/junit/Fragment.java b/src/test/java/com/marklogic/junit/Fragment.java
index 378d1ab3..9a1f1a66 100644
--- a/src/test/java/com/marklogic/junit/Fragment.java
+++ b/src/test/java/com/marklogic/junit/Fragment.java
@@ -76,7 +76,7 @@ public Fragment getFragment(String xpath) {
public List getFragments(String xpath) {
List elements = evaluateForElements(xpath);
- List fragments = new ArrayList();
+ List fragments = new ArrayList<>();
for (Element el : elements) {
fragments.add(new Fragment(el, this.namespaces));
}
@@ -138,7 +138,7 @@ public void assertElementCount(String message, String xpath, int count) {
private void assertElementListHasOneElement(String message, List list, String xpath) {
int size = list.size();
- assertTrue(size == 1, message + ";\nExpected 1 element, but found " + size + "; xpath: " + xpath);
+ assertEquals(1, size, message + ";\nExpected 1 element, but found " + size + "; xpath: " + xpath);
}
public void assertElementExists(String xpath) {
@@ -162,7 +162,7 @@ public void assertElementMissing(String message, String xpath) {
protected List evaluateForElements(String xpath) {
XPathFactory f = XPathFactory.instance();
- XPathExpression expr = f.compile(xpath, Filters.element(), new HashMap(), namespaces);
+ XPathExpression expr = f.compile(xpath, Filters.element(), new HashMap<>(), namespaces);
return expr.evaluate(internalDoc);
}
diff --git a/src/test/resources/sample-app/alert-config/databases/unknown-database/alert/configs/should-be-ignored-alert-config.json b/src/test/resources/sample-app/alert-config/databases/unknown-database/alert/configs/should-be-ignored-alert-config.json
new file mode 100644
index 00000000..5cec6abe
--- /dev/null
+++ b/src/test/resources/sample-app/alert-config/databases/unknown-database/alert/configs/should-be-ignored-alert-config.json
@@ -0,0 +1,9 @@
+{
+ "uri": "should-be-ignored-alert-config",
+ "name": "Should Be Ignored Alerting App",
+ "description": "This should be ignored since the parent directory of 'unknown-database' doesn't match an existing ML database",
+ "trigger": [],
+ "domain": [],
+ "action": [],
+ "option": []
+}