@Override @PreAuthorize("hasRole('ROLE_ADMIN')") public Project clone() throws CloneNotSupportedException { Project clonedProject = (Project) super.clone(); clonedProject.setExpenses(null); clonedProject.setLocations(null); clonedProject.setRevisions(null); clonedProject.setMakerProjects(null); // clonedProject.setProductGroupMakers(null); Date date = Calendar.getInstance().getTime(); clonedProject.setCreatedDate(date); clonedProject.setLmodDate(date); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss.SSS"); String timeStamp = sdf.format(date); clonedProject.setStatus(ProjectStatus.ONGOING); String projectCode = clonedProject.getProjectCode() + "_" + timeStamp; String projectName = clonedProject.getProjectName() + "_" + timeStamp; projectCode = (projectCode.length() >= 200) ? projectCode.substring(0, 199) : projectCode; projectName = (projectName.length() >= 200) ? projectName.substring(0, 199) : projectName; clonedProject.setProjectCode(projectCode); clonedProject.setProjectName(projectName); clonedProject.setProjectId(null); return clonedProject; }