Skip to content

Commit 3e270f4

Browse files
committed
Converting records to classes
- Converting records to normal classes because of JSON serialization doesn't work correctly.
1 parent ad32733 commit 3e270f4

File tree

6 files changed

+66
-34
lines changed

6 files changed

+66
-34
lines changed

product-composite-service/src/main/java/com/siriusxi/ms/store/pcs/controller/ProductCompositeServiceImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ private ProductAggregate createProductAggregate(Product product, List<Recommenda
5959
// 3. Copy summary review info, if available
6060
List<ReviewSummary> reviewSummaries = (reviews == null) ? null :
6161
reviews.stream()
62-
.map(r -> new ReviewSummary(r.reviewId(), r.author(), r.subject()))
62+
.map(r -> new ReviewSummary(r.getReviewId(), r.getAuthor(), r.getSubject()))
6363
.collect(Collectors.toList());
6464

6565
// 4. Create info regarding the involved microservices addresses
6666
String productAddress = product.getServiceAddress();
67-
String reviewAddress = (reviews != null && !reviews.isEmpty()) ? reviews.get(0).serviceAddress() : "";
67+
String reviewAddress = (reviews != null && !reviews.isEmpty()) ? reviews.get(0).getServiceAddress() : "";
6868
String recommendationAddress = (recommendations != null && !recommendations.isEmpty()) ?
6969
recommendations.get(0).getServiceAddress() : "";
7070
ServiceAddresses serviceAddresses = new ServiceAddresses(
Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
package com.siriusxi.ms.store.api.composite.product.dto;
22

3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
37
import java.util.List;
48

5-
//FIXME need a custom JSON serializer to be converted to JSON correctly
6-
public record ProductAggregate(
7-
int productId,
8-
String name,
9-
int weight,
10-
List<RecommendationSummary> recommendations,
11-
List<ReviewSummary>reviews,
12-
ServiceAddresses serviceAddresses) {
9+
@Data
10+
@NoArgsConstructor(force = true)
11+
@AllArgsConstructor
12+
public class ProductAggregate {
13+
private final int productId;
14+
private final String name;
15+
private final int weight;
16+
private final List<RecommendationSummary> recommendations;
17+
private final List<ReviewSummary> reviews;
18+
private final ServiceAddresses serviceAddresses;
1319
}
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package com.siriusxi.ms.store.api.composite.product.dto;
22

3-
//FIXME need a custom JSON serializer to be converted to JSON correctly
4-
public record RecommendationSummary(
5-
int recommendationId,
6-
String author,
7-
int rate) {
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
@Data
8+
@NoArgsConstructor(force = true)
9+
@AllArgsConstructor
10+
public class RecommendationSummary {
11+
private final int recommendationId;
12+
private final String author;
13+
private final int rate;
814
}
Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package com.siriusxi.ms.store.api.composite.product.dto;
22

3-
//FIXME need a custom JSON serializer to be converted to JSON correctly
4-
public record ReviewSummary(
5-
int reviewId,
6-
String author,
7-
String subject) {
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
@Data
8+
@NoArgsConstructor(force = true)
9+
@AllArgsConstructor
10+
public class ReviewSummary {
11+
private final int reviewId;
12+
private final String author;
13+
private final String subject;
814
}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
package com.siriusxi.ms.store.api.composite.product.dto;
22

3-
//FIXME need a custom JSON serializer to be converted to JSON correctly
4-
public record ServiceAddresses(
5-
String cmp,
6-
String pro,
7-
String rev,
8-
String rec) {
3+
4+
import lombok.AllArgsConstructor;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
8+
@Data
9+
@NoArgsConstructor(force = true)
10+
@AllArgsConstructor
11+
public class ServiceAddresses {
12+
private final String productCompositeService;
13+
private final String productService;
14+
private final String reviewService;
15+
private final String recommendationService;
916
}
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
package com.siriusxi.ms.store.api.core.review;
2-
//FIXME need a custom JSON serializer to be converted to JSON correctly
3-
public record Review(
4-
int productId,
5-
int reviewId,
6-
String author,
7-
String subject,
8-
String content,
9-
String serviceAddress) {
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Data;
5+
import lombok.NoArgsConstructor;
6+
7+
@Data
8+
@NoArgsConstructor(force = true)
9+
@AllArgsConstructor
10+
public class Review {
11+
private final int productId;
12+
private final int reviewId;
13+
private final String author;
14+
private final String subject;
15+
private final String content;
16+
private final String serviceAddress;
1017
}

0 commit comments

Comments
 (0)