From f048e0fe3eca0af562ab7ed74545df7ac2630516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Rasie=C5=84ski?= Date: Wed, 14 Jan 2026 18:39:14 +0100 Subject: [PATCH 1/2] Fixed error when adding ingredient --- commons/src/main/java/commons/Ingredient.java | 7 +++---- server/src/main/java/server/service/RecipeService.java | 8 ++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/commons/src/main/java/commons/Ingredient.java b/commons/src/main/java/commons/Ingredient.java index 682deb1..c824912 100644 --- a/commons/src/main/java/commons/Ingredient.java +++ b/commons/src/main/java/commons/Ingredient.java @@ -20,13 +20,12 @@ public class Ingredient { @Id @GeneratedValue(strategy = GenerationType.AUTO) - public long id; + public Long id; // FIXME Dec 22 2025::temporarily made this not a unique constraint because of weird JPA behaviour @Column(name = "name", nullable = false, unique = false) public String name; - @Column(name = "protein", nullable = false) public double proteinPer100g; @@ -70,7 +69,7 @@ public class Ingredient { + fatPer100g * KCAL_PER_GRAM_FAT; } - public void setId(long id) { + public void setId(Long id) { this.id = id; } @@ -86,7 +85,7 @@ public class Ingredient { return carbsPer100g; } - public long getId() { + public Long getId() { return id; } diff --git a/server/src/main/java/server/service/RecipeService.java b/server/src/main/java/server/service/RecipeService.java index 14e819a..ef219a5 100644 --- a/server/src/main/java/server/service/RecipeService.java +++ b/server/src/main/java/server/service/RecipeService.java @@ -1,5 +1,6 @@ package server.service; +import commons.Ingredient; import commons.Recipe; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; @@ -88,8 +89,11 @@ public class RecipeService { recipeIngredient.setIngredient( ingredientRepository .findByName(recipeIngredient.getIngredient().name) - .orElseGet(() -> ingredientRepository.save(recipeIngredient.getIngredient()) - )) + .orElseGet(() -> { + Ingredient i = recipeIngredient.getIngredient(); + i.setId(null); + return ingredientRepository.save(i); + })) ); recipeIngredientRepository.saveAll(recipe.getIngredients()); return recipeRepository.save(recipe); From d37d95f1d45a6bf5b6b193e0577cbf949df580f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Rasie=C5=84ski?= Date: Wed, 14 Jan 2026 18:45:27 +0100 Subject: [PATCH 2/2] fixed ingredient test --- commons/src/test/java/commons/IngredientTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/commons/src/test/java/commons/IngredientTest.java b/commons/src/test/java/commons/IngredientTest.java index aeae121..6550a9f 100644 --- a/commons/src/test/java/commons/IngredientTest.java +++ b/commons/src/test/java/commons/IngredientTest.java @@ -3,6 +3,7 @@ package commons; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; class IngredientTest { @@ -25,7 +26,7 @@ class IngredientTest { assertEquals(ZERO, sugar.proteinPer100g); assertEquals(ZERO, sugar.fatPer100g); assertEquals(HUNDRED, sugar.carbsPer100g); - assertEquals(0L, sugar.id); + assertNull(sugar.id); } @Test