diff --git a/api/build.gradle b/api/build.gradle index 3d7b2e5..32b685a 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -25,7 +25,7 @@ plugins { id 'com.github.hierynomus.license' version '0.15.0' id 'org.nosphere.apache.rat' version '0.6.0' id 'com.jfrog.artifactory' version '4.15.1' - id 'org.springframework.boot' version '2.2.6.RELEASE' + id 'org.springframework.boot' version '2.4.1' id 'maven-publish' id 'java' } @@ -35,10 +35,11 @@ apply from: '../shared.gradle' dependencies { compile( [group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign'], + [group: 'org.springframework', name: 'spring-jms', version: '5.3.9'], [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi], - [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator], - [group: 'io.github.openfeign.form', name: 'feign-form', version: '2.1.0'], - [group: 'io.github.openfeign.form', name: 'feign-form-spring', version: '2.1.0'] + [group: 'org.hibernate.validator', name: 'hibernate-validator', version: versions.hibernatevalidator], + [group: 'io.github.openfeign.form', name: 'feign-form-spring', version: '3.8.0'], + [group: 'io.github.openfeign', name: 'feign-gson', version: '11.6'] ) testCompile( diff --git a/component-test/build.gradle b/component-test/build.gradle index dc21046..d12e993 100644 --- a/component-test/build.gradle +++ b/component-test/build.gradle @@ -17,7 +17,7 @@ buildscript { ext { - springBootVersion = '2.2.6.RELEASE' + springBootVersion = '2.4.1' } repositories { @@ -33,7 +33,7 @@ plugins { id 'com.github.hierynomus.license' version '0.15.0' id 'org.nosphere.apache.rat' version '0.6.0' id 'com.jfrog.artifactory' version '4.15.1' - id 'org.springframework.boot' version '2.2.6.RELEASE' + id 'org.springframework.boot' version '2.4.1' id 'maven-publish' id 'java' } @@ -54,7 +54,7 @@ dependencies { [group: 'org.apache.fineract.cn.anubis', name: 'test', version: versions.frameworkanubis], [group: 'org.springframework.boot', name: 'spring-boot-starter-test'], [group: 'org.springframework.restdocs', name: 'spring-restdocs-mockmvc'], - [group: 'junit', name: 'junit', version: '4.12'] + [group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.0'] ) } diff --git a/component-test/src/main/java/org/apache/fineract/cn/customer/CustomerApiDocumentation.java b/component-test/src/main/java/org/apache/fineract/cn/customer/CustomerApiDocumentation.java index 0ac8347..cf37475 100644 --- a/component-test/src/main/java/org/apache/fineract/cn/customer/CustomerApiDocumentation.java +++ b/component-test/src/main/java/org/apache/fineract/cn/customer/CustomerApiDocumentation.java @@ -1385,7 +1385,7 @@ public void documentUploadPortrait ( ) throws Exception { final MockMultipartFile portrait = new MockMultipartFile("portrait", "portrait.png", MediaType.IMAGE_PNG_VALUE, "i don't care".getBytes()); - this.mockMvc.perform(MockMvcRequestBuilders.fileUpload("/customers/" + customer.getIdentifier() + "/portrait") + this.mockMvc.perform(MockMvcRequestBuilders.multipart("/customers/" + customer.getIdentifier() + "/portrait") .file(portrait)) .andExpect(status().isAccepted()) .andDo(document("document-upload-portrait")); @@ -1447,7 +1447,7 @@ public void documentReplacePortrait ( ) throws Exception { final MockMultipartFile secondFile = new MockMultipartFile("portrait", "test.png", MediaType.IMAGE_PNG_VALUE, "i care".getBytes()); - this.mockMvc.perform(MockMvcRequestBuilders.fileUpload("/customers/" + customer.getIdentifier() + "/portrait") + this.mockMvc.perform(MockMvcRequestBuilders.multipart("/customers/" + customer.getIdentifier() + "/portrait") .file(secondFile)) .andExpect(status().isAccepted()) .andDo(document("document-replace-portrait")); diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4b4429..4d9ca16 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/service/build.gradle b/service/build.gradle index 5ff91dd..340a1d9 100644 --- a/service/build.gradle +++ b/service/build.gradle @@ -17,7 +17,7 @@ buildscript { ext { - springBootVersion = '2.2.6.RELEASE' + springBootVersion = '2.4.1' } repositories { jcenter() @@ -28,7 +28,7 @@ plugins { id 'com.github.hierynomus.license' version '0.15.0' id 'org.nosphere.apache.rat' version '0.6.0' id 'com.jfrog.artifactory' version '4.15.1' - id 'org.springframework.boot' version '2.2.6.RELEASE' + id 'org.springframework.boot' version '2.4.1' id 'maven-publish' id 'java' id 'idea' @@ -54,9 +54,9 @@ dependencies { [group: 'org.apache.fineract.cn', name: 'cassandra', version: versions.frameworkcassandra], [group: 'org.apache.fineract.cn', name: 'postgresql', version: versions.frameworkpostgresql], [group: 'org.apache.fineract.cn', name: 'command', version: versions.frameworkcommand], - [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator], - [group: 'io.netty', name: 'netty-all', version: '4.1.39.Final'], - [group: 'io.netty', name: 'netty-transport-native-epoll', version: '4.1.39.Final'] + [group: 'org.hibernate.validator', name: 'hibernate-validator', version: versions.hibernatevalidator], + [group: 'io.netty', name: 'netty-all', version: '4.1.55.Final'], + [group: 'io.netty', name: 'netty-transport-native-epoll', version: '4.1.55.Final'] ) } diff --git a/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/CustomerAggregate.java b/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/CustomerAggregate.java index 7ac1785..e15c33e 100644 --- a/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/CustomerAggregate.java +++ b/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/CustomerAggregate.java @@ -138,7 +138,7 @@ public String createCustomer(final CreateCustomerCommand createCustomerCommand) final CustomerEntity savedCustomerEntity = this.customerRepository.save(customerEntity); if (customer.getContactDetails() != null) { - this.contactDetailRepository.save( + this.contactDetailRepository.saveAll( customer.getContactDetails() .stream() .map(contact -> { @@ -352,10 +352,10 @@ public String updateContactDetails(final UpdateContactDetailsCommand updateConta customerEntity.setLastModifiedOn(LocalDateTime.now(Clock.systemUTC())); final List oldContactDetails = this.contactDetailRepository.findByCustomer(customerEntity); - this.contactDetailRepository.delete(oldContactDetails); + this.contactDetailRepository.deleteAll(oldContactDetails); if (updateContactDetailsCommand.contactDetails() != null) { - this.contactDetailRepository.save( + this.contactDetailRepository.saveAll( updateContactDetailsCommand.contactDetails() .stream() .map(contact -> { @@ -430,7 +430,7 @@ public String deleteIdentificationCard(final DeleteIdentificationCardCommand del final List cardScanEntities = this.identificationCardScanRepository.findByIdentificationCard(identificationCardEntity); - this.identificationCardScanRepository.delete(cardScanEntities); + this.identificationCardScanRepository.deleteAll(cardScanEntities); this.identificationCardRepository.delete(identificationCardEntity); @@ -538,7 +538,7 @@ public String deletePortrait(final DeletePortraitCommand deletePortraitCommand) } private void setCustomValues(final Customer customer, final CustomerEntity savedCustomerEntity) { - this.fieldValueRepository.save( + this.fieldValueRepository.saveAll( customer.getCustomValues() .stream() .map(value -> { diff --git a/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/TaskAggregate.java b/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/TaskAggregate.java index 47c2026..1e52661 100644 --- a/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/TaskAggregate.java +++ b/service/src/main/java/org/apache/fineract/cn/customer/internal/command/handler/TaskAggregate.java @@ -136,7 +136,7 @@ public void onCustomerCommand(final CustomerEntity customerEntity, Command.Actio final List predefinedTasks = this.taskDefinitionRepository.findByAssignedCommandsContaining(action.name()); if (predefinedTasks != null && predefinedTasks.size() > 0) { - this.taskInstanceRepository.save( + this.taskInstanceRepository.saveAll( predefinedTasks .stream() .filter(TaskDefinitionEntity::isPredefined) diff --git a/service/src/main/java/org/apache/fineract/cn/customer/rest/config/CustomerRestConfiguration.java b/service/src/main/java/org/apache/fineract/cn/customer/rest/config/CustomerRestConfiguration.java index 316647e..31205b2 100644 --- a/service/src/main/java/org/apache/fineract/cn/customer/rest/config/CustomerRestConfiguration.java +++ b/service/src/main/java/org/apache/fineract/cn/customer/rest/config/CustomerRestConfiguration.java @@ -39,7 +39,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @EnableAutoConfiguration @@ -59,7 +59,7 @@ CustomerServiceConfiguration.class }) @EnableConfigurationProperties({UploadProperties.class}) -public class CustomerRestConfiguration extends WebMvcConfigurerAdapter { +public class CustomerRestConfiguration implements WebMvcConfigurer { public CustomerRestConfiguration() { super(); @@ -69,9 +69,4 @@ public CustomerRestConfiguration() { public Logger logger(final ApplicationName applicationName) { return LoggerFactory.getLogger(applicationName.getServiceName()); } - - @Override - public void configurePathMatch(final PathMatchConfigurer configurer) { - configurer.setUseSuffixPatternMatch(Boolean.FALSE); - } } diff --git a/service/src/main/java/org/apache/fineract/cn/customer/rest/controller/CustomerRestController.java b/service/src/main/java/org/apache/fineract/cn/customer/rest/controller/CustomerRestController.java index aac80ca..1c5b96c 100644 --- a/service/src/main/java/org/apache/fineract/cn/customer/rest/controller/CustomerRestController.java +++ b/service/src/main/java/org/apache/fineract/cn/customer/rest/controller/CustomerRestController.java @@ -753,7 +753,7 @@ private Pageable createPageRequest(final Integer pageIndex, final Integer size, final Integer sizeToUse = size != null ? size : 20; final String sortColumnToUse = sortColumn != null ? sortColumn : "identifier"; final Sort.Direction direction = sortDirection != null ? Sort.Direction.valueOf(sortDirection.toUpperCase()) : Sort.Direction.ASC; - return new PageRequest(pageIndexToUse, sizeToUse, direction, sortColumnToUse); + return PageRequest.of(pageIndexToUse, sizeToUse, direction, sortColumnToUse); } private void throwIfCustomerNotExists(final String identifier) { diff --git a/shared.gradle b/shared.gradle index 6b586b5..a747fa2 100644 --- a/shared.gradle +++ b/shared.gradle @@ -27,7 +27,7 @@ ext.versions = [ frameworkcommand : 'spring_boot_2-SNAPSHOT', frameworktest: 'spring_boot_2-SNAPSHOT', frameworkanubis: 'spring_boot_2-SNAPSHOT', - validator : '5.3.0.Final' + hibernatevalidator : '6.1.6.Final' ] apply plugin: 'java' @@ -48,20 +48,16 @@ repositories { dependencyManagement { imports { - mavenBom 'io.spring.platform:platform-bom:Cairo-SR8' - mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR3' + mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR9' } } // override certain dependency provided by Spring platform using newer releases -ext['cassandra.version'] = '3.6' -ext['cassandra-driver.version'] = '3.1.2' -ext['activemq.version'] = '5.13.2' -ext['spring-data-releasetrain.version'] = 'Gosling-SR2A' + dependencies { compile( - [group: 'com.google.code.findbugs', name: 'jsr305'], + [group: 'com.github.spotbugs', name: 'spotbugs', version: '4.2.0'], [group: 'org.apache.fineract.cn', name: 'postgresql', version: versions.frameworkpostgresql], [group: 'org.postgresql', name: 'postgresql', version: '42.2.12'] )