diff -r 30f20d9c0986 -r b547f8f663f5 json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java --- a/json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java Sat Aug 02 12:59:31 2014 +0200 +++ b/json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java Mon Feb 29 05:25:31 2016 +0100 @@ -42,8 +42,7 @@ */ package org.netbeans.html.json.impl; -import java.util.ArrayList; -import net.java.html.BrwsrCtx; +import java.util.concurrent.Callable; /** Super type for those who wish to receive JSON messages. * @@ -94,11 +93,20 @@ }; } - public static MsgEvnt createMessage(final Object value) { + public static MsgEvnt createMessage(final Object value) { return new MsgEvnt() { + private Object val = value; + @Override public Object[] getValues() { - return value instanceof Object[] ? (Object[])value : new Object[] { value }; + if (val instanceof Callable) { + try { + val = ((Callable)val).call(); + } catch (Exception ex) { + throw new IllegalStateException("Cannot compute " + val, ex); + } + } + return val instanceof Object[] ? (Object[])val : new Object[] { val }; } @Override