package com.example.crazybiz; import java.sql.SQLException; import com.vaadin.terminal.Sizeable; import com.vaadin.ui.Alignment; import com.vaadin.ui.LoginForm; import com.vaadin.ui.LoginForm.LoginListener; import com.vaadin.ui.Panel; import com.vaadin.ui.VerticalLayout; import com.vaadin.ui.LoginForm.LoginEvent; import db.DBactions; public class LoginView extends VerticalLayout { private Panel loginPanel; private LoginForm loginForm; public LoginView(final CrazybizApplication crazybizApplication) { setSpacing(true); loginPanel = new Panel("CrazyBiz Login"); loginForm = new LoginForm(); loginForm.setUsernameCaption("Username"); loginForm.setPasswordCaption("Password"); loginForm.setLoginButtonCaption("Login"); loginForm.addListener(new LoginListener() { @Override public void onLogin(LoginEvent event) { //TODO Add credentials control try { DBactions.connect(); if(DBactions.isValidLogin(event.getLoginParameter("username"), event.getLoginParameter("password"))){ String username = event.getLoginParameter("username"); crazybizApplication.getWindow().removeAllComponents(); crazybizApplication.setHome(new Homepage(crazybizApplication,username)); crazybizApplication.getWindow().addComponent(crazybizApplication.getHome()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); loginPanel.setWidth(Sizeable.SIZE_UNDEFINED,0); loginPanel.addComponent(loginForm); this.addComponent(loginPanel); this.setComponentAlignment(loginPanel, Alignment.MIDDLE_CENTER); } }