From 69fde1bfd3c434460eb1f3b255bbde6d4fc2aa6e Mon Sep 17 00:00:00 2001 From: PabLim-Par Date: Fri, 25 Oct 2024 23:40:12 +0000 Subject: [PATCH 1/4] Feat: adds Custom Exception --- .../lesson14/ecommerce/Order.java | 16 +++++++++++++--- .../ecommerce/OrderNotFoundException.java | 6 +++++- .../lesson14/ecommerce/Product.java | 18 ++++++++++++++++-- .../ecommerce/ProductNotFoundException.java | 6 +++++- 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java index ffd8c4aba..0bdb88bef 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java @@ -11,15 +11,25 @@ public Order(String orderId, Product product, int quantity) { this.quantity = quantity; } - public String getOrderId() { + public String getOrderId() throws OrderNotFoundException { + if (orderId == null) { + throw new OrderNotFoundException("This order does not match any in our records"); + } return orderId; } - public Product getProduct() { + public Product getProduct() throws OrderNotFoundException { + if (product == null) { + throw new OrderNotFoundException("This Product is not in our system."); + } return product; } - public int getQuantity() { + public int getQuantity() throws OrderNotFoundException { + if (quantity == 0) { + throw new OrderNotFoundException("Out of Stock."); + } + return quantity; } } 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..50607ed33 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 {} +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/Product.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java index 6ebe44fee..c67aa458d 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java @@ -9,11 +9,25 @@ public Product(String productId, String name) { this.name = name; } - public String getProductId() { + public String getProductId() /*throws ProductNotFoundException*/ { + if (productId == null) { + try { + throw new ProductNotFoundException("The product ID can not be found."); + } catch (ProductNotFoundException e) { + System.out.println(e); + } + } return productId; } - public String getName() { + public String getName() /*throws ProductNotFoundException*/ { + if (name == null) { + try { + throw new ProductNotFoundException("Nothing matches that name"); + } catch (ProductNotFoundException e) { + System.out.println(e); + } + } return name; } } 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..196ac84ac 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 {} +class ProductNotFoundException extends Exception { + public ProductNotFoundException(String message) { + super(message); + } +} From 651165f0cc1bb7828eeb5f137a285d145694ce35 Mon Sep 17 00:00:00 2001 From: PabLim-Par Date: Sat, 26 Oct 2024 02:16:43 +0000 Subject: [PATCH 2/4] Feat: adds Ecommerce Exception Code --- .../lesson14/ecommerce/EcommerceSystem.java | 10 ++++++++-- .../codedifferently/lesson14/ecommerce/Product.java | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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..0fdebfe1b 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,11 @@ 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) { + throw new ProductNotFoundException("Product with ID 1 not found"); + } String orderId = UUID.randomUUID().toString(); orders.put(orderId, new Order(orderId, product, quantity)); return orderId; @@ -28,8 +31,11 @@ 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) { + throw new OrderNotFoundException("Order with ID 1 not found"); + } return "Order ID: " + orderId + ", Product: " diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java index c67aa458d..d43223448 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java @@ -9,7 +9,7 @@ public Product(String productId, String name) { this.name = name; } - public String getProductId() /*throws ProductNotFoundException*/ { + public String getProductId() { if (productId == null) { try { throw new ProductNotFoundException("The product ID can not be found."); @@ -20,7 +20,7 @@ public String getProductId() /*throws ProductNotFoundException*/ { return productId; } - public String getName() /*throws ProductNotFoundException*/ { + public String getName() { if (name == null) { try { throw new ProductNotFoundException("Nothing matches that name"); From 9659ffb182218df77b8547c2c7770a5fbbfec9c1 Mon Sep 17 00:00:00 2001 From: PabLim-Par Date: Sat, 26 Oct 2024 23:07:42 +0000 Subject: [PATCH 3/4] Fix: reverts changes to Product and Order.Java files --- .../codedifferently/lesson14/ecommerce/Order.java | 10 ---------- .../lesson14/ecommerce/Product.java | 14 -------------- 2 files changed, 24 deletions(-) diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java index 0bdb88bef..501eacbc2 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java @@ -12,24 +12,14 @@ public Order(String orderId, Product product, int quantity) { } public String getOrderId() throws OrderNotFoundException { - if (orderId == null) { - throw new OrderNotFoundException("This order does not match any in our records"); - } return orderId; } public Product getProduct() throws OrderNotFoundException { - if (product == null) { - throw new OrderNotFoundException("This Product is not in our system."); - } return product; } public int getQuantity() throws OrderNotFoundException { - if (quantity == 0) { - throw new OrderNotFoundException("Out of Stock."); - } - return quantity; } } diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java index d43223448..6ebe44fee 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Product.java @@ -10,24 +10,10 @@ public Product(String productId, String name) { } public String getProductId() { - if (productId == null) { - try { - throw new ProductNotFoundException("The product ID can not be found."); - } catch (ProductNotFoundException e) { - System.out.println(e); - } - } return productId; } public String getName() { - if (name == null) { - try { - throw new ProductNotFoundException("Nothing matches that name"); - } catch (ProductNotFoundException e) { - System.out.println(e); - } - } return name; } } From 968d2fd34aa2e861690211125a5e84b4fb8e626e Mon Sep 17 00:00:00 2001 From: PabLim-Par Date: Sun, 27 Oct 2024 01:07:29 +0000 Subject: [PATCH 4/4] Fix: reverts Order.Java file and updates EccomerceSystem file for productId and orderId message --- .../codedifferently/lesson14/ecommerce/EcommerceSystem.java | 4 ++-- .../java/com/codedifferently/lesson14/ecommerce/Order.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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 0fdebfe1b..b0ebe1151 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 @@ -20,7 +20,7 @@ public void addProduct(String productId, String name) { public String placeOrder(String productId, int quantity) throws ProductNotFoundException { Product product = products.get(productId); if (product == null) { - throw new ProductNotFoundException("Product with ID 1 not found"); + throw new ProductNotFoundException("Product with ID " + productId + " not found"); } String orderId = UUID.randomUUID().toString(); orders.put(orderId, new Order(orderId, product, quantity)); @@ -34,7 +34,7 @@ public void cancelOrder(String orderId) { public String checkOrderStatus(String orderId) throws OrderNotFoundException { Order order = orders.get(orderId); if (order == null) { - throw new OrderNotFoundException("Order with ID 1 not found"); + throw new OrderNotFoundException("Order with ID " + orderId + " not found"); } return "Order ID: " + orderId diff --git a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java index 501eacbc2..ffd8c4aba 100644 --- a/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java +++ b/lesson_14/exceptions/exceptions_app/src/main/java/com/codedifferently/lesson14/ecommerce/Order.java @@ -11,15 +11,15 @@ public Order(String orderId, Product product, int quantity) { this.quantity = quantity; } - public String getOrderId() throws OrderNotFoundException { + public String getOrderId() { return orderId; } - public Product getProduct() throws OrderNotFoundException { + public Product getProduct() { return product; } - public int getQuantity() throws OrderNotFoundException { + public int getQuantity() { return quantity; } }