From 417058317e6621c24622f3ff61822c24ae8d626a Mon Sep 17 00:00:00 2001 From: Giuliano Pintori Date: Mon, 12 Sep 2022 10:40:19 +0200 Subject: [PATCH] Issue #526 Aggiunto campo passwordGovPay per la configurazione della password HTTp-Basic quando si invoca il servizio GET_RT. --- .../put/domini-put-connettoreNetPay.feature | 11 ++-- .../put/msg/dominio-connettore-netpay.json | 5 +- .../model/ConnettoreNotificaPagamenti.java | 23 +++++-- .../ConnettoreNotificaPagamentiConverter.java | 16 +++-- .../backoffice/v1/beans/ConnettoreNetPay.java | 61 +++++++++++++------ .../converter/ConnettoreNetPayConverter.java | 6 +- .../webapp/v1/govpay-api-backoffice-v1.yaml | 18 +++--- 7 files changed, 96 insertions(+), 44 deletions(-) diff --git a/integration-test/src/test/java/test/api/backoffice/v1/domini/put/domini-put-connettoreNetPay.feature b/integration-test/src/test/java/test/api/backoffice/v1/domini/put/domini-put-connettoreNetPay.feature index bbeb7a7a30..b2b6162beb 100644 --- a/integration-test/src/test/java/test/api/backoffice/v1/domini/put/domini-put-connettoreNetPay.feature +++ b/integration-test/src/test/java/test/api/backoffice/v1/domini/put/domini-put-connettoreNetPay.feature @@ -41,9 +41,10 @@ Examples: | field | value | retValue | | abilitato | false | false | | url | 'http://prova.it' | 'http://prova.it' | -| versioneApi | 'SOAP v1' | 'SOAP v1' | +| versioneApi | 'REST v1' | 'REST v1' | | url | 'http://prova.it' | 'http://prova.it' | -| principal | 'username' | 'username' | +| usernameGovPay | 'username' | 'username' | +| passwordGovPay | 'username' | 'username' | | username | 'username' | 'username' | | password | 'username' | 'username' | | ruolo | 'username' | 'username' | @@ -69,8 +70,10 @@ Examples: | versioneApi | versioneApi | 'xxxx' | 'versioneApi' | | url | url | null | 'url' | | url | url | 'xxxx' | 'url' | -| principal | principal | null | 'principal' | -| principal | principal | [ '#(loremIpsum)' ] | 'principal' | +| usernameGovPay | usernameGovPay | null | 'usernameGovPay' | +| usernameGovPay | usernameGovPay | [ '#(loremIpsum)' ] | 'usernameGovPay' | +| passwordGovPay | passwordGovPay | null | 'passwordGovPay' | +| passwordGovPay | passwordGovPay | [ '#(loremIpsum)' ] | 'passwordGovPay' | | username | username | null | 'username' | | username | username | [ '#(loremIpsum)' ] | 'username' | | password | password | null | 'password' | diff --git a/integration-test/src/test/java/test/api/backoffice/v1/domini/put/msg/dominio-connettore-netpay.json b/integration-test/src/test/java/test/api/backoffice/v1/domini/put/msg/dominio-connettore-netpay.json index 0d737ee091..64aa8e5ec1 100644 --- a/integration-test/src/test/java/test/api/backoffice/v1/domini/put/msg/dominio-connettore-netpay.json +++ b/integration-test/src/test/java/test/api/backoffice/v1/domini/put/msg/dominio-connettore-netpay.json @@ -27,9 +27,10 @@ "password" : "password", "ruolo" : "ruolo", "company" : "company", - "principal" : "netpay", + "usernameGovPay" : "netpay", + "passwordGovPay" : "password", "url" : "http://netpay.it", - "versioneApi" : "SOAP v1" + "versioneApi" : "REST v1" }, "intermediato": "true" } \ No newline at end of file diff --git a/jars/orm-beans/src/main/java/it/govpay/model/ConnettoreNotificaPagamenti.java b/jars/orm-beans/src/main/java/it/govpay/model/ConnettoreNotificaPagamenti.java index 7578789b62..45687b53ca 100644 --- a/jars/orm-beans/src/main/java/it/govpay/model/ConnettoreNotificaPagamenti.java +++ b/jars/orm-beans/src/main/java/it/govpay/model/ConnettoreNotificaPagamenti.java @@ -45,7 +45,9 @@ public class ConnettoreNotificaPagamenti extends Connettore implements Cloneable public static final String P_PRINCIPAL_MAGGIOLI = "PRINCIPAL_MAGGIOLI"; - public static final String P_NETPAY_PRINCIPAL = "NETPAY_PRINCIPAL"; + public static final String P_NETPAY_GP_USERNAME = "NETPAY_GP_PRINCIPAL"; + public static final String P_NETPAY_GP_PASSWORD = "NETPAY_GP_PASSWORD"; + public static final String P_NETPAY_URL = "NETPAY_URL"; public static final String P_NETPAY_USERNAME = "NETPAY_USERNAME"; public static final String P_NETPAY_PASSWORD = "NETPAY_PASSWORD"; @@ -83,7 +85,8 @@ public enum Contenuti { private String principalMaggioli; private Integer intervalloCreazioneTracciato; - private String netPayPrincipal; + private String netPayGpUsername; + private String netPayGpPassword; private String netPayURL; private String netPayUsername; private String netPayPassword; @@ -235,12 +238,20 @@ public void setIntervalloCreazioneTracciato(Integer intervalloCreazioneTracciato this.intervalloCreazioneTracciato = intervalloCreazioneTracciato; } - public String getNetPayPrincipal() { - return netPayPrincipal; + public String getNetPayGpUsername() { + return netPayGpUsername; + } + + public void setNetPayGpUsername(String netPayGpUsername) { + this.netPayGpUsername = netPayGpUsername; + } + + public String getNetPayGpPassword() { + return netPayGpPassword; } - public void setNetPayPrincipal(String netPayPrincipal) { - this.netPayPrincipal = netPayPrincipal; + public void setNetPayGpPassword(String netPayGpPassword) { + this.netPayGpPassword = netPayGpPassword; } public String getNetPayURL() { diff --git a/jars/orm/src/main/java/it/govpay/bd/model/converter/ConnettoreNotificaPagamentiConverter.java b/jars/orm/src/main/java/it/govpay/bd/model/converter/ConnettoreNotificaPagamentiConverter.java index ee1709ead2..bc59b89bd7 100644 --- a/jars/orm/src/main/java/it/govpay/bd/model/converter/ConnettoreNotificaPagamentiConverter.java +++ b/jars/orm/src/main/java/it/govpay/bd/model/converter/ConnettoreNotificaPagamentiConverter.java @@ -127,8 +127,12 @@ public static ConnettoreNotificaPagamenti toConnettoreNotificaPagamentiDTO(List< dto.setNetPayPassword(connettore.getValore()); } - if(ConnettoreNotificaPagamenti.P_NETPAY_PRINCIPAL.equals(connettore.getCodProprieta())) { - dto.setNetPayPrincipal(connettore.getValore()); + if(ConnettoreNotificaPagamenti.P_NETPAY_GP_USERNAME.equals(connettore.getCodProprieta())) { + dto.setNetPayGpUsername(connettore.getValore()); + } + + if(ConnettoreNotificaPagamenti.P_NETPAY_GP_PASSWORD.equals(connettore.getCodProprieta())) { + dto.setNetPayGpPassword(connettore.getValore()); } if(ConnettoreNotificaPagamenti.P_NETPAY_RUOLO.equals(connettore.getCodProprieta())) { @@ -339,8 +343,12 @@ public static List toConnettoreNotificaPagamentiVOList voList.add(getConnettoreVO(connettore.getIdConnettore(), ConnettoreNotificaPagamenti.P_NETPAY_PASSWORD, connettore.getNetPayPassword())); } - if(connettore.getNetPayPrincipal() != null && !connettore.getNetPayPrincipal().trim().isEmpty()) { - voList.add(getConnettoreVO(connettore.getIdConnettore(), ConnettoreNotificaPagamenti.P_NETPAY_PRINCIPAL, connettore.getNetPayPrincipal())); + if(connettore.getNetPayGpUsername() != null && !connettore.getNetPayGpUsername().trim().isEmpty()) { + voList.add(getConnettoreVO(connettore.getIdConnettore(), ConnettoreNotificaPagamenti.P_NETPAY_GP_USERNAME, connettore.getNetPayGpUsername())); + } + + if(connettore.getNetPayGpPassword() != null && !connettore.getNetPayGpPassword().trim().isEmpty()) { + voList.add(getConnettoreVO(connettore.getIdConnettore(), ConnettoreNotificaPagamenti.P_NETPAY_GP_PASSWORD, connettore.getNetPayGpPassword())); } if(connettore.getNetPayRuolo() != null && !connettore.getNetPayRuolo().trim().isEmpty()) { diff --git a/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/ConnettoreNetPay.java b/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/ConnettoreNetPay.java index 0b4a61aa15..3ea43a9394 100644 --- a/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/ConnettoreNetPay.java +++ b/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/ConnettoreNetPay.java @@ -17,7 +17,8 @@ @com.fasterxml.jackson.annotation.JsonPropertyOrder({ "abilitato", "versioneApi", -"principal", +"usernameGovPay", +"passwordGovPay", "url", "username", "password", @@ -38,7 +39,7 @@ public enum VersioneApiEnum { - V1("SOAP v1"); + V1("REST v1"); @@ -87,8 +88,11 @@ public String toNameString() { @JsonProperty("versioneApi") private String versioneApi = null; - @JsonProperty("principal") - private String principal = null; + @JsonProperty("usernameGovPay") + private String usernameGovPay = null; + + @JsonProperty("passwordGovPay") + private String passwordGovPay = null; @JsonProperty("url") private String url = null; @@ -151,23 +155,39 @@ public void setVersioneApiEnum(VersioneApiEnum versioneApiEnum) { } /** - * principal autenticato dalla chiamata di Net@Pay + * username per l'autenticazione HTTP-Basic dalla chiamata di Net@Pay + **/ + public ConnettoreNetPay usernameGovPay(String usernameGovPay) { + this.usernameGovPay = usernameGovPay; + return this; + } + + @JsonProperty("usernameGovPay") + public String getUsernameGovPay() { + return usernameGovPay; + } + public void setUsernameGovPay(String usernameGovPay) { + this.usernameGovPay = usernameGovPay; + } + + /** + * password per l'autenticazione HTTP-Basic dalla chiamata di Net@Pay **/ - public ConnettoreNetPay principal(String principal) { - this.principal = principal; + public ConnettoreNetPay passwordGovPay(String passwordGovPay) { + this.passwordGovPay = passwordGovPay; return this; } - @JsonProperty("principal") - public String getPrincipal() { - return principal; + @JsonProperty("passwordGovPay") + public String getPasswordGovPay() { + return passwordGovPay; } - public void setPrincipal(String principal) { - this.principal = principal; + public void setPasswordGovPay(String passwordGovPay) { + this.passwordGovPay = passwordGovPay; } /** - * endpoint del servizio Net@Pay per la Notifica dei pagamenti avvenuti + * endpoint del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze **/ public ConnettoreNetPay url(String url) { this.url = url; @@ -183,7 +203,7 @@ public void setUrl(String url) { } /** - * username per l'autenticazione HTTP-Basic del servizio Net@Pay per la Notifica dei pagamenti avvenuti + * username per l'autenticazione HTTP-Basic del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze **/ public ConnettoreNetPay username(String username) { this.username = username; @@ -199,7 +219,7 @@ public void setUsername(String username) { } /** - * password per l'autenticazione HTTP-Basic del servizio Net@Pay per la Notifica dei pagamenti avvenuti + * password per l'autenticazione HTTP-Basic del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze **/ public ConnettoreNetPay password(String password) { this.password = password; @@ -257,7 +277,8 @@ public boolean equals(java.lang.Object o) { ConnettoreNetPay connettoreNetPay = (ConnettoreNetPay) o; return Objects.equals(abilitato, connettoreNetPay.abilitato) && Objects.equals(versioneApi, connettoreNetPay.versioneApi) && - Objects.equals(principal, connettoreNetPay.principal) && + Objects.equals(usernameGovPay, connettoreNetPay.usernameGovPay) && + Objects.equals(passwordGovPay, connettoreNetPay.passwordGovPay) && Objects.equals(url, connettoreNetPay.url) && Objects.equals(username, connettoreNetPay.username) && Objects.equals(password, connettoreNetPay.password) && @@ -267,7 +288,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(abilitato, versioneApi, principal, url, username, password, ruolo, company); + return Objects.hash(abilitato, versioneApi, usernameGovPay, passwordGovPay, url, username, password, ruolo, company); } public static ConnettoreNetPay parse(String json) throws ServiceException, ValidationException { @@ -286,7 +307,8 @@ public String toString() { sb.append(" abilitato: ").append(toIndentedString(abilitato)).append("\n"); sb.append(" versioneApi: ").append(toIndentedString(versioneApi)).append("\n"); - sb.append(" principal: ").append(toIndentedString(principal)).append("\n"); + sb.append(" usernameGovPay: ").append(toIndentedString(usernameGovPay)).append("\n"); + sb.append(" passwordGovPay: ").append(toIndentedString(passwordGovPay)).append("\n"); sb.append(" url: ").append(toIndentedString(url)).append("\n"); sb.append(" username: ").append(toIndentedString(username)).append("\n"); sb.append(" password: ").append(toIndentedString(password)).append("\n"); @@ -313,7 +335,8 @@ public void validate() throws ValidationException { vf.getValidator("abilitato", this.abilitato).notNull(); if(this.abilitato) { - vf.getValidator("principal", this.principal).notNull().minLength(1).maxLength(255).pattern(CostantiValidazione.PATTERN_USERNAME); + vf.getValidator("usernameGovPay", this.usernameGovPay).notNull().minLength(1).maxLength(255).pattern(CostantiValidazione.PATTERN_USERNAME); + vf.getValidator("passwordGovPay", this.passwordGovPay).notNull().minLength(1).maxLength(255).pattern(CostantiValidazione.PATTERN_PASSWORD_DEFAULT); vf.getValidator("url", this.url).notNull().pattern("https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)"); vf.getValidator("username", this.username).notNull().minLength(1).maxLength(255).pattern(CostantiValidazione.PATTERN_USERNAME); vf.getValidator("password", this.password).notNull().minLength(1).maxLength(255).pattern(CostantiValidazione.PATTERN_PASSWORD_DEFAULT); diff --git a/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/converter/ConnettoreNetPayConverter.java b/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/converter/ConnettoreNetPayConverter.java index 2f772c955b..98da18fc44 100644 --- a/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/converter/ConnettoreNetPayConverter.java +++ b/wars/api-backoffice/src/main/java/it/govpay/backoffice/v1/beans/converter/ConnettoreNetPayConverter.java @@ -17,7 +17,8 @@ public static it.govpay.model.ConnettoreNotificaPagamenti getConnettoreDTO(it.go if(connector.Abilitato()) { connettore.setTipoTracciato(tipo.name()); - connettore.setNetPayPrincipal(connector.getPrincipal()); + connettore.setNetPayGpUsername(connector.getUsernameGovPay()); + connettore.setNetPayGpPassword(connector.getPasswordGovPay()); connettore.setNetPayURL(connector.getUrl()); if(connector.getVersioneApi() != null) connettore.setVersione(Versionabile.Versione.toEnum(VersioneApiEnum.fromValue(connector.getVersioneApi()).toNameString())); @@ -35,7 +36,8 @@ public static it.govpay.backoffice.v1.beans.ConnettoreNetPay toRsModel(it.govpay rsModel.setAbilitato(connettore.isAbilitato()); if(connettore.isAbilitato()) { - rsModel.setPrincipal(connettore.getNetPayPrincipal()); + rsModel.setUsernameGovPay(connettore.getNetPayGpUsername()); + rsModel.setPasswordGovPay(connettore.getNetPayGpPassword()); rsModel.setUrl(connettore.getNetPayURL()); if(connettore.getVersione() != null) rsModel.setVersioneApi(VersioneApiEnum.fromName(connettore.getVersione().getApiLabel()).toString()); diff --git a/wars/api-backoffice/src/main/webapp/v1/govpay-api-backoffice-v1.yaml b/wars/api-backoffice/src/main/webapp/v1/govpay-api-backoffice-v1.yaml index 3e1872a22b..32f4b6f725 100644 --- a/wars/api-backoffice/src/main/webapp/v1/govpay-api-backoffice-v1.yaml +++ b/wars/api-backoffice/src/main/webapp/v1/govpay-api-backoffice-v1.yaml @@ -8166,7 +8166,8 @@ components: type: object required: - abilitato - - principal + - usernameGovPay + - passwordGovPay - url - username - password @@ -8181,20 +8182,23 @@ components: versioneApi: type: string enum: - - 'SOAP v1' + - 'REST v1' description: Versione delle API di integrazione utilizzate. - principal: + usernameGovPay: + type: string + description: username per l'autenticazione HTTP-Basic dalla chiamata di Net@Pay + passwordGovPay: type: string - description: principal autenticato dalla chiamata di Net@Pay + description: password per l'autenticazione HTTP-Basic dalla chiamata di Net@Pay url: type: string - description: endpoint del servizio Net@Pay per la Notifica dei pagamenti avvenuti + description: endpoint del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze username: type: string - description: username per l'autenticazione HTTP-Basic del servizio Net@Pay per la Notifica dei pagamenti avvenuti + description: username per l'autenticazione HTTP-Basic del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze password: type: string - description: password per l'autenticazione HTTP-Basic del servizio Net@Pay per la Notifica dei pagamenti avvenuti + description: password per l'autenticazione HTTP-Basic del servizio Net@Pay per la notifica dei pagamenti avvenuti e per la verifica delle pendenze ruolo: type: string description: Identificativo del ruolo su Net@Pay, inviato all'interno di un header HTTP