Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package virtualsin.web;
- import br.com.albeom.nymeria.Aplicacao;
- import br.com.albeom.nymeria.Envelope;
- import br.com.albeom.nymeria.Funcao;
- import com.vaadin.data.Binder;
- import com.vaadin.data.converter.StringToIntegerConverter;
- import com.vaadin.event.ShortcutAction.KeyCode;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.FormLayout;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.NativeSelect;
- import com.vaadin.ui.TextField;
- import com.vaadin.ui.themes.ValoTheme;
- import virtualsind.entidades.Privilegio;
- import virtualsind.entidades.Usuario;
- /**
- *
- * @author aline
- */
- public class UsuarioForm extends FormLayout {
- private Aplicacao app;
- private Envelope env;
- private TextField idempresa = new TextField("ID Empresa");
- private TextField idusuario = new TextField("ID Usuario");
- private TextField login = new TextField("Login ");
- private TextField senha = new TextField("Senha");
- private TextField email = new TextField("Email");
- private TextField imagem = new TextField("Imagem");
- private TextField nome = new TextField("Nome");
- private NativeSelect<Privilegio> privilegios = new NativeSelect<>("Privilégios");
- private Principal principal;
- private Usuario usuario;
- private Binder< Usuario> binder = new Binder<>(Usuario.class);
- private Funcao callBackInsert;
- private Button salvar = new Button("Salvar");
- private Button deletar = new Button("Deletar");
- public UsuarioForm(Principal principal, Aplicacao app, Envelope env) {
- this.principal = principal;
- this.app = app;
- this.env = env;
- setSizeUndefined();
- HorizontalLayout botoes = new HorizontalLayout(salvar, deletar);
- addComponents(idempresa, idusuario, login, senha,email, imagem, nome, privilegios, botoes);
- salvar.setStyleName(ValoTheme.BUTTON_PRIMARY);
- salvar.setClickShortcut(KeyCode.ENTER);//subisitui a seleção do botão save
- /*
- binder.forField(idempresa)
- .withNullRepresentation("Id Empresa")
- .withConverter ( new StringToIntegerConverter ( Integer.valueOf ( 0 ), "integers only" ) )
- .bind(Usuario::getIdempresa, Usuario::setIdempresa);
- binder.bindInstanceFields(this);
- binder.forField(idusuario)
- .withNullRepresentation("Id Usuário")
- .withConverter ( new StringToIntegerConverter ( Integer.valueOf ( 0 ), "integers only" ) )
- .bind(Usuario::getIdusuario, Usuario::setIdempresa);
- binder.bindInstanceFields(this);
- binder.forField(login)
- .withNullRepresentation("Login")
- .bind(Usuario::getLogin, Usuario::setLogin);
- binder.bindInstanceFields(this);
- binder.forField(senha)
- .withNullRepresentation("Senha")
- .bind(Usuario::getSenha, Usuario::setSenha);
- binder.bindInstanceFields(this);
- binder.forField(imagem)
- .withNullRepresentation("Imagem")
- .bind(Usuario::getImagem, Usuario::setImagem);
- binder.bindInstanceFields(this);
- binder.forField(nome)
- .withNullRepresentation("Nome")
- .bind(Usuario::getNome, Usuario::setNome);
- binder.bindInstanceFields(this);*/
- // binder.setBean(usuario);
- salvar.addClickListener(e -> save());
- deletar.addClickListener(e -> delete());
- }
- public void setUsuario(Usuario usuario) {
- this.usuario = usuario;
- //binder.setBean(usuario);
- //deletar.setVisible(usuario.isPersisted());
- login.setValue(usuario.getLogin());
- senha.setValue(usuario.getSenha());
- email.setValue(usuario.getEmail());
- imagem.setValue(usuario.getImagem());
- nome.setValue(usuario.getNome());
- setVisible(true);
- idusuario.selectAll();
- }
- private void delete() {
- // service.delete(vehicle);
- // mainVeiculo.updateList();
- setVisible(false);
- }
- private void save() {
- usuario = new Usuario();
- usuario.setLogin(login.getValue());
- usuario.setSenha(senha.getValue());
- usuario.setEmail(email.getValue());
- usuario.setImagem(imagem.getValue());
- usuario.setNome(nome.getValue());
- env.set("usuario", usuario);
- app.modulos("MUsuario").executarFuncao(env, "adicionarUsuario");
- Funcao f = (Funcao) env.get("callback");
- if (f != null) {
- f.executar(env);
- }
- setVisible(false);
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////////
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package virtualsin.web;
- import br.com.albeom.nymeria.Aplicacao;
- import br.com.albeom.nymeria.DataSource;
- import br.com.albeom.nymeria.Entidade;
- import br.com.albeom.nymeria.Envelope;
- import br.com.albeom.nymeria.Funcao;
- import com.vaadin.annotations.Theme;
- import com.vaadin.annotations.VaadinServletConfiguration;
- import com.vaadin.icons.VaadinIcons;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.server.VaadinServlet;
- import com.vaadin.shared.ui.ValueChangeMode;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.CssLayout;
- import com.vaadin.ui.Grid;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.TextField;
- import com.vaadin.ui.UI;
- import com.vaadin.ui.VerticalLayout;
- import com.vaadin.ui.themes.ValoTheme;
- import java.util.ArrayList;
- import javax.servlet.annotation.WebServlet;
- import virtualsind.entidades.Usuario;
- import virtualsind.sistema.DAOSistema;
- /**
- *
- * @author aline
- */
- @Theme("mytheme")
- public class Principal extends UI {
- Integer idempresa = 1;
- Aplicacao app;
- Envelope env;
- DataSource ds = new DataSource("jdbc:mysql://localhost:3306/virtualsind?user=virtualsind&password=123&useSSL=false", null);
- DAOSistema dao = new DAOSistema(ds, "/Albeom/virtualsind/VirtualSind/src/dao.xml");
- private Grid<Usuario> grid = new Grid<>(Usuario.class);
- private ArrayList<Entidade> usuarios;
- private TextField filterText = new TextField();
- private UsuarioForm form;
- @Override
- protected void init(VaadinRequest request) {
- final VerticalLayout layout = new VerticalLayout();
- app = new Aplicacao("/Albeom/virtualsind/VirtualSind/src/groovy/");
- app.injetarDependencia("Dao", dao);
- app.carregaModulos();
- env = new Envelope();
- form = new UsuarioForm(this, app, env);
- env.set("callback", new Funcao() {// caso tenha sucesso, o código e executado
- @Override
- public Envelope executar(Envelope e) {
- updateList();
- return e;
- }
- });
- filterText.setPlaceholder("Filtre pelo usuario ..."); //caixa de filtro
- // filterText.addValueChangeListener(e -> updateList());//chama a funcao update
- filterText.setValueChangeMode(ValueChangeMode.LAZY);
- Button limparFiltroBtn = new Button(VaadinIcons.CLOSE);
- limparFiltroBtn.setDescription("Limpar Filtro");//info do botão
- limparFiltroBtn.addClickListener(e -> filterText.clear());
- CssLayout filtrando = new CssLayout();
- filtrando.addComponents(filterText, limparFiltroBtn);//deixa os botões juntos. sempre obedecer a ordem
- filtrando.setStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP);//junta a caixa de texto com o botão
- Button addUsuarioBtn = new Button("Add novo Usuário");
- addUsuarioBtn.addClickListener(e -> {
- grid.asSingleSelect().clear();
- form.setUsuario(new Usuario());
- });
- //
- HorizontalLayout toolbar = new HorizontalLayout(filtrando, addUsuarioBtn);
- grid.setColumns("idempresa", "idusuario", "login", "senha", "email", "imagem", "nome", "privilegios");
- HorizontalLayout main = new HorizontalLayout(grid, form);
- updateList();
- main.setSizeFull();
- grid.setSizeFull();
- main.setExpandRatio(grid, 1);
- layout.addComponents(main);
- setContent(layout);
- }
- public void updateList() {
- // List<Vehicle> vehicles = service.findAll(filterText.getValue());
- grid.setItems(dao.obterUsuarios(env));
- }
- @WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
- @VaadinServletConfiguration(ui = Principal.class, productionMode = false)
- public static class MyUIServlet extends VaadinServlet {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement