From 1f5ee0b06500da7806cfb26cddf9cb259de81970 Mon Sep 17 00:00:00 2001 From: parerworker Date: Fri, 13 Dec 2024 11:53:49 +0100 Subject: [PATCH] Update project to latest tag parer-kettle-2.1.1 --- CHANGELOG.md | 5 ++ RELEASE-NOTES.md | 13 +--- parer-kettle-jpa/pom.xml | 2 +- .../it/eng/parer/kettle/jpa/MonExecTrasf.java | 4 +- .../it/eng/parer/kettle/lite/jpa/MonLog.java | 1 + parer-kettle-model/pom.xml | 4 +- .../eng/parer/kettle/model/AbstractEsito.java | 8 +-- .../kettle/model/EsitoListaParametri.java | 2 +- .../model/EsitoStatusCodaTrasformazione.java | 6 +- .../it/eng/parer/kettle/model/KettleJob.java | 2 +- .../kettle/model/KettleTransformation.java | 2 +- .../it/eng/parer/kettle/model/Parametro.java | 15 ++-- .../parer/kettle/model/Trasformazione.java | 10 +-- parer-kettle-rest-client/pom.xml | 2 +- parer-kettle-rest/pom.xml | 2 +- .../rest/TrasformazioniServiceImpl.java | 13 +--- parer-kettle-server/pom.xml | 2 +- .../it/eng/parer/kettle/server/Constants.java | 12 ++-- .../parer/kettle/server/config/CXFConfig.java | 11 ++- .../config/KettleEnvironmentConfig.java | 2 +- .../server/config/LitePersistanceConfig.java | 20 ++---- .../server/config/PersistenceConfig.java | 31 +++----- .../persistence/service/DataServiceImpl.java | 70 +++++++++++-------- .../service/GestoreTrasformazioniImpl.java | 24 +++---- .../ws/client/SOAPClientLoginHandler.java | 5 +- .../kettle/ws/client/XformerWsClient.java | 7 +- parer-kettle-service/pom.xml | 2 +- parer-kettle-soap-client/pom.xml | 2 +- parer-kettle-soap/pom.xml | 2 +- .../soap/TrasformazioniSoapServiceImpl.java | 2 +- pom.xml | 28 ++++---- 31 files changed, 142 insertions(+), 169 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b1b5e6..a16c390 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ +## 2.1.1 (10-12-2024) + +### Bugfix: 1 +- [#34679](https://parermine.regione.emilia-romagna.it/issues/34679) Correzioni segnalazioni sonarqube + ## 2.1.0 (11-11-2024) ### Bugfix: 2 diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index d52fed1..f7ffd87 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,11 +1,4 @@ -## 2.1.0 (11-11-2024) +## 2.1.1 (10-12-2024) -### Bugfix: 2 -- [#34198](https://parermine.regione.emilia-romagna.it/issues/34198) Lista di risultati troncati dalla chiamata allo storico delle trasformazioni -- [#34064](https://parermine.regione.emilia-romagna.it/issues/34064) Gestione del carattere + nel nome dell'oggetto - -### Novità: 1 -- [#34451](https://parermine.regione.emilia-romagna.it/issues/34451) Rimuovere il parametro XF_KETTLE_DB_PASSWORD dal report di trasformazione - -### SUE: 1 -- [#34063](https://parermine.regione.emilia-romagna.it/issues/34063) Modifica all'url di AWS nella configurazione di kettle server (tutti gli ambienti) +### Bugfix: 1 +- [#34679](https://parermine.regione.emilia-romagna.it/issues/34679) Correzioni segnalazioni sonarqube diff --git a/parer-kettle-jpa/pom.xml b/parer-kettle-jpa/pom.xml index 2722f44..27bbe96 100644 --- a/parer-kettle-jpa/pom.xml +++ b/parer-kettle-jpa/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-jpa Parer Kettle Persistence diff --git a/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/jpa/MonExecTrasf.java b/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/jpa/MonExecTrasf.java index 817faae..30c99c7 100644 --- a/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/jpa/MonExecTrasf.java +++ b/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/jpa/MonExecTrasf.java @@ -44,7 +44,7 @@ public class MonExecTrasf implements Serializable { public enum STATO_TRASFORMAZIONE { IN_CODA_TRASFORMAZIONE, TRASFORMAZIONE_IN_CORSO, TRASFORMAZIONE_TERMINATA, ERRORE_TRASFORMAZIONE - }; + } @Id @SequenceGenerator(name = "MON_EXEC_TRASF_IDEXECTRASF_GENERATOR", sequenceName = "SMON_EXEC_TRASF", allocationSize = 1) @@ -87,7 +87,7 @@ public enum STATO_TRASFORMAZIONE { private String nmKsInstance; public MonExecTrasf() { - + // per usi futuri. } public long getIdExecTrasf() { diff --git a/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/lite/jpa/MonLog.java b/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/lite/jpa/MonLog.java index cab3c31..cc80fea 100644 --- a/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/lite/jpa/MonLog.java +++ b/parer-kettle-jpa/src/main/java/it/eng/parer/kettle/lite/jpa/MonLog.java @@ -68,6 +68,7 @@ public class MonLog implements Serializable { private String flEscapeXml; public MonLog() { + // per usi futuri } public long getIdMonLog() { diff --git a/parer-kettle-model/pom.xml b/parer-kettle-model/pom.xml index 97aa519..f6057a1 100644 --- a/parer-kettle-model/pom.xml +++ b/parer-kettle-model/pom.xml @@ -4,13 +4,13 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-model Parer Kettle Model Data Transfer Object utilizzati dal progetto Parer Kettle. jar - + javax.xml.bind diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/AbstractEsito.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/AbstractEsito.java index 5e55489..f6a9c5a 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/AbstractEsito.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/AbstractEsito.java @@ -38,10 +38,10 @@ public abstract class AbstractEsito implements Serializable { */ public enum ESITO_SINTETICO { OK, KO, CODA_PIENA - }; + } protected String dettagli; - protected Esito.ESITO_SINTETICO esitoSintetico; + protected ESITO_SINTETICO esitoSintetico; public String getDettaglio() { return dettagli; @@ -52,11 +52,11 @@ public void setDettaglio(String dettagli) { } @XmlElement(nillable = false, required = true) - public Esito.ESITO_SINTETICO getEsitoSintetico() { + public ESITO_SINTETICO getEsitoSintetico() { return esitoSintetico; } - public void setEsitoSintetico(Esito.ESITO_SINTETICO esitoSintetico) { + public void setEsitoSintetico(ESITO_SINTETICO esitoSintetico) { this.esitoSintetico = esitoSintetico; } } diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoListaParametri.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoListaParametri.java index 73c3b2c..4ba0c05 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoListaParametri.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoListaParametri.java @@ -37,7 +37,7 @@ public void setParameters(List parameters) { public void addParameter(Parametro parameter) { if (this.parameters == null) - this.parameters = new ArrayList(); + this.parameters = new ArrayList<>(); this.parameters.add(parameter); } diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoStatusCodaTrasformazione.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoStatusCodaTrasformazione.java index 367b138..de2e820 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoStatusCodaTrasformazione.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/EsitoStatusCodaTrasformazione.java @@ -24,9 +24,9 @@ * @author Cappelli_F */ public class EsitoStatusCodaTrasformazione extends AbstractEsito { - List trasformazioniInCorso; - List trasformazioniInCoda; - List storicoTrasformazioni; + private List trasformazioniInCorso; + private List trasformazioniInCoda; + private List storicoTrasformazioni; public List getTrasformazioniInCorso() { return trasformazioniInCorso; diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleJob.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleJob.java index 18291ab..fcb590d 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleJob.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleJob.java @@ -41,7 +41,7 @@ public class KettleJob implements Serializable { private String versione; public KettleJob() { - + // per usi futuri } public DataHandler getJobDescriptor() { diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleTransformation.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleTransformation.java index 3a31a50..4596a12 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleTransformation.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/KettleTransformation.java @@ -41,7 +41,7 @@ public class KettleTransformation implements Serializable { private String versione; public KettleTransformation() { - + // per usi futuri } public DataHandler getTransformationDescriptor() { diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Parametro.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Parametro.java index 4596aac..f8e4883 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Parametro.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Parametro.java @@ -70,8 +70,7 @@ public String toString() { @Override public int hashCode() { - int hash = 7; - return hash; + return super.hashCode(); } @Override @@ -82,17 +81,15 @@ public boolean equals(Object obj) { if (obj == null) { return false; } + if (getClass() != obj.getClass()) { return false; } + final Parametro other = (Parametro) obj; - if (!Objects.equals(this.nomeParametro, other.nomeParametro)) { - return false; - } - if (!Objects.equals(this.valoreParametro, other.valoreParametro)) { - return false; - } - return true; + + return Objects.equals(this.nomeParametro, other.nomeParametro) + && Objects.equals(this.valoreParametro, other.valoreParametro); } } diff --git a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Trasformazione.java b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Trasformazione.java index 9e55964..643e0ff 100644 --- a/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Trasformazione.java +++ b/parer-kettle-model/src/main/java/it/eng/parer/kettle/model/Trasformazione.java @@ -29,12 +29,12 @@ public class Trasformazione implements Serializable { private static final long serialVersionUID = -2359465051207551433L; private String nomeTrasformazione; - private long IdOggettoPing; + private long idOggettoPing; private List parametri; private long idTrasfReport; public Trasformazione() { - + // per usi futuri } public String getNomeTrasformazione() { @@ -46,11 +46,11 @@ public void setNomeTrasformazione(String nomeTrasformazione) { } public long getIdOggettoPing() { - return IdOggettoPing; + return idOggettoPing; } - public void setIdOggettoPing(long IdOggettoPing) { - this.IdOggettoPing = IdOggettoPing; + public void setIdOggettoPing(long idOggettoPing) { + this.idOggettoPing = idOggettoPing; } public List getParametri() { diff --git a/parer-kettle-rest-client/pom.xml b/parer-kettle-rest-client/pom.xml index 3f8cc3a..4b789bd 100644 --- a/parer-kettle-rest-client/pom.xml +++ b/parer-kettle-rest-client/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-rest-client Parer Kettle REST Client diff --git a/parer-kettle-rest/pom.xml b/parer-kettle-rest/pom.xml index b7b6c4f..b775cbb 100644 --- a/parer-kettle-rest/pom.xml +++ b/parer-kettle-rest/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-rest Parer Kettle REST Service diff --git a/parer-kettle-rest/src/main/java/it/eng/parer/kettle/rest/TrasformazioniServiceImpl.java b/parer-kettle-rest/src/main/java/it/eng/parer/kettle/rest/TrasformazioniServiceImpl.java index da109db..ce081e2 100644 --- a/parer-kettle-rest/src/main/java/it/eng/parer/kettle/rest/TrasformazioniServiceImpl.java +++ b/parer-kettle-rest/src/main/java/it/eng/parer/kettle/rest/TrasformazioniServiceImpl.java @@ -20,7 +20,6 @@ import it.eng.parer.kettle.model.StatoTrasformazione; import it.eng.parer.kettle.rest.client.TrasformazioniService; import it.eng.parer.kettle.service.DataService; -import it.eng.parer.kettle.service.GestoreTrasformazioni; import java.util.List; /** @@ -50,14 +49,9 @@ */ public class TrasformazioniServiceImpl implements TrasformazioniService { - private GestoreTrasformazioni gestoreTrasformazioni; private String versioneSoftware; private DataService dataService; - public void setGestoreTrasformazioni(GestoreTrasformazioni gestoreTrasformazioni) { - this.gestoreTrasformazioni = gestoreTrasformazioni; - } - public void setDataService(DataService dataService) { this.dataService = dataService; } @@ -68,12 +62,7 @@ public void setVersioneSoftware(String versioneSoftware) { @Override public List getTrasformazioni(String status) { - if (status != null) { - - } - - List ottieniStatoTrasformazioniAttive = dataService.ottieniTrasformazioniAttive(); - return ottieniStatoTrasformazioniAttive; + return dataService.ottieniTrasformazioniAttive(); } @Override diff --git a/parer-kettle-server/pom.xml b/parer-kettle-server/pom.xml index 7e6f3fb..baad3c8 100644 --- a/parer-kettle-server/pom.xml +++ b/parer-kettle-server/pom.xml @@ -3,7 +3,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 kettle-server diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/Constants.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/Constants.java index a348ea9..e93e4b6 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/Constants.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/Constants.java @@ -22,8 +22,12 @@ * @author Cappelli_F */ public class Constants { - public final static String XF_OBJECT_STORAGE_KEY = "XF_OBJECT_STORAGE_KEY"; - public final static String XF_OBJECT_STORAGE_BUCKET = "XF_OBJECT_STORAGE_BUCKET"; - public final static String XF_INPUT_FILE_NAME = "XF_INPUT_FILE_NAME"; - public final static String XF_TMP_DIR = "XF_TMP_DIR"; + private Constants() { + // solo per non far lamentare sonarqube + } + + public static final String XF_OBJECT_STORAGE_KEY = "XF_OBJECT_STORAGE_KEY"; + public static final String XF_OBJECT_STORAGE_BUCKET = "XF_OBJECT_STORAGE_BUCKET"; + public static final String XF_INPUT_FILE_NAME = "XF_INPUT_FILE_NAME"; + public static final String XF_TMP_DIR = "XF_TMP_DIR"; } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/CXFConfig.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/CXFConfig.java index 6439645..9027d0a 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/CXFConfig.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/CXFConfig.java @@ -54,11 +54,9 @@ public class CXFConfig { public static final String SOAP_TRASFORMAZIONI = "/soap/trasformazioni"; public static final String REST_TRASFORMAZIONI_V1 = "/rest/v1"; - @Value("true") - private boolean cxfDebug; + private final boolean cxfDebug = true; - @Value("true") - private boolean mtomEnabled; + private final boolean mtomEnabled = true; @Value("${build.version}") private String versioneSoftware; @@ -87,7 +85,7 @@ private void addLoggers() { // --------------- SOAP @Bean - public TrasformazioniSoapService soapTrasformazioniService() { + public TrasformazioniSoapService soapTrasformazioniService(GestoreTrasformazioni gestoreTrasformazioni) { TrasformazioniSoapServiceImpl service = new TrasformazioniSoapServiceImpl(); service.setGestoreTrasformazioni(gestoreTrasformazioni); service.setDataService(dataService); @@ -101,7 +99,7 @@ private void enableMTOM(EndpointImpl endpoint) { @Bean public Endpoint createSoapTrasformazioniEndpoint() { - EndpointImpl endpoint = new EndpointImpl(bus, soapTrasformazioniService()); + EndpointImpl endpoint = new EndpointImpl(bus, soapTrasformazioniService(gestoreTrasformazioni)); endpoint.publish(SOAP_TRASFORMAZIONI); enableMTOM(endpoint); return endpoint; @@ -111,7 +109,6 @@ public Endpoint createSoapTrasformazioniEndpoint() { @Bean public TrasformazioniService restTrasformazioniService() { TrasformazioniServiceImpl service = new TrasformazioniServiceImpl(); - service.setGestoreTrasformazioni(gestoreTrasformazioni); service.setVersioneSoftware(versioneSoftware); return service; } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/KettleEnvironmentConfig.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/KettleEnvironmentConfig.java index 5d0556d..be36a67 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/KettleEnvironmentConfig.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/KettleEnvironmentConfig.java @@ -105,7 +105,7 @@ public void init() { sb.append("\n\n"); } } - LOGGER.info(sb.toString()); + LOGGER.info("{}", sb); } @PreDestroy diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/LitePersistanceConfig.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/LitePersistanceConfig.java index 15a1288..a2cfc57 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/LitePersistanceConfig.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/LitePersistanceConfig.java @@ -49,23 +49,15 @@ public class LitePersistanceConfig { @Autowired private Environment env; - // @Bean - // public DataSourceInitializer liteDatasourceInitializer(@Qualifier("liteDatasource") DataSource datasource) { - // ResourceDatabasePopulator resourceDatabasePopulator = new ResourceDatabasePopulator(); - // resourceDatabasePopulator.addScript(new ClassPathResource("schema-monlog.sql")); - // - // DataSourceInitializer dataSourceInitializer = new DataSourceInitializer(); - // dataSourceInitializer.setDataSource(datasource); - // dataSourceInitializer.setDatabasePopulator(resourceDatabasePopulator); - // return dataSourceInitializer; - // } - @Bean public DataSource liteDatasource() throws NamingException { String repoJNDI = env.getProperty("jndi.kettle_lite_ds"); - DataSource dataSource = (DataSource) new JndiTemplate().lookup(repoJNDI); - return dataSource; + if (repoJNDI != null) { + return (DataSource) new JndiTemplate().lookup(repoJNDI); + } else { + throw new NamingException("jndi.kettle_lite_ds not found."); + } } // Bean per @EnableJpaRepositories @@ -74,7 +66,7 @@ public LocalContainerEntityManagerFactoryBean liteEntityManagerFactory() throws final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(liteDatasource()); - em.setPackagesToScan(new String[] { "it.eng.parer.kettle.lite.jpa" }); + em.setPackagesToScan("it.eng.parer.kettle.lite.jpa"); em.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); em.setJpaProperties(additionalProperties()); diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/PersistenceConfig.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/PersistenceConfig.java index a7a032e..cc0d975 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/PersistenceConfig.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/config/PersistenceConfig.java @@ -48,18 +48,6 @@ "it.eng.parer.kettle.server.persistence.dao" }, entityManagerFactoryRef = "entityManagerFactory", transactionManagerRef = "transactionManager") public class PersistenceConfig { - // @Value("${datasource.username}") - // private String username; - // - // @Value("${datasource.password}") - // private String password; - // - // @Value("${datasource.url}") - // private String dataSourceUrl; - // - // @Value("${datasource.driver.class}") - // private String dataSourceDriverClassName; - @Autowired private Environment env; @@ -67,14 +55,11 @@ public class PersistenceConfig { @Primary public DataSource datasource() throws NamingException { String repoJNDI = env.getProperty("jndi.kettle_ds"); - DataSource dataSource = (DataSource) new JndiTemplate().lookup(repoJNDI); - // DriverManagerDataSource dataSource = new DriverManagerDataSource(); - // dataSource.setDriverClassName(dataSourceDriverClassName); - // dataSource.setUrl(dataSourceUrl); - // dataSource.setUsername(username); - // dataSource.setPassword(password); - - return dataSource; + if (repoJNDI != null) { + return (DataSource) new JndiTemplate().lookup(repoJNDI); + } else { + throw new NamingException("jndi.kettle_ds not found."); + } } // Bean per @EnableJpaRepositories @@ -84,7 +69,7 @@ public LocalContainerEntityManagerFactoryBean entityManagerFactory() throws Nami final LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(datasource()); - em.setPackagesToScan(new String[] { "it.eng.parer.kettle.jpa" }); + em.setPackagesToScan("it.eng.parer.kettle.jpa"); em.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); em.setJpaProperties(additionalProperties()); @@ -112,8 +97,8 @@ final Properties additionalProperties() { final Properties hibernateProperties = new Properties(); hibernateProperties.setProperty("javax.persistence.logging.level", "DEBUG"); hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect"); - // produce output non formattato su catalina.out - // hibernateProperties.setProperty("hibernate.show_sql", "true"); + // produce output non formattato su catalina.out hiberna teProperties.setProp erty("hibernate.show_sql", + // "true"); return hibernateProperties; } } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/DataServiceImpl.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/DataServiceImpl.java index 0f224b2..92d5291 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/DataServiceImpl.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/DataServiceImpl.java @@ -32,8 +32,10 @@ import java.util.List; import org.apache.commons.lang.StringEscapeUtils; import org.dom4j.Document; +import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; +import org.pentaho.di.core.exception.KettleException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -52,6 +54,7 @@ public class DataServiceImpl implements DataService { private static final Logger LOGGER = LoggerFactory.getLogger(DataServiceImpl.class); + private static final String INSTANCE_NAME_PARAMETER = "config.instance_name"; @Autowired private Environment env; @@ -72,7 +75,7 @@ public boolean accettaTrasformazione(Trasformazione trasformazione) { .parseInt(ottieniParametroConfigurazione("transformation.queue")); long lunghezzaCorrenteCodaDiTrasformazione = monitoraggioRepository.countByNmKsInstanceAndTiStatoTrasfIn( - ottieniParametroConfigurazione("config.instance_name"), + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), MonExecTrasf.STATO_TRASFORMAZIONE.IN_CODA_TRASFORMAZIONE, MonExecTrasf.STATO_TRASFORMAZIONE.TRASFORMAZIONE_IN_CORSO); @@ -82,7 +85,7 @@ public boolean accettaTrasformazione(Trasformazione trasformazione) { long idPigObject = trasformazione.getIdOggettoPing(); MonExecTrasf monitoraggio = monitoraggioRepository.findByIdPigObjectAndNmKsInstance(idPigObject, - ottieniParametroConfigurazione("config.instance_name")); + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); if (monitoraggio != null) { // se è già in coda o in corso non accetare la trasformazione, ma potrebbe essere in stato di errore o già // trasformata @@ -101,7 +104,7 @@ public boolean accettaTrasformazione(Trasformazione trasformazione) { monitoraggio.setIdPigObject(idPigObject); } - monitoraggio.setNmKsInstance(ottieniParametroConfigurazione("config.instance_name")); + monitoraggio.setNmKsInstance(ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); monitoraggio.setNmTrasf(trasformazione.getNomeTrasformazione()); monitoraggio.setTiStatoTrasf(MonExecTrasf.STATO_TRASFORMAZIONE.IN_CODA_TRASFORMAZIONE); monitoraggio.setDtInvocazioneWs(new Date()); @@ -116,7 +119,7 @@ public boolean accettaTrasformazione(Trasformazione trasformazione) { public void iniziaTrasformazione(Trasformazione trasformazione) { long idPigObject = trasformazione.getIdOggettoPing(); MonExecTrasf monitoraggio = monitoraggioRepository.findByIdPigObjectAndNmKsInstance(idPigObject, - ottieniParametroConfigurazione("config.instance_name")); + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); if (monitoraggio == null) { throw new TrasformazioneException("Impossibile trovare la trasformazione per l'id oggetto " + idPigObject); } @@ -185,7 +188,7 @@ public void iniziaTrasformazione(Trasformazione trasformazione) { public void terminaTrasformazione(Trasformazione trasformazione) { long idPigObject = trasformazione.getIdOggettoPing(); MonExecTrasf monitoraggio = monitoraggioRepository.findByIdPigObjectAndNmKsInstance(idPigObject, - ottieniParametroConfigurazione("config.instance_name")); + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); if (monitoraggio == null) { throw new TrasformazioneException("Impossibile trovare la trasformazione per l'id oggetto " + idPigObject); } @@ -213,7 +216,7 @@ public void terminaTrasformazione(Trasformazione trasformazione) { public void scartaTrasformazione(Trasformazione trasformazione, String message) throws TrasformazioneException { long idPigObject = trasformazione.getIdOggettoPing(); MonExecTrasf monitoraggio = monitoraggioRepository.findByIdPigObjectAndNmKsInstance(idPigObject, - ottieniParametroConfigurazione("config.instance_name")); + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); if (monitoraggio == null) { throw new TrasformazioneException("Impossibile trovare la trasformazione per l'id oggetto " + idPigObject); } @@ -246,14 +249,14 @@ public void scartaTrasformazione(Trasformazione trasformazione, String message) @Transactional(propagation = Propagation.REQUIRES_NEW) public void eliminaTrasformazione(Trasformazione trasformazione) { monitoraggioRepository.pulisciTrasformazione(trasformazione.getIdOggettoPing(), - ottieniParametroConfigurazione("config.instance_name")); + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER)); } @Override public List ottieniTrasformazioniAttive() { List trasformazioniAttive = new ArrayList<>(); List monitoraggi = monitoraggioRepository.findByNmKsInstanceAndTiStatoTrasf( - ottieniParametroConfigurazione("config.instance_name"), + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), MonExecTrasf.STATO_TRASFORMAZIONE.TRASFORMAZIONE_IN_CORSO); for (MonExecTrasf monitoraggio : monitoraggi) { trasformazioniAttive.add(getStato(monitoraggio)); @@ -265,7 +268,7 @@ public List ottieniTrasformazioniAttive() { public List ottieniTrasformazioniInCoda() { List trasformazioniInCoda = new ArrayList<>(); List monitoraggi = monitoraggioRepository.findByNmKsInstanceAndTiStatoTrasf( - ottieniParametroConfigurazione("config.instance_name"), + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), MonExecTrasf.STATO_TRASFORMAZIONE.IN_CODA_TRASFORMAZIONE); for (MonExecTrasf monitoraggio : monitoraggi) { trasformazioniInCoda.add(getStato(monitoraggio)); @@ -304,7 +307,7 @@ public String ottieniParametroConfigurazione(String nomeParametro) { @Transactional(propagation = Propagation.REQUIRES_NEW) public void reinizializzaEPulisci() { List trasformazioni = monitoraggioRepository.findByNmKsInstanceAndTiStatoTrasf( - ottieniParametroConfigurazione("config.instance_name"), + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), MonExecTrasf.STATO_TRASFORMAZIONE.TRASFORMAZIONE_IN_CORSO); for (MonExecTrasf trasformazione : trasformazioni) { trasformazione.setTiStatoTrasf(MonExecTrasf.STATO_TRASFORMAZIONE.ERRORE_TRASFORMAZIONE); @@ -312,7 +315,7 @@ public void reinizializzaEPulisci() { } trasformazioni = monitoraggioRepository.findByNmKsInstanceAndTiStatoTrasf( - ottieniParametroConfigurazione("config.instance_name"), + ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), MonExecTrasf.STATO_TRASFORMAZIONE.IN_CODA_TRASFORMAZIONE); for (MonExecTrasf trasformazione : trasformazioni) { trasformazione.setTiStatoTrasf(MonExecTrasf.STATO_TRASFORMAZIONE.ERRORE_TRASFORMAZIONE); @@ -343,7 +346,7 @@ public String generaReport(Trasformazione trasformazione) { default: { try { addReportEntry(report, log); - } catch (Exception ex) { + } catch (KettleException | DocumentException ex) { LOGGER.warn(ex.getMessage()); } } @@ -357,9 +360,8 @@ public String generaReport(Trasformazione trasformazione) { return report.asXML(); } - private void addReportEntry(Document report, MonLog log) throws Exception { + private void addReportEntry(Document report, MonLog log) throws KettleException, DocumentException { String[] cdLogs = log.getCdLog().split("/"); - String dsLog = log.getDsLog(); Element currentElement = report.getRootElement(); String xpath = "/Report"; @@ -373,25 +375,31 @@ private void addReportEntry(Document report, MonLog log) throws Exception { currentElement = nextElement; } } else { - throw new Exception("REPORT: " + cdLogs[i] + " non è un elemeto XML valido."); + throw new KettleException("REPORT: " + cdLogs[i] + " non è un elemeto XML valido."); } } if (!cdLogs[cdLogs.length - 1].isEmpty() && isValidName(cdLogs[cdLogs.length - 1])) { - if (log.getFlEscapeXml() == null || log.getFlEscapeXml().equals("1")) { - currentElement = currentElement.addElement(cdLogs[cdLogs.length - 1]); - currentElement.addAttribute("time", log.getDtLog().toString()); - currentElement.addText(dsLog); - } else { - StringBuilder unenscapedElement = new StringBuilder(); - unenscapedElement.append("<").append(cdLogs[cdLogs.length - 1]).append(" time=\"") - .append(log.getDtLog().toString()).append("\" >"); - unenscapedElement.append(dsLog); - unenscapedElement.append(""); - currentElement.add(DocumentHelper.parseText(unenscapedElement.toString()).getRootElement()); - } + addReportElement(log, currentElement, cdLogs[cdLogs.length - 1]); + } else { + throw new KettleException("REPORT: " + cdLogs[cdLogs.length - 1] + " non è un elemeto XML valido."); + } + } + + private void addReportElement(MonLog log, Element currentElement, String content) throws DocumentException { + String dsLog = log.getDsLog(); + + if (log.getFlEscapeXml() == null || log.getFlEscapeXml().equals("1")) { + currentElement = currentElement.addElement(content); + currentElement.addAttribute("time", log.getDtLog().toString()); + currentElement.addText(dsLog); } else { - throw new Exception("REPORT: " + cdLogs[cdLogs.length - 1] + " non è un elemeto XML valido."); + StringBuilder unenscapedElement = new StringBuilder(); + unenscapedElement.append("<").append(content).append(" time=\"").append(log.getDtLog().toString()) + .append("\" >"); + unenscapedElement.append(dsLog); + unenscapedElement.append(""); + currentElement.add(DocumentHelper.parseText(unenscapedElement.toString()).getRootElement()); } } @@ -407,8 +415,9 @@ public List getStoricoTrasformazioni(Date startDate, Date e List monitoraggi = monitoraggioRepository .findByNmKsInstanceAndDtInizioTrasfBetweenAndTiStatoTrasfInOrderByDtInizioTrasfDesc( - PageRequest.of(0, numResults), ottieniParametroConfigurazione("config.instance_name"), + PageRequest.of(0, numResults), ottieniParametroConfigurazione(INSTANCE_NAME_PARAMETER), startDate, endDate, MonExecTrasf.STATO_TRASFORMAZIONE.ERRORE_TRASFORMAZIONE, + MonExecTrasf.STATO_TRASFORMAZIONE.TRASFORMAZIONE_TERMINATA) .getContent(); @@ -424,7 +433,7 @@ public List getStoricoTrasformazioni(Date startDate, Date e * * @param name * string to check - * + * * @return true if name is a valid Name */ private boolean isValidName(String name) { @@ -441,6 +450,7 @@ private boolean isValidName(String name) { if (!isName(remainingChars)) { return false; } + return true; } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/GestoreTrasformazioniImpl.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/GestoreTrasformazioniImpl.java index c102e32..d4394d8 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/GestoreTrasformazioniImpl.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/server/persistence/service/GestoreTrasformazioniImpl.java @@ -29,18 +29,17 @@ import it.eng.parer.kettle.ws.client.S3ClientBean; import it.eng.parer.kettle.ws.client.XformerWsClient; import it.eng.xformer.ws.NotificaOggettoTrasformato; -import it.eng.xformer.ws.NotificaOggettoTrasformatoRisposta; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.GregorianCalendar; import java.util.List; import java.util.ListIterator; import java.util.logging.Level; import javax.activation.DataHandler; +import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.pentaho.di.core.database.DatabaseMeta; @@ -143,9 +142,7 @@ public void inserisciJob(KettleJob job) throws KettleCrudException { } } catch (IOException | KettleException ex) { - if (jobXmlFile != null && !jobXmlFile.delete()) { - LOGGER.warn("Attenzione, non è stato possibile eliminare il file temporaneo {}", jobXmlFile.getName()); - } + FileUtils.deleteQuietly(jobXmlFile); LOGGER.error("Errore durante l'inserimento di un job nel repository: " + ex.getMessage(), ex); throw new KettleCrudException("Errore durante l'inserimento del job nel repository."); } finally { @@ -173,10 +170,7 @@ public void inserisciTransformation(KettleTransformation transformation) throws repository.save(transformationMeta, transformation.getVersione(), new GregorianCalendar(), null, true); } } catch (IOException | KettleException ex) { - if (transformationXmlFile != null && !transformationXmlFile.delete()) { - LOGGER.warn("Attenzione, non è stato possibile eliminare il file temporaneo {}", - transformationXmlFile.getName()); - } + FileUtils.deleteQuietly(transformationXmlFile); LOGGER.error("Errore durante l'inserimento della transformation kettle: " + ex.getMessage(), ex); throw new KettleCrudException( "Errore durante l'inserimento della transformation kettle: " + ex.getMessage(), ex); @@ -274,7 +268,7 @@ public void eseguiTrasformazione(Trasformazione trasformazione) { // MEV 22001 - controlliamo se tra i paramentri ci sono le informazioni per il recupero da Object Storage isObjectStorage = controllaSeTrasformazioneDaObjectStorage(parameters); - if (isObjectStorage == true) { + if (isObjectStorage) { // MAC 27975 if (s3Client.isActive()) { // MEV 22001 nel caso, mettiamo il file temporaneamente su disco, lo cancelleremo alla fine. @@ -339,8 +333,7 @@ public void eseguiTrasformazione(Trasformazione trasformazione) { serviceURL, soapTimeout); // Visto che notificaOggettoTrasformato è internamente un metodo asincrono che ritorna void la risposta sarà // sempre OK - NotificaOggettoTrasformatoRisposta risposta = client - .notificaOggettoTrasformato(trasformazione.getIdOggettoPing(), errors, report); + client.notificaOggettoTrasformato(trasformazione.getIdOggettoPing(), errors, report); } catch (KettleException ex) { dataService.scartaTrasformazione(trasformazione, ex.getMessage()); @@ -369,8 +362,7 @@ public void eseguiTrasformazione(Trasformazione trasformazione) { // se il file veniva da object storage ora bisogna rimuoverlo da disco if (isObjectStorage && !objectStorageFilePath.isEmpty()) { File objectStorageFile = new File(objectStorageFilePath); - if (objectStorageFile.exists()) - objectStorageFile.delete(); + FileUtils.deleteQuietly(objectStorageFile); } dataService.pulisciReport(trasformazione); @@ -422,7 +414,7 @@ public boolean esistenzaCartella(String nomeCartella) { return result; } - private boolean controllaSeTrasformazioneDaObjectStorage(List parameters) throws Exception { + private boolean controllaSeTrasformazioneDaObjectStorage(List parameters) throws KettleException { boolean POSKFound = false; boolean POSBFound = false; @@ -440,7 +432,7 @@ private boolean controllaSeTrasformazioneDaObjectStorage(List paramet // trovato solo uno dei due paramtri necessari, errore! if (POSKFound != POSBFound) { - throw new Exception( + throw new KettleException( "Alcuni dei parametri necessari al recupero del pacchetto da Object Storage sono mancanti."); } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/SOAPClientLoginHandler.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/SOAPClientLoginHandler.java index 735fb7d..e56af3c 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/SOAPClientLoginHandler.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/SOAPClientLoginHandler.java @@ -49,7 +49,7 @@ public class SOAPClientLoginHandler implements SOAPHandler { @Override public boolean handleMessage(SOAPMessageContext msgCtx) { - Boolean outbound = (Boolean) msgCtx.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); + boolean outbound = (boolean) msgCtx.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (outbound) { try { @@ -100,11 +100,12 @@ public boolean handleFault(SOAPMessageContext context) { @Override public void close(MessageContext context) { + // per usi futuri } @Override public Set getHeaders() { - HashSet headers = new HashSet(); + HashSet headers = new HashSet<>(); headers.add(QNAME_WSSE_HEADER); return headers; } diff --git a/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/XformerWsClient.java b/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/XformerWsClient.java index b4a9dd9..c3fff48 100644 --- a/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/XformerWsClient.java +++ b/parer-kettle-server/src/main/java/it/eng/parer/kettle/ws/client/XformerWsClient.java @@ -34,16 +34,19 @@ public class XformerWsClient { private static NotificaOggettoTrasformato_Service notificaOggettoTrasformatoService; + private XformerWsClient() { + } + public static NotificaOggettoTrasformato getNotificaOggettoTrasformatoClient(String username, String password, String serviceURL, Integer timeout) { try { - LOGGER.info("Connessione al WS: " + serviceURL); + LOGGER.info("Connessione al WS: {}", serviceURL); synchronized (XformerWsClient.class) { if (notificaOggettoTrasformatoService == null) { URL wsdlURL = new URL(serviceURL + "?wsdl"); notificaOggettoTrasformatoService = new NotificaOggettoTrasformato_Service(wsdlURL); notificaOggettoTrasformatoService.setHandlerResolver(new SOAPClientLoginHandlerResolver()); - LOGGER.debug("Creato il client service per il WS: " + serviceURL); + LOGGER.debug("Creato il client service per il WS: {}", serviceURL); } } diff --git a/parer-kettle-service/pom.xml b/parer-kettle-service/pom.xml index 0b0b600..0ed1987 100644 --- a/parer-kettle-service/pom.xml +++ b/parer-kettle-service/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-service jar diff --git a/parer-kettle-soap-client/pom.xml b/parer-kettle-soap-client/pom.xml index 0dc603d..c1ed0d9 100644 --- a/parer-kettle-soap-client/pom.xml +++ b/parer-kettle-soap-client/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-soap-client Parer Kettle SOAP Client diff --git a/parer-kettle-soap/pom.xml b/parer-kettle-soap/pom.xml index 9e6543f..396ca05 100644 --- a/parer-kettle-soap/pom.xml +++ b/parer-kettle-soap/pom.xml @@ -4,7 +4,7 @@ it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 parer-kettle-soap Parer Kettle SOAP Service diff --git a/parer-kettle-soap/src/main/java/it/eng/parer/kettle/soap/TrasformazioniSoapServiceImpl.java b/parer-kettle-soap/src/main/java/it/eng/parer/kettle/soap/TrasformazioniSoapServiceImpl.java index 1f4387c..0363e9e 100644 --- a/parer-kettle-soap/src/main/java/it/eng/parer/kettle/soap/TrasformazioniSoapServiceImpl.java +++ b/parer-kettle-soap/src/main/java/it/eng/parer/kettle/soap/TrasformazioniSoapServiceImpl.java @@ -75,7 +75,7 @@ public Esito eseguiTrasformazione(long idOggetto, String nomeTrasformazione, Lis esito.setNomeTrasformazione(nomeTrasformazione); try { if (gestoreTrasformazioni.possoEseguireTrasformazione(trasformazione)) { - LOG.info("Trasformazione accodata per l'id oggetto " + idOggetto); + LOG.info("Trasformazione accodata per l'id oggetto {}", idOggetto); gestoreTrasformazioni.eseguiTrasformazione(trasformazione); diff --git a/pom.xml b/pom.xml index debf165..54e602c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,27 +3,31 @@ 4.0.0 it.eng.parer parer-kettle - 2.1.1-SNAPSHOT + 2.1.1 pom it.eng.parer parer-pom 4.2.0 - - + + + pentaho + + + scm:git:https://github.com/RegioneER/parer-xformer-kettle-server.git HEAD - + github https://maven.pkg.github.com/RegioneER/parer-xformer-kettle-server - + github https://maven.pkg.github.com/RegioneER/parer-framework-parerpom @@ -49,37 +53,37 @@ it.eng.parer parer-kettle-model - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-jpa - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-service - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-soap - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-soap-client - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-rest - 2.1.1-SNAPSHOT + 2.1.1 it.eng.parer parer-kettle-rest-client - 2.1.1-SNAPSHOT + 2.1.1