@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) {
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;