private void validateChange(TissueOrigin tissueOrigin, TissueOrigin beforeChange) { List<ValidationError> errors = new ArrayList<>(); if (LimsUtils.isStringBlankOrNull(tissueOrigin.getAlias())) { errors.add(new ValidationError("alias", "Alias cannot be blank")); } if (LimsUtils.isStringBlankOrNull(tissueOrigin.getDescription())) { errors.add(new ValidationError("description", "Description cannot be blank")); } if (beforeChange == null || !tissueOrigin.getAlias().equals(beforeChange.getAlias())) { TissueOrigin duplicateAlias = tissueOriginDao.getByAlias(tissueOrigin.getAlias()); if (duplicateAlias != null) { errors.add(new ValidationError("alias", "There is already a Tissue Origin with this alias")); } } if (!errors.isEmpty()) { throw new ValidationException(errors); } }
@Override public void update(TissueOrigin tissueOrigin) throws IOException { authorizationManager.throwIfNonAdmin(); TissueOrigin managed = get(tissueOrigin.getId()); validateChange(tissueOrigin, managed); managed.setAlias(tissueOrigin.getAlias()); managed.setDescription(tissueOrigin.getDescription()); setChangeDetails(managed); tissueOriginDao.update(managed); }
public static TissueOriginDto asDto(@Nonnull TissueOrigin from) { TissueOriginDto dto = new TissueOriginDto(); dto.setId(from.getId()); dto.setAlias(from.getAlias()); dto.setDescription(from.getDescription()); dto.setLabel(from.getItemLabel()); dto.setCreatedById(from.getCreatedBy().getUserId()); dto.setCreationDate(formatDateTime(from.getCreationDate())); dto.setUpdatedById(from.getUpdatedBy().getUserId()); dto.setLastUpdated(formatDateTime(from.getLastUpdated())); return dto; }