ICEPush add-on

This addon would be exactly what I need but unfortunately I can’t get it working. I have problem with widgetset.

Unrendered UIDL
org.vaadin.artur.icepush.ICEPush(NO CLIENT IMPLEMENTATION FOUND) id=PID2 pushGroup=ICEPush-1 codeLocation=/krok/code.icepush

My project is maven project and I downloaded and added all 3 ICEPush jars into dependencies, one from Vaadin addon page and then two missing jars I installed into my local repository (which in my opinion really fights against easy adding of vaadin addons). When building project I get following text, I notice it says ERROR even I don’t see any error there and build works correctly.

[INFO]
— vaadin-maven-plugin:1.0.2:update-widgetset (default) @ vaadin —
[INFO]
auto discovered modules [fi.oodi.krok.ui.vaadin.widgetset.Ui_vaadinWidgetset]

[INFO]
Updating widgetset fi.oodi.krok.ui.vaadin.widgetset.Ui_vaadinWidgetset
[ERROR]
28.3.2012 11:10:14 com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
[ERROR]
INFO: Widgetsets found from classpath:
[ERROR]
com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:/home/jarik/.m2/repository/com/vaadin/vaadin/6.7.4/vaadin-6.7.4.jar!/
[ERROR]
org.vaadin.teemu.wizards.WizardsforvaadinWidgetset in jar:file:/home/jarik/.m2/repository/org/vaadin/addons/wizards-for-vaadin/0.4.1/wizards-for-vaadin-0.4.1.jar!/
[ERROR]
org.vaadin.artur.icepush.IcepushaddonWidgetset in jar:file:/home/jarik/.m2/repository/org/vaadin/addons/icepush/0.2.1/icepush-0.2.1.jar!/
[ERROR]
fi.oodi.krok.ui.vaadin.widgetset.Ui_vaadinWidgetset in file:/home/jarik/workspace/KROK/ui.vaadin/src/main/resources
[ERROR]
org.vaadin.overlay.OverlaysWidgetset in jar:file:/home/jarik/.m2/repository/org/vaadin/addons/overlays/0.9.8/overlays-0.9.8.jar!/
[ERROR]

[ERROR]
28.3.2012 11:10:14 com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
[ERROR]
INFO: Search took 18ms

I first had problem runnin mvn gwt:clean gwt:compile but that was fixed after I changed gwt-user version to 2.4.0. My vaadin version is 6.7.4.

I am using also Guice so my web.xml is different than in addon page, but my servlet class extends ICEPushServlet.

I just can’t get it working… :frowning:

I would still suspect that your web.xml does not refer to the widgetset correctly. Try to add “?debug” to the application URL and see what it says about the widgetset, or otherwise check which widgetset is loaded.

Also, check the rest of the widgetset compilation output to see that it is actually compiling and not skipping the ICEPush widget - the JAR is found during widgetset compilation, but maybe the widget in it is not included in the compilation.

The “ERROR” output is not really errors but high-priority output from an external utility that Maven shows as errors.

I would recommend using GWT 2.3 with Vaadin 6.7 if possible. GWT 2.4 seems to mostly work with the latest 6.7.x builds, but there are some minor issues.

I’m adding the ICEPush plugin to an existing project but I keep getting this error “java.lang.RuntimeException: Must be attached to an application to push” when I call “push()”.

I’ve read several other post of people having similar issues and for the most part the solution seems to be to make sure the pusher instance has been add to the mainWindow. However even though I’ve added the pusher instance to the mainWindow I always get the same error message. My guess is that its some how getting detached before I can use it in the application.

Here’s two code snippets. I first load a Login component and then after the user authenticates I remove the login component and add the Main window component.


        private ICEPush	m_icePusher;

	public void init()
	{
		s_CURRENT_APPLICTION.set(this); // So that we immediately have access to the current application

		Window mainWindow = new Window("Device Manager Web Application");
		setTheme("DeviceManager");

		setMainWindow(mainWindow);

		// Add the push component
		m_icePusher = new ICEPush();
                mainWindow.addComponent(m_icePusher);

		getMainWindow().setContent(new Login());
	}

    public boolean authentication(String p_username, String p_password)
	{
		boolean t_status = false;
		UserInfo t_user = new UserInfo();
		t_user.setUsername(p_username);
		t_user.setPassword(p_password);

		AuthResponse t_aResponse = DEVICE_MANAGER_API.authenticate(t_user);

		if (t_aResponse.getAuthToken() != null && t_aResponse.getUserID() > 0)
		{
			getMainWindow().setContent(null);
			getMainWindow().setContent(new Main());

			t_status = true;
		}

		return t_status;
	}

