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.types.CharacterCasing; 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.TextItem; import com.smartgwt.client.widgets.form.validator.LengthRangeValidator; 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 EditarNovoTelefone extends Window { private int contador; public EditarNovoTelefone(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao, final ListGrid listTelEditarCliente, final ListGrid telefoneBuscarCliente) { //GWT.log("Editar Novo Endereo"); setTitle("Novo Telefone"); setWidth(500); setHeight(280); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); //setMargin(5); setLayoutAlign(Alignment.CENTER); Label label = new Label("<strong><h3>Cadastrar Novo Telefone</h3></strong>"); label.setAlign(Alignment.CENTER); label.setStyleName(scClassName); final DynamicForm formEditarNovoTelefone = new DynamicForm(); formEditarNovoTelefone.setAutoFocus(true); final TextItem itemDescricaoTel = new TextItem(); itemDescricaoTel.setTitle("Descrio"); itemDescricaoTel.setName("descricao"); itemDescricaoTel.setKeyPressFilter("[a-zA-Z?? [0-9]"); itemDescricaoTel.setCharacterCasing(CharacterCasing.UPPER); itemDescricaoTel.setRequired(true); itemDescricaoTel.setWidth(300); LengthRangeValidator tamanhoDescricao = new LengthRangeValidator(); tamanhoDescricao.setMin(3); itemDescricaoTel.setValidators(tamanhoDescricao); final TextItem itemTelefone = new TextItem(); itemTelefone.setTitle("Nmero"); itemTelefone.setName("numero"); itemTelefone.setRequired(true); itemTelefone.setMask("(##)#####-####"); itemTelefone.setWidth(300); //itemTelefone.setMaskSaveLiterals(true); //validador para tamanho do campo Nmero de telefone LengthRangeValidator tamanhoTelefone = new LengthRangeValidator(); tamanhoTelefone.setMin(11); itemTelefone.setValidators(tamanhoTelefone); formEditarNovoTelefone.setFields(itemDescricaoTel, itemTelefone); 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(); } }); //GWT.log("antes do clique"); cadastrar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (formEditarNovoTelefone.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> editarNovoTelefone = new TreeMap<String, String>(); //editarNovoEndereco.put("codEndereco", ""); editarNovoTelefone.put("codCliente", clienteEdicao.firstKey()); editarNovoTelefone.put("descricaoTelefone", itemDescricaoTel.getValueAsString()); editarNovoTelefone.put("numero", (String) itemTelefone.getValue()); Info.dbService.cadastrarNovoTelefone(editarNovoTelefone, 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 .buscarUltimoFone(new AsyncCallback<Integer>() { @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(Integer codUltimoFone) { if (codUltimoFone != 0) { 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", String.valueOf(codUltimoFone)); editarNovoEndereco.put("descricaoFone", itemDescricaoTel .getValueAsString()); editarNovoEndereco.put("numeroFone", itemTelefone .getValueAsString()); editarNovoEndereco.put("descricaoEmail", null); editarNovoEndereco.put("codEmail", null); editarNovoEndereco.put("email", null); editarNovoEndereco.put("codUsuario", clienteDadosAtualizados.get(0) .get("codUsuario")); editarNovoEndereco.put("usuario", clienteDadosAtualizados.get(0) .get("usuario")); editarNovoEndereco.put("senha", clienteDadosAtualizados.get(0) .get("senha")); editarNovoEndereco.put("ativoUsuario", clienteDadosAtualizados.get(0) .get("ativoUuario")); editarNovoEndereco.put("codGrupo", clienteDadosAtualizados.get(0) .get("codGrupo")); editarNovoEndereco.put("nomeGrupo", clienteDadosAtualizados.get(0) .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: "+codUltimoFone); Record novoTel = new Record(); novoTel.setAttribute("codigo", String.valueOf(codUltimoFone)); novoTel.setAttribute("descricao", itemDescricaoTel .getValueAsString()); novoTel.setAttribute("numero", Info .formataTelefone(itemTelefone .getValueAsString())); listTelEditarCliente.addData(novoTel); telefoneBuscarCliente.addData(novoTel); SC.say("Novo endereo cadastrado com sucesso"); } else { SC.warn("Erro ao buscar ultimo endereo cadastrado"); } } }); } else { GWT.log("Erro ao inserir novo telefone!"); } } }); 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(); } } }); limpar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { itemDescricaoTel.clearValue(); itemTelefone.clearValue(); formEditarNovoTelefone.focusInItem(itemDescricaoTel); } }); addItem(label); addItem(formEditarNovoTelefone); addItem(hButoes); } @Override protected void onLoad() { super.onLoad(); //To change body of generated methods, choose Tools | Templates. } }