Package org.vaadin.spring.boot.sample.security.security

Source Code of org.vaadin.spring.boot.sample.security.security.SecuredUIContent

package org.vaadin.spring.boot.sample.security.security;

import com.vaadin.navigator.Navigator;
import com.vaadin.ui.Button;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.vaadin.spring.UIScope;
import org.vaadin.spring.VaadinComponent;
import org.vaadin.spring.navigator.SpringViewProvider;
import org.vaadin.spring.security.Security;

import javax.annotation.PostConstruct;

/**
* @author petter@vaadin.com
*/
@UIScope
@VaadinComponent
public class SecuredUIContent extends VerticalLayout {

    @Autowired
    SpringViewProvider viewProvider;
    @Autowired
    Security security;
    @Autowired
    Authentication currentUser;
    @Autowired
    ErrorView errorView;
    private Panel viewContainer;

    @PostConstruct
    void init() {
        setSizeFull();
        setMargin(true);
        setSpacing(true);

        final HorizontalLayout toolbar = new HorizontalLayout(
                new Button("Go to the Home view", new Button.ClickListener() {
                    @Override
                    public void buttonClick(Button.ClickEvent event) {
                        getUI().getNavigator().navigateTo(HomeView.VIEW_NAME);
                    }
                }),
                new Button("Go to User view", new Button.ClickListener() {
                    @Override
                    public void buttonClick(Button.ClickEvent event) {
                        getUI().getNavigator().navigateTo(UserView.VIEW_NAME);
                    }
                }),
                new Button("Go to Admin view", new Button.ClickListener() {
                    @Override
                    public void buttonClick(Button.ClickEvent event) {
                        getUI().getNavigator().navigateTo(AdminView.VIEW_NAME);
                    }
                }),
                new Button("Logout", new Button.ClickListener() {
                    @Override
                    public void buttonClick(Button.ClickEvent event) {
                        security.logout();
                        getUI().getPage().reload();
                    }
                })
        );
        toolbar.setSpacing(true);
        addComponent(toolbar);
        viewContainer = new Panel();
        viewContainer.setSizeFull();
        addComponent(viewContainer);
        setExpandRatio(viewContainer, 1f);
    }

    @Override
    public void attach() {
        final Navigator navigator = new Navigator(getUI(), viewContainer);
        navigator.addProvider(viewProvider);
        navigator.setErrorView(errorView);
    }
}
TOP

Related Classes of org.vaadin.spring.boot.sample.security.security.SecuredUIContent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.