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 2013/11/11 15:55:12 UTC
[3/3] git commit: CAMEL-6953: contains predicate should deal with
StringBuilder/StringBuffer types, if checking with String types
CAMEL-6953: contains predicate should deal with StringBuilder/StringBuffer types, if checking with String types
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c67a30b5
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c67a30b5
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c67a30b5
Branch: refs/heads/camel-2.11.x
Commit: c67a30b522f7ed3f6ffa5df2967077497d9d0fed
Parents: f01b416
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Nov 11 15:55:45 2013 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Nov 11 15:56:20 2013 +0100
----------------------------------------------------------------------
.../org/apache/camel/util/ObjectHelper.java | 8 ++++++
.../org/apache/camel/util/ObjectHelperTest.java | 26 ++++++++++++++++++++
2 files changed, 34 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c67a30b5/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
index fc55dbe..df7fb7d 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -455,6 +455,14 @@ public final class ObjectHelper {
* Returns true if the collection contains the specified value
*/
public static boolean contains(Object collectionOrArray, Object value) {
+ // favor String types
+ if (collectionOrArray != null && (collectionOrArray instanceof StringBuffer || collectionOrArray instanceof StringBuilder)) {
+ collectionOrArray = collectionOrArray.toString();
+ }
+ if (value != null && (value instanceof StringBuffer || value instanceof StringBuilder)) {
+ value = value.toString();
+ }
+
if (collectionOrArray instanceof Collection) {
Collection<?> collection = (Collection<?>)collectionOrArray;
return collection.contains(value);
http://git-wip-us.apache.org/repos/asf/camel/blob/c67a30b5/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java b/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
index 106c42c..315f866 100644
--- a/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
+++ b/camel-core/src/test/java/org/apache/camel/util/ObjectHelperTest.java
@@ -93,6 +93,32 @@ public class ObjectHelperTest extends TestCase {
assertFalse(ObjectHelper.contains("foo", "xyz"));
}
+ public void testContainsStringBuilder() throws Exception {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Hello World");
+
+ assertTrue(ObjectHelper.contains(sb, "World"));
+ assertTrue(ObjectHelper.contains(sb, new StringBuffer("World")));
+ assertTrue(ObjectHelper.contains(sb, new StringBuilder("World")));
+
+ assertFalse(ObjectHelper.contains(sb, "Camel"));
+ assertFalse(ObjectHelper.contains(sb, new StringBuffer("Camel")));
+ assertFalse(ObjectHelper.contains(sb, new StringBuilder("Camel")));
+ }
+
+ public void testContainsStringBuffer() throws Exception {
+ StringBuffer sb = new StringBuffer();
+ sb.append("Hello World");
+
+ assertTrue(ObjectHelper.contains(sb, "World"));
+ assertTrue(ObjectHelper.contains(sb, new StringBuffer("World")));
+ assertTrue(ObjectHelper.contains(sb, new StringBuilder("World")));
+
+ assertFalse(ObjectHelper.contains(sb, "Camel"));
+ assertFalse(ObjectHelper.contains(sb, new StringBuffer("Camel")));
+ assertFalse(ObjectHelper.contains(sb, new StringBuilder("Camel")));
+ }
+
public void testEqual() {
assertTrue(ObjectHelper.equal(null, null));
assertTrue(ObjectHelper.equal("", ""));