final class ProductServiceImpl extends java.lang.Object implements ProductService
Modifier and Type | Field and Description |
---|---|
private ProductAdditionalAttributes |
additionalAttributes |
private CategoryService |
categoryService |
private ProductConverter |
converter |
private ClientFactory |
factory |
private static org.slf4j.Logger |
log |
private Searcher |
searcher |
Constructor and Description |
---|
ProductServiceImpl(ClientFactory factory,
ProductConverter converter,
Searcher searcher,
CategoryService categoryService,
ProductAdditionalAttributes additionalAttributes) |
Modifier and Type | Method and Description |
---|---|
private static Products |
buildProductsResponse(SearchParams params,
java.util.List<Product> productsFromEP6Soap,
int responseSize) |
private static java.lang.String[] |
createAllGuidsArray(java.util.List<java.lang.String> masters,
java.util.List<java.lang.String> requestedGuids) |
private static int |
fixResultSizeInCaseOfSoapErrors(SearchResponse response,
java.util.List<Product> productsFromEP6Soap) |
Product |
get(ShopRequestContext reqCtx,
GUID productGuid)
Provides a product in a given shop request context
|
Products |
getAll(ShopRequestContext reqCtx,
Product.SortAttribute attribute,
SortDirection direction,
java.lang.String query,
GUID categoryId)
Method fetches the list of products from SOLR first and then it fetches the products info from EP6
|
Products |
getByIds(ShopRequestContext reqCtx,
java.util.List<GUID> productGuids) |
CustomAttributes |
getCustomAttributes(ShopRequestContext shopRequestContext,
GUID productGuid) |
private static java.util.List<java.lang.String> |
getMasterGuids(SearchResponse response)
Returns the GUIDS of the master products related to the search results.
|
private java.util.List<Product> |
getProductsFromEP6Soap(ShopRequestContext reqCtx,
java.util.List<java.lang.String> requestedGuids,
java.util.List<java.lang.String> masters,
SearchParams params) |
private static java.util.List<java.lang.String> |
getResultGuids(SearchResponse response)
Returns list of GUIDs coming the search results.
|
private static final org.slf4j.Logger log
private final CategoryService categoryService
private final Searcher searcher
private final ClientFactory factory
private final ProductConverter converter
private final ProductAdditionalAttributes additionalAttributes
@Inject public ProductServiceImpl(ClientFactory factory, ProductConverter converter, Searcher searcher, CategoryService categoryService, ProductAdditionalAttributes additionalAttributes)
public Product get(ShopRequestContext reqCtx, GUID productGuid)
ProductService
get
in interface ProductService
public Products getAll(ShopRequestContext reqCtx, Product.SortAttribute attribute, SortDirection direction, java.lang.String query, GUID categoryId)
getAll
in interface ProductService
private static int fixResultSizeInCaseOfSoapErrors(SearchResponse response, java.util.List<Product> productsFromEP6Soap)
public Products getByIds(ShopRequestContext reqCtx, java.util.List<GUID> productGuids)
getByIds
in interface ProductService
private static Products buildProductsResponse(SearchParams params, java.util.List<Product> productsFromEP6Soap, int responseSize)
private static java.util.List<java.lang.String> getResultGuids(SearchResponse response)
private static java.util.List<java.lang.String> getMasterGuids(SearchResponse response)
private java.util.List<Product> getProductsFromEP6Soap(ShopRequestContext reqCtx, java.util.List<java.lang.String> requestedGuids, java.util.List<java.lang.String> masters, SearchParams params)
private static java.lang.String[] createAllGuidsArray(java.util.List<java.lang.String> masters, java.util.List<java.lang.String> requestedGuids)
public CustomAttributes getCustomAttributes(ShopRequestContext shopRequestContext, GUID productGuid)
getCustomAttributes
in interface ProductService