Search in sources :

Example 11 with App

use of com.haulmont.cuba.web.App in project cuba by cuba-platform.

the class ExceptionDialog method forceLogout.

protected void forceLogout() {
    App app = AppUI.getCurrent().getApp();
    final WebWindowManager wm = app.getWindowManager();
    try {
        Connection connection = wm.getApp().getConnection();
        if (connection.isConnected()) {
            connection.logout();
        }
    } catch (Exception e) {
        log.warn("Exception on forced logout", e);
    } finally {
        // always restart UI
        String url = ControllerUtils.getLocationWithoutParams() + "?restartApp";
        Page.getCurrent().open(url, "_self");
    }
}
Also used : App(com.haulmont.cuba.web.App) WebWindowManager(com.haulmont.cuba.web.WebWindowManager) Connection(com.haulmont.cuba.web.Connection) GuiDevelopmentException(com.haulmont.cuba.gui.GuiDevelopmentException)

Example 12 with App

use of com.haulmont.cuba.web.App in project cuba by cuba-platform.

the class NoUserSessionHandler method doHandle.

@Override
protected void doHandle(App app, String className, String message, @Nullable Throwable throwable) {
    try {
        // we may show two or more dialogs if user pressed F5 and we have no valid user session
        // just remove previous dialog and show new
        List<Window> noUserSessionDialogs = app.getAppUI().getWindows().stream().filter(w -> w instanceof NoUserSessionExceptionDialog).collect(Collectors.toList());
        for (Window dialog : noUserSessionDialogs) {
            app.getAppUI().removeWindow(dialog);
        }
        showNoUserSessionDialog(app);
    } catch (Throwable th) {
        log.error("Unable to handle NoUserSessionException", throwable);
        log.error("Exception in NoUserSessionHandler", th);
    }
}
Also used : CubaWindow(com.haulmont.cuba.web.toolkit.ui.CubaWindow) Logger(org.slf4j.Logger) WebComponentsHelper.setClickShortcut(com.haulmont.cuba.web.gui.components.WebComponentsHelper.setClickShortcut) Type(com.haulmont.cuba.gui.components.DialogAction.Type) LoggerFactory(org.slf4j.LoggerFactory) App(com.haulmont.cuba.web.App) Messages(com.haulmont.cuba.core.global.Messages) ControllerUtils(com.haulmont.cuba.web.controllers.ControllerUtils) AppBeans(com.haulmont.cuba.core.global.AppBeans) Icons(com.haulmont.cuba.gui.icons.Icons) CubaLabel(com.haulmont.cuba.web.toolkit.ui.CubaLabel) Collectors(java.util.stream.Collectors) NoUserSessionException(com.haulmont.cuba.security.global.NoUserSessionException) IconResolver(com.haulmont.cuba.web.gui.icons.IconResolver) List(java.util.List) Configuration(com.haulmont.cuba.core.global.Configuration) CubaWindow(com.haulmont.cuba.web.toolkit.ui.CubaWindow) Locale(java.util.Locale) AppUI(com.haulmont.cuba.web.AppUI) Page(com.vaadin.server.Page) WebButton(com.haulmont.cuba.web.gui.components.WebButton) ClientConfig(com.haulmont.cuba.client.ClientConfig) Connection(com.haulmont.cuba.web.Connection) Nullable(javax.annotation.Nullable) com.vaadin.ui(com.vaadin.ui)

Aggregations

App (com.haulmont.cuba.web.App)12 Connection (com.haulmont.cuba.web.Connection)4 WebWindowManager (com.haulmont.cuba.web.WebWindowManager)3 Messages (com.haulmont.cuba.core.global.Messages)2 WindowInfo (com.haulmont.cuba.gui.config.WindowInfo)2 User (com.haulmont.cuba.security.entity.User)2 Page (com.vaadin.server.Page)2 List (java.util.List)2 Locale (java.util.Locale)2 Logger (org.slf4j.Logger)2 ClientConfig (com.haulmont.cuba.client.ClientConfig)1 DataService (com.haulmont.cuba.core.app.DataService)1 Entity (com.haulmont.cuba.core.entity.Entity)1 AppBeans (com.haulmont.cuba.core.global.AppBeans)1 Configuration (com.haulmont.cuba.core.global.Configuration)1 LoadContext (com.haulmont.cuba.core.global.LoadContext)1 TimeSource (com.haulmont.cuba.core.global.TimeSource)1 SecurityContext (com.haulmont.cuba.core.sys.SecurityContext)1 GuiDevelopmentException (com.haulmont.cuba.gui.GuiDevelopmentException)1 NoSuchScreenException (com.haulmont.cuba.gui.NoSuchScreenException)1