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