Skip to content

Commit

Permalink
Merge branch 'release/4.8.1.RELEASE.20230919'
Browse files Browse the repository at this point in the history
  • Loading branch information
JesusHdez960717 committed Sep 19, 2023
2 parents 970084a + 3cdc37a commit 063e403
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 31 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
* 4.8.1.RELEASE.20230919:
* **GENERAL** :
* **IMPROVEMENT** :raised: : Fix `Jackson` type name class & remove lombok dependencies due to conflict with another project.

* 4.8.0.RELEASE.20230914:
* **DOCS** :
* **IMPROVEMENT** :raised: : Update all docs & examples.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Multilanguage:

This library aims to provide standards and utilities that make work easier when creating microservices.

Docs updated for version: `4.8.0.RELEASE.20230914`
Docs updated for version: `4.8.1.RELEASE.20230919`

## Table of Contents
- [1 - Validations](#1)
Expand Down
7 changes: 1 addition & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {

group = 'dev.root101.clean'

version = '4.8.0.RELEASE.20230914'
version = '4.8.1.RELEASE.20230919'

repositories {
jcenter()
Expand All @@ -26,9 +26,4 @@ dependencies{
implementation 'com.fasterxml.jackson.core:jackson-core:2.14.2'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.14.2'

//lombok
implementation 'org.projectlombok:lombok:1.18.26'
compileOnly 'org.projectlombok:lombok:1.18.26'
annotationProcessor 'org.projectlombok:lombok:1.18.26'
}
15 changes: 7 additions & 8 deletions src/main/java/dev/root101/clean/core/rest/ResponseExtractor.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import dev.root101.clean.core.exceptions.InternalServerErrorException;
import java.util.function.Function;
import java.util.function.Supplier;
import lombok.extern.slf4j.Slf4j;
import java.util.logging.Logger;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpStatusCodeException;
Expand All @@ -19,7 +19,6 @@
* @author Yo
* @param <T>
*/
@Slf4j
public class ResponseExtractor<T> {

private static boolean logs = true;
Expand All @@ -38,42 +37,42 @@ public static <T> T extract(Supplier<ResponseEntity<T>> suplier) {

private Function<ResponseEntity<T>, T> onOkResponseCode = (response) -> {
if (logs) {
log.info(response.toString());
System.out.println(response.toString());
}
return response.getBody();
};

private Function<ResponseEntity<T>, T> onNotOkResponseCode = (response) -> {
if (logs) {
log.info(response.toString());
System.out.println(response.toString());
}
throw ApiException.build(response.getStatusCode());
};

private Function<org.springframework.web.client.HttpStatusCodeException, T> onHttpStatusCodeException = (exc) -> {
if (logs) {
log.error(exc.toString());
System.out.println(exc.toString());
}
throw ApiException.build(exc.getStatusCode());
};

private Function<ApiException, T> onApiException = (apiExc) -> {
if (logs) {
log.error(apiExc.toString());
System.out.println(apiExc.toString());
}
throw apiExc;
};

private Function<org.springframework.web.client.UnknownHttpStatusCodeException, T> onUnknownHttpStatusCodeException = (unk) -> {
if (logs) {
log.error(unk.toString());
System.out.println(unk.toString());
}
throw new ApiException(unk.getRawStatusCode(), unk.getResponseBodyAsString());
};

private Function<Exception, T> onGeneralException = (exc) -> {
if (logs) {
log.error(exc.toString());
System.out.println(exc.toString());
}
throw new InternalServerErrorException("Unknown error. Contact support.");
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@
import java.util.stream.Stream;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.Assert;

@Slf4j
public class EnumValidatorRegister_ListOfString implements ConstraintValidator<EnumValidator, List<String>> {

//general comparator in case EnumValidator don't implement EnumValidatorComparator interface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
import java.util.stream.Stream;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.Assert;

@Slf4j
public class EnumValidatorRegister_String implements ConstraintValidator<EnumValidator, String> {

//general comparator in case EnumValidator don't implement EnumValidatorComparator interface
Expand Down
23 changes: 17 additions & 6 deletions src/main/java/dev/root101/clean/core/wrappers/SearchDetails.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,7 @@
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.PositiveOrZero;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SearchDetails {

@NotNull
Expand All @@ -31,4 +25,21 @@ public class SearchDetails {
@Sort
@JsonProperty("sort")
Map<String, String> sort;

public int getPage() {
return page;
}

public int getSize() {
return size;
}

public Map<String, String> getFilter() {
return filter;
}

public Map<String, String> getSort() {
return sort;
}

}
25 changes: 19 additions & 6 deletions src/main/java/dev/root101/clean/core/wrappers/SearchResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Page;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class SearchResponse<T> {

@JsonProperty("total_pages")
Expand All @@ -28,4 +22,23 @@ public static <T> SearchResponse<T> build(Page<T> page) {
page.getContent()
);
}

private SearchResponse(int totalPages, long totalElements, List<T> data) {
this.totalPages = totalPages;
this.totalElements = totalElements;
this.data = data;
}

public int getTotalPages() {
return totalPages;
}

public long getTotalElements() {
return totalElements;
}

public List<T> getData() {
return data;
}

}

0 comments on commit 063e403

Please sign in to comment.