From b998fd14b6453bf0a0da9a870d36ab2f0a7f9726 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Leif=20=C3=85strand?= Date: Mon, 13 Aug 2012 15:45:14 +0300 Subject: [PATCH] Rename JavaScriptCallback -> JavaScriptFunction (#9293) --- .../terminal/AbstractJavaScriptExtension.java | 25 +++++++------ .../terminal/JavaScriptCallbackHelper.java | 8 ++--- .../ui/AbstractJavaScriptComponent.java | 25 +++++++------ src/com/vaadin/ui/JavaScript.java | 36 +++++++++---------- ...tCallback.java => JavaScriptFunction.java} | 8 ++--- .../BasicJavaScriptComponent.java | 8 ++--- .../extensions/JavascriptManagerTest.java | 6 ++-- .../SimpleJavaScriptExtensionTest.java | 6 ++-- .../tests/minitutorials/v7a3/Analytics.java | 2 +- .../vaadin/tests/minitutorials/v7a3/Flot.java | 6 ++-- 10 files changed, 64 insertions(+), 66 deletions(-) rename src/com/vaadin/ui/{JavaScriptCallback.java => JavaScriptFunction.java} (79%) diff --git a/src/com/vaadin/terminal/AbstractJavaScriptExtension.java b/src/com/vaadin/terminal/AbstractJavaScriptExtension.java index df44c3edd5..7bafb6d2b3 100644 --- a/src/com/vaadin/terminal/AbstractJavaScriptExtension.java +++ b/src/com/vaadin/terminal/AbstractJavaScriptExtension.java @@ -6,7 +6,7 @@ package com.vaadin.terminal; import com.vaadin.shared.JavaScriptExtensionState; import com.vaadin.terminal.gwt.client.ApplicationConnection; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; /** * Base class for Extensions with all client-side logic implemented using @@ -74,11 +74,11 @@ import com.vaadin.ui.JavaScriptCallback; * the field, that function is called whenever the contents of the shared state * is changed. *
  • Any field name corresponding to a call to - * {@link #registerCallback(String, JavaScriptCallback)} on the server will - * automatically be present as a function that triggers the registered callback + * {@link #addFunction(String, JavaScriptFunction)} on the server will + * automatically be present as a function that triggers the registered function * on the server.
  • *
  • Any field name referred to using - * {@link #invokeCallback(String, Object...)} on the server will be called if a + * {@link #callFunction(String, Object...)} on the server will be called if a * function has been assigned to the field.
  • * *

    @@ -122,22 +122,21 @@ public abstract class AbstractJavaScriptExtension extends AbstractExtension { } /** - * Register a {@link JavaScriptCallback} that can be called from the + * Register a {@link JavaScriptFunction} that can be called from the * JavaScript using the provided name. A JavaScript function with the * provided name will be added to the connector wrapper object (initially * available as this). Calling that JavaScript function will - * cause the call method in the registered {@link JavaScriptCallback} to be + * cause the call method in the registered {@link JavaScriptFunction} to be * invoked with the same arguments. * * @param functionName * the name that should be used for client-side callback - * @param javaScriptCallback - * the callback object that will be invoked when the JavaScript - * function is called + * @param function + * the {@link JavaScriptFunction} object that will be invoked + * when the JavaScript function is called */ - protected void registerCallback(String functionName, - JavaScriptCallback javaScriptCallback) { - callbackHelper.registerCallback(functionName, javaScriptCallback); + protected void addFunction(String functionName, JavaScriptFunction function) { + callbackHelper.registerCallback(functionName, function); } /** @@ -152,7 +151,7 @@ public abstract class AbstractJavaScriptExtension extends AbstractExtension { * @param arguments * function arguments */ - protected void invokeCallback(String name, Object... arguments) { + protected void callFunction(String name, Object... arguments) { callbackHelper.invokeCallback(name, arguments); } diff --git a/src/com/vaadin/terminal/JavaScriptCallbackHelper.java b/src/com/vaadin/terminal/JavaScriptCallbackHelper.java index 131875a5a4..265e578c6d 100644 --- a/src/com/vaadin/terminal/JavaScriptCallbackHelper.java +++ b/src/com/vaadin/terminal/JavaScriptCallbackHelper.java @@ -19,7 +19,7 @@ import com.vaadin.terminal.gwt.client.JavaScriptConnectorHelper; import com.vaadin.tools.ReflectTools; import com.vaadin.ui.AbstractJavaScriptComponent; import com.vaadin.ui.JavaScript.JavaScriptCallbackRpc; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; /** * Internal helper class used to implement functionality common to @@ -39,7 +39,7 @@ public class JavaScriptCallbackHelper implements Serializable { JavaScriptCallbackRpc.class, "call", String.class, JSONArray.class); private AbstractClientConnector connector; - private Map callbacks = new HashMap(); + private Map callbacks = new HashMap(); private JavaScriptCallbackRpc javascriptCallbackRpc; public JavaScriptCallbackHelper(AbstractClientConnector connector) { @@ -47,7 +47,7 @@ public class JavaScriptCallbackHelper implements Serializable { } public void registerCallback(String functionName, - JavaScriptCallback javaScriptCallback) { + JavaScriptFunction javaScriptCallback) { callbacks.put(functionName, javaScriptCallback); JavaScriptConnectorState state = getConnectorState(); if (state.getCallbackNames().add(functionName)) { @@ -67,7 +67,7 @@ public class JavaScriptCallbackHelper implements Serializable { javascriptCallbackRpc = new JavaScriptCallbackRpc() { @Override public void call(String name, JSONArray arguments) { - JavaScriptCallback callback = callbacks.get(name); + JavaScriptFunction callback = callbacks.get(name); try { callback.call(arguments); } catch (JSONException e) { diff --git a/src/com/vaadin/ui/AbstractJavaScriptComponent.java b/src/com/vaadin/ui/AbstractJavaScriptComponent.java index 3668669d16..5ec80573ab 100644 --- a/src/com/vaadin/ui/AbstractJavaScriptComponent.java +++ b/src/com/vaadin/ui/AbstractJavaScriptComponent.java @@ -77,11 +77,11 @@ import com.vaadin.terminal.gwt.client.ui.JavaScriptWidget; * the field, that function is called whenever the contents of the shared state * is changed. *

  • Any field name corresponding to a call to - * {@link #registerCallback(String, JavaScriptCallback)} on the server will - * automatically be present as a function that triggers the registered callback + * {@link #addFunction(String, JavaScriptFunction)} on the server will + * automatically be present as a function that triggers the registered function * on the server.
  • *
  • Any field name referred to using - * {@link #invokeCallback(String, Object...)} on the server will be called if a + * {@link #callFunction(String, Object...)} on the server will be called if a * function has been assigned to the field.
  • * *

    @@ -125,22 +125,21 @@ public abstract class AbstractJavaScriptComponent extends AbstractComponent { } /** - * Register a {@link JavaScriptCallback} that can be called from the + * Register a {@link JavaScriptFunction} that can be called from the * JavaScript using the provided name. A JavaScript function with the * provided name will be added to the connector wrapper object (initially * available as this). Calling that JavaScript function will - * cause the call method in the registered {@link JavaScriptCallback} to be + * cause the call method in the registered {@link JavaScriptFunction} to be * invoked with the same arguments. * * @param functionName - * the name that should be used for client-side callback - * @param javaScriptCallback - * the callback object that will be invoked when the JavaScript - * function is called + * the name that should be used for client-side function + * @param function + * the {@link JavaScriptFunction} object that will be invoked + * when the JavaScript function is called */ - protected void registerCallback(String functionName, - JavaScriptCallback javaScriptCallback) { - callbackHelper.registerCallback(functionName, javaScriptCallback); + protected void addFunction(String functionName, JavaScriptFunction function) { + callbackHelper.registerCallback(functionName, function); } /** @@ -155,7 +154,7 @@ public abstract class AbstractJavaScriptComponent extends AbstractComponent { * @param arguments * function arguments */ - protected void invokeCallback(String name, Object... arguments) { + protected void callFunction(String name, Object... arguments) { callbackHelper.invokeCallback(name, arguments); } diff --git a/src/com/vaadin/ui/JavaScript.java b/src/com/vaadin/ui/JavaScript.java index 53efb62965..0b4669728a 100644 --- a/src/com/vaadin/ui/JavaScript.java +++ b/src/com/vaadin/ui/JavaScript.java @@ -26,7 +26,7 @@ import com.vaadin.terminal.Page; * @since 7.0.0 */ public class JavaScript extends AbstractExtension { - private Map callbacks = new HashMap(); + private Map functions = new HashMap(); // Can not be defined in client package as this JSONArray is not available // in GWT @@ -43,10 +43,10 @@ public class JavaScript extends AbstractExtension { registerRpc(new JavaScriptCallbackRpc() { @Override public void call(String name, JSONArray arguments) { - JavaScriptCallback callback = callbacks.get(name); + JavaScriptFunction function = functions.get(name); // TODO handle situation if name is not registered try { - callback.call(arguments); + function.call(arguments); } catch (JSONException e) { throw new IllegalArgumentException(e); } @@ -62,44 +62,44 @@ public class JavaScript extends AbstractExtension { /** * Add a new function to the global JavaScript namespace (i.e. the window * object). The call method in the passed - * {@link JavaScriptCallback} object will be invoked with the same + * {@link JavaScriptFunction} object will be invoked with the same * parameters whenever the JavaScript function is called in the browser. * - * A callback added with the name "myCallback" can thus be + * A function added with the name "myFunction" can thus be * invoked with the following JavaScript code: - * window.myCallback(argument1, argument2). + * window.myFunction(argument1, argument2). * * If the name parameter contains dots, simple objects are created on demand * to allow calling the function using the same name (e.g. * window.myObject.myFunction). * * @param name - * the name that the callback function should get in the global - * JavaScript namespace. - * @param callback - * the JavaScriptCallback that will be invoked if the JavaScript + * the name that the function should get in the global JavaScript + * namespace. + * @param function + * the JavaScriptFunction that will be invoked if the JavaScript * function is called. */ - public void addCallback(String name, JavaScriptCallback callback) { - callbacks.put(name, callback); + public void addFunction(String name, JavaScriptFunction function) { + functions.put(name, function); if (getState().getNames().add(name)) { requestRepaint(); } } /** - * Removes a JavaScripCallback from the browser's global JavaScript + * Removes a JavaScripFunction from the browser's global JavaScript * namespace. * - * If the name contains dots and intermediate were created by - * {@link #addCallback(String, JavaScriptCallback)}addCallback, these - * objects will not be removed when the callback is removed. + * If the name contains dots and intermediate objects were created by + * {@link #addFunction(String, JavaScriptFunction)}, these objects will not + * be removed by this method. * * @param name * the name of the callback to remove */ - public void removeCallback(String name) { - callbacks.remove(name); + public void removeFunction(String name) { + functions.remove(name); if (getState().getNames().remove(name)) { requestRepaint(); } diff --git a/src/com/vaadin/ui/JavaScriptCallback.java b/src/com/vaadin/ui/JavaScriptFunction.java similarity index 79% rename from src/com/vaadin/ui/JavaScriptCallback.java rename to src/com/vaadin/ui/JavaScriptFunction.java index 49f7695e89..e39ae9b87b 100644 --- a/src/com/vaadin/ui/JavaScriptCallback.java +++ b/src/com/vaadin/ui/JavaScriptFunction.java @@ -15,15 +15,15 @@ import com.vaadin.terminal.AbstractJavaScriptExtension; * the corresponding JavaScript function is called, the {@link #call(JSONArray)} * method is invoked. * - * @see JavaScript#addCallback(String, JavaScriptCallback) - * @see AbstractJavaScriptComponent#registerCallback(String, JavaScriptCallback) - * @see AbstractJavaScriptExtension#registerCallback(String, JavaScriptCallback) + * @see JavaScript#addFunction(String, JavaScriptCallback) + * @see AbstractJavaScriptComponent#addFunction(String, JavaScriptCallback) + * @see AbstractJavaScriptExtension#addFunction(String, JavaScriptCallback) * * @author Vaadin Ltd * @version @VERSION@ * @since 7.0.0 */ -public interface JavaScriptCallback extends Serializable { +public interface JavaScriptFunction extends Serializable { /** * Invoked whenever the corresponding JavaScript function is called in the * browser. diff --git a/tests/testbench/com/vaadin/tests/components/javascriptcomponent/BasicJavaScriptComponent.java b/tests/testbench/com/vaadin/tests/components/javascriptcomponent/BasicJavaScriptComponent.java index 9ea61b92bb..5f0b551e78 100644 --- a/tests/testbench/com/vaadin/tests/components/javascriptcomponent/BasicJavaScriptComponent.java +++ b/tests/testbench/com/vaadin/tests/components/javascriptcomponent/BasicJavaScriptComponent.java @@ -21,7 +21,7 @@ import com.vaadin.tests.components.AbstractTestRoot; import com.vaadin.tests.util.Log; import com.vaadin.ui.AbstractJavaScriptComponent; import com.vaadin.ui.HasComponents; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; public class BasicJavaScriptComponent extends AbstractTestRoot { @@ -59,14 +59,14 @@ public class BasicJavaScriptComponent extends AbstractTestRoot { log.log("Got RPC message: " + message); } }); - registerCallback("messageToServer", new JavaScriptCallback() { + addFunction("messageToServer", new JavaScriptFunction() { @Override public void call(JSONArray arguments) throws JSONException { log.log("Got callback message: " + arguments.getString(0)); } }); - registerCallback("reportParentIds", new JavaScriptCallback() { + addFunction("reportParentIds", new JavaScriptFunction() { @Override public void call(JSONArray arguments) throws JSONException { JSONArray parentIds = arguments.getJSONArray(0); @@ -89,7 +89,7 @@ public class BasicJavaScriptComponent extends AbstractTestRoot { }); getRpcProxy(TestRpc.class).sendRpc("RPC message"); - invokeCallback("messageToClient", "Callback message"); + callFunction("messageToClient", "Callback message"); getState() .setMessages( diff --git a/tests/testbench/com/vaadin/tests/extensions/JavascriptManagerTest.java b/tests/testbench/com/vaadin/tests/extensions/JavascriptManagerTest.java index a16f131475..c373d9d9dd 100644 --- a/tests/testbench/com/vaadin/tests/extensions/JavascriptManagerTest.java +++ b/tests/testbench/com/vaadin/tests/extensions/JavascriptManagerTest.java @@ -11,7 +11,7 @@ import com.vaadin.terminal.WrappedRequest; import com.vaadin.tests.components.AbstractTestRoot; import com.vaadin.tests.util.Log; import com.vaadin.ui.JavaScript; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; public class JavascriptManagerTest extends AbstractTestRoot { @@ -21,7 +21,7 @@ public class JavascriptManagerTest extends AbstractTestRoot { protected void setup(WrappedRequest request) { addComponent(log); final JavaScript js = JavaScript.getCurrent(); - js.addCallback("testing.doTest", new JavaScriptCallback() { + js.addFunction("testing.doTest", new JavaScriptFunction() { @Override public void call(JSONArray arguments) throws JSONException { log.log("Got " + arguments.length() + " arguments"); @@ -31,7 +31,7 @@ public class JavascriptManagerTest extends AbstractTestRoot { + arguments.getJSONObject(2).getBoolean("p")); log.log("Argument 4 is JSONObject.NULL: " + (arguments.get(3) == JSONObject.NULL)); - js.removeCallback("testing.doTest"); + js.removeFunction("testing.doTest"); } }); js.execute("window.testing.doTest(42, 'text', {p: true}, null)"); diff --git a/tests/testbench/com/vaadin/tests/extensions/SimpleJavaScriptExtensionTest.java b/tests/testbench/com/vaadin/tests/extensions/SimpleJavaScriptExtensionTest.java index cb05bde493..64c7f6a5a8 100644 --- a/tests/testbench/com/vaadin/tests/extensions/SimpleJavaScriptExtensionTest.java +++ b/tests/testbench/com/vaadin/tests/extensions/SimpleJavaScriptExtensionTest.java @@ -16,7 +16,7 @@ import com.vaadin.terminal.WrappedRequest; import com.vaadin.tests.components.AbstractTestRoot; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; import com.vaadin.ui.Notification; public class SimpleJavaScriptExtensionTest extends AbstractTestRoot { @@ -56,7 +56,7 @@ public class SimpleJavaScriptExtensionTest extends AbstractTestRoot { Notification.show(getState().getPrefix() + message); } }); - registerCallback("greetToServer", new JavaScriptCallback() { + addFunction("greetToServer", new JavaScriptFunction() { @Override public void call(JSONArray arguments) throws JSONException { Notification.show(getState().getPrefix() @@ -81,7 +81,7 @@ public class SimpleJavaScriptExtensionTest extends AbstractTestRoot { } public void greetCallback(String message) { - invokeCallback("greetToClient", message); + callFunction("greetToClient", message); } } diff --git a/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Analytics.java b/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Analytics.java index bd4cfd5839..d545831794 100644 --- a/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Analytics.java +++ b/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Analytics.java @@ -23,7 +23,7 @@ public class Analytics extends AbstractJavaScriptExtension { private void pushCommand(Object... commandAndArguments) { // Cast to Object to use Object[] commandAndArguments as the first // varargs argument instead of as the full varargs argument array. - invokeCallback("pushCommand", (Object) commandAndArguments); + callFunction("pushCommand", (Object) commandAndArguments); } protected void extend(Root root) { diff --git a/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Flot.java b/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Flot.java index 946a67d7fd..2e60c1ba37 100644 --- a/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Flot.java +++ b/tests/testbench/com/vaadin/tests/minitutorials/v7a3/Flot.java @@ -12,7 +12,7 @@ import com.vaadin.annotations.JavaScript; import com.vaadin.external.json.JSONArray; import com.vaadin.external.json.JSONException; import com.vaadin.ui.AbstractJavaScriptComponent; -import com.vaadin.ui.JavaScriptCallback; +import com.vaadin.ui.JavaScriptFunction; import com.vaadin.ui.Notification; @JavaScript({ @@ -27,7 +27,7 @@ public class Flot extends AbstractJavaScriptComponent { + dataIndex + "]"); } }); - registerCallback("onPlotClick", new JavaScriptCallback() { + addFunction("onPlotClick", new JavaScriptFunction() { @Override public void call(JSONArray arguments) throws JSONException { int seriesIndex = arguments.getInt(0); @@ -52,7 +52,7 @@ public class Flot extends AbstractJavaScriptComponent { public void highlight(int seriesIndex, int dataIndex) { getRpcProxy(FlotHighlightRpc.class).highlight(seriesIndex, dataIndex); - invokeCallback("highlight", seriesIndex, dataIndex); + callFunction("highlight", seriesIndex, dataIndex); } @Override -- 2.39.5