Skip to content

Commit

Permalink
use builder pattern for all commands
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelmosmann committed Jan 15, 2023
1 parent 4b10a95 commit 78a9c7c
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 18 deletions.
3 changes: 2 additions & 1 deletion Howto.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ Mongod mongod = new Mongod() {
@Override
public Transition<PersistentDir> persistentBaseDir() {
return Start.to(PersistentDir.class)
.providedBy(PersistentDir.userHome(".embeddedMongodbCustomPath"));
.providedBy(PersistentDir.inUserHome(".embeddedMongodbCustomPath")
.mapToUncheckedException(RuntimeException::new));
}
};
```
Expand Down
10 changes: 5 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@
org.apache.commons.io,
org.slf4j
</osgi.import>
<junit.version>5.9.1</junit.version>
<junit.version>5.9.2</junit.version>
<!-- eclipse apt switch -->
<m2e.apt.activation>jdt_apt</m2e.apt.activation>
</properties>
Expand Down Expand Up @@ -443,13 +443,13 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.23.1</version>
<version>3.24.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.flapdoodle.testdoc</groupId>
<artifactId>de.flapdoodle.testdoc</artifactId>
<version>1.4.0</version>
<version>1.5.0</version>
<scope>test</scope>
</dependency>

Expand Down Expand Up @@ -489,12 +489,12 @@
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.process</artifactId>
<version>4.3.4</version>
<version>4.3.5</version>
</dependency>
<dependency>
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo.packageresolver</artifactId>
<version>4.3.1</version>
<version>4.3.2</version>
</dependency>
</dependencies>
</project>
5 changes: 5 additions & 0 deletions src/main/java/de/flapdoodle/embed/mongo/config/Net.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ public abstract class Net {

public abstract boolean isIpv6();

@Value.Auxiliary
public Net withPort(int port) {
return ImmutableNet.copyOf(this).withPort(port);
}

@Value.Auxiliary
public InetAddress getServerAddress() throws UnknownHostException {
if (getBindIp().isPresent()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@
import de.flapdoodle.reverse.TransitionWalker;
import de.flapdoodle.reverse.Transitions;
import de.flapdoodle.reverse.transitions.Start;
import org.immutables.value.Value;

@Value.Immutable
public class MongoDump implements WorkspaceDefaults, VersionAndPlatform, ProcessDefaults, CommandName, ExtractFileSet {
public Transitions transitions(de.flapdoodle.embed.process.distribution.Version version) {
return workspaceDefaults()
Expand All @@ -50,8 +52,12 @@ public TransitionWalker.ReachedState<ExecutedMongoDumpProcess> start(Version ver
.initState(StateID.of(ExecutedMongoDumpProcess.class));
}

public static MongoDump instance() {
return new MongoDump();
public static ImmutableMongoDump instance() {
return builder().build();
}

public static ImmutableMongoDump.Builder builder() {
return ImmutableMongoDump.builder();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@
import de.flapdoodle.reverse.TransitionWalker;
import de.flapdoodle.reverse.Transitions;
import de.flapdoodle.reverse.transitions.Start;
import org.immutables.value.Value;

@Value.Immutable
public class MongoImport implements WorkspaceDefaults, VersionAndPlatform, ProcessDefaults, CommandName, ExtractFileSet {
public Transitions transitions(de.flapdoodle.embed.process.distribution.Version version) {
return workspaceDefaults()
Expand All @@ -49,7 +51,11 @@ public TransitionWalker.ReachedState<ExecutedMongoImportProcess> start(Version v
.initState(StateID.of(ExecutedMongoImportProcess.class));
}

public static MongoImport instance() {
return new MongoImport();
public static ImmutableMongoImport instance() {
return builder().build();
}

public static ImmutableMongoImport.Builder builder() {
return ImmutableMongoImport.builder();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@
import de.flapdoodle.reverse.TransitionWalker;
import de.flapdoodle.reverse.Transitions;
import de.flapdoodle.reverse.transitions.Start;
import org.immutables.value.Value;

@Value.Immutable
public class MongoRestore implements WorkspaceDefaults, VersionAndPlatform, ProcessDefaults, CommandName, ExtractFileSet {

public Transitions transitions(de.flapdoodle.embed.process.distribution.Version version) {
Expand All @@ -51,7 +53,11 @@ public TransitionWalker.ReachedState<ExecutedMongoRestoreProcess> start(Version
.initState(StateID.of(ExecutedMongoRestoreProcess.class));
}

public static MongoRestore instance() {
return new MongoRestore();
public static ImmutableMongoRestore instance() {
return builder().build();
}

public static ImmutableMongoRestore.Builder builder() {
return ImmutableMongoRestore.builder();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@
import de.flapdoodle.reverse.TransitionWalker;
import de.flapdoodle.reverse.Transitions;
import de.flapdoodle.reverse.transitions.Start;
import org.immutables.value.Value;

@Value.Immutable
public class MongoShell implements WorkspaceDefaults, VersionAndPlatform, ProcessDefaults, CommandName, ExtractFileSet {

public Transitions transitions(de.flapdoodle.embed.process.distribution.Version version) {
Expand All @@ -51,8 +53,11 @@ public TransitionWalker.ReachedState<ExecutedMongoShellProcess> start(Version ve
.initState(StateID.of(ExecutedMongoShellProcess.class));
}

public static MongoShell instance() {
return new MongoShell();
public static ImmutableMongoShell instance() {
return builder().build();
}

public static ImmutableMongoShell.Builder builder() {
return ImmutableMongoShell.builder();
}
}
10 changes: 7 additions & 3 deletions src/main/java/de/flapdoodle/embed/mongo/transitions/Mongos.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
import de.flapdoodle.reverse.TransitionWalker;
import de.flapdoodle.reverse.Transitions;
import de.flapdoodle.reverse.transitions.Start;
import org.immutables.value.Value;

@Value.Immutable
public class Mongos implements WorkspaceDefaults, VersionAndPlatform, ProcessDefaults, CommandName, ExtractFileSet {
public Transitions transitions(de.flapdoodle.embed.process.distribution.Version version) {
return workspaceDefaults()
Expand Down Expand Up @@ -57,9 +59,11 @@ public TransitionWalker.ReachedState<RunningMongosProcess> start(Version version
.initState(StateID.of(RunningMongosProcess.class));
}

public static Mongos instance() {
return new Mongos();
public static ImmutableMongos instance() {
return builder().build();
}


public static ImmutableMongos.Builder builder() {
return ImmutableMongos.builder();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,8 @@ public void testCustomizeArtifactStorage() throws UnknownHostException {
@Override
public Transition<PersistentDir> persistentBaseDir() {
return Start.to(PersistentDir.class)
.providedBy(PersistentDir.userHome(".embeddedMongodbCustomPath"));
.providedBy(PersistentDir.inUserHome(".embeddedMongodbCustomPath")
.mapToUncheckedException(RuntimeException::new));
}
};
recording.end();
Expand Down

0 comments on commit 78a9c7c

Please sign in to comment.