From 46862a3253a9d33eb0f52d4d2c3311e8f2b3a113 Mon Sep 17 00:00:00 2001 From: jbey251 Date: Sat, 5 Apr 2025 03:42:20 +0000 Subject: [PATCH 1/4] CHORE: Added the neeeded exceptions. --- .../com/codedifferently/lesson14/Lesson14.java | 1 + .../lesson14/ecommerce/EcommerceSystem.java | 16 ++++++++++++++-- .../ecommerce/OrderNotFoundException.java | 6 +++++- .../ecommerce/ProductNotFoundException.java | 6 +++++- .../lesson14/ecommerce/EcommerceSystemTest.java | 2 +- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java index eaeb97baf..bd82785e6 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java @@ -3,6 +3,7 @@ public class Lesson14 { public static void main(String[] args) { + System.out.println("Hello World"); } } diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java index 77cf26937..397efee70 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/EcommerceSystem.java @@ -17,8 +17,14 @@ public void addProduct(String productId, String name) { products.put(productId, new Product(productId, name)); } - public String placeOrder(String productId, int quantity) { + public String placeOrder(String productId, int quantity) throws ProductNotFoundException { Product product = products.get(productId); + + if (product == null) { + // This will throw a custom exception when order is not found, or null. + throw new ProductNotFoundException("Product with ID " + productId + " not found"); + } + String orderId = UUID.randomUUID().toString(); orders.put(orderId, new Order(orderId, product, quantity)); return orderId; @@ -28,8 +34,14 @@ public void cancelOrder(String orderId) { orders.remove(orderId); } - public String checkOrderStatus(String orderId) { + public String checkOrderStatus(String orderId) throws OrderNotFoundException { Order order = orders.get(orderId); + + if (order == null) { + // This will throw a custom exception when order is not found, or null. + throw new OrderNotFoundException("Order with ID " + orderId + " not found"); + } + return "Order ID: " + orderId + ", Product: " diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java index 0104e0ab8..2cfd03893 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java @@ -5,4 +5,8 @@ package com.codedifferently.lesson14.ecommerce; -class OrderNotFoundException {} +public class OrderNotFoundException extends Exception { + public OrderNotFoundException(String message) { + super(message); + } +} diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java index 25aa814eb..8a173e51f 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/ProductNotFoundException.java @@ -5,4 +5,8 @@ package com.codedifferently.lesson14.ecommerce; -class ProductNotFoundException {} +public class ProductNotFoundException extends Exception { + public ProductNotFoundException(String message) { + super(message); + } +} diff --git a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java index 52194dfa3..cb290d281 100644 --- a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java +++ b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java @@ -58,7 +58,7 @@ void testCancelOrder() throws Exception { } @Test - void testCheckOrderStatus_orderDoesNotExist() { + void testCheckOrderStatus_orderDoesNotExist() throws Exception { // Act assertThatThrownBy(() -> ecommerceSystem.checkOrderStatus("1")) .isInstanceOf(OrderNotFoundException.class) From 9952bf99521c706a4993746bbdd96438bcbaba56 Mon Sep 17 00:00:00 2001 From: jbey251 Date: Mon, 7 Apr 2025 14:01:25 +0000 Subject: [PATCH 2/4] CHORE: Lesson 14 - Added the needed exceptions --- .../lesson14/ecommerce/OrderNotFoundException.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java index 2cfd03893..3c20f5411 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/OrderNotFoundException.java @@ -7,6 +7,6 @@ public class OrderNotFoundException extends Exception { public OrderNotFoundException(String message) { - super(message); + super(message); } } From cdd1c52e971ca45196079bc80ec8f204f60ad14b Mon Sep 17 00:00:00 2001 From: jbey251 Date: Sat, 19 Apr 2025 04:23:36 +0000 Subject: [PATCH 3/4] fix: Reverted the unnecessary changes for Lesson14.java & EcommerceSystemTest.java --- .../src/main/java/com/codedifferently/lesson14/Lesson14.java | 3 +-- .../lesson14/ecommerce/EcommerceSystemTest.java | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java index bd82785e6..f5dbee844 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java @@ -3,7 +3,6 @@ public class Lesson14 { public static void main(String[] args) { - System.out.println("Hello World"); } -} +} \ No newline at end of file diff --git a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java index cb290d281..0571f1c52 100644 --- a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java +++ b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java @@ -2,7 +2,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -58,7 +57,7 @@ void testCancelOrder() throws Exception { } @Test - void testCheckOrderStatus_orderDoesNotExist() throws Exception { + void testCheckOrderStatus_orderDoesNotExist() { // Act assertThatThrownBy(() -> ecommerceSystem.checkOrderStatus("1")) .isInstanceOf(OrderNotFoundException.class) @@ -82,4 +81,4 @@ void testCheckOrderStatus_orderCancelled() throws Exception { .isInstanceOf(OrderNotFoundException.class) .hasMessage("Order with ID 58 not found"); } -} +} \ No newline at end of file From ffc24bba551fca131fef6b0bd2f5451fc38fc6fd Mon Sep 17 00:00:00 2001 From: jbey251 Date: Sat, 19 Apr 2025 04:28:44 +0000 Subject: [PATCH 4/4] fix: Reverted the unnecessary changes for Lesson14.java & EcommerceSystemTest.java --- .../src/main/java/com/codedifferently/lesson14/Lesson14.java | 2 +- .../lesson14/ecommerce/EcommerceSystemTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java index f5dbee844..eaeb97baf 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/Lesson14.java @@ -5,4 +5,4 @@ public class Lesson14 { public static void main(String[] args) { System.out.println("Hello World"); } -} \ No newline at end of file +} diff --git a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java index 0571f1c52..52194dfa3 100644 --- a/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java +++ b/lesson_14/exceptions/exceptions_app/src/test/java/com/codedifferently/lesson14/ecommerce/EcommerceSystemTest.java @@ -2,6 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -81,4 +82,4 @@ void testCheckOrderStatus_orderCancelled() throws Exception { .isInstanceOf(OrderNotFoundException.class) .hasMessage("Order with ID 58 not found"); } -} \ No newline at end of file +}