ConfirmationDialog error "getParent"

Dear all,

I found the ConfirmDialog addon very useful, but I do not why the following simple code does not work.


    @Override
    public void init() {
                
        setMainWindow(main);
        
         Button esciBtn = new Button("Logout");
                     main.addComponent(esciBtn);

            esciBtn.addListener(new Button.ClickListener() {
               public void buttonClick(Button.ClickEvent event) {

                ConfirmDialog.show(getMainWindow(), "Please Confirm:", "Are you really sure to delete the activity?",
                        "Yes", "No", new ConfirmDialog.Listener() {

                    public void onClose(ConfirmDialog dialog) {
                        if (dialog.isConfirmed()) {
                             // perform logout
                        } else {
                            // nop
                        }
                    }
                });
            }

            });        
        
    }

When I click the button the popup window correctly appears but if I click yes or no the following exception has been raised


com.vaadin.event.ListenerMethod$MethodException
Cause: java.lang.NoSuchMethodError: org.vaadin.dialogs.ConfirmDialog.getParent()Lcom/vaadin/ui/Window;
	at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:507)
	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)
	at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1146)
	at com.vaadin.ui.Button.fireClick(Button.java:366)
	at com.vaadin.ui.Button.changeVariables(Button.java:188)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1087)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:587)
	at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:265)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:482)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchMethodError: org.vaadin.dialogs.ConfirmDialog.getParent()Lcom/vaadin/ui/Window;
	at org.vaadin.dialogs.DefaultConfirmDialogFactory$2.buttonClick(DefaultConfirmDialogFactory.java:138)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:487)
	... 28 more

I am using Vaadin 6.7.10, gwt-user 2.4.0 and confirmDialog 1.2.1.

Thanks in advance for your help

GIgi

That is a classpath problem. I’d wager hat you have duplicate JAR files on you classpath when deploying; either the Vaadin JAR or the add-on jar. how do you build/deploy the app?

Hi Thomas,

thanks for your answer. I am using MAVEN and since I had to update to vaadin 6.7.1. probably something remained in the cache. After cleaning everything, now it properly works!

Thanks a lot

Gigi