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.autoview.client.ui.paineis.dialogs.editar; import com.automaster.autoview.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.types.Alignment; import com.smartgwt.client.types.AnimationEffect; import com.smartgwt.client.types.CharacterCasing; import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.HTMLPane; 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.SelectItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; 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.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.HLayout; import java.sql.Timestamp; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.TreeMap; /** * * @author Adriano */ public class EditarPadraoLigacao extends Window { private int contador; public EditarPadraoLigacao(final ArrayList<TreeMap<String, String>> dadosVeiculoCopia, final ListGridRecord recordEditarVeiculo, final ListGrid listPadLigEditarVeiculo, final HTMLPane tabelaVeiculosCopia) { // abriu o formulrio de edio do padro de ligao // Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 290, new Timestamp(System.currentTimeMillis()), ""); setTitle(Info.titulosMsg.get("editarPadraoLigacao")); setWidth(500); setHeight(400); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); setLayoutAlign(Alignment.CENTER); final Window windowAux = this; Label label = new Label("<strong><h3>" + Info.titulosMsg.get("editarPadraoLigacao") + "</h3></strong>"); label.setAlign(Alignment.CENTER); label.setStyleName(scClassName); final DynamicForm formNovoPadLig = new DynamicForm(); formNovoPadLig.setAutoFocus(true); final TextItem corFio = new TextItem(); corFio.setCharacterCasing(CharacterCasing.UPPER); corFio.setTitle(Info.titulosMsg.get("corFio")); corFio.setName("corFio"); corFio.setHint("<nbr>*</nbr>"); corFio.setKeyPressFilter("[a-zA-Z?? [0-9]"); corFio.setRequired(true); corFio.setWidth(230); LengthRangeValidator tamanhoNome = new LengthRangeValidator(); tamanhoNome.setMin(2); corFio.setValidators(tamanhoNome); corFio.setValue(recordEditarVeiculo.getAttribute("corFio")); final SelectItem sinal = new SelectItem(); sinal.setTitle(Info.titulosMsg.get("sinal")); sinal.setName("sinal"); LinkedHashMap<String, String> sn = new LinkedHashMap<>(); sn.put("true", "Positivo"); sn.put("false", "Negativo"); sinal.setValueMap(sn); sinal.setHint("<nbr>*</nbr>"); sinal.setRequired(true); sinal.setWidth(226); sinal.setValue( ((recordEditarVeiculo.getAttribute("sinalPad").equalsIgnoreCase("Positivo")) ? "true" : "false")); final SelectItem padVeic = new SelectItem(); padVeic.setTitle(Info.titulosMsg.get("padrao")); padVeic.setName("padVeic"); LinkedHashMap<String, String> padV = new LinkedHashMap<>(); padV.put("true", "Ligado"); padV.put("false", "Desligado"); padVeic.setValueMap(padV); padVeic.setHint("<nbr>*</nbr>"); padVeic.setRequired(true); padVeic.setWidth(226); padVeic.setValue( ((recordEditarVeiculo.getAttribute("padraoLd").equalsIgnoreCase("Ligado")) ? "true" : "false")); final SelectItem funcao = new SelectItem(); funcao.setTitle(Info.titulosMsg.get("funcao")); funcao.setName("funcao"); LinkedHashMap<String, String> fun = new LinkedHashMap<>(); fun.put("true", "entrada"); fun.put("false", "saida"); funcao.setValueMap(fun); funcao.setHint("<nbr>*</nbr>"); funcao.setRequired(true); funcao.setWidth(226); funcao.setValue( ((recordEditarVeiculo.getAttribute("funcaoPad").equalsIgnoreCase("Entrada")) ? "true" : "false")); final SelectItem ativo = new SelectItem(); ativo.setTitle(Info.titulosMsg.get("ativo")); ativo.setName("ativo"); LinkedHashMap<String, String> at = new LinkedHashMap<>(); at.put("true", "Sim"); at.put("false", "No"); ativo.setValueMap(at); ativo.setHint("<nbr>*</nbr>"); ativo.setRequired(true); ativo.setWidth(226); ativo.setValue(((recordEditarVeiculo.getAttribute("ativoPad").equalsIgnoreCase("Sim")) ? "true" : "false")); final TextAreaItem descricao = new TextAreaItem(); descricao.setTitle(Info.titulosMsg.get("descricao")); descricao.setName("descricao"); descricao.setPrintFullText(false); descricao.setWidth(226); descricao.setValue( ((recordEditarVeiculo.getAttribute("descricaoPad").equalsIgnoreCase("Sem informao")) ? "" : recordEditarVeiculo.getAttribute("descricaoPad"))); HLayout hButoes = new HLayout(); hButoes.setWidth(100); hButoes.setMembersMargin(3); hButoes.setLayoutAlign(Alignment.CENTER); IButton salvar = new IButton(Info.titulosMsg.get("tituloSalvar")); hButoes.setMargin(5); hButoes.addMember(salvar); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClickEvent event) { // no salvou a edio do padro de ligao j cadastrado // Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 291, new Timestamp(System.currentTimeMillis()), ""); windowAux.destroy(); } }); formNovoPadLig.setTitleOrientation(TitleOrientation.TOP); formNovoPadLig.setItems(corFio, sinal, padVeic, funcao, ativo, descricao); HLayout hform = new HLayout(); hform.setWidth(470); hform.setMembersMargin(3); hform.setLayoutAlign(Alignment.CENTER); hform.addMember(formNovoPadLig); salvar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (formNovoPadLig.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) { contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); TreeMap<String, String> padLigAtualizado = new TreeMap<String, String>(); padLigAtualizado.put("codVeiculo", dadosVeiculoCopia.get(0).get("codVeiculo")); padLigAtualizado.put("codPad", recordEditarVeiculo.getAttributeAsString("codPad")); padLigAtualizado.put("corFio", corFio.getValueAsString()); padLigAtualizado.put("sinalPad", sinal.getValueAsString()); padLigAtualizado.put("padraoLd", padVeic.getValueAsString()); padLigAtualizado.put("funcaoPad", funcao.getValueAsString()); padLigAtualizado.put("ativoPad", ativo.getValueAsString()); padLigAtualizado.put("descricaoPad", (descricao.getValueAsString() == null || descricao.getValueAsString().equalsIgnoreCase("")) ? null : descricao.getValueAsString()); Info.dbService.alterarPadraoLigacao(padLigAtualizado, new AsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { if (result) { GWT.log("codVeiculo: " + dadosVeiculoCopia.get(0).get("codVeiculo")); GWT.log("codPad: " + recordEditarVeiculo.getAttribute("codPad")); GWT.log("corFio: " + corFio.getValueAsString()); GWT.log("sinalPad: " + sinal.getValueAsString()); GWT.log("padraoLd: " + padVeic.getValueAsString()); GWT.log("funcaoPad: " + funcao.getValueAsString()); GWT.log("ativoPad: " + ativo.getValueAsString()); GWT.log("descricaoPad: " + descricao.getValueAsString()); //GWT.log("Linha 000"); recordEditarVeiculo.setAttribute("codPad", recordEditarVeiculo.getAttributeAsInt("codPad")); //GWT.log("Linha 01"); recordEditarVeiculo.setAttribute("corFio", corFio.getValueAsString()); //GWT.log("Linha 02: - sinal: "+sinal.getValueAsString()); recordEditarVeiculo.setAttribute("sinalPad", ((sinal.getValueAsString().equalsIgnoreCase("true")) ? "Positivo" : "Negativo")); //GWT.log("Linha 03"); recordEditarVeiculo.setAttribute("padraoLd", ((padVeic.getValueAsString() .equalsIgnoreCase("true")) ? "Ligado" : "Desligado")); //GWT.log("Linha 04"); recordEditarVeiculo.setAttribute("funcaoPad", ((funcao.getValueAsString() .equalsIgnoreCase("true")) ? "Entrada" : "Sada")); //GWT.log("Linha 05"); recordEditarVeiculo.setAttribute("ativoPad", ((ativo.getValueAsString().equalsIgnoreCase("true")) ? "Sim" : "No")); //GWT.log("Linha 06"); recordEditarVeiculo.setAttribute("descricaoPad", (descricao.getValueAsString() == null || descricao .getValueAsString().equalsIgnoreCase("")) ? "sem informao" : descricao.getValueAsString()); //GWT.log("Linha 07"); listPadLigEditarVeiculo.refreshRow(listPadLigEditarVeiculo .getRecordIndex(recordEditarVeiculo)); // GWT.log("Linha 08"); tabelaVeiculosCopia.markForRedraw(); for (TreeMap<String, String> editado : dadosVeiculoCopia) { if (recordEditarVeiculo.getAttribute("codPad") .equalsIgnoreCase(editado.get("codPad"))) { editado.put("codPad", recordEditarVeiculo.getAttribute("codPad")); editado.put("corFio", corFio.getValueAsString()); editado.put("sinalPad", ((sinal.getValueAsString() .equalsIgnoreCase("true")) ? "t" : "f")); editado.put("padraoLd", ((padVeic.getValueAsString() .equalsIgnoreCase("true")) ? "t" : "f")); editado.put("funcaoPad", ((funcao.getValueAsString() .equalsIgnoreCase("true")) ? "t" : "f")); editado.put("ativoPad", ((ativo.getValueAsString() .equalsIgnoreCase("true")) ? "t" : "f")); editado.put("descricaoPad", descricao.getValueAsString()); } } // edio do padro de ligao do veculo // Info.registrarLog( Integer.parseInt( Info.usuarioLogado.get("codUsuario")), 17, new Timestamp(System.currentTimeMillis()), "cod. pad. lig.:" + recordEditarVeiculo.getAttribute("codPad") + " cor fio anterior:" + recordEditarVeiculo.getAttribute("corFio") + " sinal anterior:" + recordEditarVeiculo .getAttribute("sinalPad") + " padro anterior:" + recordEditarVeiculo .getAttribute("padraoLd") + "Funo anterior: " + recordEditarVeiculo .getAttribute("funcaoPad") + " ativo anterior: " + recordEditarVeiculo .getAttribute("ativoPad") + " descricao anterior: " + recordEditarVeiculo.getAttribute( "descricaoPad") + " cor fio atual:" + corFio.getValueAsString() + " sinal atual:" + sinal.getDisplayValue() + " padro atual:" + padVeic.getDisplayValue() + "Funo atual: " + funcao.getDisplayValue() + " ativo atual: " + ativo.getDisplayValue() + " descricao atual: " + descricao.getDisplayValue()); SC.say(Info.titulosMsg .get("padraoLigacaoAtualizadoSucesso")); windowAux.destroy(); } else { // erro ao atualizar o padro de ligao // Info.registrarLog( Integer.parseInt( Info.usuarioLogado.get("codUsuario")), 292, new Timestamp(System.currentTimeMillis()), "cod. pad. lig.:" + recordEditarVeiculo .getAttribute("codPad")); SC.warn(Info.titulosMsg.get("padraoLigacaoAtualizadoErro")); //windowAux.destroy(); } } @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub } }); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; } } else { contador = 0; } } }.schedule(50); } } }); addItem(label); addItem(hform); addItem(hButoes); } }