Set delay

I need to do a process that displays a notification and then doing a redirect. The problem is that I need to show me a message for a few seconds and then the redirect. I have the following code makes the redirection perome only and does not display the message.

            Notification notif = new Notification("Error en usuario y contraseña, será redirigido al One Loguin");
                    notif.setDelayMsec(200000);
                    notif.show(Page.getCurrent());

                      getUI().getPage().setLocation("http://www.neuquen.gov.ar");
                    // Close the VaadinSession
                    getSession().close();

Hola Esteban,

en el foro en español tienes una solución muy interesante ofrecida por Jose Luis Martin.

https://vaadin.com/forum#!/thread/8087091

Un ejemplo de cómo hacerlo via POLLING.
https://vaadin.com/forum#!/thread/8087117 por
Thomas Mattson

Mil Gracias Omar, voy a revisarlo.

No me funciono ninguno de los dos, yo lo que necesito es primero ejecutar esto
Notification notif = new Notification(“Error en usuario y contraseña, será redirigido al One Loguin”);
notif.show(Page.getCurrent());
y luego de un tiempo x
getUI().getPage().setLocation(“http://www.neuquen.gov.ar”);
// Close the VaadinSession
getSession().close();

Cierto Esteban. La pregunta está planteada en los términos de esos threads de "vistas intermedias "y por eso te refería a ellos.

El primero lo que hace es básicamente asignar un callback a una función que se ejecuta en el cliente (la función de inicialización de la extensión) pero con razón no se puede implementar porque Notificaciones no son AbstractClientConnector. Digamos que el servidor se olvida de ellas una vez que las envia el cliente. :slight_smile: Luego no vale. Culpa mia.
Entiendo que quizá usas notificaciones con la idea de que desaparecieran antes de la redirección, pero no es el caso. Así que podrías mostrar un LABEL con la descripción del error y extender esta en la forma que indica Jose Luis y así debería funcionar.

Siempre puedes optar mantenerlo simple. Si el delay no es importante puedes implementar un dialog de confirmación conteniendo la descripción del error y un button que te permita volver al servidor para ejecutar el setLocation.

Saludos.