From e98dcbf6af7fe6618b09784ecb895caf67779e9f 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 --- .../JobsAdminDepartmentSessionBean.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/java/org/mxchange/jcontactsbusiness/model/department/JobsAdminDepartmentSessionBean.java b/src/java/org/mxchange/jcontactsbusiness/model/department/JobsAdminDepartmentSessionBean.java index 1177579..aa3d805 100644 --- a/src/java/org/mxchange/jcontactsbusiness/model/department/JobsAdminDepartmentSessionBean.java +++ b/src/java/org/mxchange/jcontactsbusiness/model/department/JobsAdminDepartmentSessionBean.java @@ -143,6 +143,51 @@ public class JobsAdminDepartmentSessionBean extends BaseJobsEnterpriseBean imple 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