@Override @Transactional public boolean changeStatus(int id, BookStatusesEnum status) throws NoSuchEntityException, ForbiddenException, WrongStatusException { if (status == null) throw new WrongStatusException(); BookEntity book = bookDao.getNotNull(id); bookAvailabilityService.isStatusChangeAvailable(book, status); book.setStatus(status); if (status == BookStatusesEnum.ACTIVE) book.setDateChanged(new Date()); book = bookDao.update(book); return book != null; }