package au.com.vaadinutils.listener; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import au.com.vaadinutils.errorHandling.ErrorWindow; public class ClickEventLogged { static public abstract class ClickListener implements com.vaadin.ui.Button.ClickListener { private static final long serialVersionUID = 7420365324169589382L; transient Logger logger = LogManager.getLogger(ClickListener.class); abstract public void clicked(com.vaadin.ui.Button.ClickEvent event); @Override public void buttonClick(com.vaadin.ui.Button.ClickEvent event) { try { clicked(event); } catch (Throwable e) { ErrorWindow.showErrorWindow(e); } } } static public class ClickAdaptor implements com.vaadin.ui.Button.ClickListener { private static final long serialVersionUID = 1L; transient Logger logger = LogManager.getLogger(ClickAdaptor.class); private com.vaadin.ui.Button.ClickListener listener = null; public ClickAdaptor(com.vaadin.ui.Button.ClickListener listener) { this.listener = listener; } public void buttonClick(com.vaadin.ui.Button.ClickEvent event) { try { listener.buttonClick(event); } catch (Throwable e) { logger.error(e, e); throw new RuntimeException(e); } } } }