Skip to content

Commit 0628a17

Browse files
Merge pull request Samuel-Oliveira#264 from evertonramos/master
Pequenas modificações no Validar
2 parents 9789318 + 9a895ff commit 0628a17

File tree

3 files changed

+56
-17
lines changed

3 files changed

+56
-17
lines changed

src/main/java/br/com/swconsultoria/nfe/Validar.java

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,44 @@
1515
import java.io.File;
1616
import java.io.StringReader;
1717

18-
class Validar implements ErrorHandler {
18+
public class Validar implements ErrorHandler {
1919

2020
private String listaComErrosDeValidacao = "";
2121

22-
void validaXml(ConfiguracoesNfe config, String xml, ServicosEnum servico) throws NfeException {
22+
public boolean isValidXml(String pastaSchemas, String xml, ServicosEnum servico) {
23+
return isValidXml(pastaSchemas + System.getProperty("file.separator") + servico.getXsd(), xml);
24+
}
25+
26+
public boolean isValidXml(ConfiguracoesNfe config, String xml, ServicosEnum servico) {
27+
return isValidXml(config.getPastaSchemas(), xml, servico);
28+
}
2329

30+
public boolean isValidXml(String xsd, String xml) {
31+
try {
32+
validaXml(xsd, xml);
33+
34+
return true;
35+
} catch (NfeException ex) {
36+
return false;
37+
}
38+
}
39+
40+
void validaXml(String xsd, String xml) throws NfeException {
2441
System.setProperty("jdk.xml.maxOccurLimit", "99999");
2542
String errosValidacao;
26-
String xsd = config.getPastaSchemas() + System.getProperty("file.separator") + servico.getXsd();
43+
2744
if (!new File(xsd).exists()) {
2845
throw new NfeException("Schema Nfe não Localizado: " + xsd);
2946
}
3047

3148
errosValidacao = validateXml(xml, xsd);
32-
if(ObjetoUtil.verifica(errosValidacao).isPresent())
33-
throw new NfeValidacaoException("Erro na validação: " + errosValidacao);
49+
if (ObjetoUtil.verifica(errosValidacao).isPresent()) {
50+
throw new NfeValidacaoException("Erro na validação: " + errosValidacao);
51+
}
52+
}
3453

54+
void validaXml(ConfiguracoesNfe config, String xml, ServicosEnum servico) throws NfeException {
55+
validaXml(config.getPastaSchemas() + System.getProperty("file.separator") + servico.getXsd(), xml);
3556
}
3657

3758
private String validateXml(String xml, String xsd) throws NfeException {
@@ -59,18 +80,21 @@ private String validateXml(String xml, String xsd) throws NfeException {
5980
return this.getListaComErrosDeValidacao();
6081
}
6182

83+
@Override
6284
public void error(SAXParseException exception) {
6385

6486
if (isError(exception)) {
6587
listaComErrosDeValidacao += tratamentoRetorno(exception.getMessage());
6688
}
6789
}
6890

91+
@Override
6992
public void fatalError(SAXParseException exception) {
7093

7194
listaComErrosDeValidacao += tratamentoRetorno(exception.getMessage());
7295
}
7396

97+
@Override
7498
public void warning(SAXParseException exception) {
7599

76100
listaComErrosDeValidacao += tratamentoRetorno(exception.getMessage());

src/main/java/br/com/swconsultoria/nfe/dom/enuns/ServicosEnum.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ public enum ServicosEnum {
2020
CONSULTA_XML("nfeconsultaprotocolo_4.00", "consSitNFe_v4.00.xsd"),
2121
DISTRIBUICAO_DFE("nfedistribuicaodfe_1.01", "distDFeInt_v1.01.xsd"),
2222
URL_QRCODE("url-qrcode",null),
23-
URL_CONSULTANFCE("url-consultanfce",null);
23+
URL_CONSULTANFCE("url-consultanfce",null),
24+
PROC("procNFe_v4.00","procNFe_v4.00.xsd");
2425

2526
private final String servico;
2627
private final String xsd;

0 commit comments

Comments
 (0)