diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java index 3e17d724a814fdec4b2d3c9e6c7ad080189a1196..5739186b1615078320f2f84c61fe287df99a2787 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java @@ -68,7 +68,7 @@ public class FridgeController { } try { - if (fridgeService.addProductToFridge(groupId, productId, request.amount(), request.days()).isPresent()) { + if (fridgeService.addProductToFridge(groupId,productId, request.amount(), request.days()).isPresent()) { return ResponseEntity.ok("Success"); } return ResponseEntity.badRequest().body("Product already exists in the fridge"); diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductAsso.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductAsso.java index a51e4e2f5471f5c7780cda4ec96d0c19f9243eff..1253eccd031f150cfa0d843e2309df28d1e1e936 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductAsso.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductAsso.java @@ -13,26 +13,23 @@ import java.sql.Date; @Getter @Setter @Entity(name = "fridge_product") @Builder -@IdClass(FridgeProductId.class) public class FridgeProductAsso { @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "fridge_product_id") private long id; @ManyToOne - @MapsId("fridge_id") @JoinColumn(name = "fridge_id") @JsonIgnoreProperties({"products"}) private Fridge fridgeId; @ManyToOne - @MapsId("ean") @JoinColumn(name = "ean") @JsonIgnoreProperties({"fridges"}) private Product ean; - @MapsId("purchase_date") @Column(name = "purchase_date") private Date purchaseDate; diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductId.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductId.java deleted file mode 100644 index 932babae66e437de1ae5dd1b9ee432065863bd9b..0000000000000000000000000000000000000000 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/fridgeProduct/FridgeProductId.java +++ /dev/null @@ -1,28 +0,0 @@ -package ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct; - - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.sql.Date; - -/** - * This class represents a fridge product association id - * @author Birk - * @version 1.0 - * @since 25.04.2023 - */ -@EqualsAndHashCode -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class FridgeProductId implements Serializable { - private long fridgeId; - - private long ean; - - private Date purchaseDate; -} diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java index df60c1927b011215ab81200ff3af34d78d871bf9..5255fccd80e32b249f7739dffa9f97624f4e5088 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeProductAssoRepository.java @@ -1,10 +1,8 @@ package ntnu.idatt2016.v233.SmartMat.repository.group; import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso; -import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductId; import org.springframework.data.jpa.repository.JpaRepository; -import java.util.List; import java.util.Optional; /** @@ -13,6 +11,6 @@ import java.util.Optional; * @version 1.0 * @since 25.04.2023 */ -public interface FridgeProductAssoRepository extends JpaRepository<FridgeProductAsso, FridgeProductId> { +public interface FridgeProductAssoRepository extends JpaRepository<FridgeProductAsso, Long> { Optional<FridgeProductAsso> findById(long id); } diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java index acb95f92da394a7ac8c46d686eb5c951e5006aae..f6ade4c976ffa25ef7cf362ae9f35df5977d066c 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoService.java @@ -47,7 +47,6 @@ public class FridgeProductAssoService { fridgeProductAsso.getFridgeId().getProducts().remove(fridgeProductAsso); fridgeProductAsso.getEan().getFridges().remove(fridgeProductAsso); fridgeProductAssoRepository.delete(fridgeProductAsso); - fridgeRepository.save(fridgeProductAsso.getFridgeId()); productRepository.save(fridgeProductAsso.getEan()); diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java index a4849f979a9c5490ea16120102c47797fb36d3b3..4256e0efd207fb868c1f49b5a0f32e73bce30668 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java @@ -69,12 +69,7 @@ public class FridgeService { Fridge fridge = fridgeRepository.findByGroupGroupId(groupId).orElseThrow(() -> new IllegalArgumentException("Fridge does not exist")); if (product.isPresent()) { - Product productToAdd = product.get(); - FridgeProductAsso temp = FridgeProductAsso.builder().fridgeId(fridge).ean(productToAdd).amount(amount).daysToExpiration(days).build(); - if (fridge.getProducts().contains(temp)) { - return Optional.empty(); - } - return Optional.of(fridgeProductAssoService.createFridgeProductAsso(fridge, productToAdd,amount,days)); + return Optional.of(fridgeProductAssoService.createFridgeProductAsso(fridge, product.get(),amount,days)); } else { return Optional.empty(); } diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java index 777986ebd2e879f81e8504902eec232b18ee0ce7..e8dc0870cbfecd98f43c9a85e4ab725a60797e6c 100644 --- a/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java +++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeProductAssoServiceTest.java @@ -1,11 +1,9 @@ package ntnu.idatt2016.v233.SmartMat.service.group; import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso; -import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductId; import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge; import ntnu.idatt2016.v233.SmartMat.entity.product.Product; import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeProductAssoRepository; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -13,9 +11,6 @@ import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; import java.sql.Date; -import java.time.Instant; -import java.time.LocalDate; -import java.util.List; import java.util.Optional; import static org.junit.jupiter.api.Assertions.*;