Vaadin Framework #1: Sessões, logins e etc…
Então, a algum tempo atrás postei aqui um pequeno tutorial de iniciação no vaadin framework , que espero que vocês tenham lido (ou não).. enfim, vamos ao que interessa…
Como eu gostei do tal framework (achei os componentes muito fodásticos), e meu pai faz anos que me enche o saco para fazer um sistema para “controlar as vacas leiteiras” (não é piada) do sítio dele, resolvi unir o útil ao agradável.
E põe agradável nisso. O Vaadin é relativamente muito simples. Nada de arquivos xhtml/css/js para fazer as páginas (como já foi citado no artigo anterior).
Falando sobre isso com o jonwelzel (do http://jonwelzel.utfpr.net), descobri que ele estava trabalhando em um sistema para a mãe dele e tals, como você também pode conferir aqui, e, recomendo que leiam o artigo dele também, que está muito bom
Enfim, a princípio, a maior dificuldade que tive foi com o manuseio da sessão do vaadin. Fiz uma tela de login e senha, e uma classe com um atributo usuário logado… etc etc.. outras classes com métodos de login etc… etc… etc… mas quando botei para funcionar, foi desastroso.
Abri a página na minha máquina, fiz login.. buenas, logou
:D Fui na máquina do calouro aqui da república e falei pra ele abrir a página, e, adivinha? Não pediu para logar.. entrou na mesma sessão que eu estava…
Após muito quebrar a cabeça e o google procurando por exemplos de manuseio de sessão, acabei tendo a brilhante idéia (modéstia a parte), de fazer um foreach no getWindows(); e remover tudo. Adivinha? Funcionou
Ficou o seguinte:
public class SistemaLeiteiroAplicacao extends Application {
@Override
public void init() {
cleanupPreviousResources();
Window main = new Window("Sistema Leiteiro");
main.setSizeFull();
setMainWindow(main);
if (/* Testa se o usuário está logado */) {
setMainWindow(new Inicial()); // Inicial é a tela inicial real do sistema
} else {
Window login = new Login(); // me recuso a explicar isso aqui u.u
login.setModal(true);
getMainWindow().addWindow(login);
}
}
private void cleanupPreviousResources() {
// aqui vai minha lógica para fazer logoff..
Collection oldWindows = getWindows();
for (Window w : oldWindows) {
removeWindow(w);
}
}
Pronto! Simples assim, e funciona como um relógio
Pra que melhor né?
Em breve, mais tutoriais, conversas jogadas fora e afins.
PS: Não estou tendo muito tempo para postar, sorry.
That’s all folks
Posts similares:
- None Found
| Este artigo foi escrito por Carlos Alexandro Becker em junho 21, 2010 às 10:23 PM, e está arquivado em Java. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |
-
Marcel Morais

