Class DefaultCxSegmentService
- java.lang.Object
-
- de.hybris.platform.personalizationservices.segment.impl.DefaultCxSegmentService
-
- All Implemented Interfaces:
CxSegmentService
public class DefaultCxSegmentService extends java.lang.Object implements CxSegmentService
Default implementation ofCxSegmentService.
-
-
Constructor Summary
Constructors Constructor Description DefaultCxSegmentService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)protected BaseSiteServicegetBaseSiteService()protected CxConsentServicegetCxConsentService()protected CxSegmentDaogetCxSegmentDao()protected CxUserSegmentConversionHelpergetCxUserSegmentConversionHelper()protected CxUserSegmentServicegetCxUserSegmentService()protected CxUserSegmentSessionServicegetCxUserSegmentSessionService()protected CxUserToSegmentDaogetCxUserToSegmentDao()java.util.Optional<CxSegmentModel>getSegment(java.lang.String code)Retrieves segment with given codeSearchPageData<CxSegmentModel>getSegments(java.util.Map<java.lang.String,java.lang.String> filters, SearchPageData<?> pagination)Retrieves segmentsjava.util.Collection<CxSegmentModel>getSegmentsForCodes(java.util.Collection<java.lang.String> codes)Retrieves all segments of given user.java.util.Collection<CxSegmentModel>getSegmentsFromUser(UserModel user)Retrieves all segments of given user.UpdateSegmentStrategygetUpdateSegmentStrategy()protected UpdateUserSegmentStrategygetUpdateUserSegmentStrategy()java.util.Collection<UserModel>getUsersFromSegment(CxSegmentModel segment)Retrieves all users related to this segmentjava.util.Collection<CxUserToSegmentModel>getUserToSegmentForCalculation(UserModel user)Retrieves user to segments of given user.protected java.util.Collection<CxUserToSegmentModel>getUserToSegmentForCurrentBaseSite(UserModel user)java.util.Collection<CxUserToSegmentModel>getUserToSegmentForUser(UserModel user)Retrieves all user to segments of given user.SearchPageData<CxUserToSegmentModel>getUserToSegmentModel(UserModel user, CxSegmentModel segment, BaseSiteModel baseSite, SearchPageData<?> pagination)Retrieves relation object between user and segment.protected voidremoveUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)voidremoveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)Removes provided user to segment relations from model.voidsaveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)Saves user to segment relations.voidsetBaseSiteService(BaseSiteService baseSiteService)voidsetCxConsentService(CxConsentService cxConsentService)voidsetCxSegmentDao(CxSegmentDao cxSegmentDao)voidsetCxUserSegmentConversionHelper(CxUserSegmentConversionHelper cxUserSegmentConversionHelper)voidsetCxUserSegmentService(CxUserSegmentService cxUserSegmentService)voidsetCxUserSegmentSessionService(CxUserSegmentSessionService cxUserSegmentSessionService)voidsetCxUserToSegmentDao(CxUserToSegmentDao cxUserToSegmentDao)voidsetUpdateSegmentStrategy(UpdateSegmentStrategy updateSegmentStrategy)voidsetUpdateUserSegmentStrategy(UpdateUserSegmentStrategy updateUserSegmentStrategy)voidupdateSegments(CxUpdateSegmentContext context)Update segmentsvoidupdateUserSegments(UserModel user)Updates segments for given user.voidupdateUserSegments(UserModel user, CxCalculationContext context)Updates segments for given user.
-
-
-
Method Detail
-
getSegment
public java.util.Optional<CxSegmentModel> getSegment(java.lang.String code)
Description copied from interface:CxSegmentServiceRetrieves segment with given code- Specified by:
getSegmentin interfaceCxSegmentService- Parameters:
code- identifier of segment- Returns:
- segment with given code of optional.empty if not found
-
getSegments
public SearchPageData<CxSegmentModel> getSegments(java.util.Map<java.lang.String,java.lang.String> filters, SearchPageData<?> pagination)
Description copied from interface:CxSegmentServiceRetrieves segments- Specified by:
getSegmentsin interfaceCxSegmentService- Parameters:
filters- parameters for filteringpagination- holder of pagination data and sort options- Returns:
- SearchPageData with result list, used pagination and sort options
-
getSegmentsForCodes
public java.util.Collection<CxSegmentModel> getSegmentsForCodes(java.util.Collection<java.lang.String> codes)
Description copied from interface:CxSegmentServiceRetrieves all segments of given user.- Specified by:
getSegmentsForCodesin interfaceCxSegmentService- Parameters:
codes- list of identifiers of segments- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
getUsersFromSegment
public java.util.Collection<UserModel> getUsersFromSegment(CxSegmentModel segment)
Description copied from interface:CxSegmentServiceRetrieves all users related to this segment- Specified by:
getUsersFromSegmentin interfaceCxSegmentService- Parameters:
segment- for which users should be retrieved- Returns:
- Collection of users. Empty list if no users are related to this segment.
-
getSegmentsFromUser
public java.util.Collection<CxSegmentModel> getSegmentsFromUser(UserModel user)
Description copied from interface:CxSegmentServiceRetrieves all segments of given user.- Specified by:
getSegmentsFromUserin interfaceCxSegmentService- Parameters:
user- for which segments should be retrieved- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
getUserToSegmentForCalculation
public java.util.Collection<CxUserToSegmentModel> getUserToSegmentForCalculation(UserModel user)
Description copied from interface:CxSegmentServiceRetrieves user to segments of given user. This method check also user consent.
Method will return empty list if consent was not given.- Specified by:
getUserToSegmentForCalculationin interfaceCxSegmentService- Parameters:
user- User for which segments should be retrieved- Returns:
- Collection of segments. Empty list if no segments are related to given user or user didn't give consent.
-
getUserToSegmentForUser
public java.util.Collection<CxUserToSegmentModel> getUserToSegmentForUser(UserModel user)
Description copied from interface:CxSegmentServiceRetrieves all user to segments of given user.- Specified by:
getUserToSegmentForUserin interfaceCxSegmentService- Parameters:
user- for which segments should be retrieved- Returns:
- Collection of segments. Empty list if no segments are related to given user.
-
getUserToSegmentForCurrentBaseSite
protected java.util.Collection<CxUserToSegmentModel> getUserToSegmentForCurrentBaseSite(UserModel user)
-
saveUserToSegments
public void saveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Description copied from interface:CxSegmentServiceSaves user to segment relations.- Specified by:
saveUserToSegmentsin interfaceCxSegmentService- Parameters:
userToSegments- collection of CxUserToSegmentModel to be saved
-
addUserToSegments
protected void addUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)
-
removeUserToSegments
public void removeUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Description copied from interface:CxSegmentServiceRemoves provided user to segment relations from model.- Specified by:
removeUserToSegmentsin interfaceCxSegmentService- Parameters:
userToSegments- collection of CxUserToSegmentModel to be removed
-
removeUserToSegments
protected void removeUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)
-
getUserToSegmentModel
public SearchPageData<CxUserToSegmentModel> getUserToSegmentModel(UserModel user, CxSegmentModel segment, BaseSiteModel baseSite, SearchPageData<?> pagination)
Description copied from interface:CxSegmentServiceRetrieves relation object between user and segment. user and segment may be null. In such case this parameter is ignored and paginated collection of relations is returned.- Specified by:
getUserToSegmentModelin interfaceCxSegmentService- Parameters:
user- defining one side of relation - may be null which means all userssegment- defining other side of relation - may be null which means all segmentsbaseSite- defining other side of relation - may be null which means all segments,users without assigned baseSitepagination- holder of pagination data and sort options- Returns:
- collection of relation between given user and segment. Empty if no relation was found.
-
updateUserSegments
public void updateUserSegments(UserModel user)
Description copied from interface:CxSegmentServiceUpdates segments for given user.- Specified by:
updateUserSegmentsin interfaceCxSegmentService- Parameters:
user- to be updated
-
updateUserSegments
public void updateUserSegments(UserModel user, CxCalculationContext context)
Description copied from interface:CxSegmentServiceUpdates segments for given user.- Specified by:
updateUserSegmentsin interfaceCxSegmentService- Parameters:
user- to be updatedcontext- Context containing additional parameters for update e.g. providers which should be considered with this update process.
-
updateSegments
public void updateSegments(CxUpdateSegmentContext context)
Description copied from interface:CxSegmentServiceUpdate segments- Specified by:
updateSegmentsin interfaceCxSegmentService- Parameters:
context- - Context containing additional parameters for segment update e.g providers
-
getCxConsentService
protected CxConsentService getCxConsentService()
-
setCxConsentService
public void setCxConsentService(CxConsentService cxConsentService)
-
getCxSegmentDao
protected CxSegmentDao getCxSegmentDao()
-
setCxSegmentDao
public void setCxSegmentDao(CxSegmentDao cxSegmentDao)
-
getCxUserToSegmentDao
protected CxUserToSegmentDao getCxUserToSegmentDao()
-
setCxUserToSegmentDao
public void setCxUserToSegmentDao(CxUserToSegmentDao cxUserToSegmentDao)
-
getUpdateUserSegmentStrategy
protected UpdateUserSegmentStrategy getUpdateUserSegmentStrategy()
-
setUpdateUserSegmentStrategy
public void setUpdateUserSegmentStrategy(UpdateUserSegmentStrategy updateUserSegmentStrategy)
-
getUpdateSegmentStrategy
public UpdateSegmentStrategy getUpdateSegmentStrategy()
-
setUpdateSegmentStrategy
public void setUpdateSegmentStrategy(UpdateSegmentStrategy updateSegmentStrategy)
-
getCxUserSegmentSessionService
protected CxUserSegmentSessionService getCxUserSegmentSessionService()
-
setCxUserSegmentSessionService
public void setCxUserSegmentSessionService(CxUserSegmentSessionService cxUserSegmentSessionService)
-
getCxUserSegmentService
protected CxUserSegmentService getCxUserSegmentService()
-
setCxUserSegmentService
public void setCxUserSegmentService(CxUserSegmentService cxUserSegmentService)
-
getCxUserSegmentConversionHelper
protected CxUserSegmentConversionHelper getCxUserSegmentConversionHelper()
-
setCxUserSegmentConversionHelper
public void setCxUserSegmentConversionHelper(CxUserSegmentConversionHelper cxUserSegmentConversionHelper)
-
getBaseSiteService
protected BaseSiteService getBaseSiteService()
-
setBaseSiteService
public void setBaseSiteService(BaseSiteService baseSiteService)
-
-