Skip to content

Commit

Permalink
[NOD-781] feat: major code and structure refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
andrea-deri committed Mar 27, 2024
1 parent 832c61c commit b2d57af
Show file tree
Hide file tree
Showing 50 changed files with 393 additions and 605 deletions.
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>${openfeign-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.client;
package it.gov.pagopa.wispconverter.client.decoupler;

import feign.FeignException;
import it.gov.pagopa.wispconverter.config.client.DecouplerCachingFeignConfig;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package it.gov.pagopa.wispconverter.client;
package it.gov.pagopa.wispconverter.client.gpd;

import feign.FeignException;
import it.gov.pagopa.wispconverter.client.gpd.model.MultiplePaymentPosition;
import it.gov.pagopa.wispconverter.config.client.GPDFeignConfig;
import it.gov.pagopa.wispconverter.model.client.gpd.MultiplePaymentPosition;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.retry.annotation.Backoff;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import java.util.EnumSet;
import java.util.Set;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package it.gov.pagopa.wispconverter.client.gpd.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
@NoArgsConstructor
public class PaymentOption implements Serializable {

private String nav;

private String iuv;

private Long amount;

private String description;

private Boolean isPartialPayment;

private LocalDateTime dueDate;

private LocalDateTime retentionDate;

private long fee;

private long notificationFee;

private List<Transfer> transfer = new ArrayList<>();

private List<PaymentOptionMetadata> paymentOptionMetadata = new ArrayList<>();
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package it.gov.pagopa.wispconverter.client.gpd.model;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
@NoArgsConstructor
public class PaymentPosition implements Serializable {

private String iupd;

private Type type;

private String fiscalCode;

private String fullName;

private String streetName;

private String civicNumber;

private String postalCode;

private String city;

private String province;

private String region;

private String country;

private String email;

private String phone;

private Boolean switchToExpired;

private String companyName;

private String officeName;

private LocalDateTime validityDate;

private LocalDateTime paymentDate;

private DebtPositionStatus status;

private List<PaymentOption> paymentOption = new ArrayList<>();
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.gpd;
package it.gov.pagopa.wispconverter.client.gpd.model;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package it.gov.pagopa.wispconverter.client.gpd.model;

public enum Type {
F, G
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package it.gov.pagopa.wispconverter.client;
package it.gov.pagopa.wispconverter.client.iuvgenerator;

import feign.FeignException;
import it.gov.pagopa.wispconverter.client.iuvgenerator.model.IUVGeneratorRequest;
import it.gov.pagopa.wispconverter.client.iuvgenerator.model.IUVGeneratorResponse;
import it.gov.pagopa.wispconverter.config.client.IUVGeneratorFeignConfig;
import it.gov.pagopa.wispconverter.model.client.iuvgenerator.IUVGeneratorRequest;
import it.gov.pagopa.wispconverter.model.client.iuvgenerator.IUVGeneratorResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.retry.annotation.Backoff;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.iuvgenerator;
package it.gov.pagopa.wispconverter.client.iuvgenerator.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package it.gov.pagopa.wispconverter.model.client.iuvgenerator;
package it.gov.pagopa.wispconverter.client.iuvgenerator.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.azure.spring.data.cosmos.config.CosmosConfig;
import com.azure.spring.data.cosmos.core.ResponseDiagnostics;
import com.azure.spring.data.cosmos.core.ResponseDiagnosticsProcessor;
import com.azure.spring.data.cosmos.core.mapping.EnableCosmosAuditing;
import com.azure.spring.data.cosmos.repository.config.EnableCosmosRepositories;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
Expand All @@ -20,7 +21,7 @@
@Configuration
@EnableCosmosRepositories("it.gov.pagopa.wispconverter.repository")
@EnableConfigurationProperties
//@EnableCosmosAuditing
@EnableCosmosAuditing
@ConditionalOnExpression("'${properties.environment}'!='test'")
@Slf4j
public class CosmosDBConfig extends AbstractCosmosConfiguration {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import org.springframework.context.annotation.Scope;

import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

Expand All @@ -23,9 +22,4 @@ public DocumentBuilderFactory documentBuilderFactory() throws ParserConfiguratio
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
return dbf;
}

@Bean
public DocumentBuilder documentBuilder(DocumentBuilderFactory documentBuilderFactory) throws ParserConfigurationException {
return documentBuilderFactory.newDocumentBuilder();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package it.gov.pagopa.wispconverter.config;

import com.fasterxml.jackson.databind.ObjectMapper;
import it.gov.pagopa.wispconverter.model.AppCorsConfiguration;
import it.gov.pagopa.wispconverter.config.model.AppCors;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
Expand All @@ -10,7 +10,7 @@


@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
public class WebMvcConfig implements WebMvcConfigurer {

@Value("${cors.configuration}")
private String corsConfiguration;
Expand All @@ -19,11 +19,11 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
@SneakyThrows
@Override
public void addCorsMappings(CorsRegistry registry) {
AppCorsConfiguration appCorsConfiguration = new ObjectMapper().readValue(corsConfiguration,
AppCorsConfiguration.class);
AppCors appCors = new ObjectMapper().readValue(corsConfiguration,
AppCors.class);
registry.addMapping("/**")
.allowedOrigins(appCorsConfiguration.getOrigins())
.allowedMethods(appCorsConfiguration.getMethods());
.allowedOrigins(appCors.getOrigins())
.allowedMethods(appCors.getMethods());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ public abstract class AuthFeignConfig {

static final String HEADER_REQUEST_ID = "X-Request-Id";
static final String HEADER_SUBSCRIPTION_KEY = "Ocp-Apim-Subscription-Key";
protected String subscriptionKey;

@Bean
public RequestInterceptor requestIdInterceptor() {
return requestTemplate -> requestTemplate
.header(HEADER_REQUEST_ID, MDC.get("requestId"))
.header(HEADER_SUBSCRIPTION_KEY, subscriptionKey);
.header(HEADER_SUBSCRIPTION_KEY, getSubscriptionKey());
}

public abstract String getSubscriptionKey();
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package it.gov.pagopa.wispconverter.config.client;

import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class DecouplerCachingFeignConfig extends AuthFeignConfig {

private static final String DECOUPLER_CACHING_SUBSCRIPTION_KEY = "${client.decoupler-caching.subscription-key}";
@Value("${client.decoupler-caching.subscription-key}")
private String subscriptionKey;

@Autowired
public DecouplerCachingFeignConfig(@Value(DECOUPLER_CACHING_SUBSCRIPTION_KEY) String subscriptionKey) {
this.subscriptionKey = subscriptionKey;
@Override
public String getSubscriptionKey() {
return this.subscriptionKey;
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package it.gov.pagopa.wispconverter.config.client;

import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class GPDFeignConfig extends AuthFeignConfig {

private static final String GPD_SUBKEY_PLACEHOLDER = "${client.gpd.subscription-key}";
@Value("${client.gpd.subscription-key}")
private String subscriptionKey;

@Autowired
public GPDFeignConfig(@Value(GPD_SUBKEY_PLACEHOLDER) String subscriptionKey) {
this.subscriptionKey = subscriptionKey;
@Override
public String getSubscriptionKey() {
return this.subscriptionKey;
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package it.gov.pagopa.wispconverter.config.client;

import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
@RequiredArgsConstructor
public class IUVGeneratorFeignConfig extends AuthFeignConfig {

private static final String IUVGENERATOR_SUBKEY_PLACEHOLDER = "${client.iuv-generator.subscription-key}";
@Value("${client.iuv-generator.subscription-key}")
private String subscriptionKey;

@Autowired
public IUVGeneratorFeignConfig(@Value(IUVGENERATOR_SUBKEY_PLACEHOLDER) String subscriptionKey) {
this.subscriptionKey = subscriptionKey;
@Override
public String getSubscriptionKey() {
return this.subscriptionKey;
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
package it.gov.pagopa.wispconverter.model;
package it.gov.pagopa.wispconverter.config.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.*;

@Data
@Builder(toBuilder = true)
Expand All @@ -16,7 +11,7 @@
@ToString
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class AppCorsConfiguration {
public class AppCors {

private String[] origins;
private String[] methods;
Expand Down
Loading

0 comments on commit b2d57af

Please sign in to comment.