Note: I’ve also tried moving the add pusher instance into the authentication function but that doesn’t seems to make a different either.

Thanks for your help.

I’m past that problem now. Ultimately the problem was what I had guessed. Apparently getMainWindow().setContent() removes any previous layouts. I’m now using getMainWindow().addComponent / removeComponent to work around that issue.

However the problem I’m experiencing now is that the UI never updates until the background thread is stopped. Once the thread stops the console spews the following messages:
Mar 30, 2012 2:58:03 PM com.vaadin.terminal.gwt.server.AbstractCommunicationManager handleVariableBurst
WARNING: Warning: Ignoring variable change for non-existent component, VAR_PID=PID2
Mar 30, 2012 2:58:03 PM com.vaadin.terminal.gwt.server.AbstractCommunicationManager handleVariableBurst
WARNING: Warning: Ignoring variable change for non-existent component, VAR_PID=PID2
Mar 30, 2012 2:58:03 PM com.vaadin.terminal.gwt.server.AbstractCommunicationManager handleVariableBurst
WARNING: Warning: Ignoring variable change for non-existent component, VAR_PID=PID2
Mar 30, 2012 2:58:03 PM com.vaadin.terminal.gwt.server.AbstractCommunicationManager handleVariableBurst

Presumably I’m getting 2 lines for every time push() was called. After all those messages finish writing to the console the UI window updates showing the last update in the window.

Why is my window not getting updated every time I call push()?

The previously mentioned issue has also now gone away.

WARNING: Warning: Ignoring variable change for non-existent component, VAR_PID=PID2
Mar 30, 2012 2:58:03 PM com.vaadin.terminal.gwt.server.AbstractCommunicationManager handleVariableBurst

I’m no longer getting these warning messages (with no real reason why they’ve gone away) however I’m still having the same issue that the ui only updates once the background thread stops.

Below is my run function in the background thread.


private Embedded	m_videoImage = new Embedded();

public void run()
	{
		// Get the proxy IP/Port from ConfigManager from either the edm.* or deviceManager.*
		ProxyConnectionInfo proxyDetails = new ProxyConnectionInfo();

		String t_proxyIP = null;
		int t_proxyPort = 0;

		if (ConfigManager.GetValue("edm.proxyLocalIP") != null)
		{
			t_proxyIP = ConfigManager.GetValue("edm.proxyLocalIP");
			t_proxyPort = ConfigManager.GetIntValue("edm.proxyPort");
		}
		else
		{
			Logger.LogInfo("EDM configuration values are not present.");

			t_proxyIP = ConfigManager.GetValue("deviceManager.proxyIPAddress");
			t_proxyPort = ConfigManager.GetIntValue("deviceManager.proxyPort");
		}

		proxyDetails.setIPAddress(t_proxyIP);
		proxyDetails.setPort(t_proxyPort);

		// Step #1: Connect to Proxy Server
		Logger.LogInfo("Step #1: Establish connection to Proxy.");

		ConnectionManager p_proxyConn = new ConnectionManager(m_device, proxyDetails, null);

		// test for connection failure
		if (p_proxyConn != null && p_proxyConn.isOpen())
		{
			int responseCode = -1;
			StringBuilder t_responseContent = new StringBuilder();

			try
			{
				byte[] t_imageStream = null;

				while (m_play)
				{
					responseCode = p_proxyConn.postAndWaitForReponse("uid=001&image1=" + ((ImageType) m_ddlImageType.getValue()).getStreamId(), "registerClient.cgi", m_device.getUserName(), m_device.getPassword(), t_responseContent);

					if (responseCode == HttpComm.HTTP_OK)
					{
						// Get the image stream
						Logger.LogDebug("Step #2: Get Video Stream Image");

						t_imageStream = p_proxyConn.getAndWaitForReponse("", ((ImageType) m_ddlImageType.getValue()).getFileName(), m_device.getUserName(), m_device.getPassword());

						if (t_imageStream != null && t_imageStream.length > 114)
						{
							Resource t_resource = utils.convertByteArrayToStream(t_imageStream);

							// Update UI
							synchronized (DeviceManagerWebApplication.getInstance())
							{
								m_videoImage.setSource(t_resource);
							}

							// Push the changes							
							DeviceManagerWebApplication.getInstance().getPushObject().push();
							Thread.sleep(500);
						}
						else
						{
							Logger.LogDebug("Return Length: " + t_imageStream.length);
						}
					}
					else
					{
						m_play = false;
					}
				}
			}
			catch (Exception ex)
			{
				Logger.LogError("VideoStream.run() | " + ex.toString());
				m_play = false;
			}
		}
		else
		{
			Logger.LogInfo("Step #1: Failed to Connect to Proxy: " + p_proxyConn.getProxyMessage());
			Logger.LogInfo("Step #2: Skipped Device IP: " + m_device.getIPAddress());
		}
	}

