Adds TypeCoercions for AtomicLong and AtomicInteger

Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/70f2df97
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/70f2df97
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/70f2df97

Branch: refs/heads/0.4.0
Commit: 70f2df97336e60f8fc3e15076a6e9518977859f0
Parents: cfce473
Author: Aled Sage <[email protected]>
Authored: Thu Sep 27 23:35:24 2012 +0100
Committer: Aled Sage <[email protected]>
Committed: Thu Sep 27 23:35:24 2012 +0100

----------------------------------------------------------------------
 .../java/brooklyn/util/flags/TypeCoercions.java | 27 ++++++++++++++++++++
 1 file changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/70f2df97/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 5c92831..6e0ff49 100644
--- a/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
+++ b/core/src/main/java/brooklyn/util/flags/TypeCoercions.java
@@ -18,6 +18,8 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import brooklyn.entity.basic.ClosureEntityFactory;
 import brooklyn.entity.basic.ConfigurableEntityFactory;
@@ -380,5 +382,30 @@ public class TypeCoercions {
                 return JavaGroovyEquivalents.toTimeDuration(input);
             }
         });
+        registerAdapter(Integer.class, AtomicLong.class, new 
Function<Integer,AtomicLong>() {
+            @Override public AtomicLong apply(final Integer input) {
+                return new AtomicLong(input);
+            }
+        });
+        registerAdapter(Long.class, AtomicLong.class, new 
Function<Long,AtomicLong>() {
+            @Override public AtomicLong apply(final Long input) {
+                return new AtomicLong(input);
+            }
+        });
+        registerAdapter(String.class, AtomicLong.class, new 
Function<String,AtomicLong>() {
+            @Override public AtomicLong apply(final String input) {
+                return new AtomicLong(Long.parseLong(input));
+            }
+        });
+        registerAdapter(Integer.class, AtomicInteger.class, new 
Function<Integer,AtomicInteger>() {
+            @Override public AtomicInteger apply(final Integer input) {
+                return new AtomicInteger(input);
+            }
+        });
+        registerAdapter(String.class, AtomicInteger.class, new 
Function<String,AtomicInteger>() {
+            @Override public AtomicInteger apply(final String input) {
+                return new AtomicInteger(Integer.parseInt(input));
+            }
+        });
     }
 }

Reply via email to