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 bt...@apache.org on 2018/06/21 02:32:41 UTC
[4/4] james-project git commit: JAMES-2422 Change the default list
delimiter (comma is used in LDAP configuration)
JAMES-2422 Change the default list delimiter (comma is used in LDAP configuration)
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d926a617
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d926a617
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d926a617
Branch: refs/heads/master
Commit: d926a617ae6d17f15b73ab2c93f9f1159563f676
Parents: 35c14ca
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jun 20 11:01:54 2018 +0200
Committer: benwa <bt...@linagora.com>
Committed: Thu Jun 21 09:31:37 2018 +0700
----------------------------------------------------------------------
.../core/configuration/FileConfigurationProvider.java | 3 +++
.../james/utils/FileConfigurationProviderTest.java | 11 ++++++++++-
.../guice/guice-common/src/test/resources/test.xml | 1 +
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/d926a617/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 bf818cf..9fe3ed6 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
@@ -40,9 +40,12 @@ public class FileConfigurationProvider implements ConfigurationProvider {
private static final Logger LOGGER = LoggerFactory.getLogger(FileConfigurationProvider.class);
private static final String CONFIGURATION_FILE_SUFFIX = ".xml";
+ private static final char SEMICOLON = ';';
+
public static final HierarchicalConfiguration EMTY_CONFIGURATION = new HierarchicalConfiguration();
public static XMLConfiguration getConfig(InputStream configStream) throws ConfigurationException {
+ XMLConfiguration.setDefaultListDelimiter(SEMICOLON);
XMLConfiguration config = new XMLConfiguration();
config.setDelimiterParsingDisabled(true);
config.setAttributeSplittingDisabled(true);
http://git-wip-us.apache.org/repos/asf/james-project/blob/d926a617/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
index 74678ec..8fc061a 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
@@ -37,12 +37,14 @@ public class FileConfigurationProviderTest {
private static final String CONFIG_KEY_4 = "james";
private static final String CONFIG_KEY_5 = "internal";
private static final String CONFIG_KEY_ENV = "env";
+ private static final String CONFIG_KEY_ENV_WITH_COMMA = "envWithComma";
private static final String CONFIG_KEY_NOT_ENV = "notEnv";
private static final String VALUE_1 = "0";
private static final String VALUE_2 = "awesome";
private static final String VALUE_3 = "james";
private static final String VALUE_NOT_ENV = "${env:MY_NOT_IN_ENV_VAR}";
private static final String ENVIRONMENT_SET_VALUE = "testvalue";
+ private static final String ENVIRONMENT_WITH_COMMA = "testvalue,testvalue2,testvalue3";
private static final String FAKE_CONFIG_KEY = "fake";
private static final String ROOT_CONFIG_KEY = "test";
private static final String CONFIG_SEPARATOR = ".";
@@ -55,6 +57,7 @@ public class FileConfigurationProviderTest {
@Before
public void setUp() {
environmentVariables.set("MY_ENV_VAR", ENVIRONMENT_SET_VALUE);
+ environmentVariables.set("MY_ENV_VAR_WITH_COMMA", ENVIRONMENT_WITH_COMMA);
environmentVariables.clear("MY_NOT_IN_ENV_VAR");
Configuration configuration = Configuration.builder()
.workingDirectory("../")
@@ -90,7 +93,7 @@ public class FileConfigurationProviderTest {
assertThat(hierarchicalConfiguration.getKeys()).containsOnly(CONFIG_KEY_1,
String.join(CONFIG_SEPARATOR, CONFIG_KEY_4, CONFIG_KEY_2),
String.join(CONFIG_SEPARATOR, CONFIG_KEY_4, CONFIG_KEY_5, CONFIG_KEY_2),
- CONFIG_KEY_ENV, CONFIG_KEY_NOT_ENV);
+ CONFIG_KEY_ENV, CONFIG_KEY_ENV_WITH_COMMA, CONFIG_KEY_NOT_ENV);
assertThat(hierarchicalConfiguration.getProperty(CONFIG_KEY_1)).isEqualTo(VALUE_1);
}
@@ -141,4 +144,10 @@ public class FileConfigurationProviderTest {
HierarchicalConfiguration hierarchicalConfiguration = configurationProvider.getConfiguration(ROOT_CONFIG_KEY);
assertThat(hierarchicalConfiguration.getString(CONFIG_KEY_ENV)).isEqualTo(ENVIRONMENT_SET_VALUE);
}
+
+ @Test
+ public void getConfigurationShouldReplaceEnvironmentVariableWithoutSplittingThemWhenSet() throws Exception {
+ HierarchicalConfiguration hierarchicalConfiguration = configurationProvider.getConfiguration(ROOT_CONFIG_KEY);
+ assertThat(hierarchicalConfiguration.getString(CONFIG_KEY_ENV_WITH_COMMA)).isEqualTo(ENVIRONMENT_WITH_COMMA);
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/d926a617/server/container/guice/guice-common/src/test/resources/test.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/resources/test.xml b/server/container/guice/guice-common/src/test/resources/test.xml
index d34c3c4..771a0cc 100644
--- a/server/container/guice/guice-common/src/test/resources/test.xml
+++ b/server/container/guice/guice-common/src/test/resources/test.xml
@@ -26,5 +26,6 @@
</internal>
</james>
<env>${env:MY_ENV_VAR}</env>
+ <envWithComma>${env:MY_ENV_VAR_WITH_COMMA}</envWithComma>
<notEnv>${env:MY_NOT_IN_ENV_VAR}</notEnv>
</test>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org