Getting icepush up and running

Hi Guys,

I’m currently trying to get Icepush up and running, because I want to push changes to the browser when my table content is updated. But if fails with the following error:

Widgetset does not contain implementation for org.vaadin.artur.icepush.ICEPush. 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:

org.vaadin.artur.icepush.ICEPush(NO CLIENT IMPLEMENTATION FOUND)

I got exactly the same experience with Refresher, so I switched to Icepush in the hope the problem was solved.

I have no additional settings in my web.xml (apart fixing the servlet):

<context-param>
    <description>Vaadin production mode</description>
    <param-name>productionMode</param-name>
    <param-value>false</param-value>
</context-param>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/classes/appcontext.xml
    </param-value>
</context-param>

<servlet>
    <servlet-name>Myproject Application</servlet-name>
    <servlet-class>nl.qiy.web.QiyServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Myproject Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

It appears that something is not correct. I have seen some posts about swt related stuff but this is completely above my head and distracts me from my goal: I want to create a poc gui on a backend system I’m building. So I need to be able to get something up and running with minimal effort.I use maven and it already was a nightmare to get everything to deploy (getting artifacts from various repositories was a nightmare).

So some kind of complete walk through on how to get it up and running would be very valuable.

So is there some kind of simple setting I can make to get it up and running?

Normally I try to keep away from client side programming and try not to waste my time/energy on anything related to web-ui. But Vaadin seems quite reasonable (did a lot of Swing programming).

Peter Veentjer
Multiverse: Software Transactional Memory for the JVM
http://multiverse.codehaus.org

First thing to check is that you have defined your own widgetset and that you have compiled it.

You need to define your own widgetset and include the add-ons inside. Something like


<module>
	<!-- Inherit super widgetset -->
	<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />

    <inherits name="org.vaadin.artur.icepush.IcepushaddonWidgetset" />
    <inherits name="org.icepush.gwt.ICEpush" />

    <!-- adding support for icepush -->
    <script src="icepush.js"></script>
</module>

Create a file called MyWidgetSet.gwt.xml and put it right next to where your Application lives.

Once you have done that, run the Maven goal update-widgetset .

After doing that, you still need to tell Vaadin that it needs to use MyWidgetSet. If you go to the ICEPush add-on page, and look at the source code for the demo, you will see that your web.xml is missing several key pieces.

In particular, you must use the ICEPushServlet.

Also, you must tell your application to use MyWidgetSet.gwt.xml that you compiled.

See for example http://dev.vaadin.com/svn/incubator/MultiUserCalendar/WebContent/WEB-INF/web.xml for the full story.

I have removed all the Push stuff and replaced it by the ProgressIndicator:

public class NanoRefresher extends ProgressIndicator {
public NanoRefresher(int interval) {
this.setPollingInterval(interval);
this.setWidth(“0px”);
this.setHeight(“0px”);
}
}

I get a single update and then my whole browser get stuck or I get a message that an internal error has happened in Vaadin, but I don’t see it in the stacktrace.

I remember exactly again why I really hate working with webfrontends. I think I’ll stick with the cli based stuff for the poc. Not as fancy but no risk other than the real system itself.