ProprietaErroreApplicativo.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.protocol.sdk.builder;
- import org.openspcoop2.protocol.sdk.IProtocolFactory;
- import org.openspcoop2.protocol.sdk.ProtocolException;
- import org.openspcoop2.protocol.sdk.constants.CodiceErroreIntegrazione;
- import org.openspcoop2.protocol.sdk.constants.CostantiProtocollo;
- import org.openspcoop2.protocol.sdk.constants.ErroreIntegrazione;
- /**
- * Classe utilizzata per raccogliere le informazioni sul tipo di errore applicativo desiderato.
- *
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class ProprietaErroreApplicativo implements java.io.Serializable {
- /**
- * serialVersionUID
- */
- private static final long serialVersionUID = 1L;
- /* ******** F I E L D S P R I V A T I ******** */
- /** Indicazione se il msg di Errore Applicativo deve essere costruito come un SOAPFault(false)
- * o come un msg di errore applicativo (true). */
- private boolean faultAsXML;
- /** Eventuale defaultFaultCodeIntegrationNamespace */
- private String defaultFaultCodeIntegrationNamespace;
- /** Eventuale defaultFaultCodeProtocolNamespace */
- private String defaultFaultCodeProtocolNamespace;
- /** Eventuale FaultActor. */
- private String faultActor;
- /** Dominio del soggetto che ha effettuato la richiesta */
- private String dominio;
- /** Identificativo del Modulo che genera il msg di errore Applicativo */
- private String idModulo;
- /** tipo di fault ritornato dall'applicazione: generic code o specifico codice di errore */
- private boolean faultAsGenericCode;
- /** tipo di fault ritornato dall'applicazione: prefix code */
- private String faultPrefixCode;
- /** Insert dell'errore applicativo come details */
- private boolean insertAsDetails;
- /** Descrizione se il details di OpenSPCoop deve possedere informazioni generiche o specifiche */
- private Boolean informazioniGenericheDetailsOpenSPCoop;
- /** Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultApplicativo originale */
- private boolean aggiungiDetailErroreApplicativo_SoapFaultApplicativo;
- /** Indicazione se aggiungere un detail contenente descrizione dell'errore nel SoapFaultPdD originale */
- private boolean aggiungiDetailErroreApplicativo_SoapFaultPdD;
- /* ******** C O S T R U T T O R E ******** */
- /**
- * Costruttore.
- *
- *
- */
- public ProprietaErroreApplicativo(){
- // Costruttore di default.
- }
- /**
- * Restituisce il fault code che segue determinate caratteristiche di prefix e code.
- * !!Nota: da eseguire prima di un transformFaultCode!!
- *
- * @param errore Errore Integrazione
- * @param protocolFactory Protocol Factory
- * @return Restituisce il msg che segue determinate caratteristiche di generalita'.
- * @throws ProtocolException
- *
- */
- public String transformFaultMsg(ErroreIntegrazione errore,IProtocolFactory<?> protocolFactory) throws ProtocolException{
- CodiceErroreIntegrazione code = errore.getCodiceErrore();
- if(this.faultAsGenericCode){
- if( code.getCodice() >= 450 &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_516_CONNETTORE_UTILIZZO_CON_ERRORE.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_517_RISPOSTA_RICHIESTA_NON_RITORNATA.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_518_RISPOSTA_RICHIESTA_RITORNATA_COME_FAULT.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_559_RICEVUTA_RISPOSTA_CON_ERRORE_TRASPORTO.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_543_HANDLER_OUT_REQUEST.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_544_HANDLER_IN_RESPONSE.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_558_HANDLER_IN_PROTOCOL_REQUEST.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_550_PD_SERVICE_NOT_ACTIVE.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_551_PA_SERVICE_NOT_ACTIVE.getCodice() &&
- code.getCodice() != CodiceErroreIntegrazione.CODICE_552_IM_SERVICE_NOT_ACTIVE.getCodice()
- ) {
- return CostantiProtocollo.SISTEMA_NON_DISPONIBILE;
- }
- }
- return new String(errore.getDescrizione(protocolFactory));
- }
- /* ******** S E T T E R ******** */
- /**
- * Indicazione se il msg di Errore Applicativo deve essere costruito come un SOAPFault(false)
- * o come un msg di errore applicativo (true).
- *
- * @param faultAsXML Indicazione se il msg di Errore Applicativo deve essere costruito come un SOAPFault(false)
- * o come un msg di errore applicativo (true).
- *
- */
- public void setFaultAsXML(boolean faultAsXML) {
- this.faultAsXML = faultAsXML;
- }
- public void setDefaultFaultCodeIntegrationNamespace(String defaultFaultCodeIntegrationNamespace) {
- this.defaultFaultCodeIntegrationNamespace = defaultFaultCodeIntegrationNamespace;
- }
- public void setDefaultFaultCodeProtocolNamespace(String defaultFaultCodeProtocolNamespace) {
- this.defaultFaultCodeProtocolNamespace = defaultFaultCodeProtocolNamespace;
- }
- /**
- * Eventuale FaultActor
- *
- * @param faultActor Eventuale FaultActor
- *
- */
- public void setFaultActor(String faultActor) {
- this.faultActor = faultActor;
- }
- /**
- * Dominio del soggetto che ha effettuato la richiesta
- *
- * @param dominio Dominio del soggetto che ha effettuato la richiesta
- *
- */
- public void setDominio(String dominio) {
- this.dominio = dominio;
- }
- /**
- * Identificativo del Modulo che genera il msg di errore Applicativo
- *
- * @param idModulo Identificativo del Modulo che genera il msg di errore Applicativo
- *
- */
- public void setIdModulo(String idModulo) {
- this.idModulo = idModulo;
- }
- /**
- * Tipo di fault ritornato dall'applicazione: codice di errore generico (true) o specifico (false)
- * @param faultAsGenericCode tipo di codice ritornato
- */
- public void setFaultAsGenericCode(boolean faultAsGenericCode) {
- this.faultAsGenericCode = faultAsGenericCode;
- }
- /**
- * Tipo di fault ritornato dall'applicazione: prefisso del FaultCode
- * @param faultPrefixCode prefisso del FaultCode
- */
- public void setFaultPrefixCode(String faultPrefixCode) {
- this.faultPrefixCode = faultPrefixCode;
- }
- public void setInformazioniGenericheDetailsOpenSPCoop(
- Boolean informazioniGenericheDetailsOpenSPCoop) {
- this.informazioniGenericheDetailsOpenSPCoop = informazioniGenericheDetailsOpenSPCoop;
- }
- public void setAggiungiDetailErroreApplicativo_SoapFaultApplicativo(
- boolean aggiungiDetailErroreApplicativo_SoapFaultApplicativo) {
- this.aggiungiDetailErroreApplicativo_SoapFaultApplicativo = aggiungiDetailErroreApplicativo_SoapFaultApplicativo;
- }
- public void setAggiungiDetailErroreApplicativo_SoapFaultPdD(boolean aggiungiDetailErroreApplicativo_SoapFaultPdD) {
- this.aggiungiDetailErroreApplicativo_SoapFaultPdD = aggiungiDetailErroreApplicativo_SoapFaultPdD;
- }
- /* ******** G E T T E R ******** */
- /**
- * Indicazione se il msg di Errore Applicativo deve essere costruito come un SOAPFault(false)
- * o come un msg di errore applicativo (true).
- *
- * @return Indicazione se il msg di Errore Applicativo deve essere costruito come un SOAPFault(false)
- * o come un msg di errore applicativo (true).
- *
- */
- public boolean isFaultAsXML() {
- return this.faultAsXML;
- }
- public String getDefaultFaultCodeIntegrationNamespace() {
- return this.defaultFaultCodeIntegrationNamespace;
- }
- public String getDefaultFaultCodeProtocolNamespace() {
- return this.defaultFaultCodeProtocolNamespace;
- }
- /**
- * Eventuale FaultActor
- *
- * @return Eventuale FaultActor
- *
- */
- public String getFaultActor() {
- return this.faultActor;
- }
- /**
- * Dominio del soggetto che ha effettuato la richiesta
- *
- * @return dominio Dominio del soggetto che ha effettuato la richiesta
- *
- */
- public String getDominio() {
- return this.dominio;
- }
- /**
- * Identificativo del Modulo che genera il msg di errore Applicativo
- *
- * @return Identificativo del Modulo che genera il msg di errore Applicativo
- *
- */
- public String getIdModulo() {
- return this.idModulo;
- }
- /**
- * Tipo di fault ritornato dall'applicazione: prefisso del FaultCode
- * @return prefisso del FaultCode
- */
- public String getFaultPrefixCode() {
- return this.faultPrefixCode;
- }
- /**
- * Tipo di fault ritornato dall'applicazione: codice di errore generico (true) o specifico (false)
- * @return tipo di codice ritornato
- */
- public boolean isFaultAsGenericCode() {
- return this.faultAsGenericCode;
- }
- public boolean isInsertAsDetails() {
- return this.insertAsDetails;
- }
- public void setInsertAsDetails(boolean insertAsDetails) {
- this.insertAsDetails = insertAsDetails;
- }
- public boolean isInformazioniGenericheDetailsOpenSPCoop() {
- if(this.informazioniGenericheDetailsOpenSPCoop!=null)
- return this.informazioniGenericheDetailsOpenSPCoop;
- else
- return this.faultAsGenericCode;
- }
- public boolean isAggiungiDetailErroreApplicativo_SoapFaultApplicativo() {
- return this.aggiungiDetailErroreApplicativo_SoapFaultApplicativo;
- }
- public boolean isAggiungiDetailErroreApplicativo_SoapFaultPdD() {
- return this.aggiungiDetailErroreApplicativo_SoapFaultPdD;
- }
- }