InRequestHandler.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.pdd.core.handlers.transazioni;

  21. import org.openspcoop2.pdd.core.transazioni.Transaction;
  22. import org.openspcoop2.pdd.core.transazioni.TransactionContext;
  23. import org.openspcoop2.pdd.core.transazioni.TransactionDeletedException;
  24. import org.openspcoop2.pdd.core.transazioni.TransactionNotExistsException;

  25. import org.openspcoop2.core.constants.Costanti;
  26. import org.openspcoop2.pdd.config.OpenSPCoop2Properties;
  27. import org.openspcoop2.pdd.core.credenziali.Credenziali;
  28. import org.openspcoop2.pdd.core.handlers.HandlerException;
  29. import org.openspcoop2.pdd.core.handlers.InRequestContext;

  30. /**    
  31.  * InRequestHandler
  32.  *
  33.  * @author Poli Andrea (poli@link.it)
  34.  * @author $Author$
  35.  * @version $Rev$, $Date$
  36.  */
  37. public class InRequestHandler extends FirstPositionHandler implements  org.openspcoop2.pdd.core.handlers.InRequestHandler{

  38.     @Override
  39.     public void invoke(InRequestContext context) throws HandlerException {
  40.        
  41.         OpenSPCoop2Properties op2Properties = OpenSPCoop2Properties.getInstance();
  42.         if(op2Properties.isTransazioniEnabled()==false) {
  43.             return;
  44.         }
  45.        
  46.         String idTransazione = (String) context.getPddContext().getObject(Costanti.ID_TRANSAZIONE);
  47.        
  48.         //System.out.println("------------- InRequestHandler ("+idTransazione+")("+context.getTipoPorta().getTipo()+") -------------------");
  49.        
  50.         try{
  51.        
  52.             Transaction tr = TransactionContext.getTransaction(idTransazione);
  53.            
  54.             tr.setDataAccettazioneRichiesta(context.getDataAccettazioneRichiesta());
  55.             tr.setDataIngressoRichiesta(context.getDataElaborazioneMessaggio());
  56.             //System.out.println("SET DATA ("+context.getDataElaborazioneMessaggio().toString()+")");
  57.            
  58.             if(context.getConnettore()!=null){
  59.                
  60.                 // aggiorno valori rispetto a quelli raccolti in preInRequest
  61.                
  62.                 Credenziali credenziali = context.getConnettore().getCredenziali();
  63.                 String credenzialiFornite = "";
  64.                 if(credenziali!=null){
  65.                     credenzialiFornite = credenziali.toString(!Credenziali.SHOW_BASIC_PASSWORD,
  66.                             Credenziali.SHOW_ISSUER,
  67.                             !Credenziali.SHOW_DIGEST_CLIENT_CERT,
  68.                             Credenziali.SHOW_SERIAL_NUMBER_CLIENT_CERT,
  69.                             "","","\n"); // riporto anche l'issuer ed il serial number del cert e formatto differentemente
  70.                 }
  71.                 tr.setCredenziali(credenzialiFornite);
  72.                 //System.out.println("SET CREDENZIALI ["+credenzialiFornite+"]");
  73.                
  74.                 if(context.getConnettore().getUrlProtocolContext()!=null){
  75.                     String urlInvocazione = context.getConnettore().getUrlProtocolContext().getUrlInvocazione_formBased();
  76.                     if(context.getConnettore().getUrlProtocolContext().getFunction()!=null){
  77.                         urlInvocazione = "["+context.getConnettore().getUrlProtocolContext().getFunction()+"] "+urlInvocazione;
  78.                     }
  79.                     //System.out.println("SET URL INVOCAZIONE ["+urlInvocazione+"]");
  80.                     tr.setUrlInvocazione(urlInvocazione);
  81.                 }
  82.             }
  83.            
  84.         }catch(TransactionDeletedException e){
  85.             throw new HandlerException(e);
  86.             // Non dovrebbe avvenire in questo handler
  87.         }catch(TransactionNotExistsException e){
  88.             throw new HandlerException(e);
  89.             // Non dovrebbe avvenire in questo handler
  90.         }
  91.        
  92.     }

  93. }