1.1 --- a/json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java Sat Aug 02 12:59:31 2014 +0200
1.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java Mon Feb 29 05:25:31 2016 +0100
1.3 @@ -42,8 +42,7 @@
1.4 */
1.5 package org.netbeans.html.json.impl;
1.6
1.7 -import java.util.ArrayList;
1.8 -import net.java.html.BrwsrCtx;
1.9 +import java.util.concurrent.Callable;
1.10
1.11 /** Super type for those who wish to receive JSON messages.
1.12 *
1.13 @@ -94,11 +93,20 @@
1.14 };
1.15 }
1.16
1.17 - public static MsgEvnt createMessage(final Object value) {
1.18 + public static MsgEvnt createMessage(final Object value) {
1.19 return new MsgEvnt() {
1.20 + private Object val = value;
1.21 +
1.22 @Override
1.23 public Object[] getValues() {
1.24 - return value instanceof Object[] ? (Object[])value : new Object[] { value };
1.25 + if (val instanceof Callable) {
1.26 + try {
1.27 + val = ((Callable)val).call();
1.28 + } catch (Exception ex) {
1.29 + throw new IllegalStateException("Cannot compute " + val, ex);
1.30 + }
1.31 + }
1.32 + return val instanceof Object[] ? (Object[])val : new Object[] { val };
1.33 }
1.34
1.35 @Override