minor tidies to core (better error catching, and generics)

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

Branch: refs/heads/0.6.0
Commit: 74d2380fd9fd2a9be13ca8faa15785ab0df9d7a9
Parents: 78d734e
Author: Alex Heneveld <[email protected]>
Authored: Thu Nov 14 07:32:46 2013 +0000
Committer: Alex Heneveld <[email protected]>
Committed: Thu Nov 14 21:21:31 2013 +0000

----------------------------------------------------------------------
 core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java  | 4 ++++
 .../main/java/brooklyn/event/basic/DependentConfiguration.java   | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/74d2380f/core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java 
b/core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java
index 69615fd..83e541f 100644
--- a/core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java
+++ b/core/src/main/java/brooklyn/entity/basic/EntityDynamicType.java
@@ -277,6 +277,10 @@ public class EntityDynamicType {
                         if (optionalEntity==null) continue;
                     }
                     Effector<?> eff = (Effector<?>) f.get(optionalEntity);
+                    if (eff==null) {
+                        LOG.warn("Effector "+f+" undefined for "+clazz+" 
("+optionalEntity+")");
+                        continue;
+                    }
                     Effector<?> overwritten = result.put(eff.getName(), eff);
                     Field overwrittenFieldSource = 
fieldSources.put(eff.getName(), f);
                     if (overwritten!=null && 
!Effectors.sameInstance(overwritten, eff)) {

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/74d2380f/core/src/main/java/brooklyn/event/basic/DependentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/brooklyn/event/basic/DependentConfiguration.java 
b/core/src/main/java/brooklyn/event/basic/DependentConfiguration.java
index f68662c..26fe214 100644
--- a/core/src/main/java/brooklyn/event/basic/DependentConfiguration.java
+++ b/core/src/main/java/brooklyn/event/basic/DependentConfiguration.java
@@ -107,11 +107,11 @@ public class DependentConfiguration {
         return 
DependentConfiguration.<T,T>attributePostProcessedWhenReady(source, sensor, 
GroovyJavaMethods.truthPredicate(), Functions.constant(value));
     }
 
-    public static <T> Task<T> valueWhenAttributeReady(Entity source, 
AttributeSensor<T> sensor, Function<? super T,T> valueProvider) {
+    public static <T,V> Task<V> valueWhenAttributeReady(Entity source, 
AttributeSensor<T> sensor, Function<? super T,V> valueProvider) {
         return attributePostProcessedWhenReady(source, sensor, 
GroovyJavaMethods.truthPredicate(), valueProvider);
     }
     
-    public static <T> Task<T> valueWhenAttributeReady(Entity source, 
AttributeSensor<T> sensor, Closure<T> valueProvider) {
+    public static <T,V> Task<V> valueWhenAttributeReady(Entity source, 
AttributeSensor<T> sensor, Closure<V> valueProvider) {
         return attributePostProcessedWhenReady(source, sensor, 
GroovyJavaMethods.truthPredicate(), valueProvider);
     }
     

Reply via email to