ConnettoreStatusApiHelper.java
package org.openspcoop2.core.config.rs.server.api.impl.erogazioni;
import java.util.Map;
import java.util.Objects;
import org.openspcoop2.core.config.rs.server.model.ConnettoreEnum;
import org.openspcoop2.core.config.rs.server.model.ConnettoreStatus;
import org.openspcoop2.core.config.rs.server.model.ConnettoreStatusVerificaStatistica;
import org.openspcoop2.core.config.rs.server.model.OneOfApplicativoServerConnettore;
import org.openspcoop2.core.config.rs.server.model.OneOfConnettoreErogazioneConnettore;
import org.openspcoop2.core.config.rs.server.model.OneOfConnettoreFruizioneConnettore;
import org.openspcoop2.core.config.rs.server.model.TipoPeriodoStatisticoEnum;
import org.openspcoop2.core.config.rs.server.model.TipoRispostaStatusEnum;
import org.openspcoop2.core.constants.CostantiDB;
import org.openspcoop2.core.constants.TipiConnettore;
import org.openspcoop2.core.registry.Connettore;
import org.openspcoop2.web.ctrlstat.servlet.connettori.ConnettoreStatusParams;
import org.openspcoop2.web.ctrlstat.servlet.connettori.ConnettoriCostanti;
import org.openspcoop2.web.lib.mvc.ServletUtils;
public class ConnettoreStatusApiHelper extends AbstractConnettoreApiHelper<ConnettoreStatus> {
@Override
protected boolean connettoreCheckData(ConnettoreStatus conn, ErogazioniEnv env, boolean erogazione) throws Exception {
return !ConnettoreStatusParams.check(env.apsHelper, null, null).getParsingErrors();
}
@Override
public Connettore fillConnettoreRegistro(org.openspcoop2.core.registry.Connettore regConnettore,
ErogazioniEnv env,
ConnettoreStatus conn,
String oldConnT) throws Exception {
ConnettoreStatusParams params = new ConnettoreStatusParams()
.statusResponseType(conn.getRisposta().toString())
.testConnectivity(conn.isVerificaConnettivita())
.testStatistics(false);
if (conn.getVerificaStatistica() != null) {
params.testStatistics(true);
params.periodValue(conn.getVerificaStatistica().getIntervallo());
params.period(conn.getVerificaStatistica().getFrequenza().toString());
params.statLifetime(conn.getVerificaStatistica().getCacheLifeTime());
}
env.apsHelper.fillConnettore(
regConnettore,
conn.isDebug() == Boolean.TRUE ? "true" : "false", // this.connettoreDebug,
TipiConnettore.STATUS.getNome(), // endpointtype
oldConnT, // oldConnT
"", // tipoConn Personalizzato
null, // this.url,
null, // this.nome,
null, // this.tipo,
null,
null,
null, // this.initcont,
null, // this.urlpgk,
null, // this.url,
null, // this.connfact,
null, // this.sendas,
null, // this.httpsurl,
null, // this.httpstipologia
false, // this.httpshostverify,
ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TRUST_VERIFY_CERTS, // httpsTrustVerifyCert
null, // this.httpspath
null, // this.httpstipo,
null, // this.httpspwd,
null, // this.httpsalgoritmo
false,
null, // this.httpskeystore,
"", // this.httpspwdprivatekeytrust
null, // pathkey
null, // this.httpstipokey
null, // this.httpspwdkey
null, // this.httpspwdprivatekey,
null, // this.httpsalgoritmokey,
null, // httpsKeyAlias
null, // httpsTrustStoreCRLs
null, // httpsTrustStoreOCSPPolicy
null, // httpsKeyStoreBYOKPolicy
ServletUtils.boolToCheckBoxStatus( false ),
null,
null,
null,
null,
ServletUtils.boolToCheckBoxStatus( false ),
null, // this.tempiRisposta_connectionTimeout,
null, //null, // this.tempiRisposta_readTimeout,
null, // this.tempiRisposta_tempoMedioRisposta,
"no", // this.opzioniAvanzate,
"", // this.transfer_mode,
"", // this.transfer_mode_chunk_size,
"", // this.redirect_mode,
"", // this.redirect_max_hop,
null, // this.requestOutputFileName,
null, // this.requestOutputFileName_permissions
null, // this.requestOutputFileNameHeaders,
null, // this.requestOutputFileNameHeaders_permissions
null, // this.requestOutputParentDirCreateIfNotExists,
null, // this.requestOutputOverwriteIfExists,
null, // this.responseInputMode,
null, // this.responseInputFileName,
null, // this.responseInputFileNameHeaders,
null, // this.responseInputDeleteAfterRead,
null, // this.responseInputWaitTime,
null, // tokenPolicy
null, null, // apiKeyHeader, apiKeyValue
null, null, // appIdHeader, appIdValue
params, // connettoreStatusParams
null // listExtendedConnettore
);
return regConnettore;
}
@Override
public org.openspcoop2.core.config.Connettore buildConnettoreConfigurazione(
org.openspcoop2.core.config.Connettore regConnettore, ErogazioniEnv env, ConnettoreStatus conn,
String oldConnType) throws Exception {
ConnettoreStatusParams params = new ConnettoreStatusParams()
.statusResponseType(conn.getRisposta().toString())
.testConnectivity(conn.isVerificaConnettivita())
.testStatistics(false);
if (conn.getVerificaStatistica() != null) {
params.testStatistics(true);
params.periodValue(conn.getVerificaStatistica().getIntervallo());
params.period(conn.getVerificaStatistica().getFrequenza().toString());
params.statLifetime(conn.getVerificaStatistica().getCacheLifeTime());
}
env.apsHelper.fillConnettore(
regConnettore,
conn.isDebug() == Boolean.TRUE ? "true" : "false", // this.connettoreDebug,
TipiConnettore.STATUS.getNome(), // endpointtype
oldConnType, // oldConnT
"", // tipoConn Personalizzato
null, // this.url,
null, // this.nome,
null, // this.tipo,
null,
null,
null, // this.initcont,
null, // this.urlpgk,
null, // this.url,
null, // this.connfact,
null, // this.sendas,
null, // this.httpsurl,
null, // this.httpstipologia
false, // this.httpshostverify,
ConnettoriCostanti.DEFAULT_CONNETTORE_HTTPS_TRUST_VERIFY_CERTS, // httpsTrustVerifyCert
null, // this.httpspath
null, // this.httpstipo,
null, // this.httpspwd,
null, // this.httpsalgoritmo
false,
null, // this.httpskeystore,
"", // this.httpspwdprivatekeytrust
null, // pathkey
null, // this.httpstipokey
null, // this.httpspwdkey
null, // this.httpspwdprivatekey,
null, // this.httpsalgoritmokey,
null, // httpsKeyAlias
null, // httpsTrustStoreCRLs
null, // httpsTrustStoreOCSPPolicy
null, // httpsKeyStoreBYOKPolicy
ServletUtils.boolToCheckBoxStatus( false ),
null,
null,
null,
null,
ServletUtils.boolToCheckBoxStatus( false ),
null, // this.tempiRisposta_connectionTimeout,
null, //null, // this.tempiRisposta_readTimeout,
null, // this.tempiRisposta_tempoMedioRisposta,
"no", // this.opzioniAvanzate,
"", // this.transfer_mode,
"", // this.transfer_mode_chunk_size,
"", // this.redirect_mode,
"", // this.redirect_max_hop,
null, // this.requestOutputFileName,
null, // this.requestOutputFileName_permissions
null, // this.requestOutputFileNameHeaders,
null, // this.requestOutputFileNameHeaders_permissions
null, // this.requestOutputParentDirCreateIfNotExists,
null, // this.requestOutputOverwriteIfExists,
null, // this.responseInputMode,
null, // this.responseInputFileName,
null, // this.responseInputFileNameHeaders,
null, // this.responseInputDeleteAfterRead,
null, // this.responseInputWaitTime,
null, // tokenPolicy
null, null, // apiKeyHeader, apiKeyValue
null, null, // appIdHeader, appIdValue
params, // connettoreStatusParams
null // listExtendedConnettore
);
return regConnettore;
}
@Override
public ConnettoreStatus buildConnettore(Map<String, String> props, String tipo) {
String verificaConnettivita = props.get(CostantiDB.CONNETTORE_STATUS_TEST_CONNECTIVITY);
String statusResponseType = props.get(CostantiDB.CONNETTORE_STATUS_RESPONSE_TYPE);
String period = props.get(CostantiDB.CONNETTORE_STATUS_STATISTICAL_PERIOD);
String periodValue = props.get(CostantiDB.CONNETTORE_STATUS_STATISTICAL_PERIOD_VALUE);
String cacheLifetime = props.get(CostantiDB.CONNETTORE_STATUS_STAT_LIFETIME);
String debug = props.get(CostantiDB.CONNETTORE_DEBUG);
ConnettoreStatusVerificaStatistica verificaStatistica = null;
if (period != null) {
verificaStatistica = new ConnettoreStatusVerificaStatistica()
.intervallo(Integer.valueOf(periodValue))
.frequenza(TipoPeriodoStatisticoEnum.fromValue(period))
.cacheLifeTime(cacheLifetime == null ? null : Integer.valueOf(cacheLifetime));
}
return new ConnettoreStatus()
.tipo(ConnettoreEnum.STATUS)
.risposta(TipoRispostaStatusEnum.fromValue(statusResponseType))
.debug(Objects.requireNonNullElse(debug, Boolean.FALSE).equals(Boolean.TRUE))
.verificaConnettivita(Objects.requireNonNullElse(verificaConnettivita, Boolean.FALSE).equals(Boolean.TRUE))
.verificaStatistica(verificaStatistica);
}
@Override
public String getUrlConnettore(Map<String, String> props, String tipoConnettore) throws Exception {
return "[status] govway://status";
}
@Override
protected ConnettoreStatus getConnettore(OneOfConnettoreErogazioneConnettore conn) throws Exception {
return (ConnettoreStatus) conn;
}
@Override
protected ConnettoreStatus getConnettore(OneOfConnettoreFruizioneConnettore conn) throws Exception {
return (ConnettoreStatus) conn;
}
@Override
protected ConnettoreStatus getConnettore(OneOfApplicativoServerConnettore conn) throws Exception {
return (ConnettoreStatus) conn;
}
}