Let me know what I’m doing wrong.

If you happen to have updating issues with ICEPush, make sure you are not changing the container of ICEPush instance. We found out that relocating ICEPush under new layout/container will cause random problems when pushing (update not happening). Workaround for this is to add top level layout to window that is not replaced with another. Add ICEPush instance to this top level layout, and keep it there.

Hi.
I can not get the ICEPush working.
Here is part of my web.xml:

<servlet>
		<servlet-name>dispatcher-servlet</servlet-name>
		<servlet-class>com.myapp.web.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher-servlet</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

and my DispatcherServlet:

public class DispatcherServlet extends ICEPushServlet {
    public void service(HttpServletRequest req, HttpServletResponse res) {
        //some processing
        super.service(req, res);
   }

}

and, finally, my Application class

public class Application extends com.vaadin.Application {

    private ICEPush pusher = new ICEPush();

    private void setPusher() { //because I use setContent() method for main window
		Window window = getMainWindow();
		window.removeComponent(pusher);
		pusher.setParent(null);
		window.addComponent(pusher);
	}
	
	public void push() {
		setPusher();
		pusher.push();
	}
}

I want add new window to main window asynchronous (video chat call notification). I do it like this:

application.getMainWindow().addWindow(notificationWindow);
application.push();

Window does not appear. What am I doing wrong?

Hi,

I am using ICEPush with vaadin 7. I get this warning everytime i try to push

“com.vaadin.terminal.gwt.server.ServerRpcManager applyInvocation
WARNING: RPC call received for RpcTarget org.vaadin.artur.icepush.ICEPush (97) but the target has not registered any RPC interfaces”

Any help will be appreciated. :slight_smile:

Thanks

Hi!
I am testing Vaadin 7 rc2 with Spring integration - how to add the ICEPush servlet to web.xml? My primary servlet is a SpringIntegrationServlet… i try to create a second servlet ICEPushServlet in web.xml, but in application push method do not working and no errors.

Answered in another thread where you posted as I saw it before this one, even though this would be more correct.

Please do not post duplicates but only pick the most appropriate thread or a new thread.

Has anyone tried using ICEPush in a Vaadin app deployed on Glassfish running behind Apache using mod_proxy?

That’s the configuration that I’m trying to get working. The app all works correctly except for ICEPush not pushing.

ICEPush works fine when going direct to a Glassfish server, but when proxied with Apache I’m not seeing the “POST listen.icepush” although I do see the other three requests.

My VirtualHost config on Apache looks like

<VirtualHost>
    .
    .
    .
    ProxyPass / http://server:port/appcontext/
    ProxyPassReverse / http://server:port/appcontext/
    ProxyPassReverseCookiePath /appcontext /
</VirtualHost>

Can anyone help, I’ve tried a number of different variations of the proxypass config, but nothing I try seems to make any difference?

Any assistance would be much appreciated.

Alex

Hey Arthur, thanks for a great addon!

However, is this add-on in any way combinable with the Vaadin Touchkit?

Since they are both replacing the servlet… I just realized this after developing an entire mobile application using icepush, and while the push parts work flawlessly… the application will not behave as a webapp on the phone (or alternatively the push won’t work, but the application behaves as a phone app). Feels like I just hit a wall…

Using Vaadin 6 at the moment, would upgrading to 7 solve my problem, or will I still run into the same issue with two different servlet classes?

I got some problems with Vaadin ICEPush add-on. I’m getting null pointer exception in it.

java.lang.NullPointerException
    at org.vaadin.artur.icepush.ICEPush.getPushContext(ICEPush.java:65)
    at org.vaadin.artur.icepush.ICEPush.push(ICEPush.java:55)
    ...
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

I use Vaadin 7.0.5.

When I debug, I found this.

WrappedSession session = vaadinSession.getSession(); **gives null**

