/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package socius.telas.util; import java.io.IOException; import java.rmi.RemoteException; import java.util.logging.Level; import java.util.logging.Logger; import socius.dispositivos.Computador; import socius.app.ClientBoot; import socius.modelo.Usuario; import socius.state.EstadoOnline; /** * * @author Lucas Dillmann <lucas [at] dillmann.com.br> */ public class DadosGlobais { private Usuario user; private Computador computador; private ClientBoot redirect = new ClientBoot(); //pseudo singleton para acesso ao computador em todas as classes // perder o já setado private static DadosGlobais instance; public static DadosGlobais getInstance() { return instance; } private DadosGlobais(Computador c) { this.computador = c; } public DadosGlobais(Usuario user) { this.user = user; } public ClientBoot getRedirect() { return redirect; } // public ObservableList observeLista(){ // return computador.getList(); // } public ClientBoot setupClient() throws IOException { //caso senha e user corretos o user se conecta(esse controle é realizado no banco) //ao se conectar é redirecionado a tela principal // se não ocorrer a conexão ele dispara uma exceção na classe estado offline //e retorna a tela de login try { computador = new Computador(user); //constroi a primaira vez e cria a primeira instancia instance = new DadosGlobais(computador); //se logar tela principal //se nao voltar a tela de login computador.conectar(); if (computador.getEstado().getClass().equals(EstadoOnline.class)) { redirect.telaPrincipal(); } } catch (RemoteException ex) { Logger.getLogger(DadosGlobais.class.getName()).log(Level.SEVERE, null, ex); } return redirect; } public Computador getComputador() { return computador; } public Usuario getUser() { return user; } }