From 4649b58859d83e0b57fa0e994e6eca88216e029e Mon Sep 17 00:00:00 2001 From: Marvin Scham Date: Tue, 23 May 2023 07:27:16 +0200 Subject: [PATCH] Provided descriptions + todo for empty classes --- .../api/client/AmazonProductDataSource.java | 20 +++++++------------ .../data/connector/DatabaseConnector.java | 5 +++++ .../de/rwu/easydrop/data/dao/ProductDAO.java | 5 +++++ .../de/rwu/easydrop/data/model/Product.java | 5 +++++ .../service/mapping/ProductMapper.java | 8 ++++++++ .../service/processing/OrderManager.java | 5 +++++ .../service/validation/ProductValidator.java | 5 +++++ 7 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/main/java/de/rwu/easydrop/api/client/AmazonProductDataSource.java b/src/main/java/de/rwu/easydrop/api/client/AmazonProductDataSource.java index 762c929..c3378ea 100644 --- a/src/main/java/de/rwu/easydrop/api/client/AmazonProductDataSource.java +++ b/src/main/java/de/rwu/easydrop/api/client/AmazonProductDataSource.java @@ -50,8 +50,8 @@ public final class AmazonProductDataSource implements DataSource { } @Override - public ProductDTO getProductDTOById(final String productId) { - JSONObject offer = null; + public ProductDTO getProductDTOById(final String productId) throws IllegalArgumentException { + StringBuilder response = new StringBuilder(); ProductDTO product = new ProductDTO(productId, DATA_ORIGIN); try { @@ -73,27 +73,21 @@ public final class AmazonProductDataSource implements DataSource { if (responseCode == HttpURLConnection.HTTP_OK) { reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); } else { - return product; + throw new IllegalArgumentException( + "Amazon API responded with error code " + responseCode); } String line; - StringBuilder response = new StringBuilder(); while ((line = reader.readLine()) != null) { response.append(line); } reader.close(); - - offer = new JSONObject(response.toString()); } catch (IOException e) { - e.printStackTrace(); - } - - if (offer == null) { - return product; + throw new IllegalArgumentException("Couldn't fulfill Amazon API request"); } try { - offer = offer.getJSONObject("featuredOffer"); + JSONObject offer = new JSONObject(response.toString()).getJSONObject("featuredOffer"); product.setDataOrigin(DATA_ORIGIN); product.setAvailable(offer @@ -113,7 +107,7 @@ public final class AmazonProductDataSource implements DataSource { .getJSONObject("merchant") .getString("name")); } catch (JSONException e) { - return product; + // Pass, allow incomplete ProductDTO to pass for later validation } return product; diff --git a/src/main/java/de/rwu/easydrop/data/connector/DatabaseConnector.java b/src/main/java/de/rwu/easydrop/data/connector/DatabaseConnector.java index cd933d8..53a398e 100644 --- a/src/main/java/de/rwu/easydrop/data/connector/DatabaseConnector.java +++ b/src/main/java/de/rwu/easydrop/data/connector/DatabaseConnector.java @@ -1,5 +1,10 @@ package de.rwu.easydrop.data.connector; +/** + * Allows connecting to a SQLite Database. + * + * @todo implement + */ public class DatabaseConnector { } diff --git a/src/main/java/de/rwu/easydrop/data/dao/ProductDAO.java b/src/main/java/de/rwu/easydrop/data/dao/ProductDAO.java index e981caa..ccd1b3a 100644 --- a/src/main/java/de/rwu/easydrop/data/dao/ProductDAO.java +++ b/src/main/java/de/rwu/easydrop/data/dao/ProductDAO.java @@ -1,5 +1,10 @@ package de.rwu.easydrop.data.dao; +/** + * Product data access object. + * + * @todo implement + */ public class ProductDAO { } diff --git a/src/main/java/de/rwu/easydrop/data/model/Product.java b/src/main/java/de/rwu/easydrop/data/model/Product.java index e637c33..33ec55e 100644 --- a/src/main/java/de/rwu/easydrop/data/model/Product.java +++ b/src/main/java/de/rwu/easydrop/data/model/Product.java @@ -1,5 +1,10 @@ package de.rwu.easydrop.data.model; +/** + * A Product + * + * @since 0.1.0 + */ public class Product { } diff --git a/src/main/java/de/rwu/easydrop/service/mapping/ProductMapper.java b/src/main/java/de/rwu/easydrop/service/mapping/ProductMapper.java index 7f006d8..ed66ef6 100644 --- a/src/main/java/de/rwu/easydrop/service/mapping/ProductMapper.java +++ b/src/main/java/de/rwu/easydrop/service/mapping/ProductMapper.java @@ -1,5 +1,13 @@ package de.rwu.easydrop.service.mapping; +/** + * Maps between Product, ProductDAO and ProductDTO. + * + * @since 0.1.0 + * @see Product + * @see ProductDTO + * @see ProductDAO + */ public class ProductMapper { } diff --git a/src/main/java/de/rwu/easydrop/service/processing/OrderManager.java b/src/main/java/de/rwu/easydrop/service/processing/OrderManager.java index 36d391f..a8f1405 100644 --- a/src/main/java/de/rwu/easydrop/service/processing/OrderManager.java +++ b/src/main/java/de/rwu/easydrop/service/processing/OrderManager.java @@ -1,5 +1,10 @@ package de.rwu.easydrop.service.processing; +/** + * Processes dropshipping orders + * + * @todo implement + */ public class OrderManager { } diff --git a/src/main/java/de/rwu/easydrop/service/validation/ProductValidator.java b/src/main/java/de/rwu/easydrop/service/validation/ProductValidator.java index 292aeda..6f6a941 100644 --- a/src/main/java/de/rwu/easydrop/service/validation/ProductValidator.java +++ b/src/main/java/de/rwu/easydrop/service/validation/ProductValidator.java @@ -1,5 +1,10 @@ package de.rwu.easydrop.service.validation; +/** + * Confirms validity of Product data + * + * @since 0.1.0 + */ public class ProductValidator { }