Class PackageConfiguredReservedRoomStaysHandler
java.lang.Object
de.hybris.platform.travelfacades.facades.packages.handlers.impl.PackageConfiguredReservedRoomStaysHandler
- All Implemented Interfaces:
PackageReservedRoomStayHandler
public class PackageConfiguredReservedRoomStaysHandler
extends Object
implements PackageReservedRoomStayHandler
Concrete implementation of
PackageReservedRoomStayHandler responsible for populating reserved room stays on
accommodation availability response based on the configuration provided by business. It makes a search in SOLR and
returns configured options for given room stay candidates.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckForValidRatePlanConfig(List<String> ratePlanConfigs) This method returns true if every ratePlanConfig has single room countprotected List<RoomStayData>collectMinimumRoomStays(List<RoomStayData> roomStays, Integer availableQuantity) Collect minimum room stays list.protected List<ReservedRoomStayData>convertToReservedRoomStays(List<RoomStayData> roomStays) Convert to reserved room stays list.protected AccommodationAvailabilityRequestDatacreateAccommodationAvailabilityRequestData(AccommodationSearchResponseData accommodationSearchResponseData, int roomStayRefNum) Creates accommodation availability request based on accommodation search responseprotected AccommodationOfferingFacadeGets accommodation offering facade.protected AccommodationSearchFacadeGets accommodation search facade.protected List<RoomStayData>getAvailableRoomStays(List<RoomStayData> roomStays) Gets available room stays.protected BookingFacadeGets booking facade.voidhandle(PackageRequestData packageRequestData, AccommodationAvailabilityResponseData accommodationAvailabilityResponseData) Evaluates reserved room stays for given package request and sets them on accommodation availability response.protected booleanisRatePlanAvailable(AccommodationAvailabilityResponseData configuredAccommodationAvailability) This method checks ratePlan availability, returns false if any ratePlan having 0 availability otherwise true.voidsetAccommodationOfferingFacade(AccommodationOfferingFacade accommodationOfferingFacade) Sets accommodation offering facade.voidsetAccommodationSearchFacade(AccommodationSearchFacade accommodationSearchFacade) Sets accommodation search facade.voidsetBookingFacade(BookingFacade bookingFacade) Sets booking facade.
-
Constructor Details
-
PackageConfiguredReservedRoomStaysHandler
public PackageConfiguredReservedRoomStaysHandler()
-
-
Method Details
-
handle
public void handle(PackageRequestData packageRequestData, AccommodationAvailabilityResponseData accommodationAvailabilityResponseData) Description copied from interface:PackageReservedRoomStayHandlerEvaluates reserved room stays for given package request and sets them on accommodation availability response.- Specified by:
handlein interfacePackageReservedRoomStayHandler
-
getAvailableRoomStays
Gets available room stays.- Parameters:
roomStays- the room stays- Returns:
- the available room stays
-
collectMinimumRoomStays
protected List<RoomStayData> collectMinimumRoomStays(List<RoomStayData> roomStays, Integer availableQuantity) Collect minimum room stays list.- Parameters:
roomStays- the room staysavailableQuantity- the available quantity- Returns:
- the list
-
isRatePlanAvailable
protected boolean isRatePlanAvailable(AccommodationAvailabilityResponseData configuredAccommodationAvailability) This method checks ratePlan availability, returns false if any ratePlan having 0 availability otherwise true.- Parameters:
configuredAccommodationAvailability- the configured accommodation availability- Returns:
- boolean
-
convertToReservedRoomStays
Convert to reserved room stays list.- Parameters:
roomStays- the room stays- Returns:
- the list
-
checkForValidRatePlanConfig
This method returns true if every ratePlanConfig has single room count- Parameters:
ratePlanConfigs- the rate plan configs- Returns:
- boolean
-
createAccommodationAvailabilityRequestData
protected AccommodationAvailabilityRequestData createAccommodationAvailabilityRequestData(AccommodationSearchResponseData accommodationSearchResponseData, int roomStayRefNum) Creates accommodation availability request based on accommodation search response- Parameters:
accommodationSearchResponseData- the accommodation search response dataroomStayRefNum- the room stay ref num- Returns:
- accommodation availability request data
-
getAccommodationSearchFacade
Gets accommodation search facade.- Returns:
- the accommodation search facade
-
setAccommodationSearchFacade
Sets accommodation search facade.- Parameters:
accommodationSearchFacade- the accommodation search facade
-
getAccommodationOfferingFacade
Gets accommodation offering facade.- Returns:
- the accommodation offering facade
-
setAccommodationOfferingFacade
Sets accommodation offering facade.- Parameters:
accommodationOfferingFacade- the accommodation offering facade
-
getBookingFacade
Gets booking facade.- Returns:
- the bookingFacade
-
setBookingFacade
Sets booking facade.- Parameters:
bookingFacade- the bookingFacade to set
-