1.1 --- a/context/src/main/java/org/apidesign/html/context/spi/Contexts.java Tue Mar 04 17:09:22 2014 +0100
1.2 +++ b/context/src/main/java/org/apidesign/html/context/spi/Contexts.java Tue Mar 04 17:32:54 2014 +0100
1.3 @@ -186,18 +186,4 @@
1.4 return impl.build();
1.5 }
1.6 }
1.7 -
1.8 - /** Injects a {@link BrwsrCtx} into a technology registered by
1.9 - * {@link Builder#register(java.lang.Class, java.lang.Object, int)} when
1.10 - * appropriate context is created.
1.11 - *
1.12 - * @since 0.7.6
1.13 - */
1.14 - public interface CtxAware {
1.15 - /** Injects associated context into an technology.
1.16 - *
1.17 - * @param ctx the context this technology is registed in
1.18 - */
1.19 - public void injectCtx(BrwsrCtx ctx);
1.20 - }
1.21 }
2.1 --- a/context/src/main/java/org/netbeans/html/context/impl/CtxImpl.java Tue Mar 04 17:09:22 2014 +0100
2.2 +++ b/context/src/main/java/org/netbeans/html/context/impl/CtxImpl.java Tue Mar 04 17:32:54 2014 +0100
2.3 @@ -79,12 +79,6 @@
2.4 final List<Bind<?>> arr = Collections.unmodifiableList(techs);
2.5 CtxImpl impl = new CtxImpl(arr);
2.6 BrwsrCtx ctx = CtxAccssr.getDefault().newContext(impl);
2.7 - for (Bind<?> b : arr) {
2.8 - if (b.impl instanceof Contexts.CtxAware) {
2.9 - Contexts.CtxAware aw = (Contexts.CtxAware)b.impl;
2.10 - aw.injectCtx(ctx);
2.11 - }
2.12 - }
2.13 return ctx;
2.14 }
2.15
3.1 --- a/json/src/main/java/org/apidesign/html/json/spi/Technology.java Tue Mar 04 17:09:22 2014 +0100
3.2 +++ b/json/src/main/java/org/apidesign/html/json/spi/Technology.java Tue Mar 04 17:32:54 2014 +0100
3.3 @@ -42,6 +42,7 @@
3.4 */
3.5 package org.apidesign.html.json.spi;
3.6
3.7 +import net.java.html.BrwsrCtx;
3.8 import net.java.html.json.Model;
3.9 import net.java.html.json.Models;
3.10
3.11 @@ -108,7 +109,9 @@
3.12 * runSafe method.
3.13 *
3.14 * @param r the runnable to execute
3.15 + * @deprecated Use {@link BrwsrCtx#execute(java.lang.Runnable)}
3.16 */
3.17 + @Deprecated
3.18 public void runSafe(Runnable r);
3.19
3.20 /** For certain rendering technologies it may be more efficient to register
4.1 --- a/ko4j/src/main/java/org/netbeans/html/ko4j/FXContext.java Tue Mar 04 17:09:22 2014 +0100
4.2 +++ b/ko4j/src/main/java/org/netbeans/html/ko4j/FXContext.java Tue Mar 04 17:32:54 2014 +0100
4.3 @@ -49,12 +49,9 @@
4.4 import java.io.InputStreamReader;
4.5 import java.io.Reader;
4.6 import java.net.URL;
4.7 -import java.util.concurrent.Executor;
4.8 import java.util.logging.Logger;
4.9 -import net.java.html.BrwsrCtx;
4.10 import net.java.html.js.JavaScriptBody;
4.11 import org.apidesign.html.boot.spi.Fn;
4.12 -import org.apidesign.html.context.spi.Contexts;
4.13 import org.apidesign.html.json.spi.FunctionBinding;
4.14 import org.apidesign.html.json.spi.JSONCall;
4.15 import org.apidesign.html.json.spi.PropertyBinding;
4.16 @@ -71,51 +68,16 @@
4.17 */
4.18 final class FXContext
4.19 implements Technology.BatchInit<Object>, Technology.ValueMutated<Object>,
4.20 -Transfer, WSTransfer<LoadWS>, Contexts.CtxAware {
4.21 +Transfer, WSTransfer<LoadWS> {
4.22 static final Logger LOG = Logger.getLogger(FXContext.class.getName());
4.23 - private static Boolean javaScriptEnabled;
4.24 - private BrwsrCtx browserContext;
4.25 private Object[] jsObjects;
4.26 private int jsIndex;
4.27
4.28 public FXContext(Fn.Presenter browserContext) {
4.29 - Contexts.Builder cb = Contexts.newBuilder();
4.30 - if (browserContext instanceof Executor) {
4.31 - cb.register(Executor.class, (Executor)browserContext, 1000);
4.32 - }
4.33 - this.browserContext = cb.build();
4.34 }
4.35
4.36 - @JavaScriptBody(args = {}, body = "if (window) return true; else return false;")
4.37 - private static boolean isJavaScriptEnabledJs() {
4.38 - return false;
4.39 - }
4.40 -
4.41 - static boolean isJavaScriptEnabled() {
4.42 - if (javaScriptEnabled != null) {
4.43 - return javaScriptEnabled;
4.44 - }
4.45 - if (!(javaScriptEnabled = isJavaScriptEnabledJs())) {
4.46 - Closeable c = Fn.activate(new TrueFn());
4.47 - try {
4.48 - javaScriptEnabled = isJavaScriptEnabledJs();
4.49 - } finally {
4.50 - try {
4.51 - c.close();
4.52 - } catch (IOException ex) {
4.53 - // cannot happen
4.54 - }
4.55 - }
4.56 - }
4.57 - return javaScriptEnabled;
4.58 - }
4.59 -
4.60 + @JavaScriptBody(args = {}, body = "if (window.WebSocket) return true; else return false;")
4.61 final boolean areWebSocketsSupported() {
4.62 - return isWebSocket();
4.63 - }
4.64 -
4.65 - @JavaScriptBody(args = {}, body = "if (window.WebSocket) return true; else return false;")
4.66 - private static boolean isWebSocket() {
4.67 return false;
4.68 }
4.69
4.70 @@ -232,7 +194,8 @@
4.71
4.72 @Override
4.73 public void runSafe(final Runnable r) {
4.74 - browserContext.execute(r);
4.75 + LOG.warning("Technology.runSafe has been deprecated. Use BrwsrCtx.execute!");
4.76 + r.run();
4.77 }
4.78
4.79 @Override
4.80 @@ -250,11 +213,6 @@
4.81 socket.close();
4.82 }
4.83
4.84 - @Override
4.85 - public void injectCtx(BrwsrCtx ctx) {
4.86 - browserContext = ctx;
4.87 - }
4.88 -
4.89 private static final class TrueFn extends Fn implements Fn.Presenter {
4.90 @Override
4.91 public Object invoke(Object thiz, Object... args) throws Exception {
5.1 --- a/ko4j/src/main/java/org/netbeans/html/ko4j/KO4J.java Tue Mar 04 17:09:22 2014 +0100
5.2 +++ b/ko4j/src/main/java/org/netbeans/html/ko4j/KO4J.java Tue Mar 04 17:32:54 2014 +0100
5.3 @@ -116,12 +116,10 @@
5.4 */
5.5 @Override
5.6 public void fillContext(Contexts.Builder context, Class<?> requestor) {
5.7 - if (FXContext.isJavaScriptEnabled()) {
5.8 - context.register(Technology.class, knockout(), 100);
5.9 - context.register(Transfer.class, transfer(), 100);
5.10 - if (c.areWebSocketsSupported()) {
5.11 - context.register(WSTransfer.class, websockets(), 100);
5.12 - }
5.13 + context.register(Technology.class, knockout(), 100);
5.14 + context.register(Transfer.class, transfer(), 100);
5.15 + if (c.areWebSocketsSupported()) {
5.16 + context.register(WSTransfer.class, websockets(), 100);
5.17 }
5.18 }
5.19