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 void
addUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)
protected BaseSiteService
getBaseSiteService()
protected CxConsentService
getCxConsentService()
protected CxSegmentDao
getCxSegmentDao()
protected CxUserSegmentConversionHelper
getCxUserSegmentConversionHelper()
protected CxUserSegmentService
getCxUserSegmentService()
protected CxUserSegmentSessionService
getCxUserSegmentSessionService()
protected CxUserToSegmentDao
getCxUserToSegmentDao()
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.UpdateSegmentStrategy
getUpdateSegmentStrategy()
protected UpdateUserSegmentStrategy
getUpdateUserSegmentStrategy()
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 void
removeUserToSegments(UserModel user, java.util.Collection<CxUserToSegmentModel> userToSegments)
void
removeUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Removes provided user to segment relations from model.void
saveUserToSegments(java.util.Collection<CxUserToSegmentModel> userToSegments)
Saves user to segment relations.void
setBaseSiteService(BaseSiteService baseSiteService)
void
setCxConsentService(CxConsentService cxConsentService)
void
setCxSegmentDao(CxSegmentDao cxSegmentDao)
void
setCxUserSegmentConversionHelper(CxUserSegmentConversionHelper cxUserSegmentConversionHelper)
void
setCxUserSegmentService(CxUserSegmentService cxUserSegmentService)
void
setCxUserSegmentSessionService(CxUserSegmentSessionService cxUserSegmentSessionService)
void
setCxUserToSegmentDao(CxUserToSegmentDao cxUserToSegmentDao)
void
setUpdateSegmentStrategy(UpdateSegmentStrategy updateSegmentStrategy)
void
setUpdateUserSegmentStrategy(UpdateUserSegmentStrategy updateUserSegmentStrategy)
void
updateSegments(CxUpdateSegmentContext context)
Update segmentsvoid
updateUserSegments(UserModel user)
Updates segments for given user.void
updateUserSegments(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:CxSegmentService
Retrieves segment with given code- Specified by:
getSegment
in 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:CxSegmentService
Retrieves segments- Specified by:
getSegments
in 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:CxSegmentService
Retrieves all segments of given user.- Specified by:
getSegmentsForCodes
in 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:CxSegmentService
Retrieves all users related to this segment- Specified by:
getUsersFromSegment
in 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:CxSegmentService
Retrieves all segments of given user.- Specified by:
getSegmentsFromUser
in 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:CxSegmentService
Retrieves user to segments of given user. This method check also user consent.
Method will return empty list if consent was not given.- Specified by:
getUserToSegmentForCalculation
in 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:CxSegmentService
Retrieves all user to segments of given user.- Specified by:
getUserToSegmentForUser
in 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:CxSegmentService
Saves user to segment relations.- Specified by:
saveUserToSegments
in 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:CxSegmentService
Removes provided user to segment relations from model.- Specified by:
removeUserToSegments
in 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:CxSegmentService
Retrieves 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:
getUserToSegmentModel
in 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:CxSegmentService
Updates segments for given user.- Specified by:
updateUserSegments
in interfaceCxSegmentService
- Parameters:
user
- to be updated
-
updateUserSegments
public void updateUserSegments(UserModel user, CxCalculationContext context)
Description copied from interface:CxSegmentService
Updates segments for given user.- Specified by:
updateUserSegments
in 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:CxSegmentService
Update segments- Specified by:
updateSegments
in 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)
-
-