diff --git a/client/pom.xml b/client/pom.xml
index 509f836..3bd793a 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -118,18 +118,6 @@
compile
-
- org.slf4j
- jul-to-slf4j
- 2.0.17
-
-
-
- ch.qos.logback
- logback-classic
- 1.5.20
-
-
diff --git a/client/src/main/java/client/Main.java b/client/src/main/java/client/Main.java
index 0c22fda..a0bd716 100644
--- a/client/src/main/java/client/Main.java
+++ b/client/src/main/java/client/Main.java
@@ -15,17 +15,8 @@
*/
package client;
-import org.slf4j.bridge.SLF4JBridgeHandler;
-
public class Main {
- static {
- // Choose SLF4J Logger (Spring Boot) for JavaFX.
- SLF4JBridgeHandler.removeHandlersForRootLogger();
- SLF4JBridgeHandler.install();
- }
public static void main(String[] args){
-
-
UI.launch(UI.class, args);
}
}
\ No newline at end of file
diff --git a/client/src/main/java/client/scenes/FoodpalApplicationCtrl.java b/client/src/main/java/client/scenes/FoodpalApplicationCtrl.java
index cdbd565..2453ccd 100644
--- a/client/src/main/java/client/scenes/FoodpalApplicationCtrl.java
+++ b/client/src/main/java/client/scenes/FoodpalApplicationCtrl.java
@@ -6,7 +6,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import java.util.logging.Logger;
import java.util.stream.Collectors;
import client.exception.InvalidModificationException;
@@ -46,7 +45,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
private final WebSocketUtils webSocketUtils;
private final LocaleManager localeManager;
private final WebSocketDataService dataService;
- private final Logger logger = Logger.getLogger(FoodpalApplicationCtrl.class.getName());
+
@FXML
private RecipeDetailCtrl recipeDetailController;
@@ -94,31 +93,24 @@ public class FoodpalApplicationCtrl implements LocaleAware {
this.configService = configService;
this.dataService = recipeDataService;
setupDataService();
- logger.info("WebSocket processor initialized.");
initializeWebSocket();
- logger.info("WebSocket connection handler initialized.");
- logger.info("Main application controller initialized.");
}
private void setupDataService() {
dataService.setMessageParser((msg) -> switch (msg) {
case CreateRecipeMessage _ -> (m) -> {
CreateRecipeMessage crm = (CreateRecipeMessage) m;
- logger.info("Server informs us of creation of recipe: " + crm.getRecipe());
return handleCreateRecipeMessage(crm);
};
case UpdateRecipeMessage _ -> (m) -> {
UpdateRecipeMessage urm = (UpdateRecipeMessage) m;
- logger.info("Server informs us of update for recipe: " + urm.getRecipe());
return handleUpdateRecipeMessage(urm);
};
case DeleteRecipeMessage _ -> (m) -> {
DeleteRecipeMessage drm = (DeleteRecipeMessage) m;
- logger.info("Server informs us of the deletion of recipe with ID: " + drm.getRecipeId());
return handleDeleteRecipeMessage(drm);
};
case FavouriteRecipeMessage _ -> (m) -> {
FavouriteRecipeMessage frm = (FavouriteRecipeMessage) m;
- logger.info("Server informs us of a favourite recipe being deleted: " + frm.getRecipeId());
return handleFavouriteRecipeMessage(frm);
};
default -> throw new IllegalStateException("Unexpected value: " + msg);
@@ -193,7 +185,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
this.recipeList.getItems().setAll(recipes);
- logger.info("Search returned " + recipes.size() + " recipes.");
+ System.out.println("Search returned " + recipes.size() + " recipes.");
// Restore selection, if possible
if (newIndex != -1) {
@@ -271,9 +263,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
recipes = server.getRecipesFiltered(searchBarController.getFilter());
} catch (IOException | InterruptedException e) {
recipes = Collections.emptyList();
- String msg = "Failed to load recipes: " + e.getMessage();
- logger.severe(msg);
- printError(msg);
+ System.err.println("Failed to load recipes: " + e.getMessage());
}
allRecipes = new ArrayList<>(recipes);
@@ -305,10 +295,7 @@ public class FoodpalApplicationCtrl implements LocaleAware {
dataService.add(newRecipe.getId(), recipe -> {
this.recipeList.getSelectionModel().select(recipe);
openSelectedRecipe();
- Platform.runLater(() -> {
- logger.info("Focused recipe title edit box.");
- this.recipeDetailController.editRecipeTitle();
- });
+ Platform.runLater(() -> this.recipeDetailController.editRecipeTitle());
});
recipeList.refresh();
} catch (IOException | InterruptedException e) {
diff --git a/client/src/main/java/client/scenes/LangSelectMenuCtrl.java b/client/src/main/java/client/scenes/LangSelectMenuCtrl.java
index 41df1bd..1df3e54 100644
--- a/client/src/main/java/client/scenes/LangSelectMenuCtrl.java
+++ b/client/src/main/java/client/scenes/LangSelectMenuCtrl.java
@@ -15,7 +15,6 @@ import javafx.util.StringConverter;
import java.io.InputStream;
import java.util.Locale;
-import java.util.logging.Logger;
/**
* The language selection menu controller.
@@ -23,7 +22,6 @@ import java.util.logging.Logger;
* getLocaleString(String) function is available.
*/
public class LangSelectMenuCtrl implements LocaleAware {
- private final Logger logger = Logger.getLogger(LangSelectMenuCtrl.class.getName());
public ComboBox langSelectMenu;
private final LocaleManager manager;
@@ -39,7 +37,6 @@ public class LangSelectMenuCtrl implements LocaleAware {
@FXML
private void switchLocale(ActionEvent event) {
String lang = langSelectMenu.getSelectionModel().getSelectedItem();
- logger.info("Switching locale to " + lang);
manager.setLocale(Locale.of(lang));
}
diff --git a/client/src/main/java/client/scenes/recipe/RecipeDetailCtrl.java b/client/src/main/java/client/scenes/recipe/RecipeDetailCtrl.java
index 716a128..0675407 100644
--- a/client/src/main/java/client/scenes/recipe/RecipeDetailCtrl.java
+++ b/client/src/main/java/client/scenes/recipe/RecipeDetailCtrl.java
@@ -207,7 +207,7 @@ public class RecipeDetailCtrl implements LocaleAware {
try {
server.updateRecipe(this.recipe);
- // this.refresh();
+ this.refresh();
} catch (IOException | InterruptedException e) {
// throw a nice blanket UpdateException
throw new UpdateException("Error occurred when updating recipe name!");
diff --git a/client/src/main/java/client/utils/ConfigService.java b/client/src/main/java/client/utils/ConfigService.java
index 54c7036..d1d70c6 100644
--- a/client/src/main/java/client/utils/ConfigService.java
+++ b/client/src/main/java/client/utils/ConfigService.java
@@ -7,12 +7,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import java.nio.file.Path;
import java.io.File;
import java.io.IOException;
-import java.util.logging.Logger;
public class ConfigService {
private final Path configPath;
private final ObjectMapper mapper = new ObjectMapper();
- private final Logger logger = Logger.getLogger(ConfigService.class.getName());
private Config config;
@@ -72,10 +70,9 @@ public class ConfigService {
try {
File file = configPath.toFile(); // file is the config file here
mapper.writeValue(file, config); // here we edit the value of the file using config
- logger.info("Config saved to " + file.getAbsolutePath());
+
}
- catch (Exception e) {
- logger.severe("Something bad happened while saving the config: " + e.getMessage());
+ catch (Exception e){
throw new RuntimeException(e);
}
}
diff --git a/client/src/main/java/client/utils/ServerUtils.java b/client/src/main/java/client/utils/ServerUtils.java
index 9c89508..cb91e76 100644
--- a/client/src/main/java/client/utils/ServerUtils.java
+++ b/client/src/main/java/client/utils/ServerUtils.java
@@ -18,14 +18,12 @@ import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.ArrayList;
import java.util.List;
-import java.util.logging.Logger;
import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON;
public class ServerUtils {
private static final String SERVER = "http://localhost:8080/api";
- private Logger logger = Logger.getLogger(ServerUtils.class.getName());
private final HttpClient client;
private final ObjectMapper objectMapper = new ObjectMapper();
private final int statusOK = 200;
@@ -50,10 +48,9 @@ public class ServerUtils {
throw new IOException("No recipe to get. Server responds with " + response.body());
}
- List list = objectMapper.readValue(response.body(), new TypeReference>() {
- });
- logger.info("Received response from server: " + list);
- return list; // JSON string-> List (Jackson)
+
+ return objectMapper.readValue(response.body(), new TypeReference>() {
+ });// JSON string-> List (Jackson)
}
public List getRecipesFiltered(String filter) throws IOException, InterruptedException {
diff --git a/client/src/main/java/client/utils/WebSocketDataService.java b/client/src/main/java/client/utils/WebSocketDataService.java
index 52d0b1f..659d91b 100644
--- a/client/src/main/java/client/utils/WebSocketDataService.java
+++ b/client/src/main/java/client/utils/WebSocketDataService.java
@@ -10,10 +10,8 @@ import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import java.util.function.Function;
-import java.util.logging.Logger;
public class WebSocketDataService {
- private Logger logger = Logger.getLogger(WebSocketDataService.class.getName());
public WebSocketDataService() {
}
@@ -51,11 +49,7 @@ public class WebSocketDataService {
*/
public boolean add(ID id, Consumer onComplete) {
CompletableFuture future = new CompletableFuture<>();
- future.thenAccept(onComplete.andThen(_ -> {
- logger.info("Item " + id + " resolved. Removing from pending register.");
- pendingRegister.remove(id);
- }));
- logger.info("Item " + id + " pending propagation. Adding to pending register.");
+ future.thenAccept(onComplete.andThen(_ -> pendingRegister.remove(id)));
return pendingRegister.putIfAbsent(id, future) == null;
}
public boolean add(ID id) {
diff --git a/client/src/main/java/client/utils/WebSocketUtils.java b/client/src/main/java/client/utils/WebSocketUtils.java
index bb070be..ed16b37 100644
--- a/client/src/main/java/client/utils/WebSocketUtils.java
+++ b/client/src/main/java/client/utils/WebSocketUtils.java
@@ -14,13 +14,11 @@ import java.lang.reflect.Type;
import java.util.function.Consumer;
import javax.annotation.Nullable;
import java.util.concurrent.CompletableFuture;
-import java.util.logging.Logger;
public class WebSocketUtils {
private static final String WS_URL = "ws://localhost:8080/updates";
private WebSocketStompClient stompClient;
private StompSession stompSession;
- private Logger logger = Logger.getLogger(WebSocketUtils.class.getName());
/**
* Connect to the websocket server.
@@ -38,19 +36,21 @@ public class WebSocketUtils {
@Override
public void afterConnected(StompSession session, StompHeaders connectedHeaders) {
stompSession = session;
- logger.info("WebSocket connected with session ID: " + session.getSessionId());
+ System.out.println("WebSocket connected: " + session.getSessionId());
}
@Override
public void handleException(StompSession session, @Nullable StompCommand command,
StompHeaders headers, byte[] payload,
Throwable exception) {
- logger.severe("STOMP error: " + exception.getMessage());
+ System.err.println("STOMP error: " + exception.getMessage());
+ exception.printStackTrace();
}
@Override
public void handleTransportError(StompSession session, Throwable exception) {
- logger.severe("STOMP transport error: " + exception.getMessage());
+ System.err.println("STOMP transport error: " + exception.getMessage());
+ exception.printStackTrace();
}
}
);
diff --git a/commons/src/main/java/commons/Ingredient.java b/commons/src/main/java/commons/Ingredient.java
index 5704b74..dd93aab 100644
--- a/commons/src/main/java/commons/Ingredient.java
+++ b/commons/src/main/java/commons/Ingredient.java
@@ -103,14 +103,6 @@ public class Ingredient {
public int hashCode() {
return Objects.hash(id, name, proteinPer100g, fatPer100g, carbsPer100g);
}
-
- @Override
- public String toString() {
- return "Ingredient " + id + " - " + name +
- "= P:" + proteinPer100g +
- "/F:" + fatPer100g +
- "/C:" + carbsPer100g + " per 100g";
- }
}
diff --git a/commons/src/main/java/commons/Recipe.java b/commons/src/main/java/commons/Recipe.java
index 5c9b19e..1ae1f83 100644
--- a/commons/src/main/java/commons/Recipe.java
+++ b/commons/src/main/java/commons/Recipe.java
@@ -157,10 +157,12 @@ public class Recipe {
@Override
public String toString() {
- return "Recipe " + id +
- " - " + name +
- ": " + ingredients.size() + " ingredients / " +
- preparationSteps.size() + " steps";
+ return "Recipe{" +
+ "id=" + id +
+ ", name='" + name + '\'' +
+ ", ingredientsCount=" + ingredients.size() +
+ ", preparationStepsCount=" + preparationSteps.size() +
+ "}";
}
@SuppressWarnings("unused")
diff --git a/server/src/main/java/server/api/RecipeController.java b/server/src/main/java/server/api/RecipeController.java
index e2143e7..37a2a78 100644
--- a/server/src/main/java/server/api/RecipeController.java
+++ b/server/src/main/java/server/api/RecipeController.java
@@ -24,19 +24,16 @@ import server.service.RecipeService;
import java.util.List;
import java.util.Optional;
-import java.util.logging.Logger;
@RestController
@RequestMapping("/api")
public class RecipeController {
- private static final Logger logger = Logger.getLogger(RecipeController.class.getName());
private final SimpMessagingTemplate messagingTemplate;
private final RecipeService recipeService;
public RecipeController(RecipeService recipeService, SimpMessagingTemplate messagingTemplate) {
this.recipeService = recipeService;
this.messagingTemplate = messagingTemplate;
- logger.info("Initialized controller.");
}
/**
@@ -49,7 +46,6 @@ public class RecipeController {
*/
@GetMapping("/recipe/{id}")
public ResponseEntity getRecipe(@PathVariable Long id) {
- logger.info("GET /recipe/" + id + " called.");
return recipeService.findById(id)
.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.notFound().build());
@@ -64,7 +60,6 @@ public class RecipeController {
*/
@GetMapping("/recipes")
public ResponseEntity> getRecipes(@RequestParam Optional limit) {
- logger.info("GET /recipes called.");
return ResponseEntity.ok(
// Choose the right overload. One has a limit, other doesn't.
limit.map(recipeService::findAll).orElseGet(recipeService::findAll)
@@ -81,7 +76,6 @@ public class RecipeController {
*/
@PostMapping("/recipe/{id}")
public ResponseEntity updateRecipe(@PathVariable Long id, @RequestBody Recipe recipe) {
- logger.info("POST /recipe/" + id + " called.");
return recipeService.update(id, recipe)
.map(saved -> {
messagingTemplate.convertAndSend(Topics.RECIPES, new UpdateRecipeMessage(saved)); // Send to WS.
@@ -102,7 +96,6 @@ public class RecipeController {
*/
@PutMapping("/recipe/new")
public ResponseEntity createRecipe(@RequestBody Recipe recipe) {
- logger.info("POST /recipe/new called.");
return recipeService.create(recipe)
.map(saved -> {
messagingTemplate.convertAndSend(Topics.RECIPES, new CreateRecipeMessage(saved)); // Send to WS.
@@ -121,7 +114,6 @@ public class RecipeController {
*/
@DeleteMapping("/recipe/{id}")
public ResponseEntity deleteRecipe(@PathVariable Long id) {
- logger.info("DELETE /recipe/" + id + " called.");
if (!recipeService.delete(id)) {
return ResponseEntity.badRequest().build();
}