From 3bc619c33619cbeab5f02c3bf84b791bceb5c15d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 11 May 2020 04:04:04 +0200 Subject: [PATCH] Please cherry-pick: - updateFooEntity() must not allow null primary keys or those below 1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../PizzaAdminDepartmentSessionBean.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) 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 -- 2.39.5