I’d like to display some data with svg and found Svg Component, so I downloeaded SvgComponent-0.2.0.jar and put it lib folder, together with other addons I use.
But when I try see a SVG I get this error message on the screen:
Widgetset does not contain implementation for org.vaadin.svg.SvgComponent. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions. Unrendered UIDL:
Any ideas what is wrong and what I have to do? I recompiled my application after adding the addon in lib folder.
Why do I need to recompile the widgetset? I checked and SvgComponent-0.2.0.jar already contains ClientWidget class in it. If I need to recompile it how can I do that.
Vaadin uses GWT as it’s client side (= the browser) framework. GWT works in the way that you code Java, and then compile it to javascript that the browser understands. Vaadin approach is to just have a bunch of predefined widgets like TextField, Label etc. that are precompiled. The java server can then send directives to the browser on which components shall be shown in the screen right now open. This way you don’t have to recompile on every code change you do, which is the case with GWT.
As I mentioned, Vaadin comes with a precompiled widgetset in the core. In has all the JS needed for the normal Vaadin components but it does not contain the JS for all the add-ons in the world. When you download an add-on, you get the java version of the client side. To translate that into JS and combine it into the core Vaadin widgetset, you have to recompile the whole widgetset.
As a short summary: Every time you add or remove a add-on in your project that has a client side implementation, you will have to recompile.
Thanks Jens for clarifying addons. Now it is completely clear to me how addons works.
Using the eclipse plugin, compiling the widgetset was really stightforward and now I have svg working