Eccezione.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;
- import org.apache.commons.lang.NotImplementedException;
- import org.openspcoop2.core.tracciamento.CodiceEccezione;
- import org.openspcoop2.core.tracciamento.constants.TipoCodificaEccezione;
- import org.openspcoop2.core.tracciamento.constants.TipoRilevanzaEccezione;
- import org.openspcoop2.message.soap.SOAPFaultCode;
- import org.openspcoop2.protocol.sdk.constants.CodiceErroreCooperazione;
- import org.openspcoop2.protocol.sdk.constants.ContestoCodificaEccezione;
- import org.openspcoop2.protocol.sdk.constants.ErroreCooperazione;
- import org.openspcoop2.protocol.sdk.constants.LivelloRilevanza;
- import org.openspcoop2.protocol.sdk.constants.SubCodiceErrore;
- /**
- * Classe utilizzata per rappresentare una Eccezione.
- *
- *
- * @author Poli Andrea (apoli@link.it)
- * @author Nardi Lorenzo
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class Eccezione implements java.io.Serializable{
- /**
- * serialVersionUID
- */
- private static final long serialVersionUID = 1L;
- private org.openspcoop2.core.tracciamento.Eccezione eccezione;
-
- private ErroreCooperazione errore;
-
- private SOAPFaultCode soapFaultCode;
-
-
-
- /* Metodi da utilizzare solo nelle implementazioni dei protocolli */
- public Eccezione() {
- this.eccezione = new org.openspcoop2.core.tracciamento.Eccezione();
- }
-
- public Eccezione(String codiceEcc, String descrizione, boolean isErroreValidazione, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- this(new ErroreCooperazione(descrizione,CodiceErroreCooperazione.UNKNOWN), isErroreValidazione, null, protocolFactory); // codice lo imposto subito dopo
- this.setCodiceEccezioneValue(codiceEcc);
- this.setCodiceEccezione(protocolFactory.createTraduttore().toCodiceErroreCooperazione(codiceEcc));
- this.setDescrizione(descrizione); // in modo che non venga tradotto alla chiamata della get
- }
- public Eccezione(CodiceErroreCooperazione codiceEcc, String descrizione, boolean isErroreValidazione, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- this(new ErroreCooperazione(descrizione,codiceEcc), isErroreValidazione, null, protocolFactory);
- this.setDescrizione(descrizione); // in modo che non venga tradotto alla chiamata della get
- }
-
- /* Metodi da utilizzare per fare attuare la traduzione della descrizione */
- public Eccezione(ErroreCooperazione errore,boolean isErroreValidazione, String modulo,IProtocolFactory<?> protocolFactory) throws ProtocolException{
- if(protocolFactory==null) {
- throw new ProtocolException("ProtocolFactory is null");
- }
- this.eccezione = new org.openspcoop2.core.tracciamento.Eccezione();
- if(isErroreValidazione){
- this.setContestoCodifica(ContestoCodificaEccezione.INTESTAZIONE);
- this.setContestoCodificaValue(protocolFactory.createTraduttore().toString(this.getContestoCodifica()));
- }else{
- this.setContestoCodifica(ContestoCodificaEccezione.PROCESSAMENTO);
- this.setContestoCodificaValue(protocolFactory.createTraduttore().toString(this.getContestoCodifica()));
- }
- this.errore = errore;
- this.setCodiceEccezione(this.errore.getCodiceErrore()); // viene tradotto dopo nel metodo get
- //this.setDescrizione(this.errore.getDescrizioneRawValue()); // viene tradotto dopo nel metodo get
- this.setRilevanza(LivelloRilevanza.ERROR);
- }
-
- /* Wrapper */
- public Eccezione(org.openspcoop2.core.tracciamento.Eccezione eccezione){
- this.eccezione = eccezione;
- this.errore = new ErroreCooperazione(this.eccezione.getDescrizione(),this.getCodiceEccezione());
- }
- // base
-
- public org.openspcoop2.core.tracciamento.Eccezione getEccezione() {
- return this.eccezione;
- }
- public void setEccezione(org.openspcoop2.core.tracciamento.Eccezione eccezione) {
- this.eccezione = eccezione;
- this.errore = new ErroreCooperazione(this.eccezione.getDescrizione(),this.getCodiceEccezione());
- }
-
-
-
- // id [Wrapper]
-
- public Long getId() {
- return this.eccezione.getId();
- }
- public void setId(Long id) {
- this.eccezione.setId(id);
- }
-
-
-
- /* Metodi da utilizzare solo nelle implementazioni dei protocolli */
- public static Eccezione newEccezione(){
- Eccezione ecc = new Eccezione();
- return ecc;
- }
- public static Eccezione getEccezioneValidazione(CodiceErroreCooperazione codiceEcc, String descrizione, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- return new Eccezione(codiceEcc,descrizione, true, protocolFactory);
- }
- public static Eccezione getEccezioneProcessamento(CodiceErroreCooperazione codiceEcc, String descrizione, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- return new Eccezione(codiceEcc,descrizione, false, protocolFactory);
- }
-
- /* Metodi da utilizzare per fare attuare la traduzione della descrizione */
- public static Eccezione getEccezioneValidazione(ErroreCooperazione errore, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- return new Eccezione(errore, true, null, protocolFactory);
- }
- public static Eccezione getEccezioneProcessamento(ErroreCooperazione errore, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- return new Eccezione(errore, false, null, protocolFactory);
- }
-
-
-
-
-
- /* --- CODICE ECCEZIONE [Wrapper] --- */
-
- public CodiceErroreCooperazione getCodiceEccezione() {
- if(this.eccezione.getCodice()!=null && this.eccezione.getCodice().getTipo()!=null){
- return CodiceErroreCooperazione.toCodiceErroreCooperazione(this.eccezione.getCodice().getTipo());
- }
- return null;
- }
- public void setCodiceEccezione(CodiceErroreCooperazione value) {
- if(value!=null){
- if(this.eccezione.getCodice()==null){
- this.eccezione.setCodice(new CodiceEccezione());
- }
- this.eccezione.getCodice().setTipo(value.getCodice());
- }
- else{
- if(this.eccezione.getCodice()!=null){
- if(this.eccezione.getCodice().getBase()==null && this.eccezione.getCodice().getSottotipo()==null){
- this.eccezione.setCodice(null);
- }
- else{
- this.eccezione.getCodice().setTipo(null);
- }
- }
- }
- }
-
- public String getCodiceEccezioneValue(IProtocolFactory<?> protocolFactory) throws ProtocolException {
- String codiceEccezioneValue = null;
- if(this.eccezione.getCodice()!=null){
- codiceEccezioneValue = this.eccezione.getCodice().getBase();
- }
- return codiceEccezioneValue == null ? protocolFactory.createTraduttore().toString(this.getCodiceEccezione(),this.getSubCodiceEccezione()) : codiceEccezioneValue;
- }
- public void setCodiceEccezioneValue(String value) {
- if(value!=null){
- if(this.eccezione.getCodice()==null){
- this.eccezione.setCodice(new CodiceEccezione());
- }
- this.eccezione.getCodice().setBase(value);
- }
- else{
- if(this.eccezione.getCodice()!=null){
- if(this.eccezione.getCodice().getTipo()==null && this.eccezione.getCodice().getSottotipo()==null){
- this.eccezione.setCodice(null);
- }
- else{
- this.eccezione.getCodice().setBase(null);
- }
- }
- }
- }
-
- public SubCodiceErrore getSubCodiceEccezione() {
- if(this.eccezione.getCodice()!=null && this.eccezione.getCodice().getSottotipo()!=null){
- SubCodiceErrore sub = new SubCodiceErrore();
- sub.setSubCodice(this.eccezione.getCodice().getSottotipo());
- return sub;
- }
- return null;
- }
- public void setSubCodiceEccezione(SubCodiceErrore subCodiceEccezione) {
- if(subCodiceEccezione!=null){
- if(this.eccezione.getCodice()==null){
- this.eccezione.setCodice(new CodiceEccezione());
- }
- this.eccezione.getCodice().setSottotipo(subCodiceEccezione.getSubCodice());
- }
- else{
- if(this.eccezione.getCodice()!=null){
- if(this.eccezione.getCodice().getTipo()==null && this.eccezione.getCodice().getBase()==null){
- this.eccezione.setCodice(null);
- }
- else{
- this.eccezione.getCodice().setSottotipo(null);
- }
- }
- }
- }
-
-
-
-
- /* --- DESCRIZIONE ECCEZIONE [Wrapper] --- */
-
- public String getDescrizione(IProtocolFactory<?> protocolFactory) throws ProtocolException {
- String descrizione = this.eccezione.getDescrizione();
- return descrizione == null ? protocolFactory.createTraduttore().toString(this.getErrore()) : descrizione;
- }
- public void setDescrizione(String value) {
- this.eccezione.setDescrizione(value);
- }
-
-
-
- /* --- ERRORE COOPERAZIONE --- */
-
- public ErroreCooperazione getErrore() {
- return this.errore;
- }
-
-
-
-
- /* --- CONTESTO CODIFICA ECCEZIONE --- */
- public ContestoCodificaEccezione getContestoCodifica() {
- if(this.eccezione.getContestoCodifica()!=null && this.eccezione.getContestoCodifica().getTipo()!=null){
- switch (this.eccezione.getContestoCodifica().getTipo()) {
- case ECCEZIONE_PROCESSAMENTO:
- return ContestoCodificaEccezione.PROCESSAMENTO;
- case ECCEZIONE_VALIDAZIONE_PROTOCOLLO:
- return ContestoCodificaEccezione.INTESTAZIONE;
- case SCONOSCIUTO:
- return null;
- }
- }
- return null;
- }
- public void setContestoCodifica(ContestoCodificaEccezione value) {
- if(value!=null){
- if(this.eccezione.getContestoCodifica()==null){
- this.eccezione.setContestoCodifica(new org.openspcoop2.core.tracciamento.ContestoCodificaEccezione());
- }
- switch (value) {
- case INTESTAZIONE:
- this.eccezione.getContestoCodifica().setTipo(TipoCodificaEccezione.ECCEZIONE_VALIDAZIONE_PROTOCOLLO);
- break;
- case PROCESSAMENTO:
- this.eccezione.getContestoCodifica().setTipo(TipoCodificaEccezione.ECCEZIONE_PROCESSAMENTO);
- break;
- default:
- this.eccezione.getContestoCodifica().setTipo(TipoCodificaEccezione.SCONOSCIUTO);
- break;
- }
- }
- else{
- if(this.eccezione.getContestoCodifica()!=null){
- if(this.eccezione.getContestoCodifica().getBase()==null){
- this.eccezione.setContestoCodifica(null);
- }
- else{
- this.eccezione.getContestoCodifica().setTipo(null);
- }
- }
- }
- }
-
- public String getContestoCodificaValue(IProtocolFactory<?> protocolFactory) throws ProtocolException {
- String contestoCodificaValue = null;
- if(this.eccezione.getContestoCodifica()!=null){
- contestoCodificaValue = this.eccezione.getContestoCodifica().getBase();
- }
- return contestoCodificaValue == null ? protocolFactory.createTraduttore().toString(this.getContestoCodifica()) : contestoCodificaValue;
- }
- public void setContestoCodificaValue(String value) {
- if(value!=null){
- if(this.eccezione.getContestoCodifica()==null){
- this.eccezione.setContestoCodifica(new org.openspcoop2.core.tracciamento.ContestoCodificaEccezione());
- }
- this.eccezione.getContestoCodifica().setBase(value);
- }
- else{
- if(this.eccezione.getContestoCodifica()!=null){
- if(this.eccezione.getContestoCodifica().getTipo()==null){
- this.eccezione.setContestoCodifica(null);
- }
- else{
- this.eccezione.getContestoCodifica().setBase(null);
- }
- }
- }
- }
-
-
-
-
-
- /* --- LIVELLO RILEVANZA ECCEZIONE --- */
-
- public LivelloRilevanza getRilevanza() {
- if(this.eccezione.getRilevanza()!=null && this.eccezione.getRilevanza().getTipo()!=null){
- switch (this.eccezione.getRilevanza().getTipo()) {
- case DEBUG:
- return LivelloRilevanza.DEBUG;
- case INFO:
- return LivelloRilevanza.INFO;
- case WARN:
- return LivelloRilevanza.WARN;
- case ERROR:
- return LivelloRilevanza.ERROR;
- case FATAL:
- return LivelloRilevanza.FATAL;
- case SCONOSCIUTO:
- return LivelloRilevanza.UNKNOWN;
- }
- }
- return null;
- }
- public void setRilevanza(LivelloRilevanza value) {
- if(value!=null){
- if(this.eccezione.getRilevanza()==null){
- this.eccezione.setRilevanza(new org.openspcoop2.core.tracciamento.RilevanzaEccezione());
- }
- switch (value) {
- case DEBUG:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.DEBUG);
- break;
- case INFO:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.INFO);
- break;
- case ERROR:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.ERROR);
- break;
- case FATAL:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.FATAL);
- break;
- case WARN:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.WARN);
- break;
- case UNKNOWN:
- this.eccezione.getRilevanza().setTipo(TipoRilevanzaEccezione.SCONOSCIUTO);
- break;
- }
- }
- else{
- if(this.eccezione.getRilevanza()!=null){
- if(this.eccezione.getRilevanza().getBase()==null){
- this.eccezione.setRilevanza(null);
- }
- else{
- this.eccezione.getRilevanza().setTipo(null);
- }
- }
- }
- }
-
- public String getRilevanzaValue(IProtocolFactory<?> protocolFactory) throws ProtocolException {
- String rilevanzaValue = null;
- if(this.eccezione.getRilevanza()!=null){
- rilevanzaValue = this.eccezione.getRilevanza().getBase();
- }
- return rilevanzaValue == null ? protocolFactory.createTraduttore().toString(this.getRilevanza()) : rilevanzaValue;
- }
- public void setRilevanzaValue(String value) {
- if(value!=null){
- if(this.eccezione.getRilevanza()==null){
- this.eccezione.setRilevanza(new org.openspcoop2.core.tracciamento.RilevanzaEccezione());
- }
- this.eccezione.getRilevanza().setBase(value);
- }
- else{
- if(this.eccezione.getRilevanza()!=null){
- if(this.eccezione.getRilevanza().getTipo()==null){
- this.eccezione.setRilevanza(null);
- }
- else{
- this.eccezione.getRilevanza().setBase(null);
- }
- }
- }
- }
-
-
- /* --- MODULO FUNZIONALE --- */
-
- public String getModulo() {
- return this.eccezione.getModulo();
- }
- public void setModulo(String modulo) {
- this.eccezione.setModulo(modulo);
- }
-
-
- public SOAPFaultCode getSoapFaultCode() {
- return this.soapFaultCode;
- }
-
- public void setSoapFaultCode(SOAPFaultCode soapFaultCode) {
- this.soapFaultCode = soapFaultCode;
- }
-
-
-
-
-
- /* --- TO STRING --- */
- @Override
- public String toString(){
- throw new NotImplementedException("Use with protocolFactory");
- }
-
- public String toString(IProtocolFactory<?> protocolFactory) throws ProtocolException{
- StringBuilder bf = new StringBuilder();
- bf.append("Eccezione");
-
- if(this.getRilevanza()!=null){
- bf.append(" ");
- bf.append(this.getRilevanzaValue(protocolFactory));
- }
-
- if(this.getCodiceEccezione()!=null){
- bf.append(" con codice [");
- bf.append(this.getCodiceEccezioneValue(protocolFactory));
- bf.append("]");
- }
-
- if(this.getCodiceEccezione()!=null && this.getContestoCodifica()!=null){
- bf.append(" -");
- }
-
- if(this.getContestoCodifica()!=null){
- bf.append(" ");
- bf.append(this.getContestoCodificaValue(protocolFactory));
- }
-
- //if(this.descrizione!=null){
- String descrizioneErrore = this.getDescrizione(protocolFactory);
- if(descrizioneErrore!=null && !"".equals(descrizioneErrore)){
- //bf.append(" , descrizione errore: ");
- bf.append(": ");
- bf.append(descrizioneErrore);
- }
- //}
-
- return bf.toString();
- }
- public Eccezione newInstance(){
- Eccezione clone = new Eccezione();
-
- // id
- clone.setId(this.getId()!=null ? Long.valueOf(this.getId()+"") : null);
-
- clone.setCodiceEccezione(this.getCodiceEccezione());
- clone.setCodiceEccezioneValue(this.eccezione.getCodice()!=null && this.eccezione.getCodice().getBase()!=null ?
- new String(this.eccezione.getCodice().getBase()) : null );
- clone.setSubCodiceEccezione(this.getSubCodiceEccezione()!=null ? this.getSubCodiceEccezione().newInstance() : null);
-
- clone.setDescrizione(this.eccezione.getDescrizione()!=null ? new String(this.eccezione.getDescrizione()) : null);
-
- clone.errore = (this.errore!=null ? this.errore.clone() : null);
-
- clone.setContestoCodifica(this.getContestoCodifica());
- clone.setContestoCodificaValue(this.eccezione.getContestoCodifica()!=null && this.eccezione.getContestoCodifica().getBase()!=null ?
- new String(this.eccezione.getContestoCodifica().getBase()) : null);
-
- clone.setRilevanza(this.getRilevanza());
- clone.setRilevanzaValue(this.eccezione.getRilevanza()!=null && this.eccezione.getRilevanza().getBase()!=null ?
- new String(this.eccezione.getRilevanza().getBase()) : null);
-
- clone.setModulo(this.getModulo()!=null ? new String(this.getModulo()) : null);
-
- clone.setSoapFaultCode(this.soapFaultCode);
-
- return clone;
- }
- }