package org.elasticsearch.river.mongodb.embed; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; import de.flapdoodle.embed.mongo.MongodExecutable; import de.flapdoodle.embed.mongo.MongodProcess; import de.flapdoodle.embed.mongo.config.IMongodConfig; import de.flapdoodle.embed.process.config.IRuntimeConfig; import de.flapdoodle.embed.process.config.store.FileType; import de.flapdoodle.embed.process.distribution.Distribution; import de.flapdoodle.embed.process.distribution.Platform; import de.flapdoodle.embed.process.extract.IExtractedFileSet; public class TokuMongodProcess extends MongodProcess { private static Logger logger = Logger.getLogger(TokuMongodProcess.class.getName()); public TokuMongodProcess(Distribution distribution, IMongodConfig config, IRuntimeConfig runtimeConfig, MongodExecutable mongodExecutable) throws IOException { super(distribution, config, runtimeConfig, mongodExecutable); } @Override protected Map<String, String> getEnvironment(Distribution distribution, IMongodConfig config, IExtractedFileSet exe) { logger.info("ExtractedFileSet: " + exe); for (FileType type : FileType.values()) { logger.info("" + type + " files: " + exe.files(type)); } HashMap<String, String> environment = new HashMap<String, String>(); // set LD_LIBRARY_PATH if (distribution.getPlatform() == Platform.Linux) { environment.put("LD_LIBRARY_PATH", exe.executable().getParent()); } return environment; } }