@Override
public RuntimeConfigBuilder defaults(final Command command) {
final RuntimeConfigBuilder builder = super.defaults(command);
final IDownloadConfig downloadConfig = new CasDownloadConfigBuilder()
.defaultsForCommand(command)
.progressListener(new StandardConsoleProgressListener())
.build();
this.artifactStore().overwriteDefault(new ArtifactStoreBuilder()
.defaults(command).download(downloadConfig).build());
return builder;
}
private static MongodExecutable configureMongoDb(final String bindIp,
final int mongoDbPort,
final IProxyFactory proxyFactory,
final Logger logger) throws IOException {
final Command command = Command.MongoD;
final ProcessOutput processOutput;
if (logger != null) {
processOutput = ProcessOutput.getInstance("mongod", logger);
} else {
processOutput = ProcessOutput.getDefaultInstanceSilent();
}
final MongodStarter mongodStarter = MongodStarter.getInstance(new RuntimeConfigBuilder()
.defaults(command)
.processOutput(processOutput)
.artifactStore(new ExtractedArtifactStoreBuilder()
.defaults(command)
.download(new DownloadConfigBuilder()
.defaultsForCommand(command)
.proxyFactory(proxyFactory)
.progressListener(new StandardConsoleProgressListener())
.build()))
.build());
return mongodStarter.prepare(new MongodConfigBuilder()
.net(new Net(bindIp, mongoDbPort, false))
.version(Version.Main.V3_6)
.cmdOptions(new MongoCmdOptionsBuilder()
.useStorageEngine("wiredTiger")
.useNoJournal(false)
.build())
.build());
}
public DownloadConfigBuilder defaults() {
fileNaming().setDefault(new UUIDTempNaming());
downloadPath().setDefault(new Mongo42xDownloadPath());
progressListener().setDefault(new StandardConsoleProgressListener());
artifactStorePath().setDefault(defaultArtifactDownloadLocation());
downloadPrefix().setDefault(new DownloadPrefix("embedmongo-download"));
userAgent().setDefault(new UserAgent("Mozilla/5.0 (compatible; Embedded MongoDB; +https://github.com/flapdoodle-oss/embedmongo.flapdoodle.de)"));
return this;
}