public static synchronized PushContext getPushContext(
            VaadinSession vaadinSession) {
        ***WrappedSession session = vaadinSession.getSession();(gives null)***
        // session.getAttribute(PushContext.class.getName());
        VaadinService service = vaadinSession.getService();
        if (session instanceof WrappedHttpSession) {
            ServletContext servletContext = ((WrappedHttpSession) session)
                    .getHttpSession().getServletContext();
            return (PushContext) servletContext.getAttribute(PushContext.class
                    .getName());
        } else if (session instanceof WrappedPortletSession) {
            PortletContext portletContext = ((WrappedPortletSession) session)
                    .getPortletSession().getPortletContext();
            return (PushContext) portletContext.getAttribute(PushContext.class
                    .getName());
        } else {
            throw new RuntimeException(
                    "Could not find PushContext from session");
        }
    }

It completely crashes my application. I couldn’t do any updates then.

I am struggling with a “Must be attached to an application to push” error when I call the push(). My application data is split among a bunch of files, but here is the gist of what I’ve done.

Vaadin 6.8.10

In main Application class(ApplicationBase):
Added instance variable:

private static ICEPush push = new ICEPush();

Here is my init() method:

   @Override

    public void init()

    {    

        Class<IDataSource>[] providers = ServiceProviderLookupFacility.lookupServiceProviders(IDataSource.class);

        if (providers.length > 0)
        {
            for (Class<IDataSource> clazz : providers)
            {
                try
                {
                    dataSource = clazz.getConstructor().newInstance();
                    dataSource.initialize(applicationProperties);
                    break;
                }
                catch (Throwable t)
                {
                    ERROR.report("com.cerner.phantom.app.error.dataSource", t);
                }
            }
        }
       
        if (dataSource == null)
        {
            throw new IllegalStateException("No data sources found in web application container.");
        }
        
        bootstrapUser();

        setTheme("phantom-theme");
        Window mainWindow = new Window(ResourceAssistant.getString("com.cerner.phantom.app.page.name"));
        mainWindow.addComponent(push);
        setMainWindow(mainWindow);
        page = new ApplicationPage(this);
        page.setSizeFull();
        Animator animator = new Animator(page);
        animator.fadeIn(300, 200);
        animator.setSizeFull();
        mainWindow.setContent(animator);
}

I also created a method to call the push() when changes are made on the elements on the page:

    public static void updateUI(Application app)
    {
        if (app != null)
        {
        push.push();
        }
        else
        {
            System.out.println("Application is null");
        }
    }

I then have a method call to updateUI() from the actionHandler() method in my layout

		Application app = getApplication();
		if (app != null)
		{
			ApplicationBase.updateUI(app);
		}
		else 
		{
			System.out.println("Application is null");
		}

And my stacktrace:
Completed retrieval
Jan 10, 2014 8:51:48 AM com.vaadin.Application terminalError
SEVERE: Terminal error:
java.lang.RuntimeException: Must be attached to an application to push
at org.vaadin.artur.icepush.ICEPush.push(ICEPush.java:55)
at com.cerner.phantom.ApplicationBase.updateUI(ApplicationBase.java:378)
at com.cerner.phantom.ui.navigation.clients.MyClientsNavigationElement.handleAction(MyClientsNavigationElement.java:136)
at com.vaadin.ui.Table.changeVariables(Table.java:2861)
at com.vaadin.ui.TreeTable.changeVariables(TreeTable.java:393)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.changeVariables(AbstractCommunicationManager.java:1460)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1404)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1329)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:761)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:325)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
at org.vaadin.artur.icepush.ICEPushServlet.service(ICEPushServlet.java:72)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367)
at com.cerner.system.i18n.servlet.I18nContextCleanupFilter.doFilter(I18nContextCleanupFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at com.cerner.system.i18n.servlet.I18NLocaleFilter.doFilter(I18NLocaleFilter.java:66)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at com.cerner.cloud.idm.idp.rp.ForcedAuthenticationFilter.doFilter(ForcedAuthenticationFilter.java:87)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at com.cerner.cloud.idm.idp.rp.AuthenticationFilter$1.run(AuthenticationFilter.java:131)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.cerner.cloud.idm.idp.rp.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:620)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:744)

When the updateUI(Application) method is called, I can see in debug that there is an instance of the applicaiton and applicationIsRunning = true. Any ideas on where I’m going wrong

Update: I got this working. I was adding the pusher to the mainWindow, but after looking at some other examples, I found that I should be adding it to the layout that is on the mainWindow. I have done this and now it works without issue.

