Class AccommodationBaseController
java.lang.Object
de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
de.hybris.platform.coreaccommodationocc.controllers.AccommodationBaseController
- Direct Known Subclasses:
AccommodationCartsController,AccommodationOfferingsController,AccommodationOrdersController,AccommodationSearchController,PackageCartsController,PackageSearchController
Base controller for accommodation. It defines the common methods to be used by all accommodation controllers.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringstatic final Stringprotected static final Stringprotected static final intprotected static final Stringprotected static final Stringstatic final Stringstatic final StringFields inherited from class de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
BASIC_FIELD_SET, DEFAULT_CURRENT_PAGE, DEFAULT_PAGE_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AccommodationAvailabilityRequestDatacreateAccommodationAvailabilityRequestData(AccommodationReservationData accommodationReservationData, StayDateRangeData stayDateRangeData) Create AccommodationAvailabilityRequestDataprotected AccommodationAvailabilityRequestDatacreateAccommodationAvailabilityRequestData(String accommodationOfferingCode, StayDateRangeData stayDateRange, List<RoomStayCandidateData> roomStayCandidates) CreatesAccommodationAvailabilityRequestData.protected CriterionDatacreateCriterionData(String accommodationOfferingCode, List<RoomStayCandidateData> roomStayCandidates) CreatesCriterionData.protected PageableDatacreatePageableData(int pageNumber, int pageSize, String sortCode) Creates the pageable data.protected PassengerTypeQuantityDatacreatePassengerTypeQuantityData(int qty, PassengerTypeData passengerTypeData) CreatesPassengerTypeQuantityData.protected RoomStayCandidateDatacreateRoomStayCandidateData(int roomRefNumber, List<PassengerTypeQuantityData> passengerTypeQuantities) CreatesRoomStayCandidateData.protected List<RoomStayCandidateData>createRoomStayCandidates(String roomGuestOccupancy) CreatesRoomStayCandidateData.protected StayDateRangeDatacreateStayDateRangeData(String checkInDate, String checkOutDate) CreatesStayDateRangeData.protected PassengerTypeDatafindPassengerTypeByCode(List<PassengerTypeData> passengerTypes, String ptcCode) ReturnsPassengerTypeDataby given passenger type code.protected AccommodationOfferingFacadeGets accommodation offering facade.protected de.hybris.platform.servicelayer.config.ConfigurationServiceGets configuration service.getPassengerTypeDuplicates(List<PassengerTypeQuantityData> passengerTypeQuantities) Returns guest types that are duplicated in given occupanciesprotected PassengerTypeFacadeGets passenger type facade.protected DateParse string to date.protected voidvalidateAdultsPerRoom(RoomStayCandidateData roomStayCandidateData) Validates if room stay candidate contains at least one adult.protected voidvalidatePassengerTypeQuantities(int roomRefNumber, List<PassengerTypeQuantityData> passengerTypeQuantities) Validates if room doesn't contain duplicated guest occupancies.protected voidvalidateRoomStayCandidates(List<RoomStayCandidateData> roomStayCandidates) Validates if room stay candidates meet business restrictions.protected voidvalidateStayDuration(long rangeOfStay) Validates if stay duration not greater then the maximum stay duration.Methods inherited from class de.hybris.platform.coretravelcommonsocc.controllers.TravelBaseController
getAbsoluteLocationURL, getDataMapper, getErrorCode, getErrorCodeResolver, handleAccessDeniedException, handleMissingRequestHeaderException, handleTravelModelNotFoundException, sanitize, validate, validate
-
Field Details
-
ROOMS_SEPARATOR
- See Also:
-
GUESTS_SEPARATOR
- See Also:
-
QTY_SEPARATOR
- See Also:
-
MAX_RANGE_OF_STAY
- See Also:
-
MAX_ROOMS_QTY
- See Also:
-
MAX_GUESTS_PER_ROOM
- See Also:
-
ADULT
- See Also:
-
MAX_PAGE_LIMIT
protected static final int MAX_PAGE_LIMIT- See Also:
-
-
Constructor Details
-
AccommodationBaseController
public AccommodationBaseController()
-
-
Method Details
-
validateRoomStayCandidates
protected void validateRoomStayCandidates(List<RoomStayCandidateData> roomStayCandidates) throws InvalidRoomStayWsException Validates if room stay candidates meet business restrictions.- Parameters:
roomStayCandidates- the room stay candidates to validate- Throws:
InvalidRoomStayWsException- if room stay candidates contain invalid entry
-
validateAdultsPerRoom
protected void validateAdultsPerRoom(RoomStayCandidateData roomStayCandidateData) throws InvalidRoomStayWsException Validates if room stay candidate contains at least one adult.- Parameters:
roomStayCandidateData- the room stay candidate data to validate- Throws:
InvalidRoomStayWsException- if room stay candidate is invalid
-
createStayDateRangeData
protected StayDateRangeData createStayDateRangeData(String checkInDate, String checkOutDate) throws InvalidDateWsException CreatesStayDateRangeData.- Parameters:
checkInDate- the check in datecheckOutDate- the check out date- Returns:
- stay date range data
- Throws:
InvalidDateWsException- if provided dates are invalid
-
createAccommodationAvailabilityRequestData
protected AccommodationAvailabilityRequestData createAccommodationAvailabilityRequestData(AccommodationReservationData accommodationReservationData, StayDateRangeData stayDateRangeData) Create AccommodationAvailabilityRequestData- Parameters:
accommodationReservationData- as the accommodationReservationData- Returns:
- the AccommodationAvailabilityRequestData
-
parseDate
Parse string to date.- Parameters:
date- the date- Returns:
- date
- Throws:
InvalidDateWsException- if date format is invalid
-
validateStayDuration
Validates if stay duration not greater then the maximum stay duration.- Parameters:
rangeOfStay- the range of stay- Throws:
InvalidDateWsException- if range of stay is invalid
-
createRoomStayCandidates
CreatesRoomStayCandidateData.- Parameters:
roomGuestOccupancy- the room guest occupancy- Returns:
- room stay candidates
-
createAccommodationAvailabilityRequestData
protected AccommodationAvailabilityRequestData createAccommodationAvailabilityRequestData(String accommodationOfferingCode, StayDateRangeData stayDateRange, List<RoomStayCandidateData> roomStayCandidates) CreatesAccommodationAvailabilityRequestData.- Parameters:
accommodationOfferingCode- the accommodation offering codestayDateRange- the stay date rangeroomStayCandidates- the room stay candidates- Returns:
- accommodation availability request data
-
createCriterionData
protected CriterionData createCriterionData(String accommodationOfferingCode, List<RoomStayCandidateData> roomStayCandidates) throws AccommodationOfferingNotFoundWsException CreatesCriterionData.- Parameters:
accommodationOfferingCode- the accommodation offering coderoomStayCandidates- the room stay candidates- Returns:
- criterion data
- Throws:
AccommodationOfferingNotFoundWsException- if accommodation offering code is not found
-
validatePassengerTypeQuantities
protected void validatePassengerTypeQuantities(int roomRefNumber, List<PassengerTypeQuantityData> passengerTypeQuantities) throws RequestParameterWsException Validates if room doesn't contain duplicated guest occupancies.- Parameters:
roomRefNumber- the room reference numberpassengerTypeQuantities- the guest occupancies- Throws:
RequestParameterWsException- if room contains duplicated guest occupancies
-
getPassengerTypeDuplicates
protected List<String> getPassengerTypeDuplicates(List<PassengerTypeQuantityData> passengerTypeQuantities) Returns guest types that are duplicated in given occupancies- Parameters:
passengerTypeQuantities- the passenger type quantities- Returns:
- duplicated guest types or empty
-
createRoomStayCandidateData
protected RoomStayCandidateData createRoomStayCandidateData(int roomRefNumber, List<PassengerTypeQuantityData> passengerTypeQuantities) CreatesRoomStayCandidateData.- Parameters:
roomRefNumber- the room reference numberpassengerTypeQuantities- the passenger type quantities- Returns:
- room stay candidate data
-
createPassengerTypeQuantityData
protected PassengerTypeQuantityData createPassengerTypeQuantityData(int qty, PassengerTypeData passengerTypeData) CreatesPassengerTypeQuantityData.- Parameters:
qty- the quantitypassengerTypeData- the passenger type data- Returns:
- passenger type quantity data
-
findPassengerTypeByCode
protected PassengerTypeData findPassengerTypeByCode(List<PassengerTypeData> passengerTypes, String ptcCode) throws InvalidPtcCodeWsException ReturnsPassengerTypeDataby given passenger type code.- Parameters:
passengerTypes- the source list of passenger typesptcCode- the target passenger type code- Returns:
- passenger type data
- Throws:
InvalidPtcCodeWsException- if passenger type code is invalid
-
createPageableData
Creates the pageable data.- Parameters:
pageNumber- the page numberpageSize- the page sizesortCode- the sort code- Returns:
- the pageable data
-
getAccommodationOfferingFacade
Gets accommodation offering facade.- Returns:
- the accommodation offering facade
-
getPassengerTypeFacade
Gets passenger type facade.- Returns:
- the passenger type facade
-
getConfigurationService
protected de.hybris.platform.servicelayer.config.ConfigurationService getConfigurationService()Gets configuration service.- Returns:
- the configuration service
-