public List<Event> getEvents() { return Arrays.<Event>asList(new EntityUpdatedEvent(), new EntityCreatedEvent()); } }
public void update(@Valid HomePage entity) throws EntityDoesNotExistException, InvalidEntityException { this.dao.begin(); HomePage homePage = find(); if (homePage == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } getObservationManager().notify(new EntityUpdatingEvent(), entity); entity.setId(homePage.getId()); this.dao.createOrUpdateAddons(entity); this.dao.commit(); getObservationManager().notify(new EntityUpdatedEvent(), entity); }
public void addEntityToList(EntityList list, UUID entity) throws EntityDoesNotExistException { EntityList originalList; originalList = getStoredEntityList(list); if (originalList == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } getObservationManager().notify(new EntityUpdatingEvent(), originalList); this.dao.addEntityToList(list.getId(), entity); getObservationManager().notify(new EntityUpdatedEvent(), originalList); }
public void removeEntityFromList(EntityList list, UUID entity) throws EntityDoesNotExistException { EntityList originalList; originalList = getStoredEntityList(list); if (originalList == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } getObservationManager().notify(new EntityUpdatingEvent(), originalList); this.dao.removeEntityFromList(list.getId(), entity); getObservationManager().notify(new EntityUpdatedEvent(), originalList); }
public void update(Collection collection) throws EntityDoesNotExistException, InvalidEntityException { this.dao.begin(); Collection originalCollection = this.dao.findBySlug(collection.getSlug(), getTenant()); if (originalCollection == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } collection.setId(originalCollection.getId()); Integer updatedRows = this.dao.update(collection); this.dao.createOrUpdateAddons(collection); if (collection.getLocalizedVersions() != null && !collection.getLocalizedVersions().isEmpty()) { Map<Locale, Map<String, Object>> localizedVersions = collection.getLocalizedVersions(); for (Locale locale : localizedVersions.keySet()) { this.dao.createOrUpdateTranslation(collection.getId(), locale, localizedVersions.get(locale)); } } this.dao.commit(); if (updatedRows <= 0) { throw new StoreException("No rows was updated when updating collection"); } getObservationManager().notify(new EntityUpdatedEvent(), collection); }
public void update(@Valid EntityList list) throws EntityDoesNotExistException, InvalidEntityException { EntityList originalList; this.dao.begin(); originalList = getStoredEntityList(list); if (originalList == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } getObservationManager().notify(new EntityUpdatingEvent(), list); list.setId(originalList.getId()); Integer updatedRows = this.dao.updateEntityList(list); this.dao.commit(); if (updatedRows <= 0) { throw new StoreException("No rows was updated when updating list"); } getObservationManager().notify(new EntityUpdatedEvent(), list); }
public void updateStock(UUID productId, Integer stockOffset) throws EntityDoesNotExistException { this.dao.begin(); Product product = this.findById(productId); if (product == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } product.setStock((product.getStock() == null ? 0 : product.getStock()) + stockOffset); Integer updatedRows = this.dao.updateProduct(product); this.dao.commit(); if (updatedRows <= 0) { throw new StoreException("No rows was updated when updating product"); } getObservationManager().notify(new EntityUpdatedEvent(), product); }
public void update(Product product) throws EntityDoesNotExistException, InvalidEntityException { this.dao.begin(); Product originalProduct = this.findBySlug(product.getSlug(), product.getParentId()); if (originalProduct == null) { this.dao.commit(); throw new EntityDoesNotExistException(); } if (!product.getAddons().isLoaded()) { product.setAddons(originalProduct.getAddons().get()); } getObservationManager().notify(new EntityUpdatingEvent(), product); product.setId(originalProduct.getId()); Integer updatedRows = this.dao.updateProduct(product); this.dao.createOrUpdateAddons(product); if (product.getLocalizedVersions() != null && !product.getLocalizedVersions().isEmpty()) { Map<Locale, Map<String, Object>> localizedVersions = product.getLocalizedVersions(); for (Locale locale : localizedVersions.keySet()) { this.dao.createOrUpdateTranslation(product.getId(), locale, localizedVersions.get(locale)); } } this.dao.commit(); if (updatedRows <= 0) { throw new StoreException("No rows was updated when updating product"); } getObservationManager().notify(new EntityUpdatedEvent(), product); }