I installed icepush 0.2.1 on Vaadin 6.8. I added the Icepush item to mainlayout and start the background thread.The background method updates the data in a table and starts pusher.push();.
The table does not update content but if I change content and go back I find the updated table. What could happen?

I tried also example ICEPushDemo but the same thing happens.

Hi!
I installed icepush 0.2.1 on Vaadin 6.8. I added the Icepush item to mainlayout and start the background thread.The background method updates the data in a table and starts pusher.push();.
The table does not update content but if I change content and go back I find the updated table. What could happen?

I tried also example ICEPushDemo but the same thing happens.

Hi,
We recently upgraded our Vaadin application from version 6.8.x to 7.1.9 and have upgraded the icepush addon (to 0.5.5) along with it. Now we face a problemen with our push notifications specifically in IE (all regular versions). In Firefox and Chrome these notification work fine and they also worked for IE in the previous version of our application.

In IE we observe that icepush does its normal long polling behavior with a timeout of 15s. When another client makes a change to the system our IE client receives notification of the change, however, it subsequently fails to request and apply those changes in the GUI. Only after we manually move the mouse on the IE client (inside the browser window) it will do the UIDL request and make updates to the gui.

Below a summary of request behavior we observe for FF and IE. We did not find any useful information, errors or exceptions in our server logs.
Is there someone else who encountered this problem before or could point us in the right direction to debug this issue? I am happy to supply additional info if that is useful.

Normal behavior (FF):
request                response                                            remark
/listen.icepush     <noop />                                            ~15s timeout
/listen.icepush        <notified-pushids>xxx:yyy</notified-pushids>        < 15s 
/UIDL/?v-uiId=0        vaadin json        
/listen.icepush     <noop />                                            ~15s timeout

Faulty behavior in IE:
request                response                                            remark
/listen.icepush     <noop />                                            ~15s timeout
/listen.icepush        <notified-pushids>xxx:yyy</notified-pushids>        < 15s 
/listen.icepush        <notified-pushids>xxx:yyy</notified-pushids>        ~1s
/listen.icepush        <notified-pushids>xxx:yyy</notified-pushids>        ~1s
/listen.icepush        <notified-pushids>xxx:yyy</notified-pushids>        ~1s
..
etc
[move mouse]

/UIDL/?v-uiId=0        vaadin json    
/listen.icepush     <noop />                                            ~15s timeout

Hi,
i’m trying to use this add-on in an portlet for liferay.
since i’m using one widgetset for all vaaidn portlets i tried compiling the widgetset.
i’m using maven for all the portlets.
i added the needed dependencies to the pom.xml.

during the widgetset compile it sais:

idgetsets found from classpath: org.vaadin.hene.popupbutton.widgetset.PopupbuttonWidgetset in jar:file:C:/Users/a-kristin.schneider/.m2/repository/org/vaadin/addons/popupbutton/2.2.1/popupbutton-2.2.1.jar!/ com.rhenus.de.td.portlet.widgetset.TD_portletWidgetset in file://C/portalLF6-2/plugins/portlets/mvn-totaldigital-portlet/src/main/java com.vaadin.DefaultWidgetSet in jar:file:C:/Users/a-kristin.schneider/.m2/repository/com/vaadin/vaadin-client/7.1.13/vaadin-client-7.1.13.jar!/ org.vaadin.artur.icepush.IcepushaddonWidgetset in jar:file:C:/Users/a-kristin.schneider/.m2/repository/org/vaadin/addons/icepush/0.5.5/icepush-0.5.5.jar!/ org.tepi.filtertable.gwt.FilterTableWidgetset in jar:file:C:/Users/a-kristin.schneider/.m2/repository/org/vaadin/addons/filteringtable/0.9.8.v7/filteringtable-0.9.8.v7.jar!/ Addon styles found from classpath: So it’s looking good, is it?
when taking a look into the widgetset i see folders for each used add-on except icepush.
is that normal?
beauce i get the follwong errorm although i copied the newly compiled widgetset to the tomcat widgesets folder in root:

Widgetset ‘de.rhenus.td.portlet.widgetset.TD_portletWidgetset’ does not contain implementation for org.vaadin.artur.icepush.ICEPush. Check its component connector’s @Connect 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.

Hi,

The Vaadin 6 version’s pom does not define transitive dependencies: icepush-addon.jar and icepush-gwt.jar. This makes our build system’s (gradle) to fail. As a workaround we use an explicit download put into a project local dir.
If you could please add those dependencies!

Thank you!
Zsolt

hi , i use vaadin 6.8 ,I can use icePush with java 1.6?