You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2018/12/18 12:57:30 UTC
[5/7] james-project git commit: JAMES-2611 Add Logging level
parameterization for ConfigurationProvider
JAMES-2611 Add Logging level parameterization for ConfigurationProvider
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/e57655f9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/e57655f9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/e57655f9
Branch: refs/heads/master
Commit: e57655f961e6b58e49835f289ca09e2dea5a58d2
Parents: 18666e3
Author: Gautier DI FOLCO <gd...@linagora.com>
Authored: Wed Nov 28 11:37:00 2018 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Tue Dec 18 13:56:45 2018 +0100
----------------------------------------------------------------------
.../server/core/configuration/ConfigurationProvider.java | 8 +++++++-
.../core/configuration/FileConfigurationProvider.java | 9 +++++----
.../org/apache/james/DefaultCassandraJamesServerTest.java | 2 +-
.../java/org/apache/james/DefaultMemoryJamesServerTest.java | 2 +-
4 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/e57655f9/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java b/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
index c1f5539..1e23289 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/configuration/ConfigurationProvider.java
@@ -21,10 +21,16 @@ package org.apache.james.server.core.configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.james.util.LoggingLevel;
public interface ConfigurationProvider {
- HierarchicalConfiguration getConfiguration(String component)
+ default HierarchicalConfiguration getConfiguration(String component)
+ throws ConfigurationException {
+ return getConfiguration(component, LoggingLevel.WARNING);
+ }
+
+ HierarchicalConfiguration getConfiguration(String component, LoggingLevel loggingLevelOnError)
throws ConfigurationException;
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/e57655f9/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java b/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
index 911907e..1fcfe6b 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/configuration/FileConfigurationProvider.java
@@ -29,6 +29,7 @@ import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
import org.apache.james.filesystem.api.FileSystem;
+import org.apache.james.util.LoggingLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,12 +64,12 @@ public class FileConfigurationProvider implements ConfigurationProvider {
}
@Override
- public HierarchicalConfiguration getConfiguration(String component) throws ConfigurationException {
+ public HierarchicalConfiguration getConfiguration(String component, LoggingLevel loggingLevelOnError) throws ConfigurationException {
Preconditions.checkNotNull(component);
List<String> configPathParts = Splitter.on(".").splitToList(component);
Preconditions.checkArgument(!configPathParts.isEmpty());
- Optional<InputStream> inputStream = retrieveConfigInputStream(configPathParts.get(0));
+ Optional<InputStream> inputStream = retrieveConfigInputStream(configPathParts.get(0), loggingLevelOnError);
if (inputStream.isPresent()) {
return selectConfigurationPart(configPathParts,
getConfig(inputStream.get()));
@@ -80,13 +81,13 @@ public class FileConfigurationProvider implements ConfigurationProvider {
return selectHierarchicalConfigPart(config, Iterables.skip(configPathParts, 1));
}
- private Optional<InputStream> retrieveConfigInputStream(String configurationFileWithoutExtension) throws ConfigurationException {
+ private Optional<InputStream> retrieveConfigInputStream(String configurationFileWithoutExtension, LoggingLevel loggingLevelOnError) throws ConfigurationException {
Preconditions.checkArgument(!Strings.isNullOrEmpty(configurationFileWithoutExtension), "The configuration file name should not be empty or null");
try {
return Optional.of(
fileSystem.getResource(configurationPrefix + configurationFileWithoutExtension + CONFIGURATION_FILE_SUFFIX));
} catch (IOException e) {
- LOGGER.warn("Unable to locate configuration file {}" + CONFIGURATION_FILE_SUFFIX + ", assuming empty configuration", configurationFileWithoutExtension);
+ loggingLevelOnError.format(LOGGER, "Unable to locate configuration file {}" + CONFIGURATION_FILE_SUFFIX + ", assuming empty configuration", configurationFileWithoutExtension);
return Optional.empty();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/e57655f9/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
index 7e6b6a9..65495b5 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/DefaultCassandraJamesServerTest.java
@@ -44,7 +44,7 @@ class DefaultCassandraJamesServerTest {
.overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
.overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
.overrideWith(binder -> binder.bind(PropertiesProvider.class).to(FailingPropertiesProvider.class))
- .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance(s -> new HierarchicalConfiguration())))
+ .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new HierarchicalConfiguration())))
.build();
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/e57655f9/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
index fdd2196..47a8d19 100644
--- a/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
+++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/DefaultMemoryJamesServerTest.java
@@ -41,7 +41,7 @@ class DefaultMemoryJamesServerTest {
.overrideWith(new TestJMAPServerModule(LIMIT_TO_10_MESSAGES))
.overrideWith(binder -> binder.bind(TextExtractor.class).to(PDFTextExtractor.class))
.overrideWith(binder -> binder.bind(PropertiesProvider.class).to(FailingPropertiesProvider.class))
- .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance(s -> new HierarchicalConfiguration())))
+ .overrideWith(binder -> binder.bind(ConfigurationProvider.class).toInstance((s, l) -> new HierarchicalConfiguration())))
.build();
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org