From: Roland Häder Date: Wed, 19 Dec 2018 19:13:54 +0000 (+0100) Subject: Product-only: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=55a318d23d513e4b662f62e0fa8f0bb8a820e4c2;p=pizzaservice-ejb.git Product-only: - implemented newly added method updatedProductCategory() Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jproduct/model/category/PizzaAdminProductCategorySessionBean.java b/src/java/org/mxchange/jproduct/model/category/PizzaAdminProductCategorySessionBean.java index 3051411..a86d253 100644 --- a/src/java/org/mxchange/jproduct/model/category/PizzaAdminProductCategorySessionBean.java +++ b/src/java/org/mxchange/jproduct/model/category/PizzaAdminProductCategorySessionBean.java @@ -55,7 +55,7 @@ public class PizzaAdminProductCategorySessionBean extends BasePizzaProductEnterp @Override public Category addProductCategory (final Category category) throws CategoryAlreadyAddedException { // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.adminAddProductCategory: category={1} - CALLED!", this.getClass().getSimpleName(), category)); //NOI18N + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.addProductCategory: category={1} - CALLED!", this.getClass().getSimpleName(), category)); //NOI18N // Validate parameter if (null == category) { @@ -91,7 +91,52 @@ public class PizzaAdminProductCategorySessionBean extends BasePizzaProductEnterp this.getEntityManager().persist(category); // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.adminAddProductCategory: category.categoryId={1} - EXIT!", this.getClass().getSimpleName(), category.getCategoryId())); //NOI18N + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.addProductCategory: category.categoryId={1} - EXIT!", this.getClass().getSimpleName(), category.getCategoryId())); //NOI18N + + // Return it + return category; + } + + @Override + public Category updateProductCategory (final Category category) { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateProductCategory: category={1} - CALLED!", this.getClass().getSimpleName(), category)); //NOI18N + + // Validate parameter + if (null == category) { + // Throw NPE + throw new NullPointerException("category is null"); //NOI18N + } else if (category.getCategoryI18nKey() == null) { + // Throw it again + throw new NullPointerException("category.categoryI18nKey is null"); //NOI18N + } else if (category.getCategoryI18nKey().isEmpty()) { + // Throw it again + throw new IllegalArgumentException("category.categoryI18nKey is empty"); //NOI18N + } else if (category.getCategoryId() == null) { + // Throw it again ... + throw new NullPointerException("category.categoryId is null"); //NOI18N + } else if (category.getCategoryId() < 1) { + // Throw IAE + throw new IllegalArgumentException(MessageFormat.format("category.categoryId={0} is invalid.", category.getCategoryId())); //NOI18N + } + + // Is a parent category set? + if (category.getParentCategory() instanceof Category) { + // Then make it managed + final Category managedCategory = this.createManaged(category.getParentCategory()); + + // Set it back + category.setParentCategory(managedCategory); + } + + // Set updated instance + category.setCategoryUpdated(new Date()); + + // Persist it + this.getEntityManager().persist(category); + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateProductCategory: category.categoryId={1} - EXIT!", this.getClass().getSimpleName(), category.getCategoryId())); //NOI18N // Return it return category;