json/src/main/java/org/netbeans/html/json/impl/RcvrJSON.java
branchxhr4j
changeset 1057 b547f8f663f5
parent 790 30f20d9c0986
     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