Java tutorial
/* * 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 com.automaster.client.ui.paineis.dialogs.editar.cadastronovo; import com.automaster.client.Info; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Record; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.AnimationEffect; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.CloseClickEvent; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.PasswordItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.validator.RegExpValidator; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.layout.HLayout; import java.util.ArrayList; import java.util.TreeMap; /** * * @author Adriano */ public class EditarNovoUsuario extends Window { private int contador; public EditarNovoUsuario(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao, final ListGrid listUserEditarCliente, final ListGrid UsuarioTabBuscaCliente) { //GWT.log("Editar Novo Endereo"); setTitle("Novo Usurio"); setWidth(500); setHeight(280); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); setLayoutAlign(Alignment.CENTER); final DynamicForm formEditarNovoUsuario = new DynamicForm(); formEditarNovoUsuario.setAutoFocus(true); Label label = new Label("<strong><h3>Cadastrar Novo Usurio</h3></strong>"); label.setAlign(Alignment.CENTER); label.setStyleName(scClassName); final TextItem itemCampoUser = new TextItem(); itemCampoUser.setName("usuario"); itemCampoUser.setTitle("Usurio"); itemCampoUser.setWidth(300); itemCampoUser.setRequired(true); itemCampoUser.setKeyPressFilter("[a-zA-Z.[0-9]"); RegExpValidator usuarioValidator = new RegExpValidator(); usuarioValidator.setExpression("^(([a-zA-Z0-9\\-])+\\.)+[a-zA-Z0-9]"); usuarioValidator.setErrorMessage("Campo invlido! Ex: nome.sobrenome"); itemCampoUser.setValidators(usuarioValidator); final PasswordItem itemSenha = new PasswordItem(); itemSenha.setName("senha"); itemSenha.setTitle("Senha"); itemSenha.setWidth(300); itemSenha.setRequired(true); itemSenha.setKeyPressFilter("[@$%*&%,;a-zA-Z.[0-9]"); formEditarNovoUsuario.setFields(itemCampoUser, itemSenha); HLayout hButoes = new HLayout(); hButoes.setWidth(200); hButoes.setMembersMargin(3); hButoes.setLayoutAlign(Alignment.CENTER); IButton cadastrar = new IButton("Cadastrar"); IButton limpar = new IButton("Limpar"); hButoes.setMargin(5); hButoes.addMember(cadastrar); hButoes.addMember(limpar); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClickEvent event) { destroy(); } }); cadastrar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Info.dbService.buscarPorNomeUsuario(itemCampoUser.getValueAsString(), new AsyncCallback<TreeMap<String, Object>>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess(TreeMap<String, Object> result) { if (result == null) { if (formEditarNovoUsuario.validate()) { contador = 0; final Window janelaCarregando = new Window(); janelaCarregando.setShowTitle(false); janelaCarregando.setWidth(100); janelaCarregando.setHeight(50); janelaCarregando.setShowEdges(false); janelaCarregando.setShowCloseButton(false); janelaCarregando.setShowMinimizeButton(false); janelaCarregando.setIsModal(true); janelaCarregando.setShowModalMask(true); janelaCarregando.centerInPage(); janelaCarregando.setLayoutAlign(Alignment.CENTER); final Label mensagem = new Label("Carregando.."); mensagem.setHeight(16); new Timer() { public void run() { if (contador != 100) { //destroy(); contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); //GWT.log("chave C: "+clienteEdicao.firstKey()); TreeMap<String, String> editarNovoUsuario = new TreeMap<String, String>(); //editarNovoEndereco.put("codEndereco", ""); editarNovoUsuario.put("codCliente", clienteEdicao.firstKey()); editarNovoUsuario.put("usuario", itemCampoUser.getValueAsString()); editarNovoUsuario.put("senha", itemSenha.getValueAsString()); Info.dbService.cadastrarUsuario(editarNovoUsuario, new AsyncCallback<Boolean>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException( "Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess( Boolean enderecoAdicionado) { if (enderecoAdicionado == true) { Info.dbService.buscarUltimoUsuario( new AsyncCallback<TreeMap<String, String>>() { @Override public void onFailure( Throwable caught) { throw new UnsupportedOperationException( "Not supported yet. Busca Ultimo End adicionado"); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess( TreeMap<String, String> ultimoUsuario) { if (ultimoUsuario != null) { ArrayList<TreeMap<String, String>> clienteDadosAtualizados = clienteEdicao .get(clienteEdicao .firstKey()); TreeMap<String, String> editarNovoEndereco = new TreeMap<String, String>(); editarNovoEndereco .put("nomeCliente", clienteDadosAtualizados .get(0) .get("nomeCliente")); editarNovoEndereco .put("dataAdesao", clienteDadosAtualizados .get(0) .get("dataAdesao")); editarNovoEndereco .put("tipoCliente", clienteDadosAtualizados .get(0) .get("tipoCliente")); editarNovoEndereco .put("codUnidade", clienteDadosAtualizados .get(0) .get("codUnidade")); editarNovoEndereco .put("nomeUnidade", clienteDadosAtualizados .get(0) .get("nomeUnidade")); editarNovoEndereco .put("codEndereco", clienteDadosAtualizados .get(0) .get("codEndereco")); editarNovoEndereco .put("codCliente", clienteEdicao .firstKey()); editarNovoEndereco .put("descricaoEndereco", clienteDadosAtualizados .get(0) .get("descricaoEndereco")); editarNovoEndereco .put("logradouro", clienteDadosAtualizados .get(0) .get("logradouro")); editarNovoEndereco .put("numeroEndereco", clienteDadosAtualizados .get(0) .get("numeroEndereco")); editarNovoEndereco .put("bairro", clienteDadosAtualizados .get(0) .get("bairro")); editarNovoEndereco .put("codCidade", clienteDadosAtualizados .get(0) .get("codCidade")); editarNovoEndereco .put("nomeCidade", clienteDadosAtualizados .get(0) .get("nomeCidade")); editarNovoEndereco .put("codEstado", clienteDadosAtualizados .get(0) .get("codEstado")); editarNovoEndereco .put("estadoUf", clienteDadosAtualizados .get(0) .get("estadoUf")); editarNovoEndereco .put("cep", clienteDadosAtualizados .get(0) .get("cep")); editarNovoEndereco .put("referenciaEndereco", clienteDadosAtualizados .get(0) .get("referenciaEndereco")); editarNovoEndereco .put("codFone", clienteDadosAtualizados .get(0) .get("codFone")); editarNovoEndereco .put("descricaoFone", clienteDadosAtualizados .get(0) .get("descricaoFone")); editarNovoEndereco .put("numeroFone", clienteDadosAtualizados .get(0) .get("numeroFone")); editarNovoEndereco .put("descricaoEmail", null); editarNovoEndereco .put("codEmail", null); editarNovoEndereco .put("email", null); editarNovoEndereco .put("codUsuario", ultimoUsuario .get("codUsuario")); editarNovoEndereco .put("usuario", ultimoUsuario .get("usuario")); editarNovoEndereco .put("senha", ultimoUsuario .get("senha")); editarNovoEndereco .put("ativoUsuario", ultimoUsuario .get("ativo")); editarNovoEndereco .put("codGrupo", ultimoUsuario .get("codGrupo")); editarNovoEndereco .put("nomeGrupo", ultimoUsuario .get("nomeGrupo")); editarNovoEndereco .put("codEmpresa", clienteDadosAtualizados .get(0) .get("codEmpresa")); editarNovoEndereco .put("cnpj", clienteDadosAtualizados .get(0) .get("cnpj")); editarNovoEndereco .put("dataAbertura", clienteDadosAtualizados .get(0) .get("dataAbertura")); editarNovoEndereco .put("responsavel", clienteDadosAtualizados .get(0) .get("responsavel")); editarNovoEndereco .put("cargo", clienteDadosAtualizados .get(0) .get("cargo")); editarNovoEndereco .put("codPessoa", clienteDadosAtualizados .get(0) .get("codPessoa")); editarNovoEndereco .put("cpf", clienteDadosAtualizados .get(0) .get("cpf")); editarNovoEndereco .put("dataNasc", clienteDadosAtualizados .get(0) .get("dataNasc")); editarNovoEndereco .put("profissao", clienteDadosAtualizados .get(0) .get("profissao")); editarNovoEndereco .put("trabalhoPessoa", clienteDadosAtualizados .get(0) .get("trabalhoPessoa")); clienteDadosAtualizados .add(editarNovoEndereco); clienteEdicao.put( clienteEdicao .firstKey(), clienteDadosAtualizados); //GWT.log("Cliente Edio: "+clienteEdicao); //GWT.log("Ultimo Fone: "+ultimoUsuario.get("codUsuario")); Record novoUsuario = new Record(); novoUsuario .setAttribute( "codigo", ultimoUsuario .get("codUsuario")); novoUsuario .setAttribute( "usuario", itemCampoUser .getValueAsString()); novoUsuario .setAttribute( "senha", itemSenha .getValueAsString()); novoUsuario .setAttribute( "statusCod", ultimoUsuario .get("ativo")); novoUsuario .setAttribute( "status", ((ultimoUsuario .get("ativo") .equalsIgnoreCase( "t")) ? "Ativo" : "Bloqueado")); novoUsuario .setAttribute( "codGrupo", ultimoUsuario .get("codGrupo")); novoUsuario .setAttribute( "grupo", ultimoUsuario .get("nomeGrupo")); listUserEditarCliente .addData( novoUsuario); UsuarioTabBuscaCliente .addData( novoUsuario); SC.say("Novo usurio cadastrado com sucesso"); } else { SC.warn("Erro ao buscar ultimo usurio cadastrado"); } } }); } else { GWT.log("Erro ao inserir novo usurio!"); } } }); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); //GWT.log(novoEnd.getAttribute("cidade")); destroy(); } } else { SC.say("Usurio: " + itemCampoUser.getValueAsString() + " j existe"); itemCampoUser.clearValue(); //itemSenha.clearValue(); formEditarNovoUsuario.focusInItem(itemCampoUser); } } }); } }); limpar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { itemCampoUser.clearValue(); itemSenha.clearValue(); formEditarNovoUsuario.focusInItem(itemCampoUser); } }); addItem(label); addItem(formEditarNovoUsuario); addItem(hButoes); } }