PolicyGroupByActiveThreadsWS.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.core.controllo_traffico.policy.driver;
- import java.util.HashMap;
- import java.util.List;
- import org.openspcoop2.core.controllo_traffico.beans.DatiCollezionati;
- import org.openspcoop2.core.controllo_traffico.beans.IDUnivocoGroupByPolicy;
- import org.openspcoop2.core.controllo_traffico.beans.MisurazioniTransazione;
- import org.openspcoop2.core.controllo_traffico.driver.CostantiServizioControlloTraffico;
- import org.openspcoop2.core.controllo_traffico.driver.IPolicyGroupByActiveThreads;
- import org.openspcoop2.core.controllo_traffico.driver.PolicyException;
- import org.openspcoop2.core.controllo_traffico.driver.PolicyNotFoundException;
- import org.openspcoop2.utils.Map;
- import org.openspcoop2.utils.transport.TransportUtils;
- import org.openspcoop2.utils.transport.http.HttpResponse;
- import org.openspcoop2.utils.transport.http.HttpUtilities;
- import org.slf4j.Logger;
- /**
- * PolicyGroupByActiveThreadsWS
- *
- * @author Poli Andrea (poli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class PolicyGroupByActiveThreadsWS implements IPolicyGroupByActiveThreads {
- private String uriService;
- private String activeId;
- private Logger log;
-
- public PolicyGroupByActiveThreadsWS(String serviceUrl,String activeId,Logger log){
- this.uriService = serviceUrl;
- this.activeId = activeId;
- this.log = log;
- }
-
- @Override
- public DatiCollezionati registerStartRequest(Logger log, String idTransazione, IDUnivocoGroupByPolicy datiGroupBy, Map<Object> ctx)
- throws PolicyException {
- try{
- java.util.Map<String, List<String>> p = new HashMap<>();
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_ACTIVE_ID, this.activeId);
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_GROUP_BY_ID, IDUnivocoGroupByPolicy.serialize(datiGroupBy));
- String url = TransportUtils.buildUrlWithParameters(p, this.uriService+CostantiServizioControlloTraffico.OPERAZIONE_REGISTER_START_REQUEST, this.log);
-
- this.log.debug("[PolicyGroupByActiveThreadsWS.registerStartRequest] invoke ("+url+") ...");
- HttpResponse response = HttpUtilities.getHTTPResponse(url);
- this.log.debug("[PolicyGroupByActiveThreadsWS.registerStartRequest] invoked with code ["+response.getResultHTTPOperation()+"]");
-
- if(response.getResultHTTPOperation()!=200){
- throw new Exception("[httpCode:"+response.getResultHTTPOperation()+"] "+new String(response.getContent()));
- }
-
- return DatiCollezionati.deserialize(new String(response.getContent()));
-
- }catch(Exception e){
- this.log.error("registerStartRequest error: "+e.getMessage(),e);
- throw new PolicyException(e.getMessage(),e);
- }
- }
- @Override
- public DatiCollezionati updateDatiStartRequestApplicabile(Logger log, String idTransazione, IDUnivocoGroupByPolicy datiGroupBy, Map<Object> ctx)
- throws PolicyException, PolicyNotFoundException {
- try{
- java.util.Map<String, List<String>> p = new HashMap<>();
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_ACTIVE_ID, this.activeId);
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_GROUP_BY_ID, IDUnivocoGroupByPolicy.serialize(datiGroupBy));
- String url = TransportUtils.buildUrlWithParameters(p, this.uriService+CostantiServizioControlloTraffico.OPERAZIONE_UPDATE_START_REQUEST, this.log);
-
- this.log.debug("[PolicyGroupByActiveThreadsWS.updateDatiStartRequestApplicabile] invoke ("+url+") ...");
- HttpResponse response = HttpUtilities.getHTTPResponse(url);
- this.log.debug("[PolicyGroupByActiveThreadsWS.updateDatiStartRequestApplicabile] invoked with code ["+response.getResultHTTPOperation()+"]");
-
- if(response.getResultHTTPOperation()!=200){
- throw new Exception("[httpCode:"+response.getResultHTTPOperation()+"] "+new String(response.getContent()));
- }
-
- return DatiCollezionati.deserialize(new String(response.getContent()));
-
- }catch(Exception e){
- this.log.error("updateDatiStartRequestApplicabile error: "+e.getMessage(),e);
- throw new PolicyException(e.getMessage(),e);
- }
- }
- @Override
- public void registerStopRequest(Logger log, String idTransazione, IDUnivocoGroupByPolicy datiGroupBy, Map<Object> ctx, MisurazioniTransazione dati,
- boolean isApplicabile, boolean isViolata) throws PolicyException, PolicyNotFoundException {
- try{
- java.util.Map<String, List<String>> p = new HashMap<>();
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_ACTIVE_ID, this.activeId);
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_GROUP_BY_ID, IDUnivocoGroupByPolicy.serialize(datiGroupBy));
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_MISURAZIONI_TRANSAZIONE, MisurazioniTransazione.serialize(dati));
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_APPLICABILE, isApplicabile+"");
- TransportUtils.setHeader(p,CostantiServizioControlloTraffico.PARAMETER_VIOLATA, isViolata+"");
- String url = TransportUtils.buildUrlWithParameters(p, this.uriService+CostantiServizioControlloTraffico.OPERAZIONE_REGISTER_STOP_REQUEST, this.log);
-
- this.log.debug("[PolicyGroupByActiveThreadsWS.registerStopRequest] invoke ("+url+") ...");
- HttpResponse response = HttpUtilities.getHTTPResponse(url);
- this.log.debug("[PolicyGroupByActiveThreadsWS.registerStopRequest] invoked with code ["+response.getResultHTTPOperation()+"]");
-
- if(response.getResultHTTPOperation()!=200){
- throw new Exception("[httpCode:"+response.getResultHTTPOperation()+"] "+new String(response.getContent()));
- }
-
- }catch(Exception e){
- this.log.error("registerStopRequest error: "+e.getMessage(),e);
- throw new PolicyException(e.getMessage(),e);
- }
- }
- }