Skip to content

Commit

Permalink
Issue #720
Browse files Browse the repository at this point in the history
Corretta validazione del template di validazione portali.
  • Loading branch information
pintorig committed Jul 17, 2024
1 parent 2e86ab0 commit 8cd3d08
Showing 1 changed file with 28 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;

import org.openspcoop2.generic_project.exception.NotFoundException;
Expand Down Expand Up @@ -73,7 +74,19 @@ public PutTipoPendenzaDTOResponse createOrUpdateTipoPendenza(PutTipoPendenzaDTO
filter.setCodTipoVersamento(putTipoPendenzaDTO.getCodTipoVersamento());
filter.setSearchModeEquals(true);

if(putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortaleBackofficeValidazioneDefinizioneDefault() != null) {
String backofficeValidazioneDefinizione = putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortaleBackofficeValidazioneDefinizioneDefault();
if(backofficeValidazioneDefinizione != null) {

if(backofficeValidazioneDefinizione.startsWith("\""))
backofficeValidazioneDefinizione = backofficeValidazioneDefinizione.substring(1);

if(backofficeValidazioneDefinizione.endsWith("\""))
backofficeValidazioneDefinizione = backofficeValidazioneDefinizione.substring(0, backofficeValidazioneDefinizione.length() - 1);

byte[] template = Base64.getDecoder().decode(backofficeValidazioneDefinizione.getBytes());

log.trace("Ricevuto schema validazione portale backoffice: {}", new String(template));

// validazione schema di validazione
IJsonSchemaValidator validator = null;

Expand All @@ -85,16 +98,27 @@ public PutTipoPendenzaDTOResponse createOrUpdateTipoPendenza(PutTipoPendenzaDTO
JsonSchemaValidatorConfig config = new JsonSchemaValidatorConfig();

try {
validator.setSchema(putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortaleBackofficeValidazioneDefinizioneDefault().getBytes(), config, this.log);
validator.setSchema(template, config, this.log);
} catch (org.openspcoop2.utils.json.ValidationException e) {
this.log.error("Validazione tramite JSON Schema completata con errore: " + e.getMessage(), e);
throw new ValidationException("Lo schema indicato per la validazione della pendenza portali backoffice non e' valido.", e);
}
}

if(putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortalePagamentoValidazioneDefinizioneDefault() != null) {
String pagamentoValidazioneDefinizione = putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortalePagamentoValidazioneDefinizioneDefault();
if(pagamentoValidazioneDefinizione != null) {
// validazione schema di validazione
IJsonSchemaValidator validator = null;

if(pagamentoValidazioneDefinizione.startsWith("\""))
pagamentoValidazioneDefinizione = pagamentoValidazioneDefinizione.substring(1);

if(pagamentoValidazioneDefinizione.endsWith("\""))
pagamentoValidazioneDefinizione = pagamentoValidazioneDefinizione.substring(0, pagamentoValidazioneDefinizione.length() - 1);

byte[] template = Base64.getDecoder().decode(pagamentoValidazioneDefinizione.getBytes());

log.trace("Ricevuto schema validazione portale pagamento: {}", new String(template));

try{
validator = ValidatorFactory.newJsonSchemaValidator(ApiName.NETWORK_NT);
Expand All @@ -104,7 +128,7 @@ public PutTipoPendenzaDTOResponse createOrUpdateTipoPendenza(PutTipoPendenzaDTO
JsonSchemaValidatorConfig config = new JsonSchemaValidatorConfig();

try {
validator.setSchema(putTipoPendenzaDTO.getTipoVersamento().getCaricamentoPendenzePortalePagamentoValidazioneDefinizioneDefault().getBytes(), config, this.log);
validator.setSchema(template, config, this.log);
} catch (org.openspcoop2.utils.json.ValidationException e) {
this.log.error("Validazione tramite JSON Schema completata con errore: " + e.getMessage(), e);
throw new ValidationException("Lo schema indicato per la validazione della pendenza portali pagamento non e' valido.", e);
Expand Down

0 comments on commit 8cd3d08

Please sign in to comment.