Ir para conteúdo

POWERED BY:

violin101

JAVA - Ajuda com erro.

Recommended Posts

Caros amigos, saudações.

 

Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null

 

Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

Grato,

 

Cesar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos, alguém por favor pode me ajudar a identificar e corrigir esse erro, que está me deixando louco.

ERROR: br.com.systemweb.model.dao.impl.CustomerDaoImpl.getObjectByTypeDocAndNumdoc Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where c.c_type_doc='1' and c.c_num_doc='12345678' ' at line 1

 

ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null

 

OBSERVAÇÃO: não entendo porque o sistema me traz essa linha assim ==[ c.c_num_doc='12345678' ' ]===

 

o CustomerDao, está assim:
 

package br.com.systemweb.model.dao;

import br.com.systemweb.model.Customer;
import java.util.Map;

/**
 *
 * @author rctom
 */
public interface CustomerDao {
    public Customer getObjectByTypeDocAndNumdoc(String typeDoc, String numDoc);    
    public int saveObject(Map<String,Object>requestBody);
}

 

o CustomerDaoImpl, está assim:
 

import br.com.systemweb.config.ConexaoDB;
import br.com.systemweb.constants.ConstantMenssages;
import br.com.systemweb.model.Customer;
import br.com.systemweb.model.Departament;
import br.com.systemweb.model.District;
import br.com.systemweb.model.Province;
import br.com.systemweb.model.Ubigeo;
import br.com.systemweb.model.dao.CustomerDao;
import br.com.systemweb.utils.Utils;
import java.util.Map;
import java.sql.*;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Logger;
import java.util.logging.Level;

/**
 *
 * @author rctom
 */
public class CustomerDaoImpl implements CustomerDao{

    private static final Logger LOGGER = Logger.getLogger(CustomerDaoImpl.class.getName());
    
    @Override
    public Customer getObjectByTypeDocAndNumdoc(String typeDoc, String numDoc) {
        Customer customer = null;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        StringBuilder query = new StringBuilder();

        query.append("select ");
        query.append(" c.n_id_customer");
        query.append(" ,c.c_code");
        query.append(" ,c.c_type_doc");
        query.append(" ,c.c_num_doc");
        query.append(" ,c.c_business_name");
        query.append(" ,p.n_id_person");
        query.append(" ,p.c_name");
        query.append(" ,p.c_first_name");
        query.append(" ,p.c_last_name");        
        query.append(" ,p.c_civil_status");
        query.append(" ,p.d_date_birth");
        query.append(" ,p.c_gender");
        query.append(" ,c.c_address");
        query.append(" ,c.c_phone_main");
        query.append(" ,c.c_email_main");
        query.append(",u.n_id_ubigeo ");        
        query.append(",u.c_departament_inei ");
        query.append(",u.c_departamento ");
        query.append(",u.c_provincia_inei ");
        query.append(",u.c_provincia ");
        query.append(",u.c_ubigeo_inei ");
        query.append(",u.c_distrito ");               
        query.append(" from m_customer c inner join m_person p ");
        query.append(" On c.n_id_person=p.n_id_person left join m_ubigeo u ");
        query.append(" where c.c_type_doc=? and c.c_num_doc=?");  
        
        try {
            conn = ConexaoDB.getConnection();
            ps = conn.prepareStatement(query.toString());
            ps.setString(1,typeDoc);
            ps.setString(2,numDoc.trim());            
            rs = ps.executeQuery();
                        
            while (rs.next()) {
                customer = new Customer();
                customer.setCustomerId(rs.getInt("n_id_customer"));
                customer.setCustomerCode(rs.getString("c_code"));                
                customer.setTypeDoc(rs.getString("c_type_code"));
                customer.setNumDoc(rs.getString("c_num_doc"));
                customer.setBussinesName(rs.getString("c_business_name"));                                               
                customer.setPersonId(rs.getInt("n_id_person"));
                customer.setName(rs.getString("c_name"));
                customer.setFirstName(rs.getString("c_first_name"));
                customer.setLastName(rs.getString("c_last_name"));
                customer.setCivilState(rs.getString("c_civil_status"));
                customer.setGender(rs.getString("c_gender"));
                customer.setBirthDate(Utils.convertStringToLocalDate(rs.getString("d_date_birth")));
                customer.setAddress(rs.getString("c_address"));
                customer.setNumberPhone(rs.getString("c_phone_main"));
                customer.setEmail(rs.getString("c_email_main"));                     
                customer.setUbigeo(new Ubigeo(rs.getInt("n_id_ubigeo"),
                        new Departament(rs.getString("c_departamento_inei"), rs.getString("c_departamento")),
                        new Province(rs.getString("c_provincia_inei"), rs.getString("c_provincia")),
                        new District(rs.getString("c_ubigeo_inei"), rs.getString("c_distrito"))));                
            }            
            
        } catch (SQLException e) {
            LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());
        } catch (Exception e) {
            LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());            
            throw new RuntimeException(e.getLocalizedMessage());
        } finally {
            try {
                if(rs != null){
                   rs.close();
                }
                if(ps != null){
                   ps.close();
                }   
                if(conn != null){
                    ConexaoDB.releaseConnection(conn);
                }
            } catch (SQLException e) {
                LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());
            }
        }        
        
        if(customer == null){
            throw new NullPointerException(ConstantMenssages.MESSAGE_VAL_510);
        }
        
        return customer;       
    }

    @Override
    public int saveObject(Map<String, Object> requestBody) {
        int r = 0;
        int personId = 0;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;       

        if(requestBody.get("typeDoc").toString().equals("6")){
            mappingRequestToValidadeEmptyOrNullBusiness(requestBody);
        } else {
            mappingRequestToValidadeEmptyOrNullPerson(requestBody);
        }
        
        //Validar Número do Documento Informado
        Utils.validTypeAndNumberDoc(requestBody.get("typeDoc").toString(), requestBody.get("numDoc").toString());
                      
        StringBuilder queryInsertPerson = new StringBuilder();
        queryInsertPerson.append("INSERT INTO m_person(");
        queryInsertPerson.append("c_name");
        queryInsertPerson.append(",c_first_name");
        queryInsertPerson.append(",c_last_name");
        queryInsertPerson.append(",c_civil_status");
        queryInsertPerson.append(",c_gender");
        queryInsertPerson.append(",d_date_birth");
        queryInsertPerson.append(",c_state");
        queryInsertPerson.append(")values(?,?,?,?,?,?,?)");

        
        StringBuilder queryInsertCustomer = new StringBuilder();
        queryInsertCustomer.append("INSERT INTO m_customer(");
        queryInsertCustomer.append("c_code");
        queryInsertCustomer.append(",c_type_doc");
        queryInsertCustomer.append(",c_num_doc");
        queryInsertCustomer.append(",c_business_name");
        queryInsertCustomer.append(",c_address");
        queryInsertCustomer.append(",c_phone_main");
        queryInsertCustomer.append(",c_email_main");            
        queryInsertCustomer.append(",c_create_user");    
        queryInsertCustomer.append(",n_id_person");    
        queryInsertCustomer.append(",n_id_ubigeo");    
        queryInsertCustomer.append(",c_state");
        queryInsertCustomer.append(")values(?,?,?,?,?,?,?,?,?,?,?)");
        
        try {
            //Pessoa
            conn = ConexaoDB.getConnection();
            ps = conn.prepareStatement(queryInsertPerson.toString(), PreparedStatement.RETURN_GENERATED_KEYS);
            ps.setString(1, requestBody.get("name").toString().trim().toUpperCase());
            ps.setString(2, requestBody.get("firstName").toString().trim().toUpperCase());
            ps.setString(3, requestBody.get("lastName").toString().trim().toUpperCase());
            ps.setString(4, requestBody.get("selectCivilState").toString().trim());
            ps.setString(5, requestBody.get("selectGender").toString().trim());
            ps.setString(6, requestBody.get("birthDate").toString().trim());
            ps.setString(7, "A");
            
            r = ps.executeUpdate();            
            rs = ps.getGeneratedKeys();
            
            while (rs.next()) {                
                personId = rs.getInt(1);
            }
            
            //Cliente        
            ps = conn.prepareStatement(queryInsertCustomer.toString(), PreparedStatement.RETURN_GENERATED_KEYS);
            ps.setString(1, "C".concat(Utils.generateCodeWithDate()));
            ps.setString(2, requestBody.get("typeDoc").toString().trim());
            ps.setString(3, requestBody.get("numDoc").toString().trim());
            ps.setString(4, requestBody.get("businessName").toString().trim().toUpperCase());
            ps.setString(5, requestBody.get("address").toString().trim());
            ps.setString(6, requestBody.get("numberPhone").toString().trim());
            ps.setString(7, requestBody.get("email").toString().trim());            
            ps.setString(8, requestBody.get("sessionUser").toString().trim());
            ps.setInt(9, personId);
            ps.setInt(10, 1); /*Agregar de forma Dinamica*/
            ps.setString(11, "A");
            
            r = ps.executeUpdate();
            
        } catch (SQLException e) {
            LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());
        } catch (Exception e) {
            LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());            
            throw new RuntimeException(e.getLocalizedMessage());
        } finally {
            try {
                if(rs != null){
                   rs.close();
                }
                if(ps != null){
                   ps.close();
                }   
                if(conn != null){
                    ConexaoDB.releaseConnection(conn);
                }
            } catch (SQLException e) {
                LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage());
            }
        }  
        return r;
    }
    
    
    private void mappingRequestToValidadeEmptyOrNullPerson(Map<String,Object>requestBody){
        for (Map.Entry<String,Object>entry:requestBody.entrySet()) {
            if(mandatoryColumnsPerson().contains(entry.getKey())){
                Utils.isNullOrEmty(entry.getKey(), entry.getValue().toString());
            }
        }
        if(requestBody.get("birthDate").toString().isBlank()){
            requestBody.put("birthDate","1900-01-01");
        }
    }    

    
    private void mappingRequestToValidadeEmptyOrNullBusiness(Map<String,Object>requestBody){
        for (Map.Entry<String,Object>entry:requestBody.entrySet()) {
            if(mandatoryColumnsBusiness().contains(entry.getKey())){
                Utils.isNullOrEmty(entry.getKey(), entry.getValue().toString());
            }
        }
        if(requestBody.get("birthDate").toString().isBlank()){
            requestBody.put("birthDate","1900-01-01");
        }
    }        
    
    
    private Set<String> mandatoryColumnsBusiness(){
        Set<String> columns = new HashSet<>();
        columns.add("businessName");
        columns.add("typeDoc");
        columns.add("numDoc");
        columns.add("email");
        return columns;
    }


    private Set<String> mandatoryColumnsPerson(){
        Set<String> columns = new HashSet<>();
        columns.add("name");
        columns.add("firstName");
        columns.add("lastName");
        columns.add("typeDoc");
        columns.add("numDoc");
        columns.add("email");
        return columns;
    }    
    
}

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Jack Oliveira
      Ola pessoal boa tarde
      estou tentando fazer um texto se mover dentro do input porem nao esta dando resultado que preciso
       
      Este é o codigo 
      <script type="text/javascript"> $(document).ready(function () { var frases = [{ 'elemento': $('input[name=search_string]'), 'frases': ["O que você está procurando?", "Buscar por: Academia, Barbearia, Churrascaria, Decoração, Escola, Farmácia, Gráfica, Imobiliaria, Lanchonete, Mecânica, Odontologia, Pizzaria...", "Faça sua busca por segmentos aqui.", "São mais de 3mil empresas para serem exploradas."] }]; animaInput(frases); }); </script>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.