Skip to content

Commit 3b9cd9a

Browse files
committed
feat: move entities to record
Signed-off-by: Otavio Santana <[email protected]>
1 parent 66a48bb commit 3b9cd9a

File tree

3 files changed

+31
-9
lines changed

3 files changed

+31
-9
lines changed

src/main/java/org/soujava/samples/mongodb/products/Manufacturer.java

+2-9
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,9 @@
55
import jakarta.nosql.Embeddable;
66
import org.soujava.samples.mongodb.products.infra.FieldVisibilityStrategy;
77

8+
89
@Embeddable(Embeddable.EmbeddableType.GROUPING)
910
@JsonbVisibility(FieldVisibilityStrategy.class)
10-
public class Manufacturer {
11-
12-
@Column
13-
private String name;
14-
15-
@Column
16-
private String address;
11+
public record Manufacturer(@Column String name, @Column String address, @Column String contactNumber) {
1712

18-
@Column
19-
private String contactNumber;
2013
}

src/main/java/org/soujava/samples/mongodb/products/Product.java

+26
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.soujava.samples.mongodb.products.infra.FieldVisibilityStrategy;
1010

1111
import java.util.List;
12+
import java.util.Objects;
1213
import java.util.Set;
1314

1415
@Entity
@@ -30,4 +31,29 @@ public class Product {
3031

3132
@Column
3233
private Set<Category> categories;
34+
35+
@Override
36+
public boolean equals(Object o) {
37+
if (o == null || getClass() != o.getClass()) {
38+
return false;
39+
}
40+
Product product = (Product) o;
41+
return Objects.equals(id, product.id);
42+
}
43+
44+
@Override
45+
public int hashCode() {
46+
return Objects.hashCode(id);
47+
}
48+
49+
@Override
50+
public String toString() {
51+
return "Product{" +
52+
"id='" + id + '\'' +
53+
", name='" + name + '\'' +
54+
", manufacturer=" + manufacturer +
55+
", tags=" + tags +
56+
", categories=" + categories +
57+
'}';
58+
}
3359
}

src/main/java/org/soujava/samples/mongodb/products/ProductResource.java

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.data.Sort;
55
import jakarta.data.page.PageRequest;
66
import jakarta.enterprise.context.ApplicationScoped;
7+
import jakarta.inject.Inject;
78
import jakarta.ws.rs.DELETE;
89
import jakarta.ws.rs.DefaultValue;
910
import jakarta.ws.rs.GET;
@@ -27,6 +28,7 @@ public class ProductResource {
2728

2829
private final ProductRepository repository;
2930

31+
@Inject
3032
public ProductResource(ProductRepository repository) {
3133
this.repository = repository;
3234
}
@@ -47,6 +49,7 @@ public List<Product> get(
4749

4850
@POST
4951
public Product insert(Product product) {
52+
LOGGER.info("The product will be saved: " + product);
5053
return repository.save(product);
5154
}
5255

0 commit comments

Comments
 (0)