2727import de .flapdoodle .embed .mongo .Command ;
2828import de .flapdoodle .embed .mongo .MongodExecutable ;
2929import de .flapdoodle .embed .mongo .MongodStarter ;
30- import de .flapdoodle .embed .mongo .config .DownloadConfigBuilder ;
31- import de .flapdoodle .embed .mongo .config .ExtractedArtifactStoreBuilder ;
32- import de .flapdoodle .embed .mongo .config .IMongodConfig ;
33- import de .flapdoodle .embed .mongo .config .MongodConfigBuilder ;
30+ import de .flapdoodle .embed .mongo .config .Defaults ;
31+ import de .flapdoodle .embed .mongo .config .ImmutableMongodConfig ;
32+ import de .flapdoodle .embed .mongo .config .MongodConfig ;
3433import de .flapdoodle .embed .mongo .config .Net ;
35- import de .flapdoodle .embed .mongo .config .RuntimeConfigBuilder ;
3634import de .flapdoodle .embed .mongo .config .Storage ;
3735import de .flapdoodle .embed .mongo .distribution .Feature ;
3836import de .flapdoodle .embed .mongo .distribution .IFeatureAwareVersion ;
3937import de .flapdoodle .embed .mongo .distribution .Version ;
4038import de .flapdoodle .embed .mongo .distribution .Versions ;
41- import de .flapdoodle .embed .process .config .IRuntimeConfig ;
39+ import de .flapdoodle .embed .process .config .RuntimeConfig ;
4240import de .flapdoodle .embed .process .config .io .ProcessOutput ;
43- import de .flapdoodle .embed .process .config .store .IDownloadConfig ;
44- import de .flapdoodle .embed .process .distribution .GenericVersion ;
41+ import de .flapdoodle .embed .process .config .store .DownloadConfig ;
42+ import de .flapdoodle .embed .process .config .store .ImmutableDownloadConfig ;
43+ import de .flapdoodle .embed .process .distribution .Version .GenericVersion ;
4544import de .flapdoodle .embed .process .io .Processors ;
4645import de .flapdoodle .embed .process .io .Slf4jLevel ;
4746import de .flapdoodle .embed .process .io .progress .Slf4jProgressListener ;
4847import de .flapdoodle .embed .process .runtime .Network ;
49- import de .flapdoodle .embed .process .store .ArtifactStoreBuilder ;
48+ import de .flapdoodle .embed .process .store .ExtractedArtifactStore ;
5049import org .slf4j .Logger ;
5150import org .slf4j .LoggerFactory ;
5251
8180 * @author Yogesh Lonkar
8281 * @author Mark Paluch
8382 * @author Issam El-atif
83+ * @author Paulius Dambrauskas
8484 * @since 1.3.0
8585 */
8686@ Configuration (proxyBeanMethods = false )
@@ -97,14 +97,14 @@ public class EmbeddedMongoAutoConfiguration {
9797
9898 private final MongoProperties properties ;
9999
100- public EmbeddedMongoAutoConfiguration (MongoProperties properties , EmbeddedMongoProperties embeddedProperties ) {
100+ public EmbeddedMongoAutoConfiguration (MongoProperties properties ) {
101101 this .properties = properties ;
102102 }
103103
104104 @ Bean (initMethod = "start" , destroyMethod = "stop" )
105105 @ ConditionalOnMissingBean
106- public MongodExecutable embeddedMongoServer (IMongodConfig mongodConfig , IRuntimeConfig runtimeConfig ,
107- ApplicationContext context ) throws IOException {
106+ public MongodExecutable embeddedMongoServer (MongodConfig mongodConfig , RuntimeConfig runtimeConfig ,
107+ ApplicationContext context ) {
108108 Integer configuredPort = this .properties .getPort ();
109109 if (configuredPort == null || configuredPort == 0 ) {
110110 setEmbeddedPort (context , mongodConfig .net ().getPort ());
@@ -113,7 +113,7 @@ public MongodExecutable embeddedMongoServer(IMongodConfig mongodConfig, IRuntime
113113 return mongodStarter .prepare (mongodConfig );
114114 }
115115
116- private MongodStarter getMongodStarter (IRuntimeConfig runtimeConfig ) {
116+ private MongodStarter getMongodStarter (RuntimeConfig runtimeConfig ) {
117117 if (runtimeConfig == null ) {
118118 return MongodStarter .getDefaultInstance ();
119119 }
@@ -122,8 +122,8 @@ private MongodStarter getMongodStarter(IRuntimeConfig runtimeConfig) {
122122
123123 @ Bean
124124 @ ConditionalOnMissingBean
125- public IMongodConfig embeddedMongoConfiguration (EmbeddedMongoProperties embeddedProperties ) throws IOException {
126- MongodConfigBuilder builder = new MongodConfigBuilder ().version (determineVersion (embeddedProperties ));
125+ public MongodConfig embeddedMongoConfiguration (EmbeddedMongoProperties embeddedProperties ) throws IOException {
126+ ImmutableMongodConfig . Builder builder = MongodConfig . builder ().version (determineVersion (embeddedProperties ));
127127 EmbeddedMongoProperties .Storage storage = embeddedProperties .getStorage ();
128128 if (storage != null ) {
129129 String databaseDir = storage .getDatabaseDir ();
@@ -149,12 +149,16 @@ private IFeatureAwareVersion determineVersion(EmbeddedMongoProperties embeddedPr
149149 return version ;
150150 }
151151 }
152- return Versions .withFeatures (new GenericVersion (embeddedProperties . getVersion () ));
152+ return Versions .withFeatures (createEmbeddedMongoVersion (embeddedProperties ));
153153 }
154- return Versions .withFeatures (new GenericVersion (embeddedProperties . getVersion () ),
154+ return Versions .withFeatures (createEmbeddedMongoVersion (embeddedProperties ),
155155 embeddedProperties .getFeatures ().toArray (new Feature [0 ]));
156156 }
157157
158+ private GenericVersion createEmbeddedMongoVersion (EmbeddedMongoProperties embeddedProperties ) {
159+ return de .flapdoodle .embed .process .distribution .Version .of (embeddedProperties .getVersion ());
160+ }
161+
158162 private InetAddress getHost () throws UnknownHostException {
159163 if (this .properties .getHost () == null ) {
160164 return InetAddress .getByAddress (Network .localhostIsIPv6 () ? IP6_LOOPBACK_ADDRESS : IP4_LOOPBACK_ADDRESS );
@@ -189,29 +193,28 @@ private Map<String, Object> getMongoPorts(MutablePropertySources sources) {
189193
190194 @ Configuration (proxyBeanMethods = false )
191195 @ ConditionalOnClass (Logger .class )
192- @ ConditionalOnMissingBean (IRuntimeConfig .class )
196+ @ ConditionalOnMissingBean (RuntimeConfig .class )
193197 static class RuntimeConfigConfiguration {
194198
195199 @ Bean
196- IRuntimeConfig embeddedMongoRuntimeConfig (
200+ RuntimeConfig embeddedMongoRuntimeConfig (
197201 ObjectProvider <DownloadConfigBuilderCustomizer > downloadConfigBuilderCustomizers ) {
198202 Logger logger = LoggerFactory .getLogger (getClass ().getPackage ().getName () + ".EmbeddedMongo" );
199203 ProcessOutput processOutput = new ProcessOutput (Processors .logTo (logger , Slf4jLevel .INFO ),
200204 Processors .logTo (logger , Slf4jLevel .ERROR ),
201205 Processors .named ("[console>]" , Processors .logTo (logger , Slf4jLevel .DEBUG )));
202- return new RuntimeConfigBuilder (). defaultsWithLogger (Command .MongoD , logger ).processOutput (processOutput )
206+ return Defaults . runtimeConfigFor (Command .MongoD , logger ).processOutput (processOutput )
203207 .artifactStore (getArtifactStore (logger , downloadConfigBuilderCustomizers .orderedStream ()))
204- .daemonProcess (false ).build ();
208+ .isDaemonProcess (false ).build ();
205209 }
206210
207- private ArtifactStoreBuilder getArtifactStore (Logger logger ,
211+ private ExtractedArtifactStore getArtifactStore (Logger logger ,
208212 Stream <DownloadConfigBuilderCustomizer > downloadConfigBuilderCustomizers ) {
209- DownloadConfigBuilder downloadConfigBuilder = new DownloadConfigBuilder ()
210- .defaultsForCommand (Command .MongoD );
213+ ImmutableDownloadConfig .Builder downloadConfigBuilder = Defaults .downloadConfigFor (Command .MongoD );
211214 downloadConfigBuilder .progressListener (new Slf4jProgressListener (logger ));
212215 downloadConfigBuilderCustomizers .forEach ((customizer ) -> customizer .customize (downloadConfigBuilder ));
213- IDownloadConfig downloadConfig = downloadConfigBuilder .build ();
214- return new ExtractedArtifactStoreBuilder (). defaults (Command .MongoD ).download (downloadConfig );
216+ DownloadConfig downloadConfig = downloadConfigBuilder .build ();
217+ return Defaults . extractedArtifactStoreFor (Command .MongoD ).withDownloadConfig (downloadConfig );
215218 }
216219
217220 }
0 commit comments