![JAR search and dependency download from the Maven repository](/logo.png)
com.lordofthejars.nosqlunit.marklogic.ManagedMarkLogic Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of nosqlunit-marklogic Show documentation
Show all versions of nosqlunit-marklogic Show documentation
NoSQLUnit adapter for MarkLogic
The newest version!
package com.lordofthejars.nosqlunit.marklogic;
import org.junit.rules.ExternalResource;
/**
* Runs a MarkLogic server before each test suite.
*/
public class ManagedMarkLogic extends ExternalResource {
protected ManagedMarkLogicLifecycleManager managedMarkLogicLifecycleManager;
private ManagedMarkLogic() {
}
@Override
public void before() throws Throwable {
managedMarkLogicLifecycleManager.startEngine();
}
@Override
public void after() {
managedMarkLogicLifecycleManager.stopEngine();
}
/**
* Builder to start MarkLogic server accordingly to your setup
*/
public static class MarkLogicServerRuleBuilder {
private ManagedMarkLogicLifecycleManager managedMarkLogicLifecycleManager;
private MarkLogicServerRuleBuilder() {
managedMarkLogicLifecycleManager = new ManagedMarkLogicLifecycleManager();
}
public static MarkLogicServerRuleBuilder newManagedMarkLogicRule() {
return new MarkLogicServerRuleBuilder();
}
public MarkLogicServerRuleBuilder username(String username) {
managedMarkLogicLifecycleManager.setUsername(username);
return this;
}
public MarkLogicServerRuleBuilder password(String password) {
managedMarkLogicLifecycleManager.setPassword(password);
return this;
}
public MarkLogicServerRuleBuilder dockerCommand(String dockerCommand) {
managedMarkLogicLifecycleManager.setDockerCommand(dockerCommand);
return this;
}
public MarkLogicServerRuleBuilder dockerContainer(String dockerContainer) {
managedMarkLogicLifecycleManager.setDockerContainer(dockerContainer);
return this;
}
public MarkLogicServerRuleBuilder marklogicPrefix(String marklogicPath) {
managedMarkLogicLifecycleManager.setMarklogicCommandPrefix(marklogicPath);
return this;
}
public MarkLogicServerRuleBuilder adminPort(int adminPort) {
managedMarkLogicLifecycleManager.setAdminPort(adminPort);
return this;
}
public MarkLogicServerRuleBuilder targetPath(String targetPath) {
managedMarkLogicLifecycleManager.setTargetPath(targetPath);
return this;
}
public MarkLogicServerRuleBuilder appendCommandLineArguments(
String argumentName, String argumentValue) {
managedMarkLogicLifecycleManager.addExtraCommandLineArgument(argumentName,
argumentValue);
return this;
}
public MarkLogicServerRuleBuilder appendSingleCommandLineArguments(
String argument) {
managedMarkLogicLifecycleManager.addSingleCommandLineArgument(argument);
return this;
}
public ManagedMarkLogic build() {
if (!managedMarkLogicLifecycleManager.isConfigured()) {
throw new IllegalArgumentException("The MarkLogic lifecycle is not configured!");
}
ManagedMarkLogic managedMarkLogic = new ManagedMarkLogic();
managedMarkLogic.managedMarkLogicLifecycleManager = managedMarkLogicLifecycleManager;
return managedMarkLogic;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy