ConfigurazioneTracciamentoUtils.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.pdd.logger.transazioni;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- import org.openspcoop2.core.commons.CoreException;
- import org.openspcoop2.pdd.core.connettori.ConnettoreUtils;
- import org.openspcoop2.protocol.sdk.Context;
- import org.openspcoop2.protocol.sdk.IProtocolFactory;
- import org.openspcoop2.protocol.sdk.ProtocolException;
- import org.openspcoop2.protocol.sdk.builder.EsitoTransazione;
- import org.openspcoop2.protocol.sdk.constants.EsitoTransazioneName;
- import org.openspcoop2.protocol.utils.EsitiProperties;
- import org.slf4j.Logger;
- /**
- * ConfigurazioneTracciamentoUtils
- *
- * @author Andrea Poli (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- *
- */
- public class ConfigurazioneTracciamentoUtils {
- private ConfigurazioneTracciamentoUtils() {}
-
-
-
- public static boolean isConsegnaMultipla(Context context) {
- int connettoriMultipli = getNumeroConnettoriMultipli(context);
- return isConsegnaMultipla(connettoriMultipli);
- }
- public static boolean isConsegnaMultipla(int connettoriMultipli) {
- boolean consegnaMultipla = false;
- if(connettoriMultipli>0) {
- consegnaMultipla = true;
- }
- return consegnaMultipla;
- }
- public static int getNumeroConnettoriMultipli(Context context) {
- int connettoriMultipli = -1;
- if(context.containsKey(org.openspcoop2.core.constants.Costanti.CONSEGNA_MULTIPLA_CONNETTORI)) {
- Object oConnettori = context.getObject(org.openspcoop2.core.constants.Costanti.CONSEGNA_MULTIPLA_CONNETTORI );
- if (oConnettori instanceof Integer){
- connettoriMultipli = (Integer) oConnettori;
- }
- }
- return connettoriMultipli;
- }
- public static String getConnettoriMultipli(Context context) {
- return ConnettoreUtils.getNomeConnettori(context);
- }
-
-
-
- public static boolean isEsitoDaRegistrare(Logger log, IProtocolFactory<?> protocolFactory, Context context,
- List<String> esitiDaRegistrare, EsitoTransazione esitoTransazione) throws ProtocolException {
- // EsitiProperties
- EsitiProperties esitiProperties = EsitiProperties.getInstance(log, protocolFactory);
-
- int code = esitoTransazione.getCode();
-
- // ** Consegna Multipla **
- // NOTA: l'esito deve essere compreso solo dopo aver capito se le notifiche devono essere consegna o meno poichè le notifiche stesse si basano sullo stato di come è terminata la transazione sincrona
- boolean consegnaMultipla = isConsegnaMultipla(context);
- if(consegnaMultipla) {
- code = esitiProperties.convertoToCode(EsitoTransazioneName.CONSEGNA_MULTIPLA);
- }
-
- String codeAsString = code+"";
- return esitiDaRegistrare.contains(codeAsString);
- }
- public static String getEsitoTransazionDetail(Logger log, IProtocolFactory<?> protocolFactory,
- EsitoTransazione esitoTransazione) throws ProtocolException {
- EsitiProperties esitiProperties = EsitiProperties.getInstance(log, protocolFactory);
- int code = esitoTransazione.getCode();
- String codeAsString = code+"";
- return "esito [name:"+esitiProperties.getEsitoName(esitoTransazione.getCode())+" code:"+codeAsString+"]";
- }
- public static boolean isEsitoOk(Logger log, IProtocolFactory<?> protocolFactory,
- EsitoTransazione esitoTransazione) throws ProtocolException {
- List<String> esitiOk = getEsitiOk(log, protocolFactory);
- int code = esitoTransazione.getCode();
- String codeAsString = code+"";
- return esitiOk.contains(codeAsString);
- }
- private static List<String> getEsitiOk(Logger log, IProtocolFactory<?> protocolFactory) throws ProtocolException{
- EsitiProperties esitiProperties = EsitiProperties.getInstance(log, protocolFactory);
- List<Integer> tmpEsitiOk = esitiProperties.getEsitiCodeOk();
- List<String> esitiOk = new ArrayList<>();
- if(tmpEsitiOk!=null && !tmpEsitiOk.isEmpty()){
- for (Integer esito : tmpEsitiOk) {
- esitiOk.add(esito+"");
- }
- }
- return esitiOk;
- }
-
- public static String getPrefixFile(File f, boolean expectedDir) {
- return (expectedDir ? "Dir ":"")+"["+f.getAbsolutePath()+"] ";
- }
- public static CoreException newCoreExceptionNotFile(File f, boolean expectedDir){
- return new CoreException(getPrefixFile(f, expectedDir)+"isn't file");
- }
- public static CoreException newCoreExceptionCannotRead(File f, boolean expectedDir){
- return new CoreException(getPrefixFile(f, expectedDir)+"cannot read");
- }
- public static CoreException newCoreExceptionNotExists(File f, boolean expectedDir){
- return new CoreException(getPrefixFile(f, expectedDir)+"not exists");
- }
- }