From 163b3f0bd2d6e71ddcff7b3faea94c9e6792a943 Mon Sep 17 00:00:00 2001 From: Michael Mosmann <michael@mosmann.de> Date: Thu, 5 Sep 2013 06:07:01 +0200 Subject: [PATCH] new process release --- pom.xml | 4 ++-- .../embed/mongo/MongodExecutable.java | 5 +++-- .../flapdoodle/embed/mongo/MongodProcess.java | 5 +++-- .../flapdoodle/embed/mongo/MongodStarter.java | 5 +++-- .../embed/mongo/MongosExecutable.java | 5 +++-- .../flapdoodle/embed/mongo/MongosProcess.java | 6 +++--- .../flapdoodle/embed/mongo/MongosStarter.java | 5 +++-- .../java/de/flapdoodle/embed/mongo/Paths.java | 21 ++++++++----------- .../embed/mongo/runtime/Mongod.java | 5 +++-- .../embed/mongo/runtime/Mongos.java | 5 +++-- .../embed/mongo/MongoDBRuntimeTest.java | 8 ++++--- 11 files changed, 40 insertions(+), 34 deletions(-) diff --git a/pom.xml b/pom.xml index c8ddf89..19e87b6 100644 --- a/pom.xml +++ b/pom.xml @@ -246,13 +246,13 @@ <dependency> <groupId>de.flapdoodle.embed</groupId> <artifactId>de.flapdoodle.embed.process</artifactId> - <version>1.32</version> + <version>1.33</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> - <version>2.11.0</version> + <version>2.11.2</version> <scope>compile</scope> <optional>true</optional> </dependency> diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodExecutable.java b/src/main/java/de/flapdoodle/embed/mongo/MongodExecutable.java index e2f9063..7ee661e 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongodExecutable.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongodExecutable.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import de.flapdoodle.embed.mongo.config.IMongodConfig; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.Executable; /** @@ -35,8 +36,8 @@ import de.flapdoodle.embed.process.runtime.Executable; public class MongodExecutable extends Executable<IMongodConfig, MongodProcess> { public MongodExecutable(Distribution distribution, IMongodConfig mongodConfig, IRuntimeConfig runtimeConfig, - File mongodExecutable) { - super(distribution, mongodConfig, runtimeConfig, mongodExecutable); + IExtractedFileSet files) { + super(distribution, mongodConfig, runtimeConfig, files); } private static Logger logger = Logger.getLogger(MongodExecutable.class.getName()); diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java index 5bfdd7a..19be901 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java @@ -31,6 +31,7 @@ import de.flapdoodle.embed.mongo.runtime.Mongod; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.config.ISupportConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.io.directories.PropertyOrPlatformTempDir; import de.flapdoodle.embed.process.io.file.Files; @@ -84,8 +85,8 @@ public class MongodProcess extends AbstractMongoProcess<IMongodConfig, MongodExe } @Override - protected List<String> getCommandLine(Distribution distribution, IMongodConfig config, File exe) throws IOException { - return Mongod.enhanceCommandLinePlattformSpecific(distribution, Mongod.getCommandLine(getConfig(), exe, dbDir)); + protected List<String> getCommandLine(Distribution distribution, IMongodConfig config, IExtractedFileSet files) throws IOException { + return Mongod.enhanceCommandLinePlattformSpecific(distribution, Mongod.getCommandLine(getConfig(), files, dbDir)); } @Override diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java index 4ba1297..2dd0698 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java @@ -27,6 +27,7 @@ import de.flapdoodle.embed.mongo.config.IMongodConfig; import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.Starter; /** @@ -49,7 +50,7 @@ public class MongodStarter extends Starter<IMongodConfig,MongodExecutable,Mongod } @Override - protected MongodExecutable newExecutable(IMongodConfig mongodConfig, Distribution distribution, IRuntimeConfig runtime, File mongodExe) { - return new MongodExecutable(distribution, mongodConfig, runtime, mongodExe); + protected MongodExecutable newExecutable(IMongodConfig mongodConfig, Distribution distribution, IRuntimeConfig runtime, IExtractedFileSet files) { + return new MongodExecutable(distribution, mongodConfig, runtime, files); } } diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java b/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java index 8731957..fda8e40 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import de.flapdoodle.embed.mongo.config.IMongosConfig; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.Executable; /** @@ -35,8 +36,8 @@ import de.flapdoodle.embed.process.runtime.Executable; public class MongosExecutable extends Executable<IMongosConfig, MongosProcess> { public MongosExecutable(Distribution distribution, IMongosConfig mongodConfig, IRuntimeConfig runtimeConfig, - File mongodExecutable) { - super(distribution, mongodConfig, runtimeConfig, mongodExecutable); + IExtractedFileSet files) { + super(distribution, mongodConfig, runtimeConfig, files); } private static Logger logger = Logger.getLogger(MongosExecutable.class.getName()); diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java index 6d8176b..234473b 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongosProcess.java @@ -20,7 +20,6 @@ */ package de.flapdoodle.embed.mongo; -import java.io.File; import java.io.IOException; import java.util.List; @@ -30,6 +29,7 @@ import de.flapdoodle.embed.mongo.runtime.Mongos; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.config.ISupportConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; /** * @@ -47,7 +47,7 @@ public class MongosProcess extends AbstractMongoProcess<IMongosConfig, MongosExe } @Override - protected List<String> getCommandLine(Distribution distribution, IMongosConfig config, File exe) throws IOException { - return Mongos.getCommandLine(getConfig(), exe); + protected List<String> getCommandLine(Distribution distribution, IMongosConfig config, IExtractedFileSet files) throws IOException { + return Mongos.getCommandLine(getConfig(), files); } } diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java index ff763cb..a4bc1e9 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java +++ b/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java @@ -27,6 +27,7 @@ import de.flapdoodle.embed.mongo.config.IMongosConfig; import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.Starter; /** @@ -49,7 +50,7 @@ public class MongosStarter extends Starter<IMongosConfig,MongosExecutable,Mongos } @Override - protected MongosExecutable newExecutable(IMongosConfig mongosConfig, Distribution distribution, IRuntimeConfig runtime, File mongodExe) { - return new MongosExecutable(distribution, mongosConfig, runtime, mongodExe); + protected MongosExecutable newExecutable(IMongosConfig mongosConfig, Distribution distribution, IRuntimeConfig runtime, IExtractedFileSet files) { + return new MongosExecutable(distribution, mongosConfig, runtime, files); } } diff --git a/src/main/java/de/flapdoodle/embed/mongo/Paths.java b/src/main/java/de/flapdoodle/embed/mongo/Paths.java index a8baa8e..fbb67c0 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/Paths.java +++ b/src/main/java/de/flapdoodle/embed/mongo/Paths.java @@ -28,6 +28,8 @@ import de.flapdoodle.embed.process.distribution.BitSize; import de.flapdoodle.embed.process.distribution.Distribution; import de.flapdoodle.embed.process.distribution.IVersion; import de.flapdoodle.embed.process.distribution.Platform; +import de.flapdoodle.embed.process.config.store.FileSet; +import de.flapdoodle.embed.process.config.store.FileType; import de.flapdoodle.embed.process.config.store.IDownloadConfig; import de.flapdoodle.embed.process.config.store.IPackageResolver; @@ -44,29 +46,24 @@ public class Paths implements IPackageResolver { } @Override - public Pattern executeablePattern(Distribution distribution) { - return Pattern.compile(".*" + executableFilename(distribution)); - } - - //CHECKSTYLE:OFF - @Override - public String executableFilename(Distribution distribution) { - String mongodPattern; + public FileSet getFileSet(Distribution distribution) { + String executableFileName; switch (distribution.getPlatform()) { case Linux: case OS_X: case Solaris: - mongodPattern = command.commandName(); + executableFileName = command.commandName(); break; case Windows: - mongodPattern = command.commandName()+".exe"; + executableFileName = command.commandName()+".exe"; break; default: throw new IllegalArgumentException("Unknown Platform " + distribution.getPlatform()); } - return mongodPattern; + return FileSet.builder().addEntry(FileType.Executable, executableFileName).build(); } - + + //CHECKSTYLE:OFF @Override public ArchiveType getArchiveType(Distribution distribution) { ArchiveType archiveType; diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java index ed0b3b2..4ccac12 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java +++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java @@ -40,6 +40,7 @@ import de.flapdoodle.embed.mongo.Command; import de.flapdoodle.embed.mongo.config.IMongodConfig; import de.flapdoodle.embed.mongo.config.SupportConfig; import de.flapdoodle.embed.process.distribution.Distribution; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.NUMA; /** @@ -117,10 +118,10 @@ public class Mongod extends AbstractMongo { return defaultValue; } - public static List<String> getCommandLine(IMongodConfig config, File mongodExecutable, File dbDir) + public static List<String> getCommandLine(IMongodConfig config, IExtractedFileSet files, File dbDir) throws UnknownHostException { List<String> ret = new ArrayList<String>(); - ret.addAll(Arrays.asList(mongodExecutable.getAbsolutePath(), "-v", + ret.addAll(Arrays.asList(files.executable().getAbsolutePath(), "-v", "--dbpath", "" + dbDir.getAbsolutePath(), "--noprealloc", "--smallfiles", "--nojournal", "--noauth")); diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java index aadb60f..a4d3fe1 100644 --- a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java +++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java @@ -28,6 +28,7 @@ import java.util.List; import java.util.logging.Logger; import de.flapdoodle.embed.mongo.config.IMongosConfig; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; /** * @@ -36,10 +37,10 @@ public class Mongos extends AbstractMongo { private static Logger logger = Logger.getLogger(Mongos.class.getName()); - public static List<String> getCommandLine(IMongosConfig config, File mongosExecutable) + public static List<String> getCommandLine(IMongosConfig config, IExtractedFileSet files) throws UnknownHostException { List<String> ret = new ArrayList<String>(); - ret.addAll(Arrays.asList(mongosExecutable.getAbsolutePath(), "-v", + ret.addAll(Arrays.asList(files.executable().getAbsolutePath(), "-v", "--chunkSize", "1")); applyDefaultOptions(config, ret); applyNet(config.net(),ret); diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java index 11af32e..173e4fe 100644 --- a/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java +++ b/src/test/java/de/flapdoodle/embed/mongo/MongoDBRuntimeTest.java @@ -44,6 +44,7 @@ import de.flapdoodle.embed.process.distribution.BitSize; import de.flapdoodle.embed.process.distribution.Distribution; import de.flapdoodle.embed.process.distribution.IVersion; import de.flapdoodle.embed.process.distribution.Platform; +import de.flapdoodle.embed.process.extract.IExtractedFileSet; import de.flapdoodle.embed.process.runtime.Network; // CHECKSTYLE:OFF @@ -116,9 +117,10 @@ public class MongoDBRuntimeTest extends TestCase { private void check(IRuntimeConfig runtime, Distribution distribution) throws IOException { assertTrue("Check", runtime.getArtifactStore().checkDistribution(distribution)); - File mongod = runtime.getArtifactStore().extractExe(distribution); - assertNotNull("Extracted", mongod); - assertTrue("Delete", mongod.delete()); + IExtractedFileSet files = runtime.getArtifactStore().extractFileSet(distribution); + assertNotNull("Extracted", files); + assertNotNull("Extracted", files.executable()); + assertTrue("Delete", files.executable().delete()); } public void testCheck() throws IOException, InterruptedException { -- GitLab