You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/01/22 18:51:49 UTC
[03/11] camel git commit: CAMEL-10546: Re-written
GlobalOptionsDefinition.asMap() more concisely.
CAMEL-10546: Re-written GlobalOptionsDefinition.asMap() more concisely.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/628ceeeb
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/628ceeeb
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/628ceeeb
Branch: refs/heads/master
Commit: 628ceeeba46ef7139e52ea64d6615ea6d7a541b1
Parents: 6b6ba1c
Author: aldettinger <al...@gmail.com>
Authored: Fri Jan 20 13:59:59 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jan 22 18:06:43 2017 +0100
----------------------------------------------------------------------
.../camel/model/GlobalOptionsDefinition.java | 8 +--
.../model/GlobalOptionsDefinitionTest.java | 51 ++++++++++++++++++--
2 files changed, 48 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/628ceeeb/camel-core/src/main/java/org/apache/camel/model/GlobalOptionsDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/GlobalOptionsDefinition.java b/camel-core/src/main/java/org/apache/camel/model/GlobalOptionsDefinition.java
index c94c0a5..013823f 100644
--- a/camel-core/src/main/java/org/apache/camel/model/GlobalOptionsDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/GlobalOptionsDefinition.java
@@ -16,9 +16,9 @@
*/
package org.apache.camel.model;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@@ -50,11 +50,7 @@ public class GlobalOptionsDefinition {
}
public Map<String, String> asMap() {
- Map<String, String> globalOptionsAsMap = new HashMap<>();
- for (GlobalOptionDefinition globalOption : getGlobalOptions()) {
- globalOptionsAsMap.put(globalOption.getKey(), globalOption.getValue());
- }
- return globalOptionsAsMap;
+ return getGlobalOptions().stream().collect(Collectors.toMap(o -> o.getKey(), o -> o.getValue(), (o1, o2) -> o2));
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/628ceeeb/camel-core/src/test/java/org/apache/camel/model/GlobalOptionsDefinitionTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/model/GlobalOptionsDefinitionTest.java b/camel-core/src/test/java/org/apache/camel/model/GlobalOptionsDefinitionTest.java
index 0e8f78a..eac497a 100644
--- a/camel-core/src/test/java/org/apache/camel/model/GlobalOptionsDefinitionTest.java
+++ b/camel-core/src/test/java/org/apache/camel/model/GlobalOptionsDefinitionTest.java
@@ -28,16 +28,25 @@ import org.junit.Test;
public class GlobalOptionsDefinitionTest {
private static final String LOG_DEBUG_BODY_MAX_CHARS_VALUE = "500";
+ private static final String LOG_DEBUG_BODY_MAX_CHARS_DUP_VALUE = "400";
private GlobalOptionsDefinition instance;
+ private List<GlobalOptionDefinition> globalOptions;
+ private GlobalOptionDefinition nominalOption;
+ private GlobalOptionDefinition duplicateOption;
@Before
public void setup() {
- GlobalOptionDefinition globalOption = new GlobalOptionDefinition();
- globalOption.setKey(Exchange.LOG_DEBUG_BODY_MAX_CHARS);
- globalOption.setValue(LOG_DEBUG_BODY_MAX_CHARS_VALUE);
- List<GlobalOptionDefinition> globalOptions = new ArrayList<>();
- globalOptions.add(globalOption);
+ nominalOption = new GlobalOptionDefinition();
+ nominalOption.setKey(Exchange.LOG_DEBUG_BODY_MAX_CHARS);
+ nominalOption.setValue(LOG_DEBUG_BODY_MAX_CHARS_VALUE);
+
+ duplicateOption = new GlobalOptionDefinition();
+ duplicateOption.setKey(Exchange.LOG_DEBUG_BODY_MAX_CHARS);
+ duplicateOption.setValue(LOG_DEBUG_BODY_MAX_CHARS_DUP_VALUE);
+
+ globalOptions = new ArrayList<>();
+ globalOptions.add(nominalOption);
instance = new GlobalOptionsDefinition();
instance.setGlobalOptions(globalOptions);
}
@@ -50,4 +59,36 @@ public class GlobalOptionsDefinitionTest {
Assert.assertEquals(LOG_DEBUG_BODY_MAX_CHARS_VALUE, map.get(Exchange.LOG_DEBUG_BODY_MAX_CHARS));
}
+ @Test
+ public void asMapWithDuplicateKeyShouldOverride() {
+ globalOptions.add(duplicateOption);
+ Map<String, String> map = instance.asMap();
+ Assert.assertNotNull(map);
+ Assert.assertEquals(1, map.size());
+ Assert.assertEquals(LOG_DEBUG_BODY_MAX_CHARS_DUP_VALUE, map.get(Exchange.LOG_DEBUG_BODY_MAX_CHARS));
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void asMapWithNullGlobalOptionsShouldThrowNullPointerException() {
+ instance.setGlobalOptions(null);
+ instance.asMap();
+ }
+
+ @Test
+ public void asMapWithEmptyGlobalOptionsShouldReturnEmptyMap() {
+ globalOptions.clear();
+ Map<String, String> map = instance.asMap();
+ Assert.assertNotNull(map);
+ Assert.assertEquals(0, map.size());
+ }
+
+ @Test
+ public void asMapWithNullKeyShouldReturnEmptyMap() {
+ nominalOption.setKey(null);
+ Map<String, String> map = instance.asMap();
+ Assert.assertNotNull(map);
+ Assert.assertEquals(1, map.size());
+ Assert.assertEquals(LOG_DEBUG_BODY_MAX_CHARS_VALUE, map.get(null));
+ }
+
}