From: Roland Häder Date: Mon, 11 May 2020 02:04:04 +0000 (+0200) Subject: Please cherry-pick: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=3bc619c33619cbeab5f02c3bf84b791bceb5c15d;p=pizzaservice-ejb.git Please cherry-pick: - updateFooEntity() must not allow null primary keys or those below 1 Signed-off-by: Roland Häder --- diff --git a/src/java/org/mxchange/jcontactsbusiness/model/department/PizzaAdminDepartmentSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/model/department/PizzaAdminDepartmentSessionBean.java index 0fbfe5c..a090c05 100644 --- a/src/java/org/mxchange/jcontactsbusiness/model/department/PizzaAdminDepartmentSessionBean.java +++ b/src/java/org/mxchange/jcontactsbusiness/model/department/PizzaAdminDepartmentSessionBean.java @@ -143,6 +143,51 @@ public class PizzaAdminDepartmentSessionBean extends BasePizzaEnterpriseBean imp return department; } + @Override + public Department updateDepartment (final Department department) throws DepartmentNotFoundException { + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateDepartment(): department={1} - CALLED!", this.getClass().getSimpleName(), department)); //NOI18N + + // Validate parameter + if (null == department) { + // Throw NPE + throw new NullPointerException("department is null"); //NOI18N + } else if (department.getDepartmentId() == null) { + // Throw NPE again + throw new NullPointerException("department.departmentId is null"); //NOI18N + } else if (department.getDepartmentId() < 1) { + // Throw IAE + throw new IllegalArgumentException(MessageFormat.format("department.departmentId={0} is not valid", department.getDepartmentId())); //NOI18N + } else if (department.getDepartmentCompany() == null) { + // Throw NPE + throw new NullPointerException("department.departmentCompany is null"); //NOI18N + } else if (department.getDepartmentCompany().getBasicDataId() == null) { + // Throw NPE again + throw new NullPointerException("department.departmentCompany.basicDataId is null"); //NOI18N + } else if (department.getDepartmentCompany().getBasicDataId() < 1) { + // Throw IAE + throw new IllegalArgumentException(MessageFormat.format("department.departmentCompany.basicDataId={0} is invalid", department.getDepartmentCompany().getBasicDataId())); //NOI18N + } else if (department.getDepartmentI18nKey() == null) { + // Throw NPE + throw new NullPointerException("department.departmentName is null"); //NOI18N + } else if (department.getDepartmentI18nKey().isEmpty()) { + // Throw IAE + throw new NullPointerException("department.departmentName is empty"); //NOI18N + } else if (!this.isDepartmentFound(department)) { + // Already added, abort here + throw new DepartmentNotFoundException(department); + } + + // Merge data + final Department updatedDepartment = this.mergeDepartmentData(department); + + // Trace message + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateDepartment(): updatedDepartment={1} - EXIT!", this.getClass().getSimpleName(), updatedDepartment)); + + // Return updated instance + return updatedDepartment; + } + /** * Checks if given department's address is already persisted. The whole * (persisted) list is being loaded and each address is being matched