Search in sources :

Example 1 with ProductOptionSet

use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.

the class ProductNextGenTest method createOptionsSet.

private void createOptionsSet(MerchantStore store) throws Exception {
    // add a set of option / values for major sizes
    possibleSizes = new ProductOptionSet();
    possibleSizes.setCode("majorSizes");
    possibleSizes.setStore(store);
    possibleSizes.setOption(size);
    List<ProductOptionValue> values = new ArrayList<ProductOptionValue>();
    values.add(nine);
    values.add(ten);
    possibleSizes.setValues(values);
    productOptionSetService.create(possibleSizes);
}
Also used : ProductOptionValue(com.salesmanager.core.model.catalog.product.attribute.ProductOptionValue) ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) ArrayList(java.util.ArrayList)

Example 2 with ProductOptionSet

use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.

the class ProductOptionSetFacadeImpl method delete.

@Override
public void delete(Long id, MerchantStore store) {
    Validate.notNull(store, "MerchantStore cannot be null");
    Validate.notNull(id, "id cannot be null");
    ProductOptionSet opt = productOptionSetService.getById(id);
    if (opt == null) {
        throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
    }
    if (!opt.getStore().getCode().equals(store.getCode())) {
        throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
    }
    try {
        productOptionSetService.delete(opt);
    } catch (ServiceException e) {
        throw new ServiceRuntimeException("Exception while deleting ProductOptionSet", e);
    }
}
Also used : ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) PersistableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet) ReadableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet) ServiceException(com.salesmanager.core.business.exception.ServiceException) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException)

Example 3 with ProductOptionSet

use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.

the class ProductOptionSetFacadeImpl method create.

@Override
public void create(PersistableProductOptionSet optionSet, MerchantStore store, Language language) {
    Validate.notNull(store, "MerchantStore cannot be null");
    Validate.notNull(language, "Language cannot be null");
    Validate.notNull(optionSet, "PersistableProductOptionSet cannot be null");
    if (this.exists(optionSet.getCode(), store)) {
        throw new OperationNotAllowedException("Option set with code [" + optionSet.getCode() + "] already exist");
    }
    ProductOptionSet opt = persistableProductOptionSetMapper.convert(optionSet, store, language);
    try {
        opt.setStore(store);
        productOptionSetService.create(opt);
    } catch (ServiceException e) {
        throw new ServiceRuntimeException("Exception while creating ProductOptionSet", e);
    }
}
Also used : ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) PersistableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet) ReadableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet) ServiceException(com.salesmanager.core.business.exception.ServiceException) OperationNotAllowedException(com.salesmanager.shop.store.api.exception.OperationNotAllowedException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException)

Example 4 with ProductOptionSet

use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.

the class ProductOptionSetFacadeImpl method list.

@Override
public List<ReadableProductOptionSet> list(MerchantStore store, Language language) {
    Validate.notNull(store, "MerchantStore cannot be null");
    Validate.notNull(language, "Language cannot be null");
    try {
        List<ProductOptionSet> optionSets = productOptionSetService.listByStore(store, language);
        return optionSets.stream().map(opt -> this.convert(opt, store, language)).collect(Collectors.toList());
    } catch (ServiceException e) {
        throw new ServiceRuntimeException("Exception while listing ProductOptionSet", e);
    }
}
Also used : OperationNotAllowedException(com.salesmanager.shop.store.api.exception.OperationNotAllowedException) ProductOptionSetFacade(com.salesmanager.shop.store.controller.product.facade.ProductOptionSetFacade) ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) ReadableProductType(com.salesmanager.shop.model.catalog.product.type.ReadableProductType) Autowired(org.springframework.beans.factory.annotation.Autowired) Collectors(java.util.stream.Collectors) ProductOptionSetService(com.salesmanager.core.business.services.catalog.product.attribute.ProductOptionSetService) ServiceException(com.salesmanager.core.business.exception.ServiceException) Language(com.salesmanager.core.model.reference.language.Language) List(java.util.List) MerchantStore(com.salesmanager.core.model.merchant.MerchantStore) Validate(org.apache.commons.lang3.Validate) ReadableProductOptionSetMapper(com.salesmanager.shop.mapper.catalog.ReadableProductOptionSetMapper) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) Service(org.springframework.stereotype.Service) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) PersistableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet) PersistableProductOptionSetMapper(com.salesmanager.shop.mapper.catalog.PersistableProductOptionSetMapper) ReadableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet) ProductTypeFacade(com.salesmanager.shop.store.controller.product.facade.ProductTypeFacade) ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) PersistableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet) ReadableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet) ServiceException(com.salesmanager.core.business.exception.ServiceException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException)

Example 5 with ProductOptionSet

use of com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet in project shopizer by shopizer-ecommerce.

the class ProductOptionSetFacadeImpl method update.

@Override
public void update(Long id, PersistableProductOptionSet optionSet, MerchantStore store, Language language) {
    Validate.notNull(store, "MerchantStore cannot be null");
    Validate.notNull(language, "Language cannot be null");
    Validate.notNull(optionSet, "PersistableProductOptionSet cannot be null");
    ProductOptionSet opt = productOptionSetService.getById(store, id, language);
    if (opt == null) {
        throw new ResourceNotFoundException("ProductOptionSet not found for id [" + id + "] and store [" + store.getCode() + "]");
    }
    optionSet.setId(id);
    optionSet.setCode(opt.getCode());
    ProductOptionSet model = persistableProductOptionSetMapper.convert(optionSet, store, language);
    try {
        model.setStore(store);
        productOptionSetService.save(model);
    } catch (ServiceException e) {
        throw new ServiceRuntimeException("Exception while creating ProductOptionSet", e);
    }
}
Also used : ProductOptionSet(com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet) PersistableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet) ReadableProductOptionSet(com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet) ServiceException(com.salesmanager.core.business.exception.ServiceException) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException)

Aggregations

ProductOptionSet (com.salesmanager.core.model.catalog.product.attribute.ProductOptionSet)9 PersistableProductOptionSet (com.salesmanager.shop.model.catalog.product.attribute.optionset.PersistableProductOptionSet)8 ReadableProductOptionSet (com.salesmanager.shop.model.catalog.product.attribute.optionset.ReadableProductOptionSet)7 ServiceException (com.salesmanager.core.business.exception.ServiceException)6 ResourceNotFoundException (com.salesmanager.shop.store.api.exception.ResourceNotFoundException)5 ServiceRuntimeException (com.salesmanager.shop.store.api.exception.ServiceRuntimeException)5 MerchantStore (com.salesmanager.core.model.merchant.MerchantStore)3 Language (com.salesmanager.core.model.reference.language.Language)3 OperationNotAllowedException (com.salesmanager.shop.store.api.exception.OperationNotAllowedException)3 List (java.util.List)3 Collectors (java.util.stream.Collectors)3 Validate (org.apache.commons.lang3.Validate)3 Autowired (org.springframework.beans.factory.annotation.Autowired)3 ProductOptionSetService (com.salesmanager.core.business.services.catalog.product.attribute.ProductOptionSetService)2 ProductOptionValue (com.salesmanager.core.model.catalog.product.attribute.ProductOptionValue)2 PersistableProductOptionSetMapper (com.salesmanager.shop.mapper.catalog.PersistableProductOptionSetMapper)2 ReadableProductOptionSetMapper (com.salesmanager.shop.mapper.catalog.ReadableProductOptionSetMapper)2 ReadableProductType (com.salesmanager.shop.model.catalog.product.type.ReadableProductType)2 ProductOptionSetFacade (com.salesmanager.shop.store.controller.product.facade.ProductOptionSetFacade)2 ProductTypeFacade (com.salesmanager.shop.store.controller.product.facade.ProductTypeFacade)2