You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/07/15 17:20:10 UTC
[1/3] git commit: trim string value before transform it in a primitive
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master a09ae7d49 -> b74e76c35
trim string value before transform it in a primitive
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/de6fbd3d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/de6fbd3d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/de6fbd3d
Branch: refs/heads/master
Commit: de6fbd3d542c5232fdf78b0ae7ec5811c9ae0b5e
Parents: 342a336
Author: Andrea Turli <an...@gmail.com>
Authored: Fri Jul 11 11:49:48 2014 +0200
Committer: Andrea Turli <an...@gmail.com>
Committed: Fri Jul 11 11:49:48 2014 +0200
----------------------------------------------------------------------
.../java/brooklyn/util/flags/TypeCoercions.java | 35 ++++++++++----------
1 file changed, 17 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de6fbd3d/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
index 01b808e..3036654 100644
--- a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
+++ b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
@@ -18,9 +18,6 @@
*/
package brooklyn.util.flags;
-import groovy.lang.Closure;
-import groovy.time.TimeDuration;
-
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
@@ -46,6 +43,19 @@ import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.base.CaseFormat;
+import com.google.common.base.Function;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Predicate;
+import com.google.common.base.Splitter;
+import com.google.common.collect.HashBasedTable;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Table;
+import com.google.common.net.HostAndPort;
+import com.google.common.primitives.Primitives;
+import com.google.common.reflect.TypeToken;
+
import brooklyn.entity.basic.ClosureEntityFactory;
import brooklyn.entity.basic.ConfigurableEntityFactory;
import brooklyn.entity.basic.ConfigurableEntityFactoryFromEntityFactory;
@@ -59,19 +69,8 @@ import brooklyn.util.net.Networking;
import brooklyn.util.net.UserAndHostAndPort;
import brooklyn.util.text.StringEscapes.JavaStringEscapes;
import brooklyn.util.time.Duration;
-
-import com.google.common.base.CaseFormat;
-import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
-import com.google.common.base.Splitter;
-import com.google.common.collect.HashBasedTable;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Table;
-import com.google.common.net.HostAndPort;
-import com.google.common.primitives.Primitives;
-import com.google.common.reflect.TypeToken;
+import groovy.lang.Closure;
+import groovy.time.TimeDuration;
public class TypeCoercions {
@@ -326,7 +325,7 @@ public class TypeCoercions {
@SuppressWarnings("unchecked")
public static <T> T stringToPrimitive(String value, Class<T> targetType) {
assert Primitives.allPrimitiveTypes().contains(targetType) || Primitives.allWrapperTypes().contains(targetType) : "targetType="+targetType;
-
+ value = value.trim();
// If char, then need to do explicit conversion
if (targetType == Character.class || targetType == char.class) {
if (value.length() == 1) {
@@ -335,7 +334,7 @@ public class TypeCoercions {
throw new ClassCoercionException("Cannot coerce type String to "+targetType.getCanonicalName()+" ("+value+"): adapting failed");
}
}
-
+
// For boolean we could use valueOf, but that returns false whereas we'd rather throw errors on bad values
if (targetType == Boolean.class || targetType == boolean.class) {
if ("true".equalsIgnoreCase(value)) return (T) Boolean.TRUE;
[2/3] git commit: add unit tests to testCoerceStringToPrimitive
Posted by al...@apache.org.
add unit tests to testCoerceStringToPrimitive
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/ab9de806
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/ab9de806
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/ab9de806
Branch: refs/heads/master
Commit: ab9de806b3d51a22c83ec4946804e44d6a8ef8f5
Parents: de6fbd3
Author: Andrea Turli <an...@gmail.com>
Authored: Mon Jul 14 13:30:00 2014 +0200
Committer: Andrea Turli <an...@gmail.com>
Committed: Mon Jul 14 13:30:00 2014 +0200
----------------------------------------------------------------------
.../main/java/brooklyn/util/flags/TypeCoercions.java | 3 +--
.../brooklyn/util/internal/TypeCoercionsTest.java | 14 ++++++++------
2 files changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ab9de806/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
index 3036654..e25f1b7 100644
--- a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
+++ b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
@@ -325,7 +325,6 @@ public class TypeCoercions {
@SuppressWarnings("unchecked")
public static <T> T stringToPrimitive(String value, Class<T> targetType) {
assert Primitives.allPrimitiveTypes().contains(targetType) || Primitives.allWrapperTypes().contains(targetType) : "targetType="+targetType;
- value = value.trim();
// If char, then need to do explicit conversion
if (targetType == Character.class || targetType == char.class) {
if (value.length() == 1) {
@@ -334,7 +333,7 @@ public class TypeCoercions {
throw new ClassCoercionException("Cannot coerce type String to "+targetType.getCanonicalName()+" ("+value+"): adapting failed");
}
}
-
+ value = value.trim();
// For boolean we could use valueOf, but that returns false whereas we'd rather throw errors on bad values
if (targetType == Boolean.class || targetType == boolean.class) {
if ("true".equalsIgnoreCase(value)) return (T) Boolean.TRUE;
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/ab9de806/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java b/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
index e6aee19..05b4c72 100644
--- a/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
+++ b/core/src/test/java/brooklyn/util/internal/TypeCoercionsTest.java
@@ -32,17 +32,17 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import org.testng.annotations.Test;
-import brooklyn.entity.basic.Lifecycle;
-import brooklyn.util.flags.ClassCoercionException;
-import brooklyn.util.flags.TypeCoercions;
-import brooklyn.util.text.StringPredicates;
-
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.reflect.TypeToken;
+import brooklyn.entity.basic.Lifecycle;
+import brooklyn.util.flags.ClassCoercionException;
+import brooklyn.util.flags.TypeCoercions;
+import brooklyn.util.text.StringPredicates;
+
public class TypeCoercionsTest {
private static final Logger log = LoggerFactory.getLogger(TypeCoercionsTest.class);
@@ -56,6 +56,7 @@ public class TypeCoercionsTest {
@Test
public void testCoerceStringToPrimitive() {
assertEquals(TypeCoercions.coerce("1", Character.class), (Character)'1');
+ assertEquals(TypeCoercions.coerce(" ", Character.class), (Character)' ');
assertEquals(TypeCoercions.coerce("1", Short.class), (Short)((short)1));
assertEquals(TypeCoercions.coerce("1", Integer.class), (Integer)1);
assertEquals(TypeCoercions.coerce("1", Long.class), (Long)1l);
@@ -63,7 +64,8 @@ public class TypeCoercionsTest {
assertEquals(TypeCoercions.coerce("1", Double.class), (Double)1d);
assertEquals(TypeCoercions.coerce("true", Boolean.class), (Boolean)true);
assertEquals(TypeCoercions.coerce("False", Boolean.class), (Boolean)false);
-
+ assertEquals(TypeCoercions.coerce("true ", Boolean.class), (Boolean)true);
+
assertEquals(TypeCoercions.coerce("1", char.class), (Character)'1');
assertEquals(TypeCoercions.coerce("1", short.class), (Short)((short)1));
assertEquals(TypeCoercions.coerce("1", int.class), (Integer)1);
[3/3] git commit: This closes #66
Posted by al...@apache.org.
This closes #66
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b74e76c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b74e76c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b74e76c3
Branch: refs/heads/master
Commit: b74e76c35035217d4461f878a2d34315f48f6cc2
Parents: a09ae7d ab9de80
Author: Aled Sage <al...@gmail.com>
Authored: Tue Jul 15 16:19:39 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Tue Jul 15 16:19:39 2014 +0100
----------------------------------------------------------------------
.../java/brooklyn/util/flags/TypeCoercions.java | 34 +++++++++-----------
.../util/internal/TypeCoercionsTest.java | 14 ++++----
2 files changed, 24 insertions(+), 24 deletions(-)
----------------------------------------------------------------------