ICEPush Issue

I’m having trouble getting ICEPush to work on my project. Below you can see that I create a Vaadin Window called main and try to load the ICEPush “pusher” to it with addComponenet, but the error keeps telling me

“The method addComponent(Component) in the type Window is not applicable for the arguments (ICEPush)”

I don’t understand this since I have seen it done this way in other projects. If I put main.addComponent((Componenet) pusher); I receive additional errors.


public class JAdminMain extends Application {

	private static final long serialVersionUID = 1L;
	public static Connection conn = null;
	
	private TabSheet right = new TabSheet();
	private Panel left;
	private ICEPush pusher = new ICEPush();
	
	public static final String PERSISTENT_UNIT="jadmin";
	
	//private  JPAContainer<CnfCompanyInfo> container = JPAContainerFactory.make(CnfCompanyInfo.class, JAdminMain.PERSISTENT_UNIT);
	
	@Override
	public void init() {

		conn = ConnectionManager.getSQLiteConnection("JAdminBE.db3");
		setTheme("runo");

		VerticalLayout root = new VerticalLayout();
		root.setMargin(true);
		root.setSizeFull();
		Window main = new Window("JAdmin", root);
		setMainWindow(main);
	
		main.[u]
addComponent
[/u](pusher);

I also keep getting the following error when I try to run on server?


type Exception report

message Servlet.init() for servlet JAdminBE Application threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Servlet.init() for servlet JAdminBE Application threw exception
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	java.lang.Thread.run(Thread.java:722)


root cause 

java.lang.VerifyError: (class: org/vaadin/artur/icepush/ICEPush, method: extend signature: (Lcom/vaadin/ui/UI;)V) Incompatible argument to function
	org.vaadin.artur.icepush.ICEPushServlet.init(ICEPushServlet.java:40)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	java.lang.Thread.run(Thread.java:722)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.35 logs.

I think I answered my own question. In ICEPush 0.5.5 the ICEPush class isn’t a component but an extension and I’m running Vaadin 6.0, which doesn’t like this. In the ICEPush 0.2.1 jar the ICEPush class is an actual component.