br.com.swconsultoria.nfe.util.ConfiguracoesUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-nfe Show documentation
Show all versions of java-nfe Show documentation
Api java para consumo do webService de nota fiscal eletronica
package br.com.swconsultoria.nfe.util;
import br.com.swconsultoria.certificado.CertificadoService;
import br.com.swconsultoria.certificado.exception.CertificadoException;
import br.com.swconsultoria.nfe.dom.ConfiguracoesNfe;
import br.com.swconsultoria.nfe.exception.NfeException;
/**
* Classe Responsavel Por Carregar as informações do Certificado Digital
*
* @author Samuel Oliveira
*
*/
public class ConfiguracoesUtil {
/**
* Recebe como parâmetro um objeto ConfiguracoesNfe e Inicializa as COnfigurações e retorna um objeto
* ConfiguracoesNfe.
*
*
* Semelhante ao método iniciaConfiguracoes(), o Certificado Digital será
* validado e inicializado.Caso ocorrá algum prolema será disparado um
* NfeException
*
*
* @param configuracoesNfe
* @return ConfiguracoesWebNfe
* @throws NfeException
* @see CertificadoException
* @see ConfiguracoesWebNfe
*/
public static ConfiguracoesNfe iniciaConfiguracoes(ConfiguracoesNfe configuracoesNfe) throws NfeException {
return iniciaConfiguracoes(configuracoesNfe, null);
}
/**
* Recebe como parâmetro um objeto ConfiguracoesNfe e Inicializa as COnfigurações e retorna um objeto
* ConfiguracoesNfe.
*
*
* Semelhante ao método iniciaConfiguracoes(), o Certificado Digital será
* validado e inicializado.Caso ocorrá algum prolema será disparado um
* NfeException
*
*
* @param configuracoesNfe
* @param cpfCnpj
* @return ConfiguracoesWebNfe
* @throws NfeException
* @see CertificadoException
* @see ConfiguracoesWebNfe
*/
public static ConfiguracoesNfe iniciaConfiguracoes(ConfiguracoesNfe configuracoesNfe, String cpfCnpj) throws NfeException {
ObjetoUtil.verifica(configuracoesNfe).orElseThrow( () -> new NfeException("Configurações não foram criadas"));
try {
if (!configuracoesNfe.getCertificado().isValido()) {
throw new CertificadoException("Certificado vencido ou inválido.");
}
if (configuracoesNfe.isValidacaoDocumento() && cpfCnpj != null && !configuracoesNfe.getCertificado().getCnpjCpf().substring(0,8).equals(cpfCnpj.substring(0,8))) {
throw new CertificadoException("Documento do Certificado("+configuracoesNfe.getCertificado().getCnpjCpf()+") não equivale ao Documento do Emissor("+cpfCnpj+")");
}
if( ObjetoUtil.verifica(configuracoesNfe.getCacert()).isPresent()){
CertificadoService.inicializaCertificado(configuracoesNfe.getCertificado(),configuracoesNfe.getCacert());
}else{
CertificadoService.inicializaCertificado(configuracoesNfe.getCertificado());
}
} catch (CertificadoException e) {
throw new NfeException(e.getMessage(),e);
}
return configuracoesNfe;
}
}