JAMES-2612 Make PropertiesProvider less linked to file implementation We can use a classpath version in tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/be303969 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/be303969 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/be303969 Branch: refs/heads/master Commit: be303969df8c8ab7b32493c72760c25cee42484e Parents: f01817f Author: Antoine Duprat <adup...@linagora.com> Authored: Wed Nov 28 14:01:48 2018 +0100 Committer: Raphael Ouazana <raphael.ouaz...@linagora.com> Committed: Mon Dec 3 11:16:29 2018 +0100 ---------------------------------------------------------------------- .../james/modules/objectstorage/FakePropertiesProvider.java | 8 +++++++- .../main/java/org/apache/james/utils/PropertiesProvider.java | 6 ++++-- .../org/apache/james/utils/FailingPropertiesProvider.java | 7 +++++-- 3 files changed, 16 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/be303969/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/FakePropertiesProvider.java ---------------------------------------------------------------------- diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/FakePropertiesProvider.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/FakePropertiesProvider.java index b4ca08b..d3ac520 100644 --- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/FakePropertiesProvider.java +++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/FakePropertiesProvider.java @@ -24,15 +24,21 @@ import java.io.FileNotFoundException; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.lang3.StringUtils; +import org.apache.james.filesystem.api.FileSystem; import org.apache.james.utils.PropertiesProvider; import com.google.common.collect.ImmutableMap; public class FakePropertiesProvider extends PropertiesProvider { + + public static final FileSystem NULL_FILE_SYSTEM = null; + private ImmutableMap<String, Configuration> configurations; public FakePropertiesProvider(ImmutableMap<String, Configuration> configurations) { - super(null); + super(NULL_FILE_SYSTEM, org.apache.james.server.core.configuration.Configuration.builder() + .workingDirectory("fakePath") + .build()); this.configurations = configurations; } http://git-wip-us.apache.org/repos/asf/james-project/blob/be303969/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java ---------------------------------------------------------------------- diff --git a/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java b/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java index 599f335..dcf88da 100644 --- a/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java +++ b/server/container/guice/configuration/src/main/java/org/apache/james/utils/PropertiesProvider.java @@ -35,15 +35,17 @@ import com.google.common.base.Strings; public class PropertiesProvider { private final FileSystem fileSystem; + private final String configurationPrefix; @Inject - public PropertiesProvider(FileSystem fileSystem) { + public PropertiesProvider(FileSystem fileSystem, org.apache.james.server.core.configuration.Configuration configuration) { this.fileSystem = fileSystem; + this.configurationPrefix = configuration.configurationPath(); } public Configuration getConfiguration(String fileName) throws FileNotFoundException, ConfigurationException { Preconditions.checkArgument(!Strings.isNullOrEmpty(fileName)); - File file = fileSystem.getFile(FileSystem.FILE_PROTOCOL_AND_CONF + fileName + ".properties"); + File file = fileSystem.getFile(configurationPrefix + fileName + ".properties"); if (!file.exists()) { throw new FileNotFoundException(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/be303969/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java index c134952..baeea67 100644 --- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java +++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FailingPropertiesProvider.java @@ -26,12 +26,15 @@ import javax.inject.Inject; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.james.filesystem.api.FileSystem; +import org.apache.james.server.core.configuration.Configuration; public class FailingPropertiesProvider extends PropertiesProvider { @Inject - public FailingPropertiesProvider(FileSystem fileSystem) { - super(fileSystem); + public FailingPropertiesProvider(FileSystem fileSystem) throws FileNotFoundException { + super(fileSystem, Configuration.builder() + .workingDirectory(fileSystem.getBasedir().getAbsolutePath()) + .build()); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org