ValidazioneConSchema.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */



  20. package org.openspcoop2.protocol.engine.validator;


  21. import org.openspcoop2.message.OpenSPCoop2Message;
  22. import org.openspcoop2.protocol.engine.Configurazione;
  23. import org.openspcoop2.protocol.sdk.Eccezione;
  24. import org.openspcoop2.protocol.sdk.IProtocolFactory;
  25. import org.openspcoop2.protocol.sdk.state.IState;
  26. import org.slf4j.Logger;

  27. /**
  28.  * Classe utilizzata per effettuare una validazione con schema xsd.
  29.  *
  30.  *
  31.  * @author Poli Andrea (apoli@link.it)
  32.  * @author $Author$
  33.  * @version $Rev$, $Date$
  34.  */

  35. public class ValidazioneConSchema  {

  36.     /** Logger utilizzato per debug. */
  37.     //private Logger log = null;


  38.     /** Errori di validazione riscontrati sulla busta */
  39.     private java.util.List<Eccezione> erroriValidazione;
  40.     /** Errori di processamento riscontrati sulla busta */
  41.     private java.util.List<Eccezione> erroriProcessamento;

  42.     /** Messaggio intero */
  43.     private OpenSPCoop2Message message;
  44.    
  45.     /** IsErrore */
  46.     private boolean isErroreProcessamento = false;
  47.     private boolean isErroreIntestazione = false;
  48.    
  49.     private boolean validazioneManifestAttachments = false;
  50.    
  51.     private IProtocolFactory<?> protocolFactory;
  52.    
  53.     private IState state;
  54.    
  55.     public ValidazioneConSchema(OpenSPCoop2Message message, boolean isErroreProcessamento, boolean isErroreIntestazione, boolean validazioneManifestAttachments,
  56.             IProtocolFactory<?> protocolFactory,IState state){
  57.         this(message,isErroreProcessamento,isErroreIntestazione,validazioneManifestAttachments,Configurazione.getLibraryLog(), protocolFactory, state);
  58.     }
  59.     public ValidazioneConSchema(OpenSPCoop2Message message, boolean isErroreProcessamento, boolean isErroreIntestazione, boolean validazioneManifestAttachments,
  60.             Logger aLog, IProtocolFactory<?> protocolFactory,IState state){
  61.         this.message = message;
  62.         this.isErroreProcessamento = isErroreProcessamento;
  63.         this.isErroreIntestazione = isErroreIntestazione;
  64.         this.validazioneManifestAttachments = validazioneManifestAttachments;
  65.         this.protocolFactory = protocolFactory;
  66.         this.state = state;
  67.     }

  68.     public IProtocolFactory<?> getProtocolFactory(){
  69.         return this.protocolFactory;
  70.     }

  71.     /**
  72.      * Ritorna una lista contenente eventuali eccezioni di validazione riscontrate nella busta.  
  73.      *
  74.      * @return Eccezioni riscontrate nella busta.
  75.      *
  76.      */
  77.     public java.util.List<Eccezione> getEccezioniValidazione(){
  78.         return this.erroriValidazione;
  79.     }
  80.     /**
  81.      * Ritorna una lista contenente eventuali eccezioni di processamento riscontrate nella busta.  
  82.      *
  83.      * @return Eccezioni riscontrate nella busta.
  84.      *
  85.      */
  86.     public java.util.List<Eccezione> getEccezioniProcessamento(){
  87.         return this.erroriProcessamento;
  88.     }

  89.     /**
  90.      * Metodo che effettua la validazione dei soggetti di una busta, controllando la loro registrazione nel registro dei servizi.
  91.      *
  92.      * Mano mano che sono incontrati errori di validazione, viene creato un oggetto
  93.      *   {@link Eccezione}, e viene inserito nella lista <var>errors</var>.
  94.      *
  95.      *
  96.      */
  97.     public void valida(boolean isMessaggioConAttachments) throws Exception {
  98.         org.openspcoop2.protocol.sdk.validator.IValidazioneConSchema validazione = this.protocolFactory.createValidazioneConSchema(this.state);
  99.         validazione.valida(this.message, this.isErroreProcessamento, this.isErroreIntestazione, isMessaggioConAttachments,this.validazioneManifestAttachments);
  100.         this.erroriProcessamento = validazione.getEccezioniProcessamento();
  101.         this.erroriValidazione = validazione.getEccezioniValidazione();
  102.     }

  103. }