diff --git a/README.md b/README.md
index 1cf3b7dbe..86fdd01fe 100755
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Nota Fiscal Eletrônica
Comunicador de nota fiscal da [fazenda](http://www.nfe.fazenda.gov.br/portal/principal.aspx).
[![Build Status](https://api.travis-ci.org/wmixvideo/nfe.png)](http://travis-ci.org/#!/wmixvideo/nfe)
[![Coverage Status](https://coveralls.io/repos/wmixvideo/nfe/badge.svg?branch=master&service=github)](https://coveralls.io/github/wmixvideo/nfe?branch=master)
-[![Maven Central](https://img.shields.io/badge/maven%20central-1.1.14-blue.svg)](http://search.maven.org/#artifactdetails|com.github.wmixvideo|nfe|1.1.14|)
+[![Maven Central](https://img.shields.io/badge/maven%20central-1.2.0-blue.svg)](http://search.maven.org/#artifactdetails|com.github.wmixvideo|nfe|1.2.0|)
[![Apache 2.0 License](https://img.shields.io/badge/license-apache%202.0-green.svg) ](https://github.com/wmixvideo/nfe/blob/master/LICENSE)
## Atenção
@@ -22,7 +22,7 @@ Caso não possua conhecimento técnico para criar notas fiscais, um profissional
com.github.wmixvideo
nfe
- 1.1.14
+ 1.2.0
```
@@ -33,67 +33,53 @@ comunicação com os webservices da Sefaz.
```java
// Exemplo de configuracao para acesso aos serviços da Sefaz.
-public class ConfiguracaoSefaz implements NFeConfig {
+public class NFeConfigTeste extends NFeConfig {
- private final boolean ehAmbienteDeTeste;
-
- public ConfiguracaoSefaz(final boolean ehAmbienteDeTeste) {
- this.ehAmbienteDeTeste = ehAmbienteDeTeste;
- }
-
- @Override
- public NFAmbiente getAmbiente() {
- return this.ehAmbienteDeTeste ? NFAmbiente.HOMOLOGACAO : NFAmbiente.PRODUCAO;
- }
-
- @Override
- public File getCertificado() throws IOException {
- try (InputStream is = CertificadoUtils.class.getResource("certificado.pfx").openStream()) {
- return IOUtils.toByteArray(is);
- }
- }
+ private KeyStore keyStoreCertificado = null;
+ private KeyStore keyStoreCadeia = null;
@Override
- public File getCadeiaCertificados() throws IOException {
- try (InputStream is = CertificadoUtils.class.getResource("cadeia_certificado.jks").openStream()) {
- return IOUtils.toByteArray(is);
- }
+ public NFUnidadeFederativa getCUF() {
+ return NFUnidadeFederativa.SC;
}
@Override
public String getCertificadoSenha() {
- return "senhaDoCertificado";
+ return "senha_certificado";
}
- @Override
- public String getCadeiaCertificadosSenha() {
- return "senhaDaCadeiaDeCertificados";
- }
-
@Override
- public NFUnidadeFederativa getCUF() {
- return NFUnidadeFederativa.SC;
+ public String getCadeiaCertificadosSenha() {
+ return "senha_cadeia";
}
@Override
- public NFTipoEmissao getTipoEmissao() {
- return NFTipoEmissao.EMISSAO_NORMAL;
+ public KeyStore getCertificadoKeyStore() throws KeyStoreException {
+ if (this.keyStoreCertificado == null) {
+ this.keyStoreCertificado = KeyStore.getInstance("PKCS12");
+ try (InputStream certificadoStream = new FileInputStream("/tmp/certificado.pfx")) {
+ this.keyStoreCertificado.load(certificadoStream, this.getCertificadoSenha().toCharArray());
+ } catch (CertificateException | NoSuchAlgorithmException | IOException e) {
+ this.keyStoreCadeia = null;
+ throw new KeyStoreException("Nao foi possibel montar o KeyStore com a cadeia de certificados", e);
+ }
+ }
+ return this.keyStoreCertificado;
}
@Override
- public String getSSLProtocolo() {
- return "TLSv1";
- }
-
- @Override
- public Integer getCodigoSegurancaContribuinteID() {
- return null;
- }
-
- @Override
- public String getCodigoSegurancaContribuinte() {
- return null;
- }
+ public KeyStore getCadeiaCertificadosKeyStore() throws KeyStoreException {
+ if (this.keyStoreCadeia == null) {
+ this.keyStoreCadeia = KeyStore.getInstance("JKS");
+ try (InputStream cadeia = new FileInputStream("/tmp/cadeia.jks")) {
+ this.keyStoreCadeia.load(cadeia, this.getCadeiaCertificadosSenha().toCharArray());
+ } catch (CertificateException | NoSuchAlgorithmException | IOException e) {
+ this.keyStoreCadeia = null;
+ throw new KeyStoreException("Nao foi possibel montar o KeyStore com o certificado", e);
+ }
+ }
+ return this.keyStoreCadeia;
+ }
}
```
diff --git a/pom.xml b/pom.xml
index d7cee4bad..aa79f0ba4 100755
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
com.github.wmixvideo
nfe
jar
- 1.1.15-SNAPSHOT
+ 1.2.0-SNAPSHOT
nfe
Biblioteca de comunicacao de nota fiscal eletronica brasileira
https://github.com/wmixvideo/nfe
@@ -26,7 +26,7 @@
UTF-8
UTF-8
- 1.6.3
+ 1.6.4
2.9.3
4.12
diff --git a/src/main/java/com/fincatto/nfe310/NFeConfig.java b/src/main/java/com/fincatto/nfe310/NFeConfig.java
index 0e50435e2..0b99ab80b 100755
--- a/src/main/java/com/fincatto/nfe310/NFeConfig.java
+++ b/src/main/java/com/fincatto/nfe310/NFeConfig.java
@@ -1,33 +1,105 @@
package com.fincatto.nfe310;
-import java.io.IOException;
-
import com.fincatto.nfe310.classes.NFAmbiente;
import com.fincatto.nfe310.classes.NFTipoEmissao;
import com.fincatto.nfe310.classes.NFUnidadeFederativa;
-public interface NFeConfig {
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+
+/**
+ * Configuração basica do sistema de notas fiscais.
+ */
+public abstract class NFeConfig {
- String VERSAO_NFE = "3.10";
- String NFE_NAMESPACE = "http://www.portalfiscal.inf.br/nfe";
+ public static final String VERSAO_NFE = "3.10";
+ public static final String NFE_NAMESPACE = "http://www.portalfiscal.inf.br/nfe";
- NFAmbiente getAmbiente();
+ /**
+ * Indica o ambiente de trabalho, se em produção ou homologação.
+ *
+ * @return Ambiente de trabalho.
+ */
+ public NFAmbiente getAmbiente() {
+ return NFAmbiente.HOMOLOGACAO;
+ }
- byte[] getCertificado() throws IOException;
+ /**
+ * Unidade da federação do emissor das notas.
+ *
+ * @return Unidade da federação do emissor.
+ */
+ public abstract NFUnidadeFederativa getCUF();
- byte[] getCadeiaCertificados() throws IOException;
+ /**
+ * KeyStore contendo o certificado pessoal do emissor.
+ * Esse certificado é fornecido por uma autoridade certificadora.
+ * Em caso de dúvidas, consulte seu contador.
+ *
+ * @return KeyStore do certificado pessoal.
+ * @throws KeyStoreException Caso não consiga carregar o KeyStore.
+ */
+ public abstract KeyStore getCertificadoKeyStore() throws KeyStoreException;
- String getCertificadoSenha();
+ /**
+ * Senha do certificado pessoal do emissor, contido dentro do KeyStore do certificado.
+ *
+ * @return Senha do certificado.
+ * @see #getCertificadoKeyStore()
+ */
+ public abstract String getCertificadoSenha();
- String getCadeiaCertificadosSenha();
+ /**
+ * KeyStore contendo a cadeia de certificados da SEFAZ de destino.
+ * Para gerar a cadeia, use o utilitário fornecido com a biblioteca:
+ * FileUtils.writeByteArrayToFile(new File("/tmp/producao.cacerts"), NFGeraCadeiaCertificados.geraCadeiaCertificados(NFAmbiente.PRODUCAO, "senha"));
+ *
+ * @return KeyStore da cadeia de certificados.
+ * @throws KeyStoreException Caso nao consiga carregar o KeyStore.
+ */
+ public abstract KeyStore getCadeiaCertificadosKeyStore() throws KeyStoreException;
- NFUnidadeFederativa getCUF();
+ /**
+ * Senha da cadeia de certificados, contida dentro do KeyStore da cadeia.
+ *
+ * @return Senha da cadeia de certificados.
+ * @see #getCadeiaCertificadosKeyStore()
+ */
+ public abstract String getCadeiaCertificadosSenha();
- NFTipoEmissao getTipoEmissao();
+ /**
+ * ID de contribuinte, somente para NFCe.
+ *
+ * @return ID do contribuinte.
+ */
+ public Integer getCodigoSegurancaContribuinteID() {
+ return null;
+ }
- String getSSLProtocolo();
+ /**
+ * Codigo de seguranca do contribuinte, com 36 caracteres, somente para NFCe.
+ *
+ * @return Codigo de segurança do contribuinte.
+ */
+ public String getCodigoSegurancaContribuinte() {
+ return null;
+ }
- Integer getCodigoSegurancaContribuinteID();
+ /**
+ * Tipo da emissão das notas (se normal ou em contingência).
+ *
+ * @return Tipo da emissão das notas.
+ */
+ public NFTipoEmissao getTipoEmissao() {
+ return NFTipoEmissao.EMISSAO_NORMAL;
+ }
- String getCodigoSegurancaContribuinte();
+ /**
+ * Protocolo de SSL, usado pela SEFAZ para receber as notas.
+ *
+ * @return Protocolo SSL da SEFAZ de origem.
+ */
+ public String getSSLProtocolo() {
+ return "TLSv1";
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/fincatto/nfe310/assinatura/AssinaturaDigital.java b/src/main/java/com/fincatto/nfe310/assinatura/AssinaturaDigital.java
index 05e40823d..7b863c811 100755
--- a/src/main/java/com/fincatto/nfe310/assinatura/AssinaturaDigital.java
+++ b/src/main/java/com/fincatto/nfe310/assinatura/AssinaturaDigital.java
@@ -29,7 +29,6 @@
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -75,12 +74,9 @@ public boolean isValida(final InputStream xmlStream) throws Exception {
}
public String assinarDocumento(final String conteudoXml) throws Exception {
- final KeyStore keyStore = KeyStore.getInstance("PKCS12");
- try (InputStream certificadoStream = new ByteArrayInputStream(this.config.getCertificado())) {
- keyStore.load(certificadoStream, this.config.getCertificadoSenha().toCharArray());
- }
-
- final KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(keyStore.aliases().nextElement(), new KeyStore.PasswordProtection(this.config.getCertificadoSenha().toCharArray()));
+ final String certificateAlias = config.getCertificadoKeyStore().aliases().nextElement();
+ final KeyStore.PasswordProtection passwordProtection = new KeyStore.PasswordProtection(this.config.getCertificadoSenha().toCharArray());
+ final KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) config.getCertificadoKeyStore().getEntry(certificateAlias, passwordProtection);
final XMLSignatureFactory signatureFactory = XMLSignatureFactory.getInstance("DOM");
final List transforms = new ArrayList<>(2);
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFAmbiente.java b/src/main/java/com/fincatto/nfe310/classes/NFAmbiente.java
index ba5ad2caa..6cdb07063 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFAmbiente.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFAmbiente.java
@@ -7,7 +7,7 @@ public enum NFAmbiente {
private final String codigo;
- private NFAmbiente(final String codigo) {
+ NFAmbiente(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFFinalidade.java b/src/main/java/com/fincatto/nfe310/classes/NFFinalidade.java
index 6441d8fea..04bb71b8f 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFFinalidade.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFFinalidade.java
@@ -10,7 +10,7 @@ public enum NFFinalidade {
private final String codigo;
private final String descricao;
- private NFFinalidade(final String codigo, final String descricao) {
+ NFFinalidade(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFFormaPagamentoPrazo.java b/src/main/java/com/fincatto/nfe310/classes/NFFormaPagamentoPrazo.java
index c52f56d78..b9a16c357 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFFormaPagamentoPrazo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFFormaPagamentoPrazo.java
@@ -1,27 +1,27 @@
package com.fincatto.nfe310.classes;
public enum NFFormaPagamentoPrazo {
-
+
A_VISTA("0", "A vista"),
A_PRAZO("1", "A prazo"),
OUTROS("2", "Outros");
-
+
private final String codigo;
private final String descricao;
-
- private NFFormaPagamentoPrazo(final String codigo, final String descricao) {
+
+ NFFormaPagamentoPrazo(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
-
+
public String getCodigo() {
return this.codigo;
}
-
+
public String getDescricao() {
return this.descricao;
}
-
+
public static NFFormaPagamentoPrazo valueOfCodigo(final String codigo) {
for (NFFormaPagamentoPrazo formaPagamento : NFFormaPagamentoPrazo.values()) {
if (formaPagamento.getCodigo().equals(codigo)) {
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFModalidadeFrete.java b/src/main/java/com/fincatto/nfe310/classes/NFModalidadeFrete.java
index c0bf0a919..9ef676ed2 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFModalidadeFrete.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFModalidadeFrete.java
@@ -8,7 +8,7 @@ public enum NFModalidadeFrete {
private String codigo;
- private NFModalidadeFrete(final String codigo) {
+ NFModalidadeFrete(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFModelo.java b/src/main/java/com/fincatto/nfe310/classes/NFModelo.java
index 5803bb2f6..88f0d74f2 100644
--- a/src/main/java/com/fincatto/nfe310/classes/NFModelo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFModelo.java
@@ -7,7 +7,7 @@ public enum NFModelo {
private final String codigo;
- private NFModelo(final String codigo) {
+ NFModelo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoCombustivelTipo.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoCombustivelTipo.java
index 2e9154d25..e55e3ae9e 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoCombustivelTipo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoCombustivelTipo.java
@@ -23,7 +23,7 @@ public enum NFNotaInfoCombustivelTipo {
private String codigo;
- private NFNotaInfoCombustivelTipo(final String codigo) {
+ NFNotaInfoCombustivelTipo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoEspecieVeiculo.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoEspecieVeiculo.java
index 9d188de89..d3ef2b545 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoEspecieVeiculo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoEspecieVeiculo.java
@@ -11,7 +11,7 @@ public enum NFNotaInfoEspecieVeiculo {
private String codigo;
- private NFNotaInfoEspecieVeiculo(final String codigo) {
+ NFNotaInfoEspecieVeiculo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoICMS.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoICMS.java
index 2912c4317..4c90bc9f5 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoICMS.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoICMS.java
@@ -15,7 +15,7 @@ public enum NFNotaInfoImpostoTributacaoICMS {
String codigo;
- private NFNotaInfoImpostoTributacaoICMS(final String codigo) {
+ NFNotaInfoImpostoTributacaoICMS(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoISSQN.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoISSQN.java
index 67c11b68d..a963e4100 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoISSQN.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoImpostoTributacaoISSQN.java
@@ -8,7 +8,7 @@ public enum NFNotaInfoImpostoTributacaoISSQN {
private String codigo;
- private NFNotaInfoImpostoTributacaoISSQN(final String codigo) {
+ NFNotaInfoImpostoTributacaoISSQN(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemImpostoICMSModalidadeBaseCalculo.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemImpostoICMSModalidadeBaseCalculo.java
index b68576b8c..6a4d2aaba 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemImpostoICMSModalidadeBaseCalculo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemImpostoICMSModalidadeBaseCalculo.java
@@ -10,7 +10,7 @@ public enum NFNotaInfoItemImpostoICMSModalidadeBaseCalculo {
private final String codigo;
private final String descricao;
- private NFNotaInfoItemImpostoICMSModalidadeBaseCalculo(final String codigo, final String descricao) {
+ NFNotaInfoItemImpostoICMSModalidadeBaseCalculo(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemModalidadeBCICMSST.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemModalidadeBCICMSST.java
index 3f873a14b..dccf2795d 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemModalidadeBCICMSST.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemModalidadeBCICMSST.java
@@ -11,7 +11,7 @@ public enum NFNotaInfoItemModalidadeBCICMSST {
private String codigo;
private String descricao;
- private NFNotaInfoItemModalidadeBCICMSST(final String codigo, final String descricao) {
+ NFNotaInfoItemModalidadeBCICMSST(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoArmamentoTipo.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoArmamentoTipo.java
index c25d295f4..543c6f89b 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoArmamentoTipo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoArmamentoTipo.java
@@ -6,7 +6,7 @@ public enum NFNotaInfoItemProdutoArmamentoTipo {
private final String codigo;
- private NFNotaInfoItemProdutoArmamentoTipo(final String codigo) {
+ NFNotaInfoItemProdutoArmamentoTipo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicao.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicao.java
index e4962d14a..734f3299f 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicao.java
@@ -8,7 +8,7 @@ public enum NFNotaInfoItemProdutoVeiculoCondicao {
private final String codigo;
- private NFNotaInfoItemProdutoVeiculoCondicao(final String codigo) {
+ NFNotaInfoItemProdutoVeiculoCondicao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicaoChassi.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicaoChassi.java
index fdf655f45..49eeaa4e9 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicaoChassi.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoCondicaoChassi.java
@@ -7,7 +7,7 @@ public enum NFNotaInfoItemProdutoVeiculoCondicaoChassi {
private final String codigo;
- private NFNotaInfoItemProdutoVeiculoCondicaoChassi(final String codigo) {
+ NFNotaInfoItemProdutoVeiculoCondicaoChassi(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoRestricao.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoRestricao.java
index 20e832dcc..8f6e749d4 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoRestricao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoRestricao.java
@@ -11,7 +11,7 @@ public enum NFNotaInfoItemProdutoVeiculoRestricao {
private final String codigo;
- private NFNotaInfoItemProdutoVeiculoRestricao(final String codigo) {
+ NFNotaInfoItemProdutoVeiculoRestricao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoTipoOperacao.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoTipoOperacao.java
index 1624b3384..9407fc5c8 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoTipoOperacao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoItemProdutoVeiculoTipoOperacao.java
@@ -9,7 +9,7 @@ public enum NFNotaInfoItemProdutoVeiculoTipoOperacao {
private final String codigo;
- private NFNotaInfoItemProdutoVeiculoTipoOperacao(final String codigo) {
+ NFNotaInfoItemProdutoVeiculoTipoOperacao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaCOFINS.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaCOFINS.java
index 1d51d42a2..5bbcf9629 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaCOFINS.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaCOFINS.java
@@ -37,7 +37,7 @@ public enum NFNotaInfoSituacaoTributariaCOFINS {
private String codigo;
- private NFNotaInfoSituacaoTributariaCOFINS(final String codigo) {
+ NFNotaInfoSituacaoTributariaCOFINS(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaIPI.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaIPI.java
index 18a0fa360..4d0e81efc 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaIPI.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaIPI.java
@@ -18,7 +18,7 @@ public enum NFNotaInfoSituacaoTributariaIPI {
private final String codigo;
- private NFNotaInfoSituacaoTributariaIPI(final String codigo) {
+ NFNotaInfoSituacaoTributariaIPI(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaPIS.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaPIS.java
index 8687a46a9..251f27775 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaPIS.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoSituacaoTributariaPIS.java
@@ -37,7 +37,7 @@ public enum NFNotaInfoSituacaoTributariaPIS {
private final String codigo;
- private NFNotaInfoSituacaoTributariaPIS(final String codigo) {
+ NFNotaInfoSituacaoTributariaPIS(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoTipoVeiculo.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoTipoVeiculo.java
index 07b4e76bd..5d5955840 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoTipoVeiculo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoTipoVeiculo.java
@@ -19,7 +19,7 @@ public enum NFNotaInfoTipoVeiculo {
private String codigo;
- private NFNotaInfoTipoVeiculo(final String codigo) {
+ NFNotaInfoTipoVeiculo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoVeiculoCor.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoVeiculoCor.java
index 2e8d8397e..86c755370 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoVeiculoCor.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaInfoVeiculoCor.java
@@ -21,7 +21,7 @@ public enum NFNotaInfoVeiculoCor {
private String codigo;
- private NFNotaInfoVeiculoCor(final String codigo) {
+ NFNotaInfoVeiculoCor(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaMotivoDesoneracaoICMS.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaMotivoDesoneracaoICMS.java
index 404ba975a..b417aba0d 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaMotivoDesoneracaoICMS.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaMotivoDesoneracaoICMS.java
@@ -15,7 +15,7 @@ public enum NFNotaMotivoDesoneracaoICMS {
private final String codigo;
- private NFNotaMotivoDesoneracaoICMS(final String codigo) {
+ NFNotaMotivoDesoneracaoICMS(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFNotaSituacaoOperacionalSimplesNacional.java b/src/main/java/com/fincatto/nfe310/classes/NFNotaSituacaoOperacionalSimplesNacional.java
index d5b69cc7f..7b4543245 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFNotaSituacaoOperacionalSimplesNacional.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFNotaSituacaoOperacionalSimplesNacional.java
@@ -14,7 +14,7 @@ public enum NFNotaSituacaoOperacionalSimplesNacional {
private final String codigo;
- private NFNotaSituacaoOperacionalSimplesNacional(final String codigo) {
+ NFNotaSituacaoOperacionalSimplesNacional(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFOrigem.java b/src/main/java/com/fincatto/nfe310/classes/NFOrigem.java
index d23fd2ada..1d5bd2e4b 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFOrigem.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFOrigem.java
@@ -14,7 +14,7 @@ public enum NFOrigem {
private final String codigo;
- private NFOrigem(final String codigo) {
+ NFOrigem(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFOrigemProcesso.java b/src/main/java/com/fincatto/nfe310/classes/NFOrigemProcesso.java
index 16e07e959..1fa75cdaf 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFOrigemProcesso.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFOrigemProcesso.java
@@ -9,7 +9,7 @@ public enum NFOrigemProcesso {
private String codigo;
- private NFOrigemProcesso(final String codigo) {
+ NFOrigemProcesso(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFProcessoEmissor.java b/src/main/java/com/fincatto/nfe310/classes/NFProcessoEmissor.java
index 20ac7e61e..a29979edd 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFProcessoEmissor.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFProcessoEmissor.java
@@ -10,7 +10,7 @@ public enum NFProcessoEmissor {
private final String codigo;
private final String descricao;
- private NFProcessoEmissor(final String codigo, final String descricao) {
+ NFProcessoEmissor(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFProdutoCompoeValorNota.java b/src/main/java/com/fincatto/nfe310/classes/NFProdutoCompoeValorNota.java
index 091fa6761..1e670bb2a 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFProdutoCompoeValorNota.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFProdutoCompoeValorNota.java
@@ -6,7 +6,7 @@ public enum NFProdutoCompoeValorNota {
private final String codigo;
- private NFProdutoCompoeValorNota(final String codigo) {
+ NFProdutoCompoeValorNota(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFRegimeTributario.java b/src/main/java/com/fincatto/nfe310/classes/NFRegimeTributario.java
index 665061449..d13982895 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFRegimeTributario.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFRegimeTributario.java
@@ -9,7 +9,7 @@ public enum NFRegimeTributario {
private final String codigo;
private final String descricao;
- private NFRegimeTributario(final String codigo, final String descricao) {
+ NFRegimeTributario(final String codigo, final String descricao) {
this.codigo = codigo;
this.descricao = descricao;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFTipo.java b/src/main/java/com/fincatto/nfe310/classes/NFTipo.java
index 6436c9f2b..e200ae775 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFTipo.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFTipo.java
@@ -7,7 +7,7 @@ public enum NFTipo {
private final String codigo;
- private NFTipo(final String codigo) {
+ NFTipo(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFTipoImpressao.java b/src/main/java/com/fincatto/nfe310/classes/NFTipoImpressao.java
index 85e54611c..9ccc58d50 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFTipoImpressao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFTipoImpressao.java
@@ -10,7 +10,7 @@ public enum NFTipoImpressao {
private final String codigo;
- private NFTipoImpressao(final String codigo) {
+ NFTipoImpressao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/NFUnidadeFederativa.java b/src/main/java/com/fincatto/nfe310/classes/NFUnidadeFederativa.java
index e9cd80b11..18d4eadef 100755
--- a/src/main/java/com/fincatto/nfe310/classes/NFUnidadeFederativa.java
+++ b/src/main/java/com/fincatto/nfe310/classes/NFUnidadeFederativa.java
@@ -42,7 +42,7 @@ public enum NFUnidadeFederativa {
private final String qrCodeHomologacao;
private final String qrCodeProducao;
- private NFUnidadeFederativa(final String codigo, final String descricao, final String codigoIbge, String qrCodeHomologacao, String qrCodeProducao) {
+ NFUnidadeFederativa(final String codigo, final String descricao, final String codigoIbge, String qrCodeHomologacao, String qrCodeProducao) {
this.codigo = codigo;
this.descricao = descricao;
this.codigoIbge = codigoIbge;
@@ -50,8 +50,8 @@ private NFUnidadeFederativa(final String codigo, final String descricao, final S
this.qrCodeProducao = qrCodeProducao;
}
- private NFUnidadeFederativa(final String codigo, final String descricao, final String codigoIbge) {
- this(codigo, descricao, codigoIbge, null, null);
+ NFUnidadeFederativa(final String codigo, final String descricao, final String codigoIbge) {
+ this(codigo, descricao, codigoIbge, null, null);
}
public String getCodigo() {
diff --git a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteCTe.java b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteCTe.java
index c63435138..b443ff2f0 100644
--- a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteCTe.java
+++ b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteCTe.java
@@ -9,7 +9,7 @@ public enum NFIndicadorContribuinteCTe {
private int codigo;
- private NFIndicadorContribuinteCTe(final int codigo) {
+ NFIndicadorContribuinteCTe(final int codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteNFe.java b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteNFe.java
index 977f2e463..bfa3eec23 100644
--- a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteNFe.java
+++ b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFIndicadorContribuinteNFe.java
@@ -10,7 +10,7 @@ public enum NFIndicadorContribuinteNFe {
private int codigo;
- private NFIndicadorContribuinteNFe(final int codigo) {
+ NFIndicadorContribuinteNFe(final int codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFSituacaoContribuinte.java b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFSituacaoContribuinte.java
index 5019252bb..2475dfa9c 100644
--- a/src/main/java/com/fincatto/nfe310/classes/cadastro/NFSituacaoContribuinte.java
+++ b/src/main/java/com/fincatto/nfe310/classes/cadastro/NFSituacaoContribuinte.java
@@ -7,7 +7,7 @@ public enum NFSituacaoContribuinte {
private int codigo;
- private NFSituacaoContribuinte(final int codigo) {
+ NFSituacaoContribuinte(final int codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/evento/NFTipoEvento.java b/src/main/java/com/fincatto/nfe310/classes/evento/NFTipoEvento.java
index 33b318956..b9c622859 100644
--- a/src/main/java/com/fincatto/nfe310/classes/evento/NFTipoEvento.java
+++ b/src/main/java/com/fincatto/nfe310/classes/evento/NFTipoEvento.java
@@ -1,14 +1,13 @@
package com.fincatto.nfe310.classes.evento;
-import java.math.BigDecimal;
-
+import com.fincatto.nfe310.classes.NFBase;
+import com.fincatto.nfe310.validadores.BigDecimalParser;
+import com.fincatto.nfe310.validadores.StringValidador;
import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
-import com.fincatto.nfe310.classes.NFBase;
-import com.fincatto.nfe310.validadores.BigDecimalParser;
-import com.fincatto.nfe310.validadores.StringValidador;
+import java.math.BigDecimal;
@Root(strict = false)
public class NFTipoEvento extends NFBase {
@@ -20,7 +19,7 @@ public class NFTipoEvento extends NFBase {
// Carta correcao
@Element(name = "xCorrecao", required = false)
- private String textoCorrecao;;
+ private String textoCorrecao;
@Element(name = "xCondUso", required = false)
private String condicaoUso;
diff --git a/src/main/java/com/fincatto/nfe310/classes/lote/envio/NFLoteIndicadorProcessamento.java b/src/main/java/com/fincatto/nfe310/classes/lote/envio/NFLoteIndicadorProcessamento.java
index a8a428428..053a9b282 100644
--- a/src/main/java/com/fincatto/nfe310/classes/lote/envio/NFLoteIndicadorProcessamento.java
+++ b/src/main/java/com/fincatto/nfe310/classes/lote/envio/NFLoteIndicadorProcessamento.java
@@ -7,7 +7,7 @@ public enum NFLoteIndicadorProcessamento {
private String codigo;
- private NFLoteIndicadorProcessamento(final String codigo) {
+ NFLoteIndicadorProcessamento(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaImportacaoIntermediacao.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaImportacaoIntermediacao.java
index 98cf4c935..1b977d19a 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaImportacaoIntermediacao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaImportacaoIntermediacao.java
@@ -8,7 +8,7 @@ public enum NFFormaImportacaoIntermediacao {
private String codigo;
- private NFFormaImportacaoIntermediacao(final String codigo) {
+ NFFormaImportacaoIntermediacao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaPagamentoMoeda.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaPagamentoMoeda.java
index 215fda64b..019b3b1f4 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaPagamentoMoeda.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFFormaPagamentoMoeda.java
@@ -15,7 +15,7 @@ public enum NFFormaPagamentoMoeda {
private String codigo;
- private NFFormaPagamentoMoeda(final String codigo) {
+ NFFormaPagamentoMoeda(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFIdentificadorLocalDestinoOperacao.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFIdentificadorLocalDestinoOperacao.java
index 4945e4cc3..a6fa5cd59 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFIdentificadorLocalDestinoOperacao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFIdentificadorLocalDestinoOperacao.java
@@ -8,7 +8,7 @@ public enum NFIdentificadorLocalDestinoOperacao {
private String codigo;
- private NFIdentificadorLocalDestinoOperacao(final String codigo) {
+ NFIdentificadorLocalDestinoOperacao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorIEDestinatario.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorIEDestinatario.java
index 3271e01fe..05542f168 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorIEDestinatario.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorIEDestinatario.java
@@ -7,7 +7,7 @@ public enum NFIndicadorIEDestinatario {
private String codigo;
- private NFIndicadorIEDestinatario(final String codigo) {
+ NFIndicadorIEDestinatario(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorPresencaComprador.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorPresencaComprador.java
index f9fecb67e..8d0f42e6c 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorPresencaComprador.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFIndicadorPresencaComprador.java
@@ -10,7 +10,7 @@ public enum NFIndicadorPresencaComprador {
private String codigo;
- private NFIndicadorPresencaComprador(final String codigo) {
+ NFIndicadorPresencaComprador(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoICMSTotal.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoICMSTotal.java
index 006b94229..024a7f433 100755
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoICMSTotal.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoICMSTotal.java
@@ -81,7 +81,7 @@ public void setValorTotalICMS(final BigDecimal valorTotalICMS) {
public void setValor(final BigDecimal valor) {
this.baseCalculoICMSST = BigDecimalParser.tamanho15Com2CasasDecimais(valor);
}
-
+
public void setBaseCalculoICMSST(final BigDecimal baseCalculoICMSST) {
this.baseCalculoICMSST = BigDecimalParser.tamanho15Com2CasasDecimais(baseCalculoICMSST);
}
@@ -157,7 +157,7 @@ public String getValorICMSDesonerado() {
public String getValor() {
return this.baseCalculoICMSST;
}
-
+
public String getBaseCalculoICMSST() {
return this.baseCalculoICMSST;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorExigibilidadeISS.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorExigibilidadeISS.java
index 116635d0c..349b3f6b9 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorExigibilidadeISS.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorExigibilidadeISS.java
@@ -12,7 +12,7 @@ public enum NFNotaInfoItemIndicadorExigibilidadeISS {
private String codigo;
- private NFNotaInfoItemIndicadorExigibilidadeISS(final String codigo) {
+ NFNotaInfoItemIndicadorExigibilidadeISS(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorIncentivoFiscal.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorIncentivoFiscal.java
index 3de1a9e48..54dad26f9 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorIncentivoFiscal.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemIndicadorIncentivoFiscal.java
@@ -6,7 +6,7 @@ public enum NFNotaInfoItemIndicadorIncentivoFiscal {
private String codigo;
- private NFNotaInfoItemIndicadorIncentivoFiscal(final String codigo) {
+ NFNotaInfoItemIndicadorIncentivoFiscal(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemProduto.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemProduto.java
index 8e85eb9f1..20748dd1f 100755
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemProduto.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoItemProduto.java
@@ -1,13 +1,5 @@
package com.fincatto.nfe310.classes.nota;
-import java.math.BigDecimal;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.simpleframework.xml.Element;
-import org.simpleframework.xml.ElementList;
-import org.simpleframework.xml.convert.Convert;
-
import com.fincatto.nfe310.classes.NFBase;
import com.fincatto.nfe310.classes.NFProdutoCompoeValorNota;
import com.fincatto.nfe310.converters.StringNullConverter;
@@ -15,13 +7,20 @@
import com.fincatto.nfe310.validadores.IntegerValidador;
import com.fincatto.nfe310.validadores.ListValidador;
import com.fincatto.nfe310.validadores.StringValidador;
+import org.apache.commons.lang3.StringUtils;
+import org.simpleframework.xml.Element;
+import org.simpleframework.xml.ElementList;
+import org.simpleframework.xml.convert.Convert;
+
+import java.math.BigDecimal;
+import java.util.List;
public class NFNotaInfoItemProduto extends NFBase {
@Element(name = "cProd", required = true)
private String codigo;
- @Element(name = "cEAN", required = false)
+ @Element(name = "cEAN", required = true)
@Convert(StringNullConverter.class)
private String codigoDeBarras;
@@ -55,7 +54,7 @@ public class NFNotaInfoItemProduto extends NFBase {
@Element(name = "vProd", required = true)
private String valorTotalBruto;
- @Element(name = "cEANTrib", required = false)
+ @Element(name = "cEANTrib", required = true)
@Convert(StringNullConverter.class)
private String codigoDeBarrasTributavel;
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoRegimeEspecialTributacao.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoRegimeEspecialTributacao.java
index a8d2f352b..f410e69ab 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoRegimeEspecialTributacao.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFNotaInfoRegimeEspecialTributacao.java
@@ -11,7 +11,7 @@ public enum NFNotaInfoRegimeEspecialTributacao {
private String codigo;
- private NFNotaInfoRegimeEspecialTributacao(final String codigo) {
+ NFNotaInfoRegimeEspecialTributacao(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFOperacaoConsumidorFinal.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFOperacaoConsumidorFinal.java
index 57547c43e..066b29f3a 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFOperacaoConsumidorFinal.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFOperacaoConsumidorFinal.java
@@ -6,7 +6,7 @@ public enum NFOperacaoConsumidorFinal {
private String codigo;
- private NFOperacaoConsumidorFinal(final String codigo) {
+ NFOperacaoConsumidorFinal(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/classes/nota/NFViaTransporteInternacional.java b/src/main/java/com/fincatto/nfe310/classes/nota/NFViaTransporteInternacional.java
index 13d3e2348..1b813ef86 100644
--- a/src/main/java/com/fincatto/nfe310/classes/nota/NFViaTransporteInternacional.java
+++ b/src/main/java/com/fincatto/nfe310/classes/nota/NFViaTransporteInternacional.java
@@ -17,7 +17,7 @@ public enum NFViaTransporteInternacional {
private String codigo;
- private NFViaTransporteInternacional(final String codigo) {
+ NFViaTransporteInternacional(final String codigo) {
this.codigo = codigo;
}
diff --git a/src/main/java/com/fincatto/nfe310/utils/NFGeraChave.java b/src/main/java/com/fincatto/nfe310/utils/NFGeraChave.java
index 827f11a29..5850cbbf6 100644
--- a/src/main/java/com/fincatto/nfe310/utils/NFGeraChave.java
+++ b/src/main/java/com/fincatto/nfe310/utils/NFGeraChave.java
@@ -1,8 +1,7 @@
package com.fincatto.nfe310.utils;
-import org.apache.commons.lang3.StringUtils;
-
import com.fincatto.nfe310.classes.nota.NFNota;
+import org.apache.commons.lang3.StringUtils;
public class NFGeraChave {
@@ -21,8 +20,8 @@ public Integer getDV() {
final int[] valoresInt = { 2, 3, 4, 5, 6, 7, 8, 9 };
int indice = 0;
int soma = 0;
- int valorTemp = 0;
- int multTemp = 0;
+ int valorTemp;
+ int multTemp;
for (int i = valores.length; i > 0; i--) {
if (indice >= valoresInt.length) {
indice = 0;
@@ -37,15 +36,13 @@ public Integer getDV() {
}
private String geraChaveAcessoSemDV() {
- final StringBuilder chaveAcesso = new StringBuilder();
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getUf().getCodigoIbge(), 2, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getDataHoraEmissao().toString("yyMM"), 4, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getEmitente().getCnpj() == null ? this.nota.getInfo().getEmitente().getCpf() : this.nota.getInfo().getEmitente().getCnpj(), 14, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getModelo().getCodigo(), 2, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getSerie(), 3, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getNumeroNota(), 9, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getTipoEmissao().getCodigo(), 1, "0"));
- chaveAcesso.append(StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getCodigoRandomico(), 8, "0"));
- return chaveAcesso.toString();
+ return StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getUf().getCodigoIbge(), 2, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getDataHoraEmissao().toString("yyMM"), 4, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getEmitente().getCnpj() == null ? this.nota.getInfo().getEmitente().getCpf() : this.nota.getInfo().getEmitente().getCnpj(), 14, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getModelo().getCodigo(), 2, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getSerie(), 3, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getNumeroNota(), 9, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getTipoEmissao().getCodigo(), 1, "0") +
+ StringUtils.leftPad(this.nota.getInfo().getIdentificacao().getCodigoRandomico(), 8, "0");
}
}
\ No newline at end of file
diff --git a/src/main/java/com/fincatto/nfe310/webservices/NFSocketFactory.java b/src/main/java/com/fincatto/nfe310/webservices/NFSocketFactory.java
index d0c5e675b..31ff4ce4f 100644
--- a/src/main/java/com/fincatto/nfe310/webservices/NFSocketFactory.java
+++ b/src/main/java/com/fincatto/nfe310/webservices/NFSocketFactory.java
@@ -9,9 +9,7 @@
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509KeyManager;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
@@ -30,18 +28,10 @@ class NFSocketFactory implements ProtocolSocketFactory {
private final SSLContext sslContext;
- NFSocketFactory(final NFeConfig config) throws KeyManagementException, UnrecoverableKeyException, KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
+ NFSocketFactory(final NFeConfig config) throws CertificateException, UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException, KeyManagementException, IOException {
this.sslContext = this.createSSLContext(config);
}
- private SSLContext createSSLContext(final NFeConfig config) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException, KeyManagementException, UnrecoverableKeyException {
- final KeyManager[] keyManagers = this.createKeyManagers(config);
- final TrustManager[] trustManagers = this.createTrustManagers(config);
- final SSLContext sslContext = SSLContext.getInstance(config.getSSLProtocolo());
- sslContext.init(keyManagers, trustManagers, null);
- return sslContext;
- }
-
@Override
public Socket createSocket(final String host, final int port, final InetAddress localAddress, final int localPort, final HttpConnectionParams params) throws IOException {
final Socket socket = this.sslContext.getSocketFactory().createSocket();
@@ -60,27 +50,25 @@ public Socket createSocket(final String host, final int port) throws IOException
return this.sslContext.getSocketFactory().createSocket(host, port);
}
+ private SSLContext createSSLContext(final NFeConfig config) throws UnrecoverableKeyException, CertificateException, NoSuchAlgorithmException, KeyStoreException, IOException, KeyManagementException {
+ final KeyManager[] keyManagers = this.createKeyManagers(config);
+ final TrustManager[] trustManagers = this.createTrustManagers(config);
+ final SSLContext sslContext = SSLContext.getInstance(config.getSSLProtocolo());
+ sslContext.init(keyManagers, trustManagers, null);
+ return sslContext;
+ }
+
private KeyManager[] createKeyManagers(final NFeConfig config) throws UnrecoverableKeyException, KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
- try (InputStream certificado = new ByteArrayInputStream(config.getCertificado())) {
- final KeyStore ks = KeyStore.getInstance("PKCS12");
- ks.load(certificado, config.getCertificadoSenha().toCharArray());
-
- final String alias = NFSocketFactory.getAlias(ks);
- final X509Certificate certificate = (X509Certificate) ks.getCertificate(alias);
- final PrivateKey privateKey = (PrivateKey) ks.getKey(alias, config.getCertificadoSenha().toCharArray());
- return new KeyManager[]{new HSKeyManager(certificate, privateKey)};
- }
+ final String alias = getAlias(config.getCertificadoKeyStore());
+ final X509Certificate certificate = (X509Certificate) config.getCertificadoKeyStore().getCertificate(alias);
+ final PrivateKey privateKey = (PrivateKey) config.getCertificadoKeyStore().getKey(alias, config.getCertificadoSenha().toCharArray());
+ return new KeyManager[]{new NFKeyManager(certificate, privateKey)};
}
private TrustManager[] createTrustManagers(final NFeConfig config) throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
- try (ByteArrayInputStream cadeia = new ByteArrayInputStream(config.getCadeiaCertificados())) {
- final KeyStore trustStore = KeyStore.getInstance("JKS");
- trustStore.load(cadeia, config.getCadeiaCertificadosSenha().toCharArray());
-
- final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
- trustManagerFactory.init(trustStore);
- return trustManagerFactory.getTrustManagers();
- }
+ final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init(config.getCadeiaCertificadosKeyStore());
+ return trustManagerFactory.getTrustManagers();
}
private static String getAlias(final KeyStore ks) throws KeyStoreException {
@@ -91,16 +79,16 @@ private static String getAlias(final KeyStore ks) throws KeyStoreException {
return alias;
}
}
- return "";
+ throw new KeyStoreException("Nenhum alias encontrado no certificado");
}
}
-class HSKeyManager implements X509KeyManager {
+class NFKeyManager implements X509KeyManager {
private final X509Certificate certificate;
private final PrivateKey privateKey;
- HSKeyManager(final X509Certificate certificate, final PrivateKey privateKey) {
+ NFKeyManager(final X509Certificate certificate, final PrivateKey privateKey) {
this.certificate = certificate;
this.privateKey = privateKey;
}
diff --git a/src/main/java/com/fincatto/nfe310/webservices/WSFacade.java b/src/main/java/com/fincatto/nfe310/webservices/WSFacade.java
index f55b67040..a193ea894 100755
--- a/src/main/java/com/fincatto/nfe310/webservices/WSFacade.java
+++ b/src/main/java/com/fincatto/nfe310/webservices/WSFacade.java
@@ -33,7 +33,6 @@ public class WSFacade {
private final WSInutilizacao wsInutilizacao;
public WSFacade(final NFeConfig config) throws IOException, KeyManagementException, UnrecoverableKeyException, KeyStoreException, NoSuchAlgorithmException, CertificateException {
- // registra o protocolo e o socket factory correspondente
Protocol.registerProtocol("https", new Protocol("https", new NFSocketFactory(config), 443));
// inicia os servicos disponiveis da nfe
diff --git a/src/main/java/com/fincatto/nfe310/webservices/gerado/CadConsultaCadastro2Stub.java b/src/main/java/com/fincatto/nfe310/webservices/gerado/CadConsultaCadastro2Stub.java
index 3c00168a9..4394a68b5 100644
--- a/src/main/java/com/fincatto/nfe310/webservices/gerado/CadConsultaCadastro2Stub.java
+++ b/src/main/java/com/fincatto/nfe310/webservices/gerado/CadConsultaCadastro2Stub.java
@@ -1,11 +1,13 @@
package com.fincatto.nfe310.webservices.gerado;
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-
import org.apache.axiom.om.OMAttribute;
import org.apache.axis2.client.Stub;
+import org.apache.axis2.databinding.utils.Constants;
+
+import javax.xml.namespace.QName;
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
/*
* CadConsultaCadastro2Stub java implementation
@@ -159,26 +161,11 @@ public CadConsultaCadastro2Stub.ConsultaCadastro2Result consultaCadastro2(
final java.lang.String messageClassName = (java.lang.String) this.faultMessageMap.get(new org.apache.axis2.client.FaultMapKey(faultElt.getQName(), "consultaCadastro2"));
final Class> messageClass = java.lang.Class.forName(messageClassName);
final java.lang.Object messageObject = this.fromOM(faultElt, messageClass, null);
- final java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage", new java.lang.Class[] { messageClass });
- m.invoke(ex, new java.lang.Object[] { messageObject });
+ final java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage", messageClass);
+ m.invoke(ex, messageObject);
throw new java.rmi.RemoteException(ex.getMessage(), ex);
- } catch (final java.lang.ClassCastException e) {
- // we cannot intantiate the class - throw the original Axis fault
- throw f;
- } catch (final java.lang.ClassNotFoundException e) {
- // we cannot intantiate the class - throw the original Axis fault
- throw f;
- } catch (final java.lang.NoSuchMethodException e) {
- // we cannot intantiate the class - throw the original Axis fault
- throw f;
- } catch (final java.lang.reflect.InvocationTargetException e) {
- // we cannot intantiate the class - throw the original Axis fault
- throw f;
- } catch (final java.lang.IllegalAccessException e) {
- // we cannot intantiate the class - throw the original Axis fault
- throw f;
- } catch (final java.lang.InstantiationException e) {
+ } catch (final ClassCastException | InstantiationException | IllegalAccessException | java.lang.reflect.InvocationTargetException | NoSuchMethodException | ClassNotFoundException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}
@@ -196,7 +183,7 @@ public CadConsultaCadastro2Stub.ConsultaCadastro2Result consultaCadastro2(
}
private java.util.Map getEnvelopeNamespaces(final org.apache.axiom.soap.SOAPEnvelope env) {
- final java.util.Map returnMap = new java.util.HashMap();
+ final java.util.Map returnMap = new java.util.HashMap<>();
@SuppressWarnings("rawtypes")
final java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
while (namespaceIterator.hasNext()) {
@@ -213,8 +200,8 @@ private boolean optimizeContent(final javax.xml.namespace.QName opName) {
if (this.opNameArray == null) {
return false;
}
- for (int i = 0; i < this.opNameArray.length; i++) {
- if (opName.equals(this.opNameArray[i])) {
+ for (QName anOpNameArray : this.opNameArray) {
+ if (opName.equals(anOpNameArray)) {
return true;
}
}
@@ -318,12 +305,12 @@ public org.apache.axiom.om.OMElement getOMElement(final javax.xml.namespace.QNam
}
@Override
- public void serialize(final javax.xml.namespace.QName parentQName, final javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException {
+ public void serialize(final javax.xml.namespace.QName parentQName, final javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
this.serialize(parentQName, xmlWriter, false);
}
@Override
- public void serialize(final javax.xml.namespace.QName parentQName, final javax.xml.stream.XMLStreamWriter xmlWriter, final boolean serializeType) throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException {
+ public void serialize(final javax.xml.namespace.QName parentQName, final javax.xml.stream.XMLStreamWriter xmlWriter, final boolean serializeType) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = null;
java.lang.String namespace = null;
@@ -344,8 +331,8 @@ public void serialize(final javax.xml.namespace.QName parentQName, final javax.x
}
if (this.localExtraAttributes != null) {
- for (int i = 0; i < this.localExtraAttributes.length; i++) {
- this.writeAttribute(this.localExtraAttributes[i].getNamespace().getNamespaceURI(), this.localExtraAttributes[i].getLocalName(), this.localExtraAttributes[i].getAttributeValue(), xmlWriter);
+ for (OMAttribute localExtraAttribute : this.localExtraAttributes) {
+ this.writeAttribute(localExtraAttribute.getNamespace().getNamespaceURI(), localExtraAttribute.getLocalName(), localExtraAttribute.getAttributeValue(), xmlWriter);
}
}
if (this.localVersaoDadosTracker) {
@@ -448,8 +435,8 @@ private java.lang.String registerPrefix(final javax.xml.stream.XMLStreamWriter x
@Override
public javax.xml.stream.XMLStreamReader getPullParser(final javax.xml.namespace.QName qName) throws org.apache.axis2.databinding.ADBException {
- final java.util.ArrayList elementList = new java.util.ArrayList();
- final java.util.ArrayList