I have put the following native metthod in one of my class
public static native void alert(String msg) /*-{
$wnd.alert(name); // $wnd is a JSNI synonym for 'window'
}-*/;
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1187)
at com.vaadin.ui.Button.fireClick(Button.java:342)
at com.vaadin.ui.Button$1.click(Button.java:54)
... 76 more
Caused by: java.lang.UnsatisfiedLinkError: com.example.vaadinsample.VaadinsampleApplication.alert(Ljava/lang/String;)V
at com.example.vaadinsample.VaadinsampleApplication.alert(Native Method)
at com.example.vaadinsample.VaadinsampleApplication$2.buttonClick(VaadinsampleApplication.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:512)
... 80 more
I am not sure if I need external jars or install any javascript libraries.
JSNI is only usable in the client side widgets whereas you are working on the server side.
Use Window.executeJavaScript(“…”) (Vaadin 6) or Root.executeJavaScript(“…”) (Vaadin 7) if you need to execute JavaScript from your server side application.
There are some plans for making this easier in future Vaadin 7 versions.
For now, I am not sure if there are any good examples of this for Vaadin 7. I would recommend first reading about the architecture of Vaadin 6 and about client side widget development in
Book of Vaadin and see how some such add-ons have been implemented for Vaadin 6 (search the
Directory for javascript/jquery and check the source code of the add-ons).
Compiling widgetset com.example.vaadinsample.waryaaWidgetset
Updating GWT module description file...
Jun 03, 2012 12:54:32 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/
com.example.vaadinsample.waryaaWidgetset in file:/media/My Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java
Jun 03, 2012 12:54:32 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 21ms
Done.
Starting GWT compiler
Compiling module com.example.vaadinsample.waryaaWidgetset
Computing all possible rebind results for 'com.google.gwt.user.client.UserAgentAsserter'
Rebinding com.google.gwt.user.client.UserAgentAsserter
Checking rule <generate-with class='com.google.gwt.editor.rebind.SimpleBeanEditorDriverGenerator'/>
[WARN]
Detected warnings related to 'com.google.gwt.editor.client.SimpleBeanEditorDriver'. Are validation-api-<version>.jar and validation-api-<version>-sources.jar on the classpath?
[WARN]
Unknown type 'com.google.gwt.editor.client.SimpleBeanEditorDriver' specified in deferred binding rule
Scanning for additional dependencies: file:/media/My%20Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java/com/example/vaadinsample/client/ui/MyComponentConnector.java
Computing all possible rebind results for 'com.example.vaadinsample.client.ui.MyComponentWidget'
Rebinding com.example.vaadinsample.client.ui.MyComponentWidget
Checking rule <generate-with class='com.vaadin.terminal.gwt.widgetsetutils.RpcManagerGenerator'/>
[ERROR]
Errors in 'file:/media/My%20Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java/com/example/vaadinsample/client/ui/MyComponentWidget.java'
[ERROR]
Line 7: No source code is available for type com.vaadin.ui.Button; did you forget to inherit a required module?
[ERROR]
Line 20: No source code is available for type com.vaadin.ui.Button.ClickListener; did you forget to inherit a required module?
[ERROR]
Line 22: No source code is available for type com.vaadin.ui.Button.ClickEvent; did you forget to inherit a required module?
[ERROR]
Unable to find type 'com.example.vaadinsample.client.ui.MyComponentWidget'
[ERROR]
Hint: Previous compiler errors may have made this type unavailable
[ERROR]
Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
[ERROR]
Errors in 'file:/media/My%20Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java/com/example/vaadinsample/client/ui/MyComponentConnector.java'
[ERROR]
Line 13: Failed to resolve 'com.example.vaadinsample.client.ui.MyComponentWidget' via deferred binding
Jun 03, 2012 12:55:59 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer findAcceptCriteria
INFO: Searching for accept criteria..
Jun 03, 2012 12:56:00 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer findAcceptCriteria
INFO: Search took 1425ms
[ERROR]
Cannot proceed due to previous errors
Widgetset compilation failed
My widgets compiled successfully by adding DocType, see below…
Before
<?xml version="1.0" encoding="UTF-8"?>
<module>
<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
<!--
Uncomment the following to compile the widgetset for one browser only.
This can reduce the GWT compilation time significantly when debugging.
The line should be commented out before deployment to production
environments.
Multiple browsers can be specified for GWT 1.7 as a comma separated
list. The supported user agents at the moment of writing were:
ie6,ie8,gecko,gecko1_8,safari,opera
The value gecko1_8 is used for Firefox 3 and later and safari is used for
webkit based browsers including Google Chrome.
-->
<!-- <set-property name="user.agent" value="gecko1_8"/> -->
<!-- Specify the paths for translatable code -->
<source path='client/ui'/>
</module>
After
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
<!--
Uncomment the following to compile the widgetset for one browser only.
This can reduce the GWT compilation time significantly when debugging.
The line should be commented out before deployment to production
environments.
Multiple browsers can be specified for GWT 1.7 as a comma separated
list. The supported user agents at the moment of writing were:
ie6,ie8,gecko,gecko1_8,safari,opera
The value gecko1_8 is used for Firefox 3 and later and safari is used for
webkit based browsers including Google Chrome.
-->
<!-- <set-property name="user.agent" value="gecko1_8"/> -->
<!-- Specify the paths for translatable code -->
<source path='client/ui'/>
</module>
I am still getting java.lang.UnsatisfiedLinkError from vaadin 7, but GWT project works and JSNI is executed. I am not sure what I am doing wrong but I am about to give up this.
Caused by: java.lang.UnsatisfiedLinkError: com.example.vaadinsample.client.ui.MyComponentWidget.sayHello(Ljava/lang/String;)V
at com.example.vaadinsample.client.ui.MyComponentWidget.sayHello(Native Method)
at com.example.vaadinsample.client.ui.MyComponentWidget$1.buttonClick(MyComponentWidget.java:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:512)
... 81 more
My widget/Code:
package com.example.vaadinsample.client.ui;
import com.vaadin.ui.Button;
public class MyComponentWidget extends Button {
/**
*
*/
private static final long serialVersionUID = 1L;
public static final String CLASSNAME = "mycomponent";
public MyComponentWidget() {
setCaption("This is MyComponent");
setStyleName(CLASSNAME);
this.addListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
sayHello("Hello World");
}
});
}
public static native void sayHello(String msg) /*-{
$wnd.sayHello(name); // $wnd is a JSNI synonym for 'window'
}-*/;
}
[b]
Compilation succeeded
[/b]
Executing compiler with parameters
[/home/asheikh/installed/jdk1.7.0_04/bin/java, -Djava.awt.headless=true, -Xss8M, -Xmx512M, -XX:MaxPermSize=512M, -classpath, /home/asheikh/installed/jdk1.7.0_04/jre/lib/rt.jar:/media/My Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java:/media/My Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/resources:/media/My Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/test/java:/waryaa-ui-vaadin/target/classes:/waryaa-ui-vaadin/target/test-classes:/home/asheikh/.m2/repository/com/google/gwt/gwt-dev/2.4.0/gwt-dev-2.4.0.jar:/home/asheikh/.m2/repository/com/google/gwt/gwt-user/2.4.0/gwt-user-2.4.0.jar:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar:/home/asheikh/installed/springsource/sts-2.9.1.RELEASE/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201205091048-rel-r37/gwt-2.4.0/gwt-user.jar:/home/asheikh/.m2/repository/com/google/gwt/gwt-dev/2.4.0/gwt-dev-2.4.0.jar:/home/asheikh/installed/springsource/sts-2.9.1.RELEASE/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201205091048-rel-r37/gwt-2.4.0/gwt-dev.jar:/home/asheikh/.m2/repository/com/google/gwt/gwt-user/2.4.0/gwt-user-2.4.0.jar, com.vaadin.tools.WidgetsetCompiler, -out, src/main/webapp/VAADIN/widgetsets, -localWorkers, 2, -logLevel, INFO, com.example.vaadinsample.waryaaWidgetset]
Updating GWT module description file...
Jun 06, 2012 10:46:36 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/
com.example.vaadinsample.waryaaWidgetset in file:/media/My Passport/home/asheikh/Documents/code/workspace/waryaa-project/waryaa-ui/waryaa-ui-vaadin/src/main/java
Jun 06, 2012 10:46:36 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 24ms
Done.
Starting GWT compiler
Compiling module com.example.vaadinsample.waryaaWidgetset
Validating newly compiled units
Ignored 79 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
Computing all possible rebind results for 'com.google.gwt.user.client.UserAgentAsserter'
Rebinding com.google.gwt.user.client.UserAgentAsserter
Checking rule <generate-with class='com.google.gwt.editor.rebind.SimpleBeanEditorDriverGenerator'/>
[WARN]
Detected warnings related to 'com.google.gwt.editor.client.SimpleBeanEditorDriver'. Are validation-api-<version>.jar and validation-api-<version>-sources.jar on the classpath?
Specify -logLevel DEBUG to see all errors.
[WARN]
Unknown type 'com.google.gwt.editor.client.SimpleBeanEditorDriver' specified in deferred binding rule
Scanning for additional dependencies: jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/com/vaadin/terminal/gwt/client/ApplicationConnection.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.RpcManager'
Rebinding com.vaadin.terminal.gwt.client.communication.RpcManager
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcManagerGenerator
Detecting server to client RPC interface types...
Configured server to client RPC for MediaBaseConnector.MediaControl
Done. (0seconds)
Scanning for additional dependencies: jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/com/vaadin/terminal/gwt/client/WidgetSet.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.WidgetMap'
Rebinding com.vaadin.terminal.gwt.client.WidgetMap
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.EagerWidgetMapGenerator
Detecting Vaadin components in classpath to generate WidgetMapImpl.java ...
Widget set will contain implementations for following component connectors:
com.vaadin.terminal.gwt.client.ui.absolutelayout.AbsoluteLayoutConnector
com.vaadin.terminal.gwt.client.ui.accordion.AccordionConnector
com.vaadin.terminal.gwt.client.ui.audio.AudioConnector
com.vaadin.terminal.gwt.client.ui.button.ButtonConnector
com.vaadin.terminal.gwt.client.ui.checkbox.CheckBoxConnector
com.vaadin.terminal.gwt.client.ui.combobox.ComboBoxConnector
com.vaadin.terminal.gwt.client.ui.csslayout.CssLayoutConnector
com.vaadin.terminal.gwt.client.ui.customcomponent.CustomComponentConnector
com.vaadin.terminal.gwt.client.ui.customfield.CustomFieldConnector
com.vaadin.terminal.gwt.client.ui.customlayout.CustomLayoutConnector
com.vaadin.terminal.gwt.client.ui.datefield.InlineDateFieldConnector
com.vaadin.terminal.gwt.client.ui.datefield.PopupDateFieldConnector
com.vaadin.terminal.gwt.client.ui.draganddropwrapper.DragAndDropWrapperConnector
com.vaadin.terminal.gwt.client.ui.embedded.EmbeddedConnector
com.vaadin.terminal.gwt.client.ui.form.FormConnector
com.vaadin.terminal.gwt.client.ui.formlayout.FormLayoutConnector
com.vaadin.terminal.gwt.client.ui.gridlayout.GridLayoutConnector
com.vaadin.terminal.gwt.client.ui.label.LabelConnector
com.vaadin.terminal.gwt.client.ui.link.LinkConnector
com.vaadin.terminal.gwt.client.ui.listselect.ListSelectConnector
com.vaadin.terminal.gwt.client.ui.menubar.MenuBarConnector
com.vaadin.terminal.gwt.client.ui.nativebutton.NativeButtonConnector
com.vaadin.terminal.gwt.client.ui.nativeselect.NativeSelectConnector
com.vaadin.terminal.gwt.client.ui.optiongroup.OptionGroupConnector
com.vaadin.terminal.gwt.client.ui.orderedlayout.HorizontalLayoutConnector
com.vaadin.terminal.gwt.client.ui.orderedlayout.VerticalLayoutConnector
com.vaadin.terminal.gwt.client.ui.panel.PanelConnector
com.vaadin.terminal.gwt.client.ui.passwordfield.PasswordFieldConnector
com.vaadin.terminal.gwt.client.ui.popupview.PopupViewConnector
com.vaadin.terminal.gwt.client.ui.progressindicator.ProgressIndicatorConnector
com.vaadin.terminal.gwt.client.ui.richtextarea.RichTextAreaConnector
com.vaadin.terminal.gwt.client.ui.root.RootConnector
com.vaadin.terminal.gwt.client.ui.slider.SliderConnector
com.vaadin.terminal.gwt.client.ui.splitpanel.HorizontalSplitPanelConnector
com.vaadin.terminal.gwt.client.ui.splitpanel.VerticalSplitPanelConnector
com.vaadin.terminal.gwt.client.ui.table.TableConnector
com.vaadin.terminal.gwt.client.ui.tabsheet.TabsheetConnector
com.vaadin.terminal.gwt.client.ui.textarea.TextAreaConnector
com.vaadin.terminal.gwt.client.ui.textfield.TextFieldConnector
com.vaadin.terminal.gwt.client.ui.tree.TreeConnector
com.vaadin.terminal.gwt.client.ui.treetable.TreeTableConnector
com.vaadin.terminal.gwt.client.ui.twincolselect.TwinColSelectConnector
com.vaadin.terminal.gwt.client.ui.upload.UploadConnector
com.vaadin.terminal.gwt.client.ui.video.VideoConnector
com.vaadin.terminal.gwt.client.ui.window.WindowConnector
Done. (0seconds)
Scanning for additional dependencies: jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/com/vaadin/terminal/gwt/client/communication/JsonDecoder.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.SerializerMap'
Rebinding com.vaadin.terminal.gwt.client.communication.SerializerMap
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.SerializerMapGenerator
Configured serializer (com.vaadin.terminal.gwt.client.communication.ButtonState_Serializer) for ButtonState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbstractSplitPanelState___SplitterState_Serializer) for AbstractSplitPanelState.SplitterState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbstractFieldState_Serializer) for AbstractFieldState
Configured serializer (com.vaadin.terminal.gwt.client.communication.WindowState_Serializer) for WindowState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbstractSplitPanelState_Serializer) for AbstractSplitPanelState
Configured serializer (com.vaadin.terminal.gwt.client.communication.GridLayoutState_Serializer) for GridLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.RootState_Serializer) for RootState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbstractOrderedLayoutState_Serializer) for AbstractOrderedLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbsoluteLayoutState_Serializer) for AbsoluteLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.AbstractLayoutState_Serializer) for AbstractLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.CssLayoutState_Serializer) for CssLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.CheckBoxState_Serializer) for CheckBoxState
Configured serializer (com.vaadin.terminal.gwt.client.communication.URLReference_Serializer) for URLReference
Configured serializer (com.vaadin.terminal.gwt.client.communication.FormState_Serializer) for FormState
Configured serializer (com.vaadin.terminal.gwt.client.communication.CustomLayoutState_Serializer) for CustomLayoutState
Configured serializer (com.vaadin.terminal.gwt.client.communication.MouseEventDetails_Serializer) for MouseEventDetails
Configured serializer (com.vaadin.terminal.gwt.client.communication.ComponentState_Serializer) for ComponentState
Configured serializer (com.vaadin.terminal.gwt.client.communication.PanelState_Serializer) for PanelState
Done. (0seconds)
Generated Serializer class com.vaadin.terminal.gwt.client.communication.ButtonState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbstractSplitPanelState___SplitterState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbstractFieldState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.WindowState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbstractSplitPanelState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.GridLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.RootState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbstractOrderedLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbsoluteLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.AbstractLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.CssLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.CheckBoxState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.FormState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.CustomLayoutState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.MouseEventDetails_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.PanelState_Serializer
Generated Serializer class com.vaadin.terminal.gwt.client.communication.ComponentState_Serializer
Scanning for additional dependencies: jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/com/vaadin/terminal/gwt/client/communication/RpcProxy.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.RpcProxy.RpcProxyCreator'
Rebinding com.vaadin.terminal.gwt.client.communication.RpcProxy.RpcProxyCreator
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyCreatorGenerator
com.vaadin.terminal.gwt.client.communication.RpcProxyCreatorImpl created in 0seconds
Scanning for additional dependencies: generated://924CDE3CA4F446F75C10C02CA8E6C242/com/vaadin/terminal/gwt/client/communication/RpcProxyCreatorImpl.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.LayoutClickRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.LayoutClickRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.LayoutClickRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.splitpanel.AbstractSplitPanelRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.splitpanel.AbstractSplitPanelRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.splitpanel.AbstractSplitPanelRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.gridlayout.GridLayoutServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.gridlayout.GridLayoutServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.gridlayout.GridLayoutServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.window.WindowServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.window.WindowServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.window.WindowServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.csslayout.CssLayoutServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.csslayout.CssLayoutServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.csslayout.CssLayoutServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.checkbox.CheckBoxServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.checkbox.CheckBoxServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.checkbox.CheckBoxServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusServerRpc'
Rebinding com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.embedded.EmbeddedServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.embedded.EmbeddedServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.embedded.EmbeddedServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.FieldRpc.BlurServerRpc'
Rebinding com.vaadin.terminal.gwt.client.communication.FieldRpc.BlurServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.communication.FieldRpc.BlurServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.orderedlayout.AbstractOrderedLayoutServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.orderedlayout.AbstractOrderedLayoutServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.orderedlayout.AbstractOrderedLayoutServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.panel.PanelServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.panel.PanelServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.panel.PanelServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.button.ButtonServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.button.ButtonServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.button.ButtonServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusAndBlurServerRpc'
Rebinding com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusAndBlurServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.communication.FieldRpc.FocusAndBlurServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.absolutelayout.AbsoluteLayoutServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.absolutelayout.AbsoluteLayoutServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.absolutelayout.AbsoluteLayoutServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.root.RootServerRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.root.RootServerRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.root.RootServerRpc'
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.ClickRpc'
Rebinding com.vaadin.terminal.gwt.client.ui.ClickRpc
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator
Generating client proxy for RPC interface 'com.vaadin.terminal.gwt.client.ui.ClickRpc'
Scanning for additional dependencies: jar:file:/home/asheikh/.m2/repository/com/vaadin/vaadin/7.0.0.alpha2/vaadin-7.0.0.alpha2.jar!/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java
Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory'
Rebinding com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory
Invoking generator com.vaadin.terminal.gwt.widgetsetutils.AcceptCriteriaFactoryGenerator
Detecting available criteria ...
Jun 06, 2012 10:47:46 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer findAcceptCriteria
INFO: Searching for accept criteria..
Jun 06, 2012 10:47:48 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer findAcceptCriteria
INFO: Search took 1361ms
creating mapping for com.vaadin.event.dd.acceptcriteria.And
creating mapping for com.vaadin.ui.AbstractSelect.TargetItemIs
creating mapping for com.vaadin.ui.AbstractSelect.AcceptItem
creating mapping for com.vaadin.event.dd.acceptcriteria.ServerSideCriterion
creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIsTarget
creating mapping for com.vaadin.event.dd.acceptcriteria.Not
creating mapping for com.vaadin.ui.Table.TableDropCriterion
creating mapping for com.vaadin.event.dd.acceptcriteria.Or
creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIs
creating mapping for com.vaadin.event.dd.acceptcriteria.TargetDetailIs
creating mapping for com.vaadin.event.dd.acceptcriteria.AcceptAll
creating mapping for com.vaadin.ui.Tree.TargetInSubtree
creating mapping for com.vaadin.event.dd.acceptcriteria.ContainsDataFlavor
creating mapping for com.vaadin.ui.Tree.TreeDropCriterion
Done. (1seconds)
Compiling 6 permutations
Compiling permutation 1...
Process output
Compiling
Compiling permutation 0...
Compiling permutation 2...
Compiling
Compiling permutation 3...
Compiling permutation 4...
Compiling
Compiling permutation 5...
Compile of permutations succeeded
Linking into src/main/webapp/VAADIN/widgetsets
Link succeeded
Compilation succeeded -- 256.128s
Please avoid posting the same question in multiple threads - see the duplicate posting policy.
You cannot use JSNI in server side classes. Vaadin applications (except for client side parts of custom widgets etc.) run on the server.
If you have to execute JS, either use Window.executeJavaScript(…) in the server side class or create a client side widget - see the
architecture and
developing new components in the Book of Vaadin for more information.
I didnt’ want to execute just javascript, but to use different javascript widgets from javascript frameworks(jquery, dojo, etc) plus javascript overlay. Yes, I have to admit that I didn’t give enough time in order to understand Vaadin Architecture.
Once i have re-read your suggestion "architecture and developing new components ", I was able to do what I wanted to achieve with ease…