Advertisement
Guest User

Untitled

a guest
Jun 4th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.91 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package virtualsin.web;
  7.  
  8. import br.com.albeom.nymeria.Aplicacao;
  9. import br.com.albeom.nymeria.Envelope;
  10. import br.com.albeom.nymeria.Funcao;
  11. import com.vaadin.data.Binder;
  12. import com.vaadin.data.converter.StringToIntegerConverter;
  13. import com.vaadin.event.ShortcutAction.KeyCode;
  14. import com.vaadin.ui.Button;
  15. import com.vaadin.ui.FormLayout;
  16. import com.vaadin.ui.HorizontalLayout;
  17. import com.vaadin.ui.NativeSelect;
  18. import com.vaadin.ui.TextField;
  19. import com.vaadin.ui.themes.ValoTheme;
  20. import virtualsind.entidades.Privilegio;
  21. import virtualsind.entidades.Usuario;
  22.  
  23. /**
  24.  *
  25.  * @author aline
  26.  */
  27. public class UsuarioForm extends FormLayout {
  28.  
  29.     private Aplicacao app;
  30.     private Envelope env;
  31.  
  32.     private TextField idempresa = new TextField("ID Empresa");
  33.     private TextField idusuario = new TextField("ID Usuario");
  34.     private TextField login = new TextField("Login ");
  35.     private TextField senha = new TextField("Senha");
  36.     private TextField email = new TextField("Email");
  37.     private TextField imagem = new TextField("Imagem");
  38.     private TextField nome = new TextField("Nome");
  39.     private NativeSelect<Privilegio> privilegios = new NativeSelect<>("Privilégios");
  40.  
  41.     private Principal principal;
  42.     private Usuario usuario;
  43.     private Binder< Usuario> binder = new Binder<>(Usuario.class);
  44.     private Funcao callBackInsert;
  45.  
  46.     private Button salvar = new Button("Salvar");
  47.     private Button deletar = new Button("Deletar");
  48.  
  49.     public UsuarioForm(Principal principal, Aplicacao app, Envelope env) {
  50.         this.principal = principal;
  51.         this.app = app;
  52.         this.env = env;
  53.  
  54.         setSizeUndefined();
  55.         HorizontalLayout botoes = new HorizontalLayout(salvar, deletar);
  56.         addComponents(idempresa, idusuario, login, senha,email, imagem, nome, privilegios, botoes);
  57.  
  58.         salvar.setStyleName(ValoTheme.BUTTON_PRIMARY);
  59.         salvar.setClickShortcut(KeyCode.ENTER);//subisitui a seleção do botão save
  60. /*
  61.         binder.forField(idempresa)
  62.                 .withNullRepresentation("Id Empresa")
  63.                 .withConverter ( new StringToIntegerConverter ( Integer.valueOf ( 0 ), "integers only" ) )
  64.                 .bind(Usuario::getIdempresa, Usuario::setIdempresa);
  65.         binder.bindInstanceFields(this);
  66.        
  67.         binder.forField(idusuario)
  68.                 .withNullRepresentation("Id Usuário")
  69.                 .withConverter ( new StringToIntegerConverter ( Integer.valueOf ( 0 ), "integers only" ) )
  70.                 .bind(Usuario::getIdusuario, Usuario::setIdempresa);
  71.         binder.bindInstanceFields(this);
  72.      
  73.         binder.forField(login)
  74.                 .withNullRepresentation("Login")
  75.                 .bind(Usuario::getLogin, Usuario::setLogin);
  76.         binder.bindInstanceFields(this);
  77.        
  78.         binder.forField(senha)
  79.                 .withNullRepresentation("Senha")
  80.                 .bind(Usuario::getSenha, Usuario::setSenha);
  81.         binder.bindInstanceFields(this);
  82.        
  83.         binder.forField(imagem)
  84.                 .withNullRepresentation("Imagem")
  85.                 .bind(Usuario::getImagem, Usuario::setImagem);
  86.         binder.bindInstanceFields(this);
  87.        
  88.         binder.forField(nome)
  89.                 .withNullRepresentation("Nome")
  90.                 .bind(Usuario::getNome, Usuario::setNome);
  91.         binder.bindInstanceFields(this);*/
  92. //        binder.setBean(usuario);
  93.  
  94.         salvar.addClickListener(e -> save());
  95.         deletar.addClickListener(e -> delete());
  96.  
  97.     }
  98.  
  99.     public void setUsuario(Usuario usuario) {
  100.         this.usuario = usuario;
  101.         //binder.setBean(usuario);
  102.         //deletar.setVisible(usuario.isPersisted());
  103.         login.setValue(usuario.getLogin());
  104.         senha.setValue(usuario.getSenha());
  105.         email.setValue(usuario.getEmail());
  106.         imagem.setValue(usuario.getImagem());
  107.         nome.setValue(usuario.getNome());
  108.  
  109.         setVisible(true);
  110.         idusuario.selectAll();
  111.  
  112.     }
  113.  
  114.     private void delete() {
  115. //        service.delete(vehicle);
  116. //        mainVeiculo.updateList();
  117.         setVisible(false);
  118.     }
  119.  
  120.     private void save() {
  121.         usuario = new Usuario();
  122.         usuario.setLogin(login.getValue());
  123.         usuario.setSenha(senha.getValue());
  124.         usuario.setEmail(email.getValue());
  125.         usuario.setImagem(imagem.getValue());
  126.         usuario.setNome(nome.getValue());
  127.  
  128.         env.set("usuario", usuario);
  129.         app.modulos("MUsuario").executarFuncao(env, "adicionarUsuario");
  130.  
  131.         Funcao f = (Funcao) env.get("callback");
  132.         if (f != null) {
  133.             f.executar(env);
  134.         }
  135.  
  136.         setVisible(false);
  137.  
  138.     }
  139.  
  140. }
  141.  
  142. /////////////////////////////////////////////////////////////////////////////////////////////////////
  143.  
  144. /*
  145.  * To change this license header, choose License Headers in Project Properties.
  146.  * To change this template file, choose Tools | Templates
  147.  * and open the template in the editor.
  148.  */
  149. package virtualsin.web;
  150.  
  151. import br.com.albeom.nymeria.Aplicacao;
  152. import br.com.albeom.nymeria.DataSource;
  153. import br.com.albeom.nymeria.Entidade;
  154. import br.com.albeom.nymeria.Envelope;
  155. import br.com.albeom.nymeria.Funcao;
  156. import com.vaadin.annotations.Theme;
  157. import com.vaadin.annotations.VaadinServletConfiguration;
  158. import com.vaadin.icons.VaadinIcons;
  159. import com.vaadin.server.VaadinRequest;
  160. import com.vaadin.server.VaadinServlet;
  161. import com.vaadin.shared.ui.ValueChangeMode;
  162. import com.vaadin.ui.Button;
  163. import com.vaadin.ui.CssLayout;
  164. import com.vaadin.ui.Grid;
  165. import com.vaadin.ui.HorizontalLayout;
  166. import com.vaadin.ui.TextField;
  167. import com.vaadin.ui.UI;
  168. import com.vaadin.ui.VerticalLayout;
  169. import com.vaadin.ui.themes.ValoTheme;
  170. import java.util.ArrayList;
  171. import javax.servlet.annotation.WebServlet;
  172. import virtualsind.entidades.Usuario;
  173. import virtualsind.sistema.DAOSistema;
  174.  
  175. /**
  176.  *
  177.  * @author aline
  178.  */
  179. @Theme("mytheme")
  180. public class Principal extends UI {
  181.  
  182.     Integer idempresa = 1;
  183.     Aplicacao app;
  184.     Envelope env;
  185.     DataSource ds = new DataSource("jdbc:mysql://localhost:3306/virtualsind?user=virtualsind&password=123&useSSL=false", null);
  186.     DAOSistema dao = new DAOSistema(ds, "/Albeom/virtualsind/VirtualSind/src/dao.xml");
  187.  
  188.     private Grid<Usuario> grid = new Grid<>(Usuario.class);
  189.     private ArrayList<Entidade> usuarios;
  190.     private TextField filterText = new TextField();
  191.     private UsuarioForm form;
  192.  
  193.     @Override
  194.     protected void init(VaadinRequest request) {
  195.         final VerticalLayout layout = new VerticalLayout();
  196.         app = new Aplicacao("/Albeom/virtualsind/VirtualSind/src/groovy/");
  197.         app.injetarDependencia("Dao", dao);
  198.         app.carregaModulos();
  199.         env = new Envelope();
  200.         form = new UsuarioForm(this, app, env);
  201.  
  202.         env.set("callback", new Funcao() {// caso tenha sucesso, o código e executado
  203.             @Override
  204.             public Envelope executar(Envelope e) {
  205.                 updateList();
  206.                 return e;
  207.             }
  208.         });
  209.        
  210.         filterText.setPlaceholder("Filtre pelo usuario ..."); //caixa de filtro
  211. //      filterText.addValueChangeListener(e -> updateList());//chama a funcao update
  212.         filterText.setValueChangeMode(ValueChangeMode.LAZY);
  213.  
  214.         Button limparFiltroBtn = new Button(VaadinIcons.CLOSE);
  215.         limparFiltroBtn.setDescription("Limpar Filtro");//info do botão
  216.         limparFiltroBtn.addClickListener(e -> filterText.clear());
  217.  
  218.         CssLayout filtrando = new CssLayout();
  219.         filtrando.addComponents(filterText, limparFiltroBtn);//deixa os botões juntos. sempre obedecer a ordem
  220.         filtrando.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);//junta a caixa de texto com o botão
  221.  
  222.         Button addUsuarioBtn = new Button("Add novo Usuário");
  223.         addUsuarioBtn.addClickListener(e -> {
  224.             grid.asSingleSelect().clear();
  225.             form.setUsuario(new Usuario());
  226.         });
  227. //     
  228.         HorizontalLayout toolbar = new HorizontalLayout(filtrando, addUsuarioBtn);
  229.  
  230.         grid.setColumns("idempresa", "idusuario", "login", "senha", "email", "imagem", "nome", "privilegios");
  231.         HorizontalLayout main = new HorizontalLayout(grid, form);
  232.  
  233.         updateList();
  234.         main.setSizeFull();
  235.         grid.setSizeFull();
  236.         main.setExpandRatio(grid, 1);
  237.  
  238.         layout.addComponents(main);
  239.  
  240.         setContent(layout);
  241.  
  242.     }
  243.  
  244.     public void updateList() {
  245. //        List<Vehicle> vehicles = service.findAll(filterText.getValue());
  246.  
  247.         grid.setItems(dao.obterUsuarios(env));
  248.     }
  249.  
  250.     @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
  251.     @VaadinServletConfiguration(ui = Principal.class, productionMode = false)
  252.     public static class MyUIServlet extends VaadinServlet {
  253.     }
  254.  
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement