@Override public Customer create(@Valid Customer customer) throws EntityAlreadyExistsException, InvalidEntityException { if (this.exists(customer.getSlug())) { throw new EntityAlreadyExistsException(); } getObservationManager().notify(new EntityCreatingEvent(), customer); this.dao.begin(); UUID entityId = UUID.randomUUID(); customer.setId(entityId); if (getTenant() == null) { this.dao.createEntity(customer, CUSTOMER_TABLE_NAME); } else { this.dao.createEntity(customer, CUSTOMER_TABLE_NAME, getTenant()); } this.dao.create(customer); this.dao.commit(); getObservationManager().notify(new EntityCreatedEvent(), customer); return customer; }
public HomePage getOrCreate(HomePage homePage) throws InvalidEntityException { HomePage original; this.dao.begin(); original = this.find(); if (original != null) { this.dao.commit(); return original; } getObservationManager().notify(new EntityCreatingEvent(), homePage); UUID entityId = UUID.randomUUID(); homePage.setId(entityId); this.dao.createEntityIfItDoesNotExist(homePage, HOME_PAGE_TYPE, getTenant()); this.dao.commit(); getObservationManager().notify(new EntityCreatedEvent(), homePage); return this.find(); }
public EntityList create(@Valid EntityList list) throws EntityAlreadyExistsException, InvalidEntityException { EntityList originalList; this.dao.begin(); originalList = getStoredEntityList(list); if (originalList != null) { this.dao.commit(); throw new EntityAlreadyExistsException(); } getObservationManager().notify(new EntityCreatingEvent(), list); UUID entityId = UUID.randomUUID(); list.setId(entityId); if (list.getParentId() != null) { this.dao.createChildEntity(list, ENTITY_LIST_TABLE_NAME, getTenant()); } else { this.dao.createEntity(list, ENTITY_LIST_TABLE_NAME, getTenant()); } this.dao.createEntityList(list); this.dao.commit(); getObservationManager().notify(new EntityCreatedEvent(), list); return list; }
public Collection create(Collection collection) throws EntityAlreadyExistsException, InvalidEntityException { if (this.dao.findBySlug(collection.getSlug(), getTenant(), collection.getParentId()) != null) { throw new EntityAlreadyExistsException(); } getObservationManager().notify(new EntityCreatingEvent(), collection); this.dao.begin(); UUID entityId = UUID.randomUUID(); collection.setId(entityId); this.dao.createEntity(collection, COLLECTION_TABLE_NAME, getTenant()); Integer lastIndex = this.dao.lastPosition(getTenant()); this.dao.create(lastIndex == null ? 0 : ++lastIndex, collection); // this.dao.insertTranslations(entityId, collection.getTranslations()); this.dao.createOrUpdateAddons(collection); this.dao.commit(); getObservationManager().notify(new EntityCreatedEvent(), collection); return collection; }
public EntityList getOrCreate(EntityList list) throws InvalidEntityException { EntityList originalList; this.dao.begin(); originalList = getStoredEntityList(list); if (originalList != null) { this.dao.commit(); return originalList; } getObservationManager().notify(new EntityCreatingEvent(), list); UUID entityId = UUID.randomUUID(); list.setId(entityId); Integer created; if (list.getParentId() != null) { created = this.dao.createChildEntityIfItDoesNotExist(list, ENTITY_LIST_TABLE_NAME, getTenant()); } else { created = this.dao.createEntityIfItDoesNotExist(list, ENTITY_LIST_TABLE_NAME, getTenant()); } if (created > 0) { this.dao.createEntityList(list); } this.dao.commit(); getObservationManager().notify(new EntityCreatedEvent(), list); return getStoredEntityList(list); }
public Feature createFeature(final Feature feature) throws InvalidEntityException, EntityAlreadyExistsException { if (feature.getParentId() == null) { throw new InvalidEntityException("Cannot create a feature without a parent product specified"); } Product product = this.findById(feature.getParentId()); if (product == null) { throw new InvalidEntityException("Specified parent product does not exist"); } boolean exists = findFeature(product, feature.getFeature(), feature.getFeatureSlug()) != null; if (exists) { throw new EntityAlreadyExistsException(); } if (!feature.getAddons().isLoaded()) { feature.setAddons(new HashMap<String, AddonGroup>()); } getObservationManager().notify(new EntityCreatingEvent(), feature); this.featureDao.begin(); UUID entityId = UUID.randomUUID(); feature.setId(entityId); this.featureDao.createChildEntity(feature, FEATURE_TABLE_NAME, getTenant()); this.featureDao.createFeature(feature); this.featureDao.createOrUpdateAddons(feature); this.featureDao.commit(); getObservationManager().notify(new EntityCreatedEvent(), feature); return feature; }
getObservationManager().notify(new EntityCreatingEvent